@react-querybuilder/datetime 8.11.2 → 8.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/date-fns/package.json +4 -0
- package/dayjs/package.json +4 -0
- package/dist/cjs/{getDatetimeRuleProcessorSQL-COEhnVIZ.js → getDatetimeRuleProcessorSQL-Dkg4HEtH.js} +2 -31
- package/dist/cjs/{getDatetimeRuleProcessorSQL-COEhnVIZ.js.map → getDatetimeRuleProcessorSQL-Dkg4HEtH.js.map} +1 -1
- package/dist/cjs/getDatetimeRuleProcessorSQL-xGETy1ec.js +2 -0
- package/dist/cjs/{getDatetimeRuleProcessorSQL-CSxxM8ce.js.map → getDatetimeRuleProcessorSQL-xGETy1ec.js.map} +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.date-fns.js +2 -2
- package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js +30 -2
- package/dist/cjs/react-querybuilder_datetime.cjs.development.dayjs.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.js +2 -2
- package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.jsdate.js +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.development.luxon.js +2 -2
- package/dist/cjs/react-querybuilder_datetime.cjs.production.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.date-fns.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.dayjs.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.js +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.js.map +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.jsdate.js +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.d.ts +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js +1 -1
- package/dist/cjs/react-querybuilder_datetime.cjs.production.luxon.js.map +1 -1
- package/dist/cjs/{types-A60rB27l.d.ts → types-BWNR3hk5.d.ts} +134 -98
- package/dist/{getDatetimeRuleProcessorSQL-B8y0RI7t.js → getDatetimeRuleProcessorSQL-CtUjFtho.js} +6 -6
- package/dist/{getDatetimeRuleProcessorSQL-B8y0RI7t.js.map → getDatetimeRuleProcessorSQL-CtUjFtho.js.map} +1 -1
- package/dist/{getDatetimeRuleProcessorSQL-CSl2zGza.mjs → getDatetimeRuleProcessorSQL-CugqyF_a.mjs} +1 -1
- package/dist/{getDatetimeRuleProcessorSQL-CSl2zGza.mjs.map → getDatetimeRuleProcessorSQL-CugqyF_a.mjs.map} +1 -1
- package/dist/getDatetimeRuleProcessorSQL-Dcqi5kh5.mjs +2 -0
- package/dist/getDatetimeRuleProcessorSQL-Dcqi5kh5.mjs.map +1 -0
- package/dist/react-querybuilder_datetime.d.mts +1 -1
- package/dist/react-querybuilder_datetime.date-fns.d.mts +1 -1
- package/dist/react-querybuilder_datetime.date-fns.mjs +1 -1
- package/dist/react-querybuilder_datetime.dayjs.d.mts +1 -1
- package/dist/react-querybuilder_datetime.dayjs.mjs +1 -1
- package/dist/react-querybuilder_datetime.jsdate.d.mts +1 -1
- package/dist/react-querybuilder_datetime.jsdate.mjs +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.d.ts +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.date-fns.d.ts +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.date-fns.js +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.dayjs.d.ts +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.dayjs.js +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.js +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.jsdate.d.ts +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.jsdate.js +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.luxon.d.ts +1 -1
- package/dist/react-querybuilder_datetime.legacy-esm.luxon.js +1 -1
- package/dist/react-querybuilder_datetime.luxon.d.mts +1 -1
- package/dist/react-querybuilder_datetime.luxon.mjs +1 -1
- package/dist/react-querybuilder_datetime.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.d.mts +1 -1
- package/dist/react-querybuilder_datetime.production.date-fns.d.mts +1 -1
- package/dist/react-querybuilder_datetime.production.date-fns.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.dayjs.d.mts +1 -1
- package/dist/react-querybuilder_datetime.production.dayjs.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.jsdate.d.mts +1 -1
- package/dist/react-querybuilder_datetime.production.jsdate.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.luxon.d.mts +1 -1
- package/dist/react-querybuilder_datetime.production.luxon.mjs +1 -1
- package/dist/react-querybuilder_datetime.production.mjs +1 -1
- package/dist/{types-BjHLhGXX.d.mts → types-BO9Xuapi.d.mts} +155 -118
- package/dist/{types-Dq7BlQzI.d.ts → types-h3_NfrpO.d.ts} +155 -118
- package/jsdate/package.json +4 -0
- package/luxon/package.json +4 -0
- package/package.json +16 -12
- package/dist/cjs/getDatetimeRuleProcessorSQL-CSxxM8ce.js +0 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RulesLogic } from "json-logic-js";
|
|
2
|
+
import "react";
|
|
2
3
|
|
|
3
4
|
//#region ../../node_modules/type-fest/source/union-to-intersection.d.ts
|
|
4
5
|
|
|
@@ -17,34 +18,6 @@ type Intersection = UnionToIntersection<Union>;
|
|
|
17
18
|
//=> {the(): void; great(arg: string): void; escape: boolean};
|
|
18
19
|
```
|
|
19
20
|
|
|
20
|
-
A more applicable example which could make its way into your library code follows.
|
|
21
|
-
|
|
22
|
-
@example
|
|
23
|
-
```
|
|
24
|
-
import type {UnionToIntersection} from 'type-fest';
|
|
25
|
-
|
|
26
|
-
class CommandOne {
|
|
27
|
-
commands: {
|
|
28
|
-
a1: () => undefined,
|
|
29
|
-
b1: () => undefined,
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
class CommandTwo {
|
|
34
|
-
commands: {
|
|
35
|
-
a2: (argA: string) => undefined,
|
|
36
|
-
b2: (argB: string) => undefined,
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const union = [new CommandOne(), new CommandTwo()].map(instance => instance.commands);
|
|
41
|
-
type Union = typeof union;
|
|
42
|
-
//=> {a1(): void; b1(): void} | {a2(argA: string): void; b2(argB: string): void}
|
|
43
|
-
|
|
44
|
-
type Intersection = UnionToIntersection<Union>;
|
|
45
|
-
//=> {a1(): void; b1(): void; a2(argA: string): void; b2(argB: string): void}
|
|
46
|
-
```
|
|
47
|
-
|
|
48
21
|
@category Type
|
|
49
22
|
*/
|
|
50
23
|
type UnionToIntersection<Union> = (
|
|
@@ -120,8 +93,8 @@ import type {IsAny} from 'type-fest';
|
|
|
120
93
|
const typedObject = {a: 1, b: 2} as const;
|
|
121
94
|
const anyObject: any = {a: 1, b: 2};
|
|
122
95
|
|
|
123
|
-
function get<O extends (IsAny<O> extends true ? {} : Record<string, number>), K extends keyof O = keyof O>(
|
|
124
|
-
return
|
|
96
|
+
function get<O extends (IsAny<O> extends true ? {} : Record<string, number>), K extends keyof O = keyof O>(object: O, key: K) {
|
|
97
|
+
return object[key];
|
|
125
98
|
}
|
|
126
99
|
|
|
127
100
|
const typedA = get(typedObject, 'a');
|
|
@@ -134,7 +107,7 @@ const anyA = get(anyObject, 'a');
|
|
|
134
107
|
@category Type Guard
|
|
135
108
|
@category Utilities
|
|
136
109
|
*/
|
|
137
|
-
type IsAny<T> = 0 extends 1 & NoInfer<T> ? true : false;
|
|
110
|
+
type IsAny<T$1> = 0 extends 1 & NoInfer<T$1> ? true : false;
|
|
138
111
|
//#endregion
|
|
139
112
|
//#region ../../node_modules/type-fest/source/is-optional-key-of.d.ts
|
|
140
113
|
/**
|
|
@@ -146,17 +119,17 @@ This is useful when writing utility types or schema validators that need to diff
|
|
|
146
119
|
```
|
|
147
120
|
import type {IsOptionalKeyOf} from 'type-fest';
|
|
148
121
|
|
|
149
|
-
|
|
122
|
+
type User = {
|
|
150
123
|
name: string;
|
|
151
124
|
surname: string;
|
|
152
125
|
|
|
153
126
|
luckyNumber?: number;
|
|
154
|
-
}
|
|
127
|
+
};
|
|
155
128
|
|
|
156
|
-
|
|
129
|
+
type Admin = {
|
|
157
130
|
name: string;
|
|
158
131
|
surname?: string;
|
|
159
|
-
}
|
|
132
|
+
};
|
|
160
133
|
|
|
161
134
|
type T1 = IsOptionalKeyOf<User, 'luckyNumber'>;
|
|
162
135
|
//=> true
|
|
@@ -189,12 +162,12 @@ This is useful when you want to create a new type that contains different type v
|
|
|
189
162
|
```
|
|
190
163
|
import type {OptionalKeysOf, Except} from 'type-fest';
|
|
191
164
|
|
|
192
|
-
|
|
165
|
+
type User = {
|
|
193
166
|
name: string;
|
|
194
167
|
surname: string;
|
|
195
168
|
|
|
196
169
|
luckyNumber?: number;
|
|
197
|
-
}
|
|
170
|
+
};
|
|
198
171
|
|
|
199
172
|
const REMOVE_FIELD = Symbol('remove field symbol');
|
|
200
173
|
type UpdateOperation<Entity extends object> = Except<Partial<Entity>, OptionalKeysOf<Entity>> & {
|
|
@@ -202,12 +175,12 @@ type UpdateOperation<Entity extends object> = Except<Partial<Entity>, OptionalKe
|
|
|
202
175
|
};
|
|
203
176
|
|
|
204
177
|
const update1: UpdateOperation<User> = {
|
|
205
|
-
name: 'Alice'
|
|
178
|
+
name: 'Alice',
|
|
206
179
|
};
|
|
207
180
|
|
|
208
181
|
const update2: UpdateOperation<User> = {
|
|
209
182
|
name: 'Bob',
|
|
210
|
-
luckyNumber: REMOVE_FIELD
|
|
183
|
+
luckyNumber: REMOVE_FIELD,
|
|
211
184
|
};
|
|
212
185
|
```
|
|
213
186
|
|
|
@@ -227,17 +200,23 @@ This is useful when you want to create a new type that contains different type v
|
|
|
227
200
|
```
|
|
228
201
|
import type {RequiredKeysOf} from 'type-fest';
|
|
229
202
|
|
|
230
|
-
declare function createValidation<
|
|
203
|
+
declare function createValidation<
|
|
204
|
+
Entity extends object,
|
|
205
|
+
Key extends RequiredKeysOf<Entity> = RequiredKeysOf<Entity>,
|
|
206
|
+
>(field: Key, validator: (value: Entity[Key]) => boolean): (entity: Entity) => boolean;
|
|
231
207
|
|
|
232
|
-
|
|
208
|
+
type User = {
|
|
233
209
|
name: string;
|
|
234
210
|
surname: string;
|
|
235
|
-
|
|
236
211
|
luckyNumber?: number;
|
|
237
|
-
}
|
|
212
|
+
};
|
|
238
213
|
|
|
239
214
|
const validator1 = createValidation<User>('name', value => value.length < 25);
|
|
240
215
|
const validator2 = createValidation<User>('surname', value => value.length < 25);
|
|
216
|
+
|
|
217
|
+
// @ts-expect-error
|
|
218
|
+
const validator3 = createValidation<User>('luckyNumber', value => value > 0);
|
|
219
|
+
// Error: Argument of type '"luckyNumber"' is not assignable to parameter of type '"name" | "surname"'.
|
|
241
220
|
```
|
|
242
221
|
|
|
243
222
|
@category Utilities
|
|
@@ -259,35 +238,47 @@ Useful in type utilities, such as checking if something does not occur.
|
|
|
259
238
|
```
|
|
260
239
|
import type {IsNever, And} from 'type-fest';
|
|
261
240
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
And<
|
|
265
|
-
IsNever<Exclude<A, B>> extends true ? true : false,
|
|
266
|
-
IsNever<Exclude<B, A>> extends true ? true : false
|
|
267
|
-
>;
|
|
268
|
-
|
|
269
|
-
type EndIfEqual<I extends string, O extends string> =
|
|
270
|
-
AreStringsEqual<I, O> extends true
|
|
271
|
-
? never
|
|
272
|
-
: void;
|
|
273
|
-
|
|
274
|
-
function endIfEqual<I extends string, O extends string>(input: I, output: O): EndIfEqual<I, O> {
|
|
275
|
-
if (input === output) {
|
|
276
|
-
process.exit(0);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
241
|
+
type A = IsNever<never>;
|
|
242
|
+
//=> true
|
|
279
243
|
|
|
280
|
-
|
|
281
|
-
//=>
|
|
244
|
+
type B = IsNever<any>;
|
|
245
|
+
//=> false
|
|
246
|
+
|
|
247
|
+
type C = IsNever<unknown>;
|
|
248
|
+
//=> false
|
|
249
|
+
|
|
250
|
+
type D = IsNever<never[]>;
|
|
251
|
+
//=> false
|
|
252
|
+
|
|
253
|
+
type E = IsNever<object>;
|
|
254
|
+
//=> false
|
|
255
|
+
|
|
256
|
+
type F = IsNever<string>;
|
|
257
|
+
//=> false
|
|
258
|
+
```
|
|
282
259
|
|
|
283
|
-
|
|
284
|
-
|
|
260
|
+
@example
|
|
261
|
+
```
|
|
262
|
+
import type {IsNever} from 'type-fest';
|
|
263
|
+
|
|
264
|
+
type IsTrue<T> = T extends true ? true : false;
|
|
265
|
+
|
|
266
|
+
// When a distributive conditional is instantiated with `never`, the entire conditional results in `never`.
|
|
267
|
+
type A = IsTrue<never>;
|
|
268
|
+
// ^? type A = never
|
|
269
|
+
|
|
270
|
+
// If you don't want that behaviour, you can explicitly add an `IsNever` check before the distributive conditional.
|
|
271
|
+
type IsTrueFixed<T> =
|
|
272
|
+
IsNever<T> extends true ? false : T extends true ? true : false;
|
|
273
|
+
|
|
274
|
+
type B = IsTrueFixed<never>;
|
|
275
|
+
// ^? type B = false
|
|
285
276
|
```
|
|
286
277
|
|
|
287
278
|
@category Type Guard
|
|
288
279
|
@category Utilities
|
|
289
280
|
*/
|
|
290
|
-
type IsNever<T> = [T] extends [never] ? true : false;
|
|
281
|
+
type IsNever<T$1> = [T$1] extends [never] ? true : false;
|
|
291
282
|
//#endregion
|
|
292
283
|
//#region ../../node_modules/type-fest/source/if.d.ts
|
|
293
284
|
/**
|
|
@@ -302,7 +293,7 @@ Note:
|
|
|
302
293
|
|
|
303
294
|
@example
|
|
304
295
|
```
|
|
305
|
-
import {If} from 'type-fest';
|
|
296
|
+
import type {If} from 'type-fest';
|
|
306
297
|
|
|
307
298
|
type A = If<true, 'yes', 'no'>;
|
|
308
299
|
//=> 'yes'
|
|
@@ -322,7 +313,7 @@ type E = If<never, 'yes', 'no'>;
|
|
|
322
313
|
|
|
323
314
|
@example
|
|
324
315
|
```
|
|
325
|
-
import {If, IsAny, IsNever} from 'type-fest';
|
|
316
|
+
import type {If, IsAny, IsNever} from 'type-fest';
|
|
326
317
|
|
|
327
318
|
type A = If<IsAny<unknown>, 'is any', 'not any'>;
|
|
328
319
|
//=> 'not any'
|
|
@@ -333,7 +324,7 @@ type B = If<IsNever<never>, 'is never', 'not never'>;
|
|
|
333
324
|
|
|
334
325
|
@example
|
|
335
326
|
```
|
|
336
|
-
import {If, IsEqual} from 'type-fest';
|
|
327
|
+
import type {If, IsEqual} from 'type-fest';
|
|
337
328
|
|
|
338
329
|
type IfEqual<T, U, IfBranch, ElseBranch> = If<IsEqual<T, U>, IfBranch, ElseBranch>;
|
|
339
330
|
|
|
@@ -344,6 +335,41 @@ type B = IfEqual<string, number, 'equal', 'not equal'>;
|
|
|
344
335
|
//=> 'not equal'
|
|
345
336
|
```
|
|
346
337
|
|
|
338
|
+
Note: Sometimes using the `If` type can make an implementation non–tail-recursive, which can impact performance. In such cases, it’s better to use a conditional directly. Refer to the following example:
|
|
339
|
+
|
|
340
|
+
@example
|
|
341
|
+
```
|
|
342
|
+
import type {If, IsEqual, StringRepeat} from 'type-fest';
|
|
343
|
+
|
|
344
|
+
type HundredZeroes = StringRepeat<'0', 100>;
|
|
345
|
+
|
|
346
|
+
// The following implementation is not tail recursive
|
|
347
|
+
type Includes<S extends string, Char extends string> =
|
|
348
|
+
S extends `${infer First}${infer Rest}`
|
|
349
|
+
? If<IsEqual<First, Char>,
|
|
350
|
+
'found',
|
|
351
|
+
Includes<Rest, Char>>
|
|
352
|
+
: 'not found';
|
|
353
|
+
|
|
354
|
+
// Hence, instantiations with long strings will fail
|
|
355
|
+
// @ts-expect-error
|
|
356
|
+
type Fails = Includes<HundredZeroes, '1'>;
|
|
357
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
358
|
+
// Error: Type instantiation is excessively deep and possibly infinite.
|
|
359
|
+
|
|
360
|
+
// However, if we use a simple conditional instead of `If`, the implementation becomes tail-recursive
|
|
361
|
+
type IncludesWithoutIf<S extends string, Char extends string> =
|
|
362
|
+
S extends `${infer First}${infer Rest}`
|
|
363
|
+
? IsEqual<First, Char> extends true
|
|
364
|
+
? 'found'
|
|
365
|
+
: IncludesWithoutIf<Rest, Char>
|
|
366
|
+
: 'not found';
|
|
367
|
+
|
|
368
|
+
// Now, instantiations with long strings will work
|
|
369
|
+
type Works = IncludesWithoutIf<HundredZeroes, '1'>;
|
|
370
|
+
//=> 'not found'
|
|
371
|
+
```
|
|
372
|
+
|
|
347
373
|
@category Type Guard
|
|
348
374
|
@category Utilities
|
|
349
375
|
*/
|
|
@@ -381,7 +407,7 @@ type UnknownArray = readonly unknown[];
|
|
|
381
407
|
/**
|
|
382
408
|
Returns whether the given array `T` is readonly.
|
|
383
409
|
*/
|
|
384
|
-
type IsArrayReadonly<T extends UnknownArray> = If<IsNever<T>, false, T extends unknown[] ? false : true>;
|
|
410
|
+
type IsArrayReadonly<T$1 extends UnknownArray> = If<IsNever<T$1>, false, T$1 extends unknown[] ? false : true>;
|
|
385
411
|
//#endregion
|
|
386
412
|
//#region ../../node_modules/type-fest/source/simplify.d.ts
|
|
387
413
|
/**
|
|
@@ -429,19 +455,20 @@ const literal = {foo: 123, bar: 'hello', baz: 456};
|
|
|
429
455
|
const someType: SomeType = literal;
|
|
430
456
|
const someInterface: SomeInterface = literal;
|
|
431
457
|
|
|
432
|
-
function fn(object: Record<string, unknown>): void
|
|
458
|
+
declare function fn(object: Record<string, unknown>): void;
|
|
433
459
|
|
|
434
460
|
fn(literal); // Good: literal object type is sealed
|
|
435
461
|
fn(someType); // Good: type is sealed
|
|
462
|
+
// @ts-expect-error
|
|
436
463
|
fn(someInterface); // Error: Index signature for type 'string' is missing in type 'someInterface'. Because `interface` can be re-opened
|
|
437
464
|
fn(someInterface as Simplify<SomeInterface>); // Good: transform an `interface` into a `type`
|
|
438
465
|
```
|
|
439
466
|
|
|
440
467
|
@link https://github.com/microsoft/TypeScript/issues/15300
|
|
441
|
-
@see SimplifyDeep
|
|
468
|
+
@see {@link SimplifyDeep}
|
|
442
469
|
@category Object
|
|
443
470
|
*/
|
|
444
|
-
type Simplify<T> = { [KeyType in keyof T]: T[KeyType] } & {};
|
|
471
|
+
type Simplify<T$1> = { [KeyType in keyof T$1]: T$1[KeyType] } & {};
|
|
445
472
|
//#endregion
|
|
446
473
|
//#region ../../node_modules/type-fest/source/is-equal.d.ts
|
|
447
474
|
/**
|
|
@@ -470,7 +497,7 @@ type Includes<Value extends readonly any[], Item> =
|
|
|
470
497
|
@category Type Guard
|
|
471
498
|
@category Utilities
|
|
472
499
|
*/
|
|
473
|
-
type IsEqual<A, B> = [A
|
|
500
|
+
type IsEqual<A, B> = [A] extends [B] ? [B] extends [A] ? _IsEqual<A, B> : false : false;
|
|
474
501
|
// This version fails the `equalWrappedTupleIntersectionToBeNeverAndNeverExpanded` test in `test-d/is-equal.ts`.
|
|
475
502
|
type _IsEqual<A, B> = (<G>() => G extends A & G | G ? 1 : 2) extends (<G>() => G extends B & G | G ? 1 : 2) ? true : false;
|
|
476
503
|
//#endregion
|
|
@@ -492,6 +519,7 @@ It relies on the fact that an empty object (`{}`) is assignable to an object wit
|
|
|
492
519
|
```
|
|
493
520
|
const indexed: Record<string, unknown> = {}; // Allowed
|
|
494
521
|
|
|
522
|
+
// @ts-expect-error
|
|
495
523
|
const keyed: Record<'foo', unknown> = {}; // Error
|
|
496
524
|
// => TS2739: Type '{}' is missing the following properties from type 'Record<"foo" | "bar", unknown>': foo, bar
|
|
497
525
|
```
|
|
@@ -505,16 +533,14 @@ type Indexed = {} extends Record<string, unknown>
|
|
|
505
533
|
// => '✅ `{}` is assignable to `Record<string, unknown>`'
|
|
506
534
|
|
|
507
535
|
type Keyed = {} extends Record<'foo' | 'bar', unknown>
|
|
508
|
-
?
|
|
509
|
-
:
|
|
536
|
+
? '✅ `{}` is assignable to `Record<\'foo\' | \'bar\', unknown>`'
|
|
537
|
+
: '❌ `{}` is NOT assignable to `Record<\'foo\' | \'bar\', unknown>`';
|
|
510
538
|
// => "❌ `{}` is NOT assignable to `Record<'foo' | 'bar', unknown>`"
|
|
511
539
|
```
|
|
512
540
|
|
|
513
541
|
Using a [mapped type](https://www.typescriptlang.org/docs/handbook/2/mapped-types.html#further-exploration), you can then check for each `KeyType` of `ObjectType`...
|
|
514
542
|
|
|
515
543
|
```
|
|
516
|
-
import type {OmitIndexSignature} from 'type-fest';
|
|
517
|
-
|
|
518
544
|
type OmitIndexSignature<ObjectType> = {
|
|
519
545
|
[KeyType in keyof ObjectType // Map each key of `ObjectType`...
|
|
520
546
|
]: ObjectType[KeyType]; // ...to its original value, i.e. `OmitIndexSignature<Foo> == Foo`.
|
|
@@ -524,14 +550,12 @@ type OmitIndexSignature<ObjectType> = {
|
|
|
524
550
|
...whether an empty object (`{}`) would be assignable to an object with that `KeyType` (`Record<KeyType, unknown>`)...
|
|
525
551
|
|
|
526
552
|
```
|
|
527
|
-
import type {OmitIndexSignature} from 'type-fest';
|
|
528
|
-
|
|
529
553
|
type OmitIndexSignature<ObjectType> = {
|
|
530
554
|
[KeyType in keyof ObjectType
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
555
|
+
// Is `{}` assignable to `Record<KeyType, unknown>`?
|
|
556
|
+
as {} extends Record<KeyType, unknown>
|
|
557
|
+
? never // ✅ `{}` is assignable to `Record<KeyType, unknown>`
|
|
558
|
+
: KeyType // ❌ `{}` is NOT assignable to `Record<KeyType, unknown>`
|
|
535
559
|
]: ObjectType[KeyType];
|
|
536
560
|
};
|
|
537
561
|
```
|
|
@@ -542,27 +566,27 @@ If `{}` is assignable, it means that `KeyType` is an index signature and we want
|
|
|
542
566
|
```
|
|
543
567
|
import type {OmitIndexSignature} from 'type-fest';
|
|
544
568
|
|
|
545
|
-
|
|
569
|
+
type Example = {
|
|
546
570
|
// These index signatures will be removed.
|
|
547
|
-
[x: string]: any
|
|
548
|
-
[x: number]: any
|
|
549
|
-
[x: symbol]: any
|
|
550
|
-
[x: `head-${string}`]: string
|
|
551
|
-
[x: `${string}-tail`]: string
|
|
552
|
-
[x: `head-${string}-tail`]: string
|
|
553
|
-
[x: `${bigint}`]: string
|
|
554
|
-
[x: `embedded-${number}`]: string
|
|
571
|
+
[x: string]: any;
|
|
572
|
+
[x: number]: any;
|
|
573
|
+
[x: symbol]: any;
|
|
574
|
+
[x: `head-${string}`]: string;
|
|
575
|
+
[x: `${string}-tail`]: string;
|
|
576
|
+
[x: `head-${string}-tail`]: string;
|
|
577
|
+
[x: `${bigint}`]: string;
|
|
578
|
+
[x: `embedded-${number}`]: string;
|
|
555
579
|
|
|
556
580
|
// These explicitly defined keys will remain.
|
|
557
581
|
foo: 'bar';
|
|
558
582
|
qux?: 'baz';
|
|
559
|
-
}
|
|
583
|
+
};
|
|
560
584
|
|
|
561
585
|
type ExampleWithoutIndexSignatures = OmitIndexSignature<Example>;
|
|
562
586
|
// => { foo: 'bar'; qux?: 'baz' | undefined; }
|
|
563
587
|
```
|
|
564
588
|
|
|
565
|
-
@see PickIndexSignature
|
|
589
|
+
@see {@link PickIndexSignature}
|
|
566
590
|
@category Object
|
|
567
591
|
*/
|
|
568
592
|
type OmitIndexSignature<ObjectType> = { [KeyType in keyof ObjectType as {} extends Record<KeyType, unknown> ? never : KeyType]: ObjectType[KeyType] };
|
|
@@ -610,7 +634,7 @@ type ExampleIndexSignature = PickIndexSignature<Example>;
|
|
|
610
634
|
// }
|
|
611
635
|
```
|
|
612
636
|
|
|
613
|
-
@see OmitIndexSignature
|
|
637
|
+
@see {@link OmitIndexSignature}
|
|
614
638
|
@category Object
|
|
615
639
|
*/
|
|
616
640
|
type PickIndexSignature<ObjectType> = { [KeyType in keyof ObjectType as {} extends Record<KeyType, unknown> ? KeyType : never]: ObjectType[KeyType] };
|
|
@@ -626,12 +650,12 @@ Merge two types into a new type. Keys of the second type overrides keys of the f
|
|
|
626
650
|
```
|
|
627
651
|
import type {Merge} from 'type-fest';
|
|
628
652
|
|
|
629
|
-
|
|
653
|
+
type Foo = {
|
|
630
654
|
[x: string]: unknown;
|
|
631
655
|
[x: number]: unknown;
|
|
632
656
|
foo: string;
|
|
633
657
|
bar: symbol;
|
|
634
|
-
}
|
|
658
|
+
};
|
|
635
659
|
|
|
636
660
|
type Bar = {
|
|
637
661
|
[x: number]: number;
|
|
@@ -693,7 +717,7 @@ type Any = HomomorphicPick<{a: 1; b: 2} | {c: 3}, any>;
|
|
|
693
717
|
type IndexSignature = HomomorphicPick<{[k: string]: unknown}, number>;
|
|
694
718
|
//=> {}
|
|
695
719
|
*/
|
|
696
|
-
type HomomorphicPick<T, Keys extends KeysOfUnion<T>> = { [P in keyof T as Extract<P, Keys>]: T[P] };
|
|
720
|
+
type HomomorphicPick<T$1, Keys extends KeysOfUnion<T$1>> = { [P in keyof T$1 as Extract<P, Keys>]: T$1[P] };
|
|
697
721
|
/**
|
|
698
722
|
Merges user specified options with default options.
|
|
699
723
|
|
|
@@ -810,12 +834,14 @@ type Foo = {
|
|
|
810
834
|
type FooWithoutA = Except<Foo, 'a'>;
|
|
811
835
|
//=> {b: string}
|
|
812
836
|
|
|
837
|
+
// @ts-expect-error
|
|
813
838
|
const fooWithoutA: FooWithoutA = {a: 1, b: '2'};
|
|
814
839
|
//=> errors: 'a' does not exist in type '{ b: string; }'
|
|
815
840
|
|
|
816
841
|
type FooWithoutB = Except<Foo, 'b', {requireExactProps: true}>;
|
|
817
842
|
//=> {a: number} & Partial<Record<"b", never>>
|
|
818
843
|
|
|
844
|
+
// @ts-expect-error
|
|
819
845
|
const fooWithoutB: FooWithoutB = {a: 1, b: '2'};
|
|
820
846
|
//=> errors at 'b': Type 'string' is not assignable to type 'undefined'.
|
|
821
847
|
|
|
@@ -832,12 +858,12 @@ type UserData = {
|
|
|
832
858
|
|
|
833
859
|
// `Omit` clearly doesn't behave as expected in this case:
|
|
834
860
|
type PostPayload = Omit<UserData, 'email'>;
|
|
835
|
-
//=>
|
|
861
|
+
//=> { [x: string]: string; [x: number]: string; }
|
|
836
862
|
|
|
837
863
|
// In situations like this, `Except` works better.
|
|
838
864
|
// It simply removes the `email` key while preserving all the other keys.
|
|
839
|
-
type
|
|
840
|
-
//=>
|
|
865
|
+
type PostPayloadFixed = Except<UserData, 'email'>;
|
|
866
|
+
//=> { [x: string]: string; name: string; role: 'admin' | 'user'; }
|
|
841
867
|
```
|
|
842
868
|
|
|
843
869
|
@category Object
|
|
@@ -859,7 +885,7 @@ type Foo = {
|
|
|
859
885
|
a?: number;
|
|
860
886
|
b: string;
|
|
861
887
|
c?: boolean;
|
|
862
|
-
}
|
|
888
|
+
};
|
|
863
889
|
|
|
864
890
|
type SomeRequired = SetRequired<Foo, 'b' | 'c'>;
|
|
865
891
|
// type SomeRequired = {
|
|
@@ -902,7 +928,7 @@ type RequireAtLeastOne<ObjectType, KeysType extends keyof ObjectType> = { [Key i
|
|
|
902
928
|
/**
|
|
903
929
|
* Adds an `unknown` index property to an interface.
|
|
904
930
|
*/
|
|
905
|
-
type WithUnknownIndex<T> = T & {
|
|
931
|
+
type WithUnknownIndex<T$1> = T$1 & {
|
|
906
932
|
[key: string]: unknown;
|
|
907
933
|
};
|
|
908
934
|
/**
|
|
@@ -1031,15 +1057,15 @@ interface RuleType<F extends string = string, O extends string = string, V$1 = a
|
|
|
1031
1057
|
* The main rule group type. This type is used for query definitions as well as
|
|
1032
1058
|
* all sub-groups of queries.
|
|
1033
1059
|
*/
|
|
1034
|
-
interface RuleGroupType<R extends RuleType = RuleType, C extends string = string> extends CommonRuleAndGroupProperties {
|
|
1060
|
+
interface RuleGroupType<R$1 extends RuleType = RuleType, C extends string = string> extends CommonRuleAndGroupProperties {
|
|
1035
1061
|
combinator: C;
|
|
1036
|
-
rules: RuleGroupArray<RuleGroupType<R, C>, R>;
|
|
1062
|
+
rules: RuleGroupArray<RuleGroupType<R$1, C>, R$1>;
|
|
1037
1063
|
not?: boolean;
|
|
1038
1064
|
}
|
|
1039
1065
|
/**
|
|
1040
1066
|
* The type of the `rules` array in a {@link RuleGroupType}.
|
|
1041
1067
|
*/
|
|
1042
|
-
type RuleGroupArray<RG extends RuleGroupType = RuleGroupType, R extends RuleType = RuleType> = (R | RG)[];
|
|
1068
|
+
type RuleGroupArray<RG extends RuleGroupType = RuleGroupType, R$1 extends RuleType = RuleType> = (R$1 | RG)[];
|
|
1043
1069
|
/**
|
|
1044
1070
|
* Default values for the `operator` property.
|
|
1045
1071
|
*
|
|
@@ -1056,9 +1082,9 @@ type MappedTuple<Tuple extends Array<unknown>, Result extends Array<unknown> = [
|
|
|
1056
1082
|
* The main rule group interface when using independent combinators. This type is used
|
|
1057
1083
|
* for query definitions as well as all sub-groups of queries.
|
|
1058
1084
|
*/
|
|
1059
|
-
interface RuleGroupTypeIC<R extends RuleType = RuleType, C extends string = string> extends Except<RuleGroupType<R, C>, "combinator" | "rules"> {
|
|
1085
|
+
interface RuleGroupTypeIC<R$1 extends RuleType = RuleType, C extends string = string> extends Except<RuleGroupType<R$1, C>, "combinator" | "rules"> {
|
|
1060
1086
|
combinator?: undefined;
|
|
1061
|
-
rules: RuleGroupICArray<RuleGroupTypeIC<R, C>, R, C>;
|
|
1087
|
+
rules: RuleGroupICArray<RuleGroupTypeIC<R$1, C>, R$1, C>;
|
|
1062
1088
|
/**
|
|
1063
1089
|
* Only used when adding a rule to a query that uses independent combinators
|
|
1064
1090
|
*/
|
|
@@ -1067,11 +1093,11 @@ interface RuleGroupTypeIC<R extends RuleType = RuleType, C extends string = stri
|
|
|
1067
1093
|
/**
|
|
1068
1094
|
* Shorthand for "either {@link RuleGroupType} or {@link RuleGroupTypeIC}".
|
|
1069
1095
|
*/
|
|
1070
|
-
type RuleGroupTypeAny<R extends RuleType = RuleType, C extends string = string> = RuleGroupType<R, C> | RuleGroupTypeIC<R, C>;
|
|
1096
|
+
type RuleGroupTypeAny<R$1 extends RuleType = RuleType, C extends string = string> = RuleGroupType<R$1, C> | RuleGroupTypeIC<R$1, C>;
|
|
1071
1097
|
/**
|
|
1072
1098
|
* The type of the `rules` array in a {@link RuleGroupTypeIC}.
|
|
1073
1099
|
*/
|
|
1074
|
-
type RuleGroupICArray<RG extends RuleGroupTypeIC = RuleGroupTypeIC, R extends RuleType = RuleType, C extends string = string> = [R | RG] | [R | RG, ...MappedTuple<[C, R | RG]>] | ((R | RG)[] & {
|
|
1100
|
+
type RuleGroupICArray<RG extends RuleGroupTypeIC = RuleGroupTypeIC, R$1 extends RuleType = RuleType, C extends string = string> = [R$1 | RG] | [R$1 | RG, ...MappedTuple<[C, R$1 | RG]>] | ((R$1 | RG)[] & {
|
|
1075
1101
|
length: 0;
|
|
1076
1102
|
});
|
|
1077
1103
|
//#endregion
|
|
@@ -1123,7 +1149,7 @@ type ValueEditorType = "text" | "select" | "checkbox" | "radio" | "textarea" | "
|
|
|
1123
1149
|
type ValueSources = ["value"] | ["value", "field"] | ["field", "value"] | ["field"];
|
|
1124
1150
|
type ValueSourceFlexibleOptions = ToFlexibleOptionArrays<ValueSources>;
|
|
1125
1151
|
type ToFlexibleOptionArrays<Sources extends readonly string[]> = Sources extends unknown ? { [K in keyof Sources]: FlexibleOption<Sources[K]> } : never;
|
|
1126
|
-
type WithOptionalClassName<T> = T & {
|
|
1152
|
+
type WithOptionalClassName<T$1> = T$1 & {
|
|
1127
1153
|
className?: Classname;
|
|
1128
1154
|
};
|
|
1129
1155
|
/**
|
|
@@ -1146,17 +1172,17 @@ type MatchMode = "all" | "some" | "none" | "atLeast" | "atMost" | "exactly";
|
|
|
1146
1172
|
/**
|
|
1147
1173
|
* Base for all Field types/interfaces.
|
|
1148
1174
|
*/
|
|
1149
|
-
interface BaseFullField<FieldName extends string = string, OperatorName extends string = string, ValueName extends string = string, OperatorObj extends FullOption = FullOption<OperatorName>, ValueObj extends FullOption = FullOption<ValueName>> extends WithOptionalClassName<BaseFullOption<FieldName>> {
|
|
1175
|
+
interface BaseFullField<FieldName extends string = string, OperatorName$1 extends string = string, ValueName extends string = string, OperatorObj extends FullOption = FullOption<OperatorName$1>, ValueObj extends FullOption = FullOption<ValueName>> extends WithOptionalClassName<BaseFullOption<FieldName>> {
|
|
1150
1176
|
id?: string;
|
|
1151
|
-
operators?: FlexibleOptionList<OperatorObj> | OperatorName[] | FlexibleOption<OperatorName>[] | (OperatorName | FlexibleOption<OperatorName>)[];
|
|
1152
|
-
valueEditorType?: ValueEditorType | ((operator: OperatorName) => ValueEditorType);
|
|
1153
|
-
valueSources?: ValueSources | ValueSourceFlexibleOptions | ((operator: OperatorName) => ValueSources | ValueSourceFlexibleOptions);
|
|
1177
|
+
operators?: FlexibleOptionList<OperatorObj> | OperatorName$1[] | FlexibleOption<OperatorName$1>[] | (OperatorName$1 | FlexibleOption<OperatorName$1>)[];
|
|
1178
|
+
valueEditorType?: ValueEditorType | ((operator: OperatorName$1) => ValueEditorType);
|
|
1179
|
+
valueSources?: ValueSources | ValueSourceFlexibleOptions | ((operator: OperatorName$1) => ValueSources | ValueSourceFlexibleOptions);
|
|
1154
1180
|
inputType?: InputType | null;
|
|
1155
1181
|
values?: FlexibleOptionList<ValueObj>;
|
|
1156
1182
|
matchModes?: boolean | MatchMode[] | FlexibleOption<MatchMode>[];
|
|
1157
1183
|
/** Properties of items in the value. */
|
|
1158
1184
|
subproperties?: FlexibleOptionList<FullField>;
|
|
1159
|
-
defaultOperator?: OperatorName;
|
|
1185
|
+
defaultOperator?: OperatorName$1;
|
|
1160
1186
|
defaultValue?: any;
|
|
1161
1187
|
placeholder?: string;
|
|
1162
1188
|
validator?: RuleValidator;
|
|
@@ -1174,7 +1200,7 @@ interface BaseFullField<FieldName extends string = string, OperatorName extends
|
|
|
1174
1200
|
*
|
|
1175
1201
|
* @group Option Lists
|
|
1176
1202
|
*/
|
|
1177
|
-
type FullField<FieldName extends string = string, OperatorName extends string = string, ValueName extends string = string, OperatorObj extends FullOption = FullOption<OperatorName>, ValueObj extends FullOption = FullOption<ValueName>> = Simplify<FullOption<FieldName> & BaseFullField<FieldName, OperatorName, ValueName, OperatorObj, ValueObj>>;
|
|
1203
|
+
type FullField<FieldName extends string = string, OperatorName$1 extends string = string, ValueName extends string = string, OperatorObj extends FullOption = FullOption<OperatorName$1>, ValueObj extends FullOption = FullOption<ValueName>> = Simplify<FullOption<FieldName> & BaseFullField<FieldName, OperatorName$1, ValueName, OperatorObj, ValueObj>>;
|
|
1178
1204
|
/**
|
|
1179
1205
|
* Allowed values of the {@link FullOperator} property `arity`. A value of `"unary"` or
|
|
1180
1206
|
* a number less than two will cause the default {@link react-querybuilder!ValueEditor ValueEditor} to render `null`.
|
|
@@ -1602,6 +1628,17 @@ type ZeroOrMoreGroupVariants = RepeatStrings<["xor", "not"]>;
|
|
|
1602
1628
|
*/
|
|
1603
1629
|
type NLTranslationKey = "and" | "or" | "true" | "false" | `groupPrefix${ZeroOrMoreGroupVariants}` | `groupSuffix${ZeroOrMoreGroupVariants}`;
|
|
1604
1630
|
//#endregion
|
|
1631
|
+
//#region ../react-querybuilder/src/redux/getRqbStore.d.ts
|
|
1632
|
+
declare global {
|
|
1633
|
+
var __RQB_DEVTOOLS__: boolean | undefined;
|
|
1634
|
+
}
|
|
1635
|
+
/**
|
|
1636
|
+
* Gets the singleton React Query Builder store instance.
|
|
1637
|
+
* DevTools are enabled if either:
|
|
1638
|
+
* - globalThis.__RQB_DEVTOOLS__ is truthy
|
|
1639
|
+
* - window.__RQB_DEVTOOLS__ is truthy
|
|
1640
|
+
*/
|
|
1641
|
+
//#endregion
|
|
1605
1642
|
//#region src/types.d.ts
|
|
1606
1643
|
interface RQBJsonLogicDateBetween {
|
|
1607
1644
|
dateBetween: [RQBJsonLogic, RQBJsonLogic, RQBJsonLogic];
|
|
@@ -1713,4 +1750,4 @@ type IsDateFieldFunction = (...[rule, opts]: Parameters<RuleProcessor>) => boole
|
|
|
1713
1750
|
type IsDateField = IsDateFieldFunction | Record<string, unknown> | Record<string, unknown>[] | boolean | undefined;
|
|
1714
1751
|
//#endregion
|
|
1715
1752
|
export { RuleProcessor as _, RQBJsonLogicDateAfter as a, RQBJsonLogicDateIn as c, RQBJsonLogicDateNotOn as d, RQBJsonLogicDateOn as f, ExportOperatorMap as g, RQBJsonLogicDateTimeOperations as h, RQBDateTimeLibraryAPI as i, RQBJsonLogicDateNotBetween as l, RQBJsonLogicDateOnOrBefore as m, IsDateFieldFunction as n, RQBJsonLogicDateBefore as o, RQBJsonLogicDateOnOrAfter as p, RQBDateTimeJsonLogic as r, RQBJsonLogicDateBetween as s, IsDateField as t, RQBJsonLogicDateNotIn as u, ValueProcessorByRule as v };
|
|
1716
|
-
//# sourceMappingURL=types-
|
|
1753
|
+
//# sourceMappingURL=types-h3_NfrpO.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-querybuilder/datetime",
|
|
3
3
|
"description": "Date/time features for react-querybuilder",
|
|
4
|
-
"version": "8.
|
|
4
|
+
"version": "8.13.0",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -62,7 +62,11 @@
|
|
|
62
62
|
},
|
|
63
63
|
"types": "./dist/react-querybuilder_datetime.legacy-esm.d.ts",
|
|
64
64
|
"files": [
|
|
65
|
-
"dist"
|
|
65
|
+
"dist",
|
|
66
|
+
"dayjs",
|
|
67
|
+
"date-fns",
|
|
68
|
+
"jsdate",
|
|
69
|
+
"luxon"
|
|
66
70
|
],
|
|
67
71
|
"license": "MIT",
|
|
68
72
|
"sideEffects": false,
|
|
@@ -87,33 +91,33 @@
|
|
|
87
91
|
},
|
|
88
92
|
"devDependencies": {
|
|
89
93
|
"@date-fns/tz": "^1.4.1",
|
|
90
|
-
"@electric-sql/pglite": "^0.3.
|
|
94
|
+
"@electric-sql/pglite": "^0.3.14",
|
|
91
95
|
"@testing-library/dom": "^10.4.1",
|
|
92
96
|
"@testing-library/react": "^16.3.0",
|
|
93
97
|
"@testing-library/user-event": "14.5.2",
|
|
94
98
|
"@types/luxon": "^3.7.1",
|
|
95
|
-
"@types/react": "^19.2.
|
|
96
|
-
"@vitejs/plugin-react": "^5.
|
|
99
|
+
"@types/react": "^19.2.7",
|
|
100
|
+
"@vitejs/plugin-react": "^5.1.1",
|
|
97
101
|
"date-fns": "^4.1.0",
|
|
98
|
-
"dayjs": "^1.11.
|
|
102
|
+
"dayjs": "^1.11.19",
|
|
99
103
|
"json-logic-js": "^2.0.5",
|
|
100
104
|
"jsonata": "^2.1.0",
|
|
101
105
|
"luxon": "^3.7.2",
|
|
102
|
-
"mongodb-memory-server-core": "^10.
|
|
103
|
-
"mongoose": "^
|
|
106
|
+
"mongodb-memory-server-core": "^10.3.0",
|
|
107
|
+
"mongoose": "^9.0.0",
|
|
104
108
|
"react": "^19.2.0",
|
|
105
109
|
"react-dom": "^19.2.0",
|
|
106
|
-
"react-querybuilder": "8.
|
|
110
|
+
"react-querybuilder": "8.13.0",
|
|
107
111
|
"rollup-plugin-visualizer": "^6.0.5",
|
|
108
112
|
"typescript": "^5.9.3",
|
|
109
|
-
"vite": "^7.
|
|
113
|
+
"vite": "^7.2.6"
|
|
110
114
|
},
|
|
111
115
|
"peerDependencies": {
|
|
112
116
|
"date-fns": "^4.1.0",
|
|
113
117
|
"dayjs": "^1.11.13",
|
|
114
118
|
"luxon": "^3.5.0",
|
|
115
119
|
"react": ">=18",
|
|
116
|
-
"react-querybuilder": "8.
|
|
120
|
+
"react-querybuilder": "8.13.0"
|
|
117
121
|
},
|
|
118
122
|
"peerDependenciesMeta": {
|
|
119
123
|
"date-fns": {
|
|
@@ -126,5 +130,5 @@
|
|
|
126
130
|
"optional": true
|
|
127
131
|
}
|
|
128
132
|
},
|
|
129
|
-
"gitHead": "
|
|
133
|
+
"gitHead": "96a494f99af53de9de8c647d1895e9d05f3f74a9"
|
|
130
134
|
}
|