@opencrvs/toolkit 1.9.3-rc.a8c6af9 → 1.9.3-rc.ae6ac46

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.
@@ -117,6 +117,8 @@ export declare function createFieldConditionals(fieldId: string): {
117
117
  days: (days: number) => {
118
118
  inPast: () => JSONSchema;
119
119
  inFuture: () => JSONSchema;
120
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
121
+ fromNow: () => JSONSchema;
120
122
  };
121
123
  date: (date: string | FieldReference) => JSONSchema;
122
124
  now: () => JSONSchema;
@@ -125,6 +127,8 @@ export declare function createFieldConditionals(fieldId: string): {
125
127
  days: (days: number) => {
126
128
  inPast: () => JSONSchema;
127
129
  inFuture: () => JSONSchema;
130
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
131
+ fromNow: () => JSONSchema;
128
132
  };
129
133
  date: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
130
134
  now: () => JSONSchema;
@@ -172,6 +176,8 @@ export declare function createFieldConditionals(fieldId: string): {
172
176
  days: (days: number) => {
173
177
  inPast: () => JSONSchema;
174
178
  inFuture: () => JSONSchema;
179
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
180
+ fromNow: () => JSONSchema;
175
181
  };
176
182
  date: (date: string | FieldReference) => JSONSchema;
177
183
  now: () => JSONSchema;
@@ -180,6 +186,8 @@ export declare function createFieldConditionals(fieldId: string): {
180
186
  days: (days: number) => {
181
187
  inPast: () => JSONSchema;
182
188
  inFuture: () => JSONSchema;
189
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
190
+ fromNow: () => JSONSchema;
183
191
  };
184
192
  date: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
185
193
  now: () => JSONSchema;
@@ -241,6 +249,8 @@ export declare function createFieldConditionals(fieldId: string): {
241
249
  days: (days: number) => {
242
250
  inPast: () => JSONSchema;
243
251
  inFuture: () => JSONSchema;
252
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
253
+ fromNow: () => JSONSchema;
244
254
  };
245
255
  date: (date: string | FieldReference) => JSONSchema;
246
256
  now: () => JSONSchema;
@@ -249,6 +259,8 @@ export declare function createFieldConditionals(fieldId: string): {
249
259
  days: (days: number) => {
250
260
  inPast: () => JSONSchema;
251
261
  inFuture: () => JSONSchema;
262
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
263
+ fromNow: () => JSONSchema;
252
264
  };
253
265
  date: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
254
266
  now: () => JSONSchema;
@@ -305,6 +317,8 @@ export declare function createFieldConditionals(fieldId: string): {
305
317
  days: (days: number) => {
306
318
  inPast: () => JSONSchema;
307
319
  inFuture: () => JSONSchema;
320
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
321
+ fromNow: () => JSONSchema;
308
322
  };
309
323
  date: (date: string | FieldReference) => JSONSchema;
310
324
  now: () => JSONSchema;
@@ -313,6 +327,8 @@ export declare function createFieldConditionals(fieldId: string): {
313
327
  days: (days: number) => {
314
328
  inPast: () => JSONSchema;
315
329
  inFuture: () => JSONSchema;
330
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
331
+ fromNow: () => JSONSchema;
316
332
  };
317
333
  date: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
318
334
  now: () => JSONSchema;
@@ -368,6 +384,8 @@ export declare function createFieldConditionals(fieldId: string): {
368
384
  days: (days: number) => {
369
385
  inPast: () => JSONSchema;
370
386
  inFuture: () => JSONSchema;
387
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
388
+ fromNow: () => JSONSchema;
371
389
  };
372
390
  date: (date: string | FieldReference) => JSONSchema;
373
391
  now: () => JSONSchema;
@@ -376,6 +394,8 @@ export declare function createFieldConditionals(fieldId: string): {
376
394
  days: (days: number) => {
377
395
  inPast: () => JSONSchema;
378
396
  inFuture: () => JSONSchema;
397
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
398
+ fromNow: () => JSONSchema;
379
399
  };
380
400
  date: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
381
401
  now: () => JSONSchema;
@@ -421,6 +441,8 @@ export declare function createFieldConditionals(fieldId: string): {
421
441
  days: (days: number) => {
422
442
  inPast: () => JSONSchema;
423
443
  inFuture: () => JSONSchema;
444
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
445
+ fromNow: () => JSONSchema;
424
446
  };
425
447
  date: (date: string | FieldReference) => JSONSchema;
426
448
  now: () => JSONSchema;
@@ -429,6 +451,8 @@ export declare function createFieldConditionals(fieldId: string): {
429
451
  days: (days: number) => {
430
452
  inPast: () => JSONSchema;
431
453
  inFuture: () => JSONSchema;
454
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
455
+ fromNow: () => JSONSchema;
432
456
  };
433
457
  date: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
434
458
  now: () => JSONSchema;
@@ -491,6 +515,8 @@ export declare function createFieldConditionals(fieldId: string): {
491
515
  days: (days: number) => {
492
516
  inPast: () => JSONSchema;
493
517
  inFuture: () => JSONSchema;
518
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
519
+ fromNow: () => JSONSchema;
494
520
  };
495
521
  date: (date: string | FieldReference) => JSONSchema;
496
522
  now: () => JSONSchema;
@@ -499,6 +525,8 @@ export declare function createFieldConditionals(fieldId: string): {
499
525
  days: (days: number) => {
500
526
  inPast: () => JSONSchema;
501
527
  inFuture: () => JSONSchema;
528
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
529
+ fromNow: () => JSONSchema;
502
530
  };
503
531
  date: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
504
532
  now: () => JSONSchema;
@@ -546,6 +574,8 @@ export declare function createFieldConditionals(fieldId: string): {
546
574
  days: (days: number) => {
547
575
  inPast: () => JSONSchema;
548
576
  inFuture: () => JSONSchema;
577
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
578
+ fromNow: () => JSONSchema;
549
579
  };
550
580
  date: (date: string | FieldReference) => JSONSchema;
551
581
  now: () => JSONSchema;
@@ -554,6 +584,8 @@ export declare function createFieldConditionals(fieldId: string): {
554
584
  days: (days: number) => {
555
585
  inPast: () => JSONSchema;
556
586
  inFuture: () => JSONSchema;
587
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
588
+ fromNow: () => JSONSchema;
557
589
  };
558
590
  date: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
559
591
  now: () => JSONSchema;
@@ -616,6 +648,8 @@ export declare function createFieldConditionals(fieldId: string): {
616
648
  days: (days: number) => {
617
649
  inPast: () => JSONSchema;
618
650
  inFuture: () => JSONSchema;
651
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
652
+ fromNow: () => JSONSchema;
619
653
  };
620
654
  date: (date: string | FieldReference) => JSONSchema;
621
655
  now: () => JSONSchema;
@@ -624,6 +658,8 @@ export declare function createFieldConditionals(fieldId: string): {
624
658
  days: (days: number) => {
625
659
  inPast: () => JSONSchema;
626
660
  inFuture: () => JSONSchema;
661
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
662
+ fromNow: () => JSONSchema;
627
663
  };
628
664
  date: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
629
665
  now: () => JSONSchema;
@@ -671,6 +707,8 @@ export declare function createFieldConditionals(fieldId: string): {
671
707
  days: (days: number) => {
672
708
  inPast: () => JSONSchema;
673
709
  inFuture: () => JSONSchema;
710
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
711
+ fromNow: () => JSONSchema;
674
712
  };
675
713
  date: (date: string | FieldReference) => JSONSchema;
676
714
  now: () => JSONSchema;
@@ -679,6 +717,8 @@ export declare function createFieldConditionals(fieldId: string): {
679
717
  days: (days: number) => {
680
718
  inPast: () => JSONSchema;
681
719
  inFuture: () => JSONSchema;
720
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
721
+ fromNow: () => JSONSchema;
682
722
  };
683
723
  date: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
684
724
  now: () => JSONSchema;
@@ -724,6 +764,8 @@ export declare function createFieldConditionals(fieldId: string): {
724
764
  days: (days: number) => {
725
765
  inPast: () => JSONSchema;
726
766
  inFuture: () => JSONSchema;
767
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
768
+ fromNow: () => JSONSchema;
727
769
  };
728
770
  date: (date: string | FieldReference) => JSONSchema;
729
771
  now: () => JSONSchema;
@@ -732,6 +774,8 @@ export declare function createFieldConditionals(fieldId: string): {
732
774
  days: (days: number) => {
733
775
  inPast: () => JSONSchema;
734
776
  inFuture: () => JSONSchema;
777
+ fromDate: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
778
+ fromNow: () => JSONSchema;
735
779
  };
736
780
  date: (date: `${string}-${string}-${string}` | FieldReference) => JSONSchema;
737
781
  now: () => JSONSchema;
@@ -6,7 +6,7 @@ import { FieldUpdateValue, FieldValue } from '../events/FieldValue';
6
6
  import { TranslationConfig } from '../events/TranslationConfig';
7
7
  import { ITokenPayload } from '../authentication';
8
8
  import { UUID } from '../uuid';
9
- import { ActionType } from '../client';
9
+ import { ActionType, EventDocument } from '../client';
10
10
  export declare function validate(schema: JSONSchema, data: ConditionalParameters): boolean;
11
11
  export declare function validateValue(schema: JSONSchema, data: unknown): boolean;
12
12
  export declare function isOnline(): boolean;
@@ -17,6 +17,7 @@ export type ValidatorContext = {
17
17
  leafAdminStructureLocationIds?: Array<{
18
18
  id: UUID;
19
19
  }>;
20
+ event?: EventDocument;
20
21
  };
21
22
  export declare function isFieldVisible(field: FieldConfig, form: Partial<ActionUpdate | EventState>, context: ValidatorContext): boolean;
22
23
  export declare function isFieldEnabled(field: FieldConfig, form: ActionUpdate | EventState, context: ValidatorContext): boolean;
@@ -77,6 +77,11 @@ export declare function field(fieldId: string, options?: {
77
77
  days: (days: number) => {
78
78
  inPast: () => import("../conditionals/conditionals").JSONSchema;
79
79
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
80
+ fromDate: (date: `${string}-${string}-${string}` | {
81
+ $$field: string;
82
+ $$subfield: string[];
83
+ }) => import("../conditionals/conditionals").JSONSchema;
84
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
80
85
  };
81
86
  date: (date: string | {
82
87
  $$field: string;
@@ -88,6 +93,11 @@ export declare function field(fieldId: string, options?: {
88
93
  days: (days: number) => {
89
94
  inPast: () => import("../conditionals/conditionals").JSONSchema;
90
95
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
96
+ fromDate: (date: `${string}-${string}-${string}` | {
97
+ $$field: string;
98
+ $$subfield: string[];
99
+ }) => import("../conditionals/conditionals").JSONSchema;
100
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
91
101
  };
92
102
  date: (date: `${string}-${string}-${string}` | {
93
103
  $$field: string;
@@ -125,6 +135,11 @@ export declare function field(fieldId: string, options?: {
125
135
  days: (days: number) => {
126
136
  inPast: () => import("../conditionals/conditionals").JSONSchema;
127
137
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
138
+ fromDate: (date: `${string}-${string}-${string}` | {
139
+ $$field: string;
140
+ $$subfield: string[];
141
+ }) => import("../conditionals/conditionals").JSONSchema;
142
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
128
143
  };
129
144
  date: (date: string | {
130
145
  $$field: string;
@@ -136,6 +151,11 @@ export declare function field(fieldId: string, options?: {
136
151
  days: (days: number) => {
137
152
  inPast: () => import("../conditionals/conditionals").JSONSchema;
138
153
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
154
+ fromDate: (date: `${string}-${string}-${string}` | {
155
+ $$field: string;
156
+ $$subfield: string[];
157
+ }) => import("../conditionals/conditionals").JSONSchema;
158
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
139
159
  };
140
160
  date: (date: `${string}-${string}-${string}` | {
141
161
  $$field: string;
@@ -181,6 +201,11 @@ export declare function field(fieldId: string, options?: {
181
201
  days: (days: number) => {
182
202
  inPast: () => import("../conditionals/conditionals").JSONSchema;
183
203
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
204
+ fromDate: (date: `${string}-${string}-${string}` | {
205
+ $$field: string;
206
+ $$subfield: string[];
207
+ }) => import("../conditionals/conditionals").JSONSchema;
208
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
184
209
  };
185
210
  date: (date: string | {
186
211
  $$field: string;
@@ -192,6 +217,11 @@ export declare function field(fieldId: string, options?: {
192
217
  days: (days: number) => {
193
218
  inPast: () => import("../conditionals/conditionals").JSONSchema;
194
219
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
220
+ fromDate: (date: `${string}-${string}-${string}` | {
221
+ $$field: string;
222
+ $$subfield: string[];
223
+ }) => import("../conditionals/conditionals").JSONSchema;
224
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
195
225
  };
196
226
  date: (date: `${string}-${string}-${string}` | {
197
227
  $$field: string;
@@ -235,6 +265,11 @@ export declare function field(fieldId: string, options?: {
235
265
  days: (days: number) => {
236
266
  inPast: () => import("../conditionals/conditionals").JSONSchema;
237
267
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
268
+ fromDate: (date: `${string}-${string}-${string}` | {
269
+ $$field: string;
270
+ $$subfield: string[];
271
+ }) => import("../conditionals/conditionals").JSONSchema;
272
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
238
273
  };
239
274
  date: (date: string | {
240
275
  $$field: string;
@@ -246,6 +281,11 @@ export declare function field(fieldId: string, options?: {
246
281
  days: (days: number) => {
247
282
  inPast: () => import("../conditionals/conditionals").JSONSchema;
248
283
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
284
+ fromDate: (date: `${string}-${string}-${string}` | {
285
+ $$field: string;
286
+ $$subfield: string[];
287
+ }) => import("../conditionals/conditionals").JSONSchema;
288
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
249
289
  };
250
290
  date: (date: `${string}-${string}-${string}` | {
251
291
  $$field: string;
@@ -288,6 +328,11 @@ export declare function field(fieldId: string, options?: {
288
328
  days: (days: number) => {
289
329
  inPast: () => import("../conditionals/conditionals").JSONSchema;
290
330
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
331
+ fromDate: (date: `${string}-${string}-${string}` | {
332
+ $$field: string;
333
+ $$subfield: string[];
334
+ }) => import("../conditionals/conditionals").JSONSchema;
335
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
291
336
  };
292
337
  date: (date: string | {
293
338
  $$field: string;
@@ -299,6 +344,11 @@ export declare function field(fieldId: string, options?: {
299
344
  days: (days: number) => {
300
345
  inPast: () => import("../conditionals/conditionals").JSONSchema;
301
346
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
347
+ fromDate: (date: `${string}-${string}-${string}` | {
348
+ $$field: string;
349
+ $$subfield: string[];
350
+ }) => import("../conditionals/conditionals").JSONSchema;
351
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
302
352
  };
303
353
  date: (date: `${string}-${string}-${string}` | {
304
354
  $$field: string;
@@ -334,6 +384,11 @@ export declare function field(fieldId: string, options?: {
334
384
  days: (days: number) => {
335
385
  inPast: () => import("../conditionals/conditionals").JSONSchema;
336
386
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
387
+ fromDate: (date: `${string}-${string}-${string}` | {
388
+ $$field: string;
389
+ $$subfield: string[];
390
+ }) => import("../conditionals/conditionals").JSONSchema;
391
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
337
392
  };
338
393
  date: (date: string | {
339
394
  $$field: string;
@@ -345,6 +400,11 @@ export declare function field(fieldId: string, options?: {
345
400
  days: (days: number) => {
346
401
  inPast: () => import("../conditionals/conditionals").JSONSchema;
347
402
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
403
+ fromDate: (date: `${string}-${string}-${string}` | {
404
+ $$field: string;
405
+ $$subfield: string[];
406
+ }) => import("../conditionals/conditionals").JSONSchema;
407
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
348
408
  };
349
409
  date: (date: `${string}-${string}-${string}` | {
350
410
  $$field: string;
@@ -391,6 +451,11 @@ export declare function field(fieldId: string, options?: {
391
451
  days: (days: number) => {
392
452
  inPast: () => import("../conditionals/conditionals").JSONSchema;
393
453
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
454
+ fromDate: (date: `${string}-${string}-${string}` | {
455
+ $$field: string;
456
+ $$subfield: string[];
457
+ }) => import("../conditionals/conditionals").JSONSchema;
458
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
394
459
  };
395
460
  date: (date: string | {
396
461
  $$field: string;
@@ -402,6 +467,11 @@ export declare function field(fieldId: string, options?: {
402
467
  days: (days: number) => {
403
468
  inPast: () => import("../conditionals/conditionals").JSONSchema;
404
469
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
470
+ fromDate: (date: `${string}-${string}-${string}` | {
471
+ $$field: string;
472
+ $$subfield: string[];
473
+ }) => import("../conditionals/conditionals").JSONSchema;
474
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
405
475
  };
406
476
  date: (date: `${string}-${string}-${string}` | {
407
477
  $$field: string;
@@ -439,6 +509,11 @@ export declare function field(fieldId: string, options?: {
439
509
  days: (days: number) => {
440
510
  inPast: () => import("../conditionals/conditionals").JSONSchema;
441
511
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
512
+ fromDate: (date: `${string}-${string}-${string}` | {
513
+ $$field: string;
514
+ $$subfield: string[];
515
+ }) => import("../conditionals/conditionals").JSONSchema;
516
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
442
517
  };
443
518
  date: (date: string | {
444
519
  $$field: string;
@@ -450,6 +525,11 @@ export declare function field(fieldId: string, options?: {
450
525
  days: (days: number) => {
451
526
  inPast: () => import("../conditionals/conditionals").JSONSchema;
452
527
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
528
+ fromDate: (date: `${string}-${string}-${string}` | {
529
+ $$field: string;
530
+ $$subfield: string[];
531
+ }) => import("../conditionals/conditionals").JSONSchema;
532
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
453
533
  };
454
534
  date: (date: `${string}-${string}-${string}` | {
455
535
  $$field: string;
@@ -496,6 +576,11 @@ export declare function field(fieldId: string, options?: {
496
576
  days: (days: number) => {
497
577
  inPast: () => import("../conditionals/conditionals").JSONSchema;
498
578
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
579
+ fromDate: (date: `${string}-${string}-${string}` | {
580
+ $$field: string;
581
+ $$subfield: string[];
582
+ }) => import("../conditionals/conditionals").JSONSchema;
583
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
499
584
  };
500
585
  date: (date: string | {
501
586
  $$field: string;
@@ -507,6 +592,11 @@ export declare function field(fieldId: string, options?: {
507
592
  days: (days: number) => {
508
593
  inPast: () => import("../conditionals/conditionals").JSONSchema;
509
594
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
595
+ fromDate: (date: `${string}-${string}-${string}` | {
596
+ $$field: string;
597
+ $$subfield: string[];
598
+ }) => import("../conditionals/conditionals").JSONSchema;
599
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
510
600
  };
511
601
  date: (date: `${string}-${string}-${string}` | {
512
602
  $$field: string;
@@ -544,6 +634,11 @@ export declare function field(fieldId: string, options?: {
544
634
  days: (days: number) => {
545
635
  inPast: () => import("../conditionals/conditionals").JSONSchema;
546
636
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
637
+ fromDate: (date: `${string}-${string}-${string}` | {
638
+ $$field: string;
639
+ $$subfield: string[];
640
+ }) => import("../conditionals/conditionals").JSONSchema;
641
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
547
642
  };
548
643
  date: (date: string | {
549
644
  $$field: string;
@@ -555,6 +650,11 @@ export declare function field(fieldId: string, options?: {
555
650
  days: (days: number) => {
556
651
  inPast: () => import("../conditionals/conditionals").JSONSchema;
557
652
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
653
+ fromDate: (date: `${string}-${string}-${string}` | {
654
+ $$field: string;
655
+ $$subfield: string[];
656
+ }) => import("../conditionals/conditionals").JSONSchema;
657
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
558
658
  };
559
659
  date: (date: `${string}-${string}-${string}` | {
560
660
  $$field: string;
@@ -590,6 +690,11 @@ export declare function field(fieldId: string, options?: {
590
690
  days: (days: number) => {
591
691
  inPast: () => import("../conditionals/conditionals").JSONSchema;
592
692
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
693
+ fromDate: (date: `${string}-${string}-${string}` | {
694
+ $$field: string;
695
+ $$subfield: string[];
696
+ }) => import("../conditionals/conditionals").JSONSchema;
697
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
593
698
  };
594
699
  date: (date: string | {
595
700
  $$field: string;
@@ -601,6 +706,11 @@ export declare function field(fieldId: string, options?: {
601
706
  days: (days: number) => {
602
707
  inPast: () => import("../conditionals/conditionals").JSONSchema;
603
708
  inFuture: () => import("../conditionals/conditionals").JSONSchema;
709
+ fromDate: (date: `${string}-${string}-${string}` | {
710
+ $$field: string;
711
+ $$subfield: string[];
712
+ }) => import("../conditionals/conditionals").JSONSchema;
713
+ fromNow: () => import("../conditionals/conditionals").JSONSchema;
604
714
  };
605
715
  date: (date: `${string}-${string}-${string}` | {
606
716
  $$field: string;
@@ -251,6 +251,34 @@ function getDateRangeToFieldReference(field, comparedField, clause) {
251
251
  required: [field.$$field]
252
252
  };
253
253
  }
254
+ function getDayRangeToFieldReference(field, comparedField, days, clause) {
255
+ return {
256
+ type: "object",
257
+ properties: {
258
+ [field.$$field]: wrapToPath(
259
+ {
260
+ type: "string",
261
+ format: "date",
262
+ daysFromDate: {
263
+ referenceDate: {
264
+ $data: `${field.$$subfield.length + 1}/${jsonFieldPath(
265
+ comparedField
266
+ )}`
267
+ },
268
+ clause,
269
+ days
270
+ }
271
+ },
272
+ field.$$subfield
273
+ ),
274
+ [comparedField.$$field]: wrapToPath(
275
+ { type: "string", format: "date" },
276
+ comparedField.$$subfield
277
+ )
278
+ },
279
+ required: [field.$$field]
280
+ };
281
+ }
254
282
  function defineComparison(field, value, keyword) {
255
283
  if (isFieldReference(value)) {
256
284
  const comparedField = value;
@@ -286,16 +314,17 @@ function defineComparison(field, value, keyword) {
286
314
  });
287
315
  }
288
316
  function createFieldConditionals(fieldId) {
289
- const getDayRange = (field, days, clause) => ({
317
+ const getDayRange = (field, days, clause, referenceDate) => ({
290
318
  type: "object",
291
319
  properties: {
292
320
  [field.$$field]: wrapToPath(
293
321
  {
294
322
  type: "string",
295
323
  format: "date",
296
- daysFromNow: {
324
+ daysFromDate: {
297
325
  days,
298
- clause
326
+ clause,
327
+ referenceDate
299
328
  }
300
329
  },
301
330
  field.$$subfield
@@ -348,7 +377,19 @@ function createFieldConditionals(fieldId) {
348
377
  return {
349
378
  days: (days) => ({
350
379
  inPast: () => defineFormConditional(getDayRange(this, -days, "after")),
351
- inFuture: () => defineFormConditional(getDayRange(this, days, "after"))
380
+ inFuture: () => defineFormConditional(getDayRange(this, days, "after")),
381
+ fromDate: (date) => {
382
+ if (isFieldReference(date)) {
383
+ const comparedField = date;
384
+ return defineFormConditional(
385
+ getDayRangeToFieldReference(this, comparedField, days, "after")
386
+ );
387
+ }
388
+ return defineFormConditional(getDayRange(this, days, "after", date));
389
+ },
390
+ fromNow: () => {
391
+ return defineFormConditional(getDayRange(this, days, "after"));
392
+ }
352
393
  }),
353
394
  date: (date) => {
354
395
  if (isFieldReference(date)) {
@@ -370,7 +411,26 @@ function createFieldConditionals(fieldId) {
370
411
  return {
371
412
  days: (days) => ({
372
413
  inPast: () => defineFormConditional(getDayRange(this, -days, "before")),
373
- inFuture: () => defineFormConditional(getDayRange(this, days, "before"))
414
+ inFuture: () => defineFormConditional(getDayRange(this, days, "before")),
415
+ fromDate: (date) => {
416
+ if (isFieldReference(date)) {
417
+ const comparedField = date;
418
+ return defineFormConditional(
419
+ getDayRangeToFieldReference(
420
+ this,
421
+ comparedField,
422
+ -days,
423
+ "before"
424
+ )
425
+ );
426
+ }
427
+ return defineFormConditional(
428
+ getDayRange(this, -days, "before", date)
429
+ );
430
+ },
431
+ fromNow: () => {
432
+ return defineFormConditional(getDayRange(this, -days, "before"));
433
+ }
374
434
  }),
375
435
  date: (date) => {
376
436
  if (isFieldReference(date)) {
@@ -3185,9 +3185,30 @@ var DataContext = import_zod25.z.object({
3185
3185
  $leafAdminStructureLocationIds: import_zod25.z.array(import_zod25.z.object({ id: UUID }))
3186
3186
  })
3187
3187
  });
3188
+ function resolveDataPath(rootData, dataPath, instancePath) {
3189
+ const pathParts = dataPath.split("/");
3190
+ const levels = parseInt(pathParts[0], 10);
3191
+ const referencePath = pathParts.slice(1);
3192
+ const instanceParts = instancePath.split("/").filter(Boolean);
3193
+ const traversedParts = instanceParts.slice(0, -levels);
3194
+ let current = rootData;
3195
+ for (const part of traversedParts) {
3196
+ if (current === null || current === void 0) {
3197
+ return void 0;
3198
+ }
3199
+ current = current[part];
3200
+ }
3201
+ for (const part of referencePath) {
3202
+ if (current === null || current === void 0) {
3203
+ return void 0;
3204
+ }
3205
+ current = current[part];
3206
+ }
3207
+ return current;
3208
+ }
3188
3209
  (0, import_ajv_formats.default)(ajv);
3189
3210
  ajv.addKeyword({
3190
- keyword: "daysFromNow",
3211
+ keyword: "daysFromDate",
3191
3212
  type: "string",
3192
3213
  schemaType: "object",
3193
3214
  $data: true,
@@ -3204,8 +3225,22 @@ ajv.addKeyword({
3204
3225
  if (isNaN(date.getTime())) {
3205
3226
  return false;
3206
3227
  }
3207
- const now = new Date(dataContext.rootData.$now);
3208
- const offsetDate = new Date(now.getTime() + days * 24 * 60 * 60 * 1e3);
3228
+ let referenceDate = schema.referenceDate;
3229
+ if (referenceDate && typeof referenceDate === "object" && "$data" in referenceDate) {
3230
+ referenceDate = resolveDataPath(
3231
+ dataContext.rootData,
3232
+ referenceDate.$data,
3233
+ dataContext.instancePath
3234
+ );
3235
+ }
3236
+ if (!referenceDate) {
3237
+ referenceDate = dataContext.rootData.$now;
3238
+ }
3239
+ const baseDate = new Date(referenceDate);
3240
+ if (isNaN(baseDate.getTime())) {
3241
+ return false;
3242
+ }
3243
+ const offsetDate = new Date(baseDate.getTime() + days * 24 * 60 * 60 * 1e3);
3209
3244
  return clause === "after" ? (0, import_date_fns.isAfter)(date, offsetDate) : (0, import_date_fns.isBefore)(date, offsetDate);
3210
3245
  }
3211
3246
  });
@@ -3268,7 +3303,8 @@ function isConditionMet(conditional, values, context) {
3268
3303
  $now: (0, import_date_fns.formatISO)(/* @__PURE__ */ new Date(), { representation: "date" }),
3269
3304
  $online: isOnline(),
3270
3305
  $user: context.user,
3271
- $leafAdminStructureLocationIds: context.leafAdminStructureLocationIds ?? []
3306
+ $leafAdminStructureLocationIds: context.leafAdminStructureLocationIds ?? [],
3307
+ $event: context.event
3272
3308
  });
3273
3309
  }
3274
3310
  function getConditionalActionsForField(field3, values) {
@@ -3294,7 +3330,8 @@ function isFieldConditionMet(field3, form, conditionalType, context) {
3294
3330
  $now: (0, import_date_fns.formatISO)(/* @__PURE__ */ new Date(), { representation: "date" }),
3295
3331
  $online: isOnline(),
3296
3332
  $user: context.user,
3297
- $leafAdminStructureLocationIds: context.leafAdminStructureLocationIds ?? []
3333
+ $leafAdminStructureLocationIds: context.leafAdminStructureLocationIds ?? [],
3334
+ $event: context.event
3298
3335
  });
3299
3336
  return validConditionals.includes(conditionalType);
3300
3337
  }
@@ -4116,6 +4153,34 @@ function getDateRangeToFieldReference(field3, comparedField, clause) {
4116
4153
  required: [field3.$$field]
4117
4154
  };
4118
4155
  }
4156
+ function getDayRangeToFieldReference(field3, comparedField, days, clause) {
4157
+ return {
4158
+ type: "object",
4159
+ properties: {
4160
+ [field3.$$field]: wrapToPath(
4161
+ {
4162
+ type: "string",
4163
+ format: "date",
4164
+ daysFromDate: {
4165
+ referenceDate: {
4166
+ $data: `${field3.$$subfield.length + 1}/${jsonFieldPath(
4167
+ comparedField
4168
+ )}`
4169
+ },
4170
+ clause,
4171
+ days
4172
+ }
4173
+ },
4174
+ field3.$$subfield
4175
+ ),
4176
+ [comparedField.$$field]: wrapToPath(
4177
+ { type: "string", format: "date" },
4178
+ comparedField.$$subfield
4179
+ )
4180
+ },
4181
+ required: [field3.$$field]
4182
+ };
4183
+ }
4119
4184
  function defineComparison(field3, value, keyword) {
4120
4185
  if (isFieldReference(value)) {
4121
4186
  const comparedField = value;
@@ -4151,16 +4216,17 @@ function defineComparison(field3, value, keyword) {
4151
4216
  });
4152
4217
  }
4153
4218
  function createFieldConditionals(fieldId) {
4154
- const getDayRange = (field3, days, clause) => ({
4219
+ const getDayRange = (field3, days, clause, referenceDate) => ({
4155
4220
  type: "object",
4156
4221
  properties: {
4157
4222
  [field3.$$field]: wrapToPath(
4158
4223
  {
4159
4224
  type: "string",
4160
4225
  format: "date",
4161
- daysFromNow: {
4226
+ daysFromDate: {
4162
4227
  days,
4163
- clause
4228
+ clause,
4229
+ referenceDate
4164
4230
  }
4165
4231
  },
4166
4232
  field3.$$subfield
@@ -4213,7 +4279,19 @@ function createFieldConditionals(fieldId) {
4213
4279
  return {
4214
4280
  days: (days) => ({
4215
4281
  inPast: () => defineFormConditional(getDayRange(this, -days, "after")),
4216
- inFuture: () => defineFormConditional(getDayRange(this, days, "after"))
4282
+ inFuture: () => defineFormConditional(getDayRange(this, days, "after")),
4283
+ fromDate: (date) => {
4284
+ if (isFieldReference(date)) {
4285
+ const comparedField = date;
4286
+ return defineFormConditional(
4287
+ getDayRangeToFieldReference(this, comparedField, days, "after")
4288
+ );
4289
+ }
4290
+ return defineFormConditional(getDayRange(this, days, "after", date));
4291
+ },
4292
+ fromNow: () => {
4293
+ return defineFormConditional(getDayRange(this, days, "after"));
4294
+ }
4217
4295
  }),
4218
4296
  date: (date) => {
4219
4297
  if (isFieldReference(date)) {
@@ -4235,7 +4313,26 @@ function createFieldConditionals(fieldId) {
4235
4313
  return {
4236
4314
  days: (days) => ({
4237
4315
  inPast: () => defineFormConditional(getDayRange(this, -days, "before")),
4238
- inFuture: () => defineFormConditional(getDayRange(this, days, "before"))
4316
+ inFuture: () => defineFormConditional(getDayRange(this, days, "before")),
4317
+ fromDate: (date) => {
4318
+ if (isFieldReference(date)) {
4319
+ const comparedField = date;
4320
+ return defineFormConditional(
4321
+ getDayRangeToFieldReference(
4322
+ this,
4323
+ comparedField,
4324
+ -days,
4325
+ "before"
4326
+ )
4327
+ );
4328
+ }
4329
+ return defineFormConditional(
4330
+ getDayRange(this, -days, "before", date)
4331
+ );
4332
+ },
4333
+ fromNow: () => {
4334
+ return defineFormConditional(getDayRange(this, -days, "before"));
4335
+ }
4239
4336
  }),
4240
4337
  date: (date) => {
4241
4338
  if (isFieldReference(date)) {
@@ -5558,6 +5655,7 @@ var PRINT_CERTIFICATE_FORM = defineActionForm({
5558
5655
  {
5559
5656
  id: "collector",
5560
5657
  type: PageTypes.enum.FORM,
5658
+ requireCompletionToContinue: true,
5561
5659
  title: {
5562
5660
  id: "event.tennis-club-membership.action.certificate.form.section.who.title",
5563
5661
  defaultMessage: "Print certified copy",
@@ -6165,6 +6263,7 @@ var PRINT_CERTIFICATE_FORM = defineActionForm({
6165
6263
  {
6166
6264
  id: "collector.identity.verify",
6167
6265
  type: PageTypes.enum.VERIFICATION,
6266
+ requireCompletionToContinue: true,
6168
6267
  conditional: field("collector.requesterId").isEqualTo("INFORMANT"),
6169
6268
  title: {
6170
6269
  id: "event.tennis-club-membership.action.print.verifyIdentity",
@@ -2424,9 +2424,30 @@ var DataContext = import_zod25.z.object({
2424
2424
  $leafAdminStructureLocationIds: import_zod25.z.array(import_zod25.z.object({ id: UUID }))
2425
2425
  })
2426
2426
  });
2427
+ function resolveDataPath(rootData, dataPath, instancePath) {
2428
+ const pathParts = dataPath.split("/");
2429
+ const levels = parseInt(pathParts[0], 10);
2430
+ const referencePath = pathParts.slice(1);
2431
+ const instanceParts = instancePath.split("/").filter(Boolean);
2432
+ const traversedParts = instanceParts.slice(0, -levels);
2433
+ let current = rootData;
2434
+ for (const part of traversedParts) {
2435
+ if (current === null || current === void 0) {
2436
+ return void 0;
2437
+ }
2438
+ current = current[part];
2439
+ }
2440
+ for (const part of referencePath) {
2441
+ if (current === null || current === void 0) {
2442
+ return void 0;
2443
+ }
2444
+ current = current[part];
2445
+ }
2446
+ return current;
2447
+ }
2427
2448
  (0, import_ajv_formats.default)(ajv);
2428
2449
  ajv.addKeyword({
2429
- keyword: "daysFromNow",
2450
+ keyword: "daysFromDate",
2430
2451
  type: "string",
2431
2452
  schemaType: "object",
2432
2453
  $data: true,
@@ -2443,8 +2464,22 @@ ajv.addKeyword({
2443
2464
  if (isNaN(date.getTime())) {
2444
2465
  return false;
2445
2466
  }
2446
- const now = new Date(dataContext.rootData.$now);
2447
- const offsetDate = new Date(now.getTime() + days * 24 * 60 * 60 * 1e3);
2467
+ let referenceDate = schema.referenceDate;
2468
+ if (referenceDate && typeof referenceDate === "object" && "$data" in referenceDate) {
2469
+ referenceDate = resolveDataPath(
2470
+ dataContext.rootData,
2471
+ referenceDate.$data,
2472
+ dataContext.instancePath
2473
+ );
2474
+ }
2475
+ if (!referenceDate) {
2476
+ referenceDate = dataContext.rootData.$now;
2477
+ }
2478
+ const baseDate = new Date(referenceDate);
2479
+ if (isNaN(baseDate.getTime())) {
2480
+ return false;
2481
+ }
2482
+ const offsetDate = new Date(baseDate.getTime() + days * 24 * 60 * 60 * 1e3);
2448
2483
  return clause === "after" ? (0, import_date_fns.isAfter)(date, offsetDate) : (0, import_date_fns.isBefore)(date, offsetDate);
2449
2484
  }
2450
2485
  });
@@ -2759,6 +2794,34 @@ function getDateRangeToFieldReference(field3, comparedField, clause) {
2759
2794
  required: [field3.$$field]
2760
2795
  };
2761
2796
  }
2797
+ function getDayRangeToFieldReference(field3, comparedField, days, clause) {
2798
+ return {
2799
+ type: "object",
2800
+ properties: {
2801
+ [field3.$$field]: wrapToPath(
2802
+ {
2803
+ type: "string",
2804
+ format: "date",
2805
+ daysFromDate: {
2806
+ referenceDate: {
2807
+ $data: `${field3.$$subfield.length + 1}/${jsonFieldPath(
2808
+ comparedField
2809
+ )}`
2810
+ },
2811
+ clause,
2812
+ days
2813
+ }
2814
+ },
2815
+ field3.$$subfield
2816
+ ),
2817
+ [comparedField.$$field]: wrapToPath(
2818
+ { type: "string", format: "date" },
2819
+ comparedField.$$subfield
2820
+ )
2821
+ },
2822
+ required: [field3.$$field]
2823
+ };
2824
+ }
2762
2825
  function defineComparison(field3, value, keyword) {
2763
2826
  if (isFieldReference(value)) {
2764
2827
  const comparedField = value;
@@ -2794,16 +2857,17 @@ function defineComparison(field3, value, keyword) {
2794
2857
  });
2795
2858
  }
2796
2859
  function createFieldConditionals(fieldId) {
2797
- const getDayRange = (field3, days, clause) => ({
2860
+ const getDayRange = (field3, days, clause, referenceDate) => ({
2798
2861
  type: "object",
2799
2862
  properties: {
2800
2863
  [field3.$$field]: wrapToPath(
2801
2864
  {
2802
2865
  type: "string",
2803
2866
  format: "date",
2804
- daysFromNow: {
2867
+ daysFromDate: {
2805
2868
  days,
2806
- clause
2869
+ clause,
2870
+ referenceDate
2807
2871
  }
2808
2872
  },
2809
2873
  field3.$$subfield
@@ -2856,7 +2920,19 @@ function createFieldConditionals(fieldId) {
2856
2920
  return {
2857
2921
  days: (days) => ({
2858
2922
  inPast: () => defineFormConditional(getDayRange(this, -days, "after")),
2859
- inFuture: () => defineFormConditional(getDayRange(this, days, "after"))
2923
+ inFuture: () => defineFormConditional(getDayRange(this, days, "after")),
2924
+ fromDate: (date) => {
2925
+ if (isFieldReference(date)) {
2926
+ const comparedField = date;
2927
+ return defineFormConditional(
2928
+ getDayRangeToFieldReference(this, comparedField, days, "after")
2929
+ );
2930
+ }
2931
+ return defineFormConditional(getDayRange(this, days, "after", date));
2932
+ },
2933
+ fromNow: () => {
2934
+ return defineFormConditional(getDayRange(this, days, "after"));
2935
+ }
2860
2936
  }),
2861
2937
  date: (date) => {
2862
2938
  if (isFieldReference(date)) {
@@ -2878,7 +2954,26 @@ function createFieldConditionals(fieldId) {
2878
2954
  return {
2879
2955
  days: (days) => ({
2880
2956
  inPast: () => defineFormConditional(getDayRange(this, -days, "before")),
2881
- inFuture: () => defineFormConditional(getDayRange(this, days, "before"))
2957
+ inFuture: () => defineFormConditional(getDayRange(this, days, "before")),
2958
+ fromDate: (date) => {
2959
+ if (isFieldReference(date)) {
2960
+ const comparedField = date;
2961
+ return defineFormConditional(
2962
+ getDayRangeToFieldReference(
2963
+ this,
2964
+ comparedField,
2965
+ -days,
2966
+ "before"
2967
+ )
2968
+ );
2969
+ }
2970
+ return defineFormConditional(
2971
+ getDayRange(this, -days, "before", date)
2972
+ );
2973
+ },
2974
+ fromNow: () => {
2975
+ return defineFormConditional(getDayRange(this, -days, "before"));
2976
+ }
2882
2977
  }),
2883
2978
  date: (date) => {
2884
2979
  if (isFieldReference(date)) {
@@ -3824,6 +3919,7 @@ var PRINT_CERTIFICATE_FORM = defineActionForm({
3824
3919
  {
3825
3920
  id: "collector",
3826
3921
  type: PageTypes.enum.FORM,
3922
+ requireCompletionToContinue: true,
3827
3923
  title: {
3828
3924
  id: "event.tennis-club-membership.action.certificate.form.section.who.title",
3829
3925
  defaultMessage: "Print certified copy",
@@ -4431,6 +4527,7 @@ var PRINT_CERTIFICATE_FORM = defineActionForm({
4431
4527
  {
4432
4528
  id: "collector.identity.verify",
4433
4529
  type: PageTypes.enum.VERIFICATION,
4530
+ requireCompletionToContinue: true,
4434
4531
  conditional: field("collector.requesterId").isEqualTo("INFORMANT"),
4435
4532
  title: {
4436
4533
  id: "event.tennis-club-membership.action.print.verifyIdentity",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencrvs/toolkit",
3
- "version": "1.9.3-rc.a8c6af9",
3
+ "version": "1.9.3-rc.ae6ac46",
4
4
  "description": "OpenCRVS toolkit for building country configurations",
5
5
  "license": "MPL-2.0",
6
6
  "exports": {