@uniformdev/next-app-router 20.81.1-alpha.4.sha-de16ebeee7 → 20.81.1

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.
@@ -0,0 +1,786 @@
1
+ import { RouteGetParameters, RouteGetResponse, RouteClient, RouteGetResponseEdgehancedComposition } from '@uniformdev/canvas';
2
+ import { ManifestV2 } from '@uniformdev/context';
3
+ import { PageState } from '@uniformdev/next-app-router-shared';
4
+
5
+ type GetRouteFromMiddlewareOptions = {
6
+ source: 'middleware';
7
+ route: Omit<RouteGetParameters, 'projectId'>;
8
+ searchParams: URLSearchParams;
9
+ draftModeEnabled: boolean;
10
+ };
11
+ type GetRouteFromPageStateOptions = {
12
+ source: 'pageState';
13
+ pageState: PageState;
14
+ };
15
+ type GetRouteOptions = GetRouteFromMiddlewareOptions | GetRouteFromPageStateOptions;
16
+ type GetRouteFromApiOptions = {
17
+ source: GetRouteOptions['source'];
18
+ route: Omit<RouteGetParameters, 'projectId'>;
19
+ routeClient: RouteClient;
20
+ enableRuntimeCache: boolean;
21
+ disableSwrCache: boolean;
22
+ };
23
+ type GetRouteResult = {
24
+ route: RouteGetResponse | null;
25
+ };
26
+ interface DataClient {
27
+ getManifest: (options: GetManifestOptions) => Promise<ManifestV2 | null>;
28
+ getRoute(options: GetRouteOptions): Promise<GetRouteResult>;
29
+ }
30
+ type RewriteRouteMiddlewareOptions = {
31
+ source: 'middleware';
32
+ routeClient: RouteClient;
33
+ route: Omit<RouteGetParameters, 'projectId'>;
34
+ searchParams: URLSearchParams;
35
+ draftModeEnabled: boolean;
36
+ };
37
+ type RewriteRoutePageStateOptions = {
38
+ source: 'pageState';
39
+ routeClient: RouteClient;
40
+ route: Omit<RouteGetParameters, 'projectId'>;
41
+ };
42
+ type RewriteRouteOptions = RewriteRouteMiddlewareOptions | RewriteRoutePageStateOptions;
43
+ type RewriteRouteResult = {
44
+ route: RewriteRouteOptions['route'] | null;
45
+ };
46
+ type EnhanceRouteOptions = {
47
+ source: GetRouteOptions['source'];
48
+ parameters: Omit<RouteGetParameters, 'projectId'>;
49
+ route: RouteGetResponseEdgehancedComposition;
50
+ routeClient: RouteClient;
51
+ keys: Record<string, string> | undefined;
52
+ };
53
+ type GetManifestOptions = {
54
+ source: GetRouteOptions['source'];
55
+ };
56
+ declare class DefaultDataClient implements DataClient {
57
+ getManifest(options: GetManifestOptions): Promise<ManifestV2 | null>;
58
+ protected getRouteFromApi({ route, routeClient, enableRuntimeCache, disableSwrCache, }: GetRouteFromApiOptions): Promise<{
59
+ matchedRoute: string;
60
+ dynamicInputs?: {
61
+ [key: string]: string;
62
+ };
63
+ dataResourcesVariant?: "unpublished";
64
+ type: "composition";
65
+ compositionApiResponse: {
66
+ state: number;
67
+ uiStatus?: "Draft" | "Modified" | "Published" | "Orphan" | "Previous" | "Unknown";
68
+ projectId: string;
69
+ created: string;
70
+ modified: string;
71
+ deletedAt?: string;
72
+ creator?: string;
73
+ author?: string;
74
+ categoryId?: string;
75
+ description?: string;
76
+ previewImageUrl?: string;
77
+ pattern: boolean;
78
+ patternType?: "component" | "composition";
79
+ releaseId?: string;
80
+ composition: {
81
+ type: string;
82
+ parameters?: {
83
+ [key: string]: {
84
+ value?: unknown;
85
+ type: string;
86
+ connectedData?: {
87
+ pointer: string;
88
+ syntax: "jptr";
89
+ failureAction?: "t" | "p" | "c" | "a";
90
+ failureLogLevel?: "e" | "w" | "i";
91
+ failureDefault?: string;
92
+ };
93
+ locales?: {
94
+ [key: string]: unknown;
95
+ };
96
+ conditions?: {
97
+ when: {
98
+ op?: "&" | "|";
99
+ clauses: ({
100
+ rule: string;
101
+ source?: string;
102
+ op: string;
103
+ value: string | string[];
104
+ } | /*elided*/ any)[];
105
+ };
106
+ value: unknown;
107
+ id: number;
108
+ }[];
109
+ localesConditions?: {
110
+ [key: string]: {
111
+ when: {
112
+ op?: "&" | "|";
113
+ clauses: ({
114
+ rule: string;
115
+ source?: string;
116
+ op: string;
117
+ value: string | string[];
118
+ } | /*elided*/ any)[];
119
+ };
120
+ value: unknown;
121
+ id: number;
122
+ }[];
123
+ };
124
+ };
125
+ };
126
+ variant?: string;
127
+ projectMapNodes?: {
128
+ id: string;
129
+ path: string;
130
+ projectMapId: string;
131
+ data?: {
132
+ isSearchHit?: boolean;
133
+ queryStrings?: {
134
+ name: string;
135
+ value?: string;
136
+ helpText?: string;
137
+ editorVisibility?: "opt-in";
138
+ optionsSource?: {
139
+ source: "static";
140
+ options: {
141
+ name: string;
142
+ value: string;
143
+ }[];
144
+ };
145
+ }[];
146
+ previewValue?: string;
147
+ };
148
+ locales?: {
149
+ [key: string]: {
150
+ path: string;
151
+ inherited: boolean;
152
+ };
153
+ };
154
+ }[];
155
+ slots?: {
156
+ [key: string]: {
157
+ type: string;
158
+ parameters?: {
159
+ [key: string]: {
160
+ value?: unknown;
161
+ type: string;
162
+ connectedData?: {
163
+ pointer: string;
164
+ syntax: "jptr";
165
+ failureAction?: "t" | "p" | "c" | "a";
166
+ failureLogLevel?: "e" | "w" | "i";
167
+ failureDefault?: string;
168
+ };
169
+ locales?: {
170
+ [key: string]: unknown;
171
+ };
172
+ conditions?: {
173
+ when: {
174
+ op?: "&" | "|";
175
+ clauses: ({
176
+ rule: string;
177
+ source?: string;
178
+ op: string;
179
+ value: string | string[];
180
+ } | /*elided*/ any)[];
181
+ };
182
+ value: unknown;
183
+ id: number;
184
+ }[];
185
+ localesConditions?: {
186
+ [key: string]: {
187
+ when: {
188
+ op?: "&" | "|";
189
+ clauses: ({
190
+ rule: string;
191
+ source?: string;
192
+ op: string;
193
+ value: string | string[];
194
+ } | /*elided*/ any)[];
195
+ };
196
+ value: unknown;
197
+ id: number;
198
+ }[];
199
+ };
200
+ };
201
+ };
202
+ variant?: string;
203
+ slots?: {
204
+ [key: string]: /*elided*/ any[];
205
+ };
206
+ _id?: string;
207
+ _pattern?: string;
208
+ _dataResources?: {
209
+ [key: string]: {
210
+ type: string;
211
+ isPatternParameter?: boolean;
212
+ ignorePatternParameterDefault?: boolean;
213
+ optionalPatternParameter?: boolean;
214
+ variables?: {
215
+ [key: string]: string;
216
+ };
217
+ };
218
+ };
219
+ _patternDataResources?: {
220
+ [key: string]: {
221
+ type: string;
222
+ isPatternParameter?: boolean;
223
+ ignorePatternParameterDefault?: boolean;
224
+ optionalPatternParameter?: boolean;
225
+ variables?: {
226
+ [key: string]: string;
227
+ };
228
+ };
229
+ };
230
+ _patternOptedInQueryStrings?: string[];
231
+ _patternError?: "NOTFOUND" | "CYCLIC";
232
+ _overrides?: {
233
+ [key: string]: {
234
+ parameters?: {
235
+ [key: string]: {
236
+ value?: unknown;
237
+ type: string;
238
+ connectedData?: {
239
+ pointer: string;
240
+ syntax: "jptr";
241
+ failureAction?: "t" | "p" | "c" | "a";
242
+ failureLogLevel?: "e" | "w" | "i";
243
+ failureDefault?: string;
244
+ };
245
+ locales?: {
246
+ [key: string]: unknown;
247
+ };
248
+ conditions?: {
249
+ when: {
250
+ op?: "&" | "|";
251
+ clauses: ({
252
+ rule: string;
253
+ source?: string;
254
+ op: string;
255
+ value: string | string[];
256
+ } | /*elided*/ any)[];
257
+ };
258
+ value: unknown;
259
+ id: number;
260
+ }[];
261
+ localesConditions?: {
262
+ [key: string]: {
263
+ when: {
264
+ op?: "&" | "|";
265
+ clauses: ({
266
+ rule: string;
267
+ source?: string;
268
+ op: string;
269
+ value: string | string[];
270
+ } | /*elided*/ any)[];
271
+ };
272
+ value: unknown;
273
+ id: number;
274
+ }[];
275
+ };
276
+ };
277
+ };
278
+ slots?: {
279
+ [key: string]: /*elided*/ any[];
280
+ };
281
+ variant?: string;
282
+ dataResources?: {
283
+ [key: string]: {
284
+ type: string;
285
+ isPatternParameter?: boolean;
286
+ ignorePatternParameterDefault?: boolean;
287
+ optionalPatternParameter?: boolean;
288
+ variables?: {
289
+ [key: string]: string;
290
+ };
291
+ };
292
+ };
293
+ };
294
+ };
295
+ _patternOverrides?: {
296
+ [key: string]: {
297
+ parameters?: {
298
+ [key: string]: {
299
+ value?: unknown;
300
+ type: string;
301
+ connectedData?: {
302
+ pointer: string;
303
+ syntax: "jptr";
304
+ failureAction?: "t" | "p" | "c" | "a";
305
+ failureLogLevel?: "e" | "w" | "i";
306
+ failureDefault?: string;
307
+ };
308
+ locales?: {
309
+ [key: string]: unknown;
310
+ };
311
+ conditions?: {
312
+ when: {
313
+ op?: "&" | "|";
314
+ clauses: ({
315
+ rule: string;
316
+ source?: string;
317
+ op: string;
318
+ value: string | string[];
319
+ } | /*elided*/ any)[];
320
+ };
321
+ value: unknown;
322
+ id: number;
323
+ }[];
324
+ localesConditions?: {
325
+ [key: string]: {
326
+ when: {
327
+ op?: "&" | "|";
328
+ clauses: ({
329
+ rule: string;
330
+ source?: string;
331
+ op: string;
332
+ value: string | string[];
333
+ } | /*elided*/ any)[];
334
+ };
335
+ value: unknown;
336
+ id: number;
337
+ }[];
338
+ };
339
+ };
340
+ };
341
+ slots?: {
342
+ [key: string]: /*elided*/ any[];
343
+ };
344
+ variant?: string;
345
+ dataResources?: {
346
+ [key: string]: {
347
+ type: string;
348
+ isPatternParameter?: boolean;
349
+ ignorePatternParameterDefault?: boolean;
350
+ optionalPatternParameter?: boolean;
351
+ variables?: {
352
+ [key: string]: string;
353
+ };
354
+ };
355
+ };
356
+ };
357
+ };
358
+ _overridability?: {
359
+ parameters?: {
360
+ [key: string]: "yes" | "no";
361
+ };
362
+ variants?: boolean;
363
+ hideLockedParameters?: boolean;
364
+ };
365
+ _locales?: string[];
366
+ }[];
367
+ };
368
+ _id: string;
369
+ _slug?: string | null;
370
+ _name: string;
371
+ _author?: string;
372
+ _authorSubject?: string;
373
+ _creator?: string;
374
+ _creatorSubject?: string;
375
+ _pattern?: string;
376
+ _patternDataResources?: {
377
+ [key: string]: {
378
+ type: string;
379
+ isPatternParameter?: boolean;
380
+ ignorePatternParameterDefault?: boolean;
381
+ optionalPatternParameter?: boolean;
382
+ variables?: {
383
+ [key: string]: string;
384
+ };
385
+ };
386
+ };
387
+ _patternOptedInQueryStrings?: string[];
388
+ _dataResources?: {
389
+ [key: string]: {
390
+ type: string;
391
+ isPatternParameter?: boolean;
392
+ ignorePatternParameterDefault?: boolean;
393
+ optionalPatternParameter?: boolean;
394
+ variables?: {
395
+ [key: string]: string;
396
+ };
397
+ };
398
+ };
399
+ _patternError?: "NOTFOUND" | "CYCLIC";
400
+ _overrides?: {
401
+ [key: string]: {
402
+ parameters?: {
403
+ [key: string]: {
404
+ value?: unknown;
405
+ type: string;
406
+ connectedData?: {
407
+ pointer: string;
408
+ syntax: "jptr";
409
+ failureAction?: "t" | "p" | "c" | "a";
410
+ failureLogLevel?: "e" | "w" | "i";
411
+ failureDefault?: string;
412
+ };
413
+ locales?: {
414
+ [key: string]: unknown;
415
+ };
416
+ conditions?: {
417
+ when: {
418
+ op?: "&" | "|";
419
+ clauses: ({
420
+ rule: string;
421
+ source?: string;
422
+ op: string;
423
+ value: string | string[];
424
+ } | /*elided*/ any)[];
425
+ };
426
+ value: unknown;
427
+ id: number;
428
+ }[];
429
+ localesConditions?: {
430
+ [key: string]: {
431
+ when: {
432
+ op?: "&" | "|";
433
+ clauses: ({
434
+ rule: string;
435
+ source?: string;
436
+ op: string;
437
+ value: string | string[];
438
+ } | /*elided*/ any)[];
439
+ };
440
+ value: unknown;
441
+ id: number;
442
+ }[];
443
+ };
444
+ };
445
+ };
446
+ slots?: {
447
+ [key: string]: {
448
+ type: string;
449
+ parameters?: {
450
+ [key: string]: {
451
+ value?: unknown;
452
+ type: string;
453
+ connectedData?: {
454
+ pointer: string;
455
+ syntax: "jptr";
456
+ failureAction?: "t" | "p" | "c" | "a";
457
+ failureLogLevel?: "e" | "w" | "i";
458
+ failureDefault?: string;
459
+ };
460
+ locales?: {
461
+ [key: string]: unknown;
462
+ };
463
+ conditions?: {
464
+ when: {
465
+ op?: "&" | "|";
466
+ clauses: ({
467
+ rule: string;
468
+ source?: string;
469
+ op: string;
470
+ value: string | string[];
471
+ } | /*elided*/ any)[];
472
+ };
473
+ value: unknown;
474
+ id: number;
475
+ }[];
476
+ localesConditions?: {
477
+ [key: string]: {
478
+ when: {
479
+ op?: "&" | "|";
480
+ clauses: ({
481
+ rule: string;
482
+ source?: string;
483
+ op: string;
484
+ value: string | string[];
485
+ } | /*elided*/ any)[];
486
+ };
487
+ value: unknown;
488
+ id: number;
489
+ }[];
490
+ };
491
+ };
492
+ };
493
+ variant?: string;
494
+ slots?: {
495
+ [key: string]: /*elided*/ any[];
496
+ };
497
+ _id?: string;
498
+ _pattern?: string;
499
+ _dataResources?: {
500
+ [key: string]: {
501
+ type: string;
502
+ isPatternParameter?: boolean;
503
+ ignorePatternParameterDefault?: boolean;
504
+ optionalPatternParameter?: boolean;
505
+ variables?: {
506
+ [key: string]: string;
507
+ };
508
+ };
509
+ };
510
+ _patternDataResources?: {
511
+ [key: string]: {
512
+ type: string;
513
+ isPatternParameter?: boolean;
514
+ ignorePatternParameterDefault?: boolean;
515
+ optionalPatternParameter?: boolean;
516
+ variables?: {
517
+ [key: string]: string;
518
+ };
519
+ };
520
+ };
521
+ _patternOptedInQueryStrings?: string[];
522
+ _patternError?: "NOTFOUND" | "CYCLIC";
523
+ _overrides?: {
524
+ [key: string]: /*elided*/ any;
525
+ };
526
+ _patternOverrides?: {
527
+ [key: string]: /*elided*/ any;
528
+ };
529
+ _overridability?: {
530
+ parameters?: {
531
+ [key: string]: "yes" | "no";
532
+ };
533
+ variants?: boolean;
534
+ hideLockedParameters?: boolean;
535
+ };
536
+ _locales?: string[];
537
+ }[];
538
+ };
539
+ variant?: string;
540
+ dataResources?: {
541
+ [key: string]: {
542
+ type: string;
543
+ isPatternParameter?: boolean;
544
+ ignorePatternParameterDefault?: boolean;
545
+ optionalPatternParameter?: boolean;
546
+ variables?: {
547
+ [key: string]: string;
548
+ };
549
+ };
550
+ };
551
+ };
552
+ };
553
+ _patternOverrides?: {
554
+ [key: string]: {
555
+ parameters?: {
556
+ [key: string]: {
557
+ value?: unknown;
558
+ type: string;
559
+ connectedData?: {
560
+ pointer: string;
561
+ syntax: "jptr";
562
+ failureAction?: "t" | "p" | "c" | "a";
563
+ failureLogLevel?: "e" | "w" | "i";
564
+ failureDefault?: string;
565
+ };
566
+ locales?: {
567
+ [key: string]: unknown;
568
+ };
569
+ conditions?: {
570
+ when: {
571
+ op?: "&" | "|";
572
+ clauses: ({
573
+ rule: string;
574
+ source?: string;
575
+ op: string;
576
+ value: string | string[];
577
+ } | /*elided*/ any)[];
578
+ };
579
+ value: unknown;
580
+ id: number;
581
+ }[];
582
+ localesConditions?: {
583
+ [key: string]: {
584
+ when: {
585
+ op?: "&" | "|";
586
+ clauses: ({
587
+ rule: string;
588
+ source?: string;
589
+ op: string;
590
+ value: string | string[];
591
+ } | /*elided*/ any)[];
592
+ };
593
+ value: unknown;
594
+ id: number;
595
+ }[];
596
+ };
597
+ };
598
+ };
599
+ slots?: {
600
+ [key: string]: {
601
+ type: string;
602
+ parameters?: {
603
+ [key: string]: {
604
+ value?: unknown;
605
+ type: string;
606
+ connectedData?: {
607
+ pointer: string;
608
+ syntax: "jptr";
609
+ failureAction?: "t" | "p" | "c" | "a";
610
+ failureLogLevel?: "e" | "w" | "i";
611
+ failureDefault?: string;
612
+ };
613
+ locales?: {
614
+ [key: string]: unknown;
615
+ };
616
+ conditions?: {
617
+ when: {
618
+ op?: "&" | "|";
619
+ clauses: ({
620
+ rule: string;
621
+ source?: string;
622
+ op: string;
623
+ value: string | string[];
624
+ } | /*elided*/ any)[];
625
+ };
626
+ value: unknown;
627
+ id: number;
628
+ }[];
629
+ localesConditions?: {
630
+ [key: string]: {
631
+ when: {
632
+ op?: "&" | "|";
633
+ clauses: ({
634
+ rule: string;
635
+ source?: string;
636
+ op: string;
637
+ value: string | string[];
638
+ } | /*elided*/ any)[];
639
+ };
640
+ value: unknown;
641
+ id: number;
642
+ }[];
643
+ };
644
+ };
645
+ };
646
+ variant?: string;
647
+ slots?: {
648
+ [key: string]: /*elided*/ any[];
649
+ };
650
+ _id?: string;
651
+ _pattern?: string;
652
+ _dataResources?: {
653
+ [key: string]: {
654
+ type: string;
655
+ isPatternParameter?: boolean;
656
+ ignorePatternParameterDefault?: boolean;
657
+ optionalPatternParameter?: boolean;
658
+ variables?: {
659
+ [key: string]: string;
660
+ };
661
+ };
662
+ };
663
+ _patternDataResources?: {
664
+ [key: string]: {
665
+ type: string;
666
+ isPatternParameter?: boolean;
667
+ ignorePatternParameterDefault?: boolean;
668
+ optionalPatternParameter?: boolean;
669
+ variables?: {
670
+ [key: string]: string;
671
+ };
672
+ };
673
+ };
674
+ _patternOptedInQueryStrings?: string[];
675
+ _patternError?: "NOTFOUND" | "CYCLIC";
676
+ _overrides?: {
677
+ [key: string]: /*elided*/ any;
678
+ };
679
+ _patternOverrides?: {
680
+ [key: string]: /*elided*/ any;
681
+ };
682
+ _overridability?: {
683
+ parameters?: {
684
+ [key: string]: "yes" | "no";
685
+ };
686
+ variants?: boolean;
687
+ hideLockedParameters?: boolean;
688
+ };
689
+ _locales?: string[];
690
+ }[];
691
+ };
692
+ variant?: string;
693
+ dataResources?: {
694
+ [key: string]: {
695
+ type: string;
696
+ isPatternParameter?: boolean;
697
+ ignorePatternParameterDefault?: boolean;
698
+ optionalPatternParameter?: boolean;
699
+ variables?: {
700
+ [key: string]: string;
701
+ };
702
+ };
703
+ };
704
+ };
705
+ };
706
+ _overridability?: {
707
+ parameters?: {
708
+ [key: string]: "yes" | "no";
709
+ };
710
+ variants?: boolean;
711
+ hideLockedParameters?: boolean;
712
+ };
713
+ _locales?: string[];
714
+ _optedInQueryStrings?: string[];
715
+ };
716
+ workflowId?: string;
717
+ workflowStageId?: string;
718
+ workflowDefinition?: {
719
+ id: string;
720
+ name: string;
721
+ initialStage: string;
722
+ stages: {
723
+ [key: string]: {
724
+ name: string;
725
+ permissions: {
726
+ [key: string]: {
727
+ write?: boolean;
728
+ publish?: boolean;
729
+ };
730
+ };
731
+ autoPublish?: boolean;
732
+ requireValidity?: boolean;
733
+ transitions: {
734
+ to: string;
735
+ name: string;
736
+ permissions: {
737
+ [key: string]: {
738
+ execute?: boolean;
739
+ };
740
+ };
741
+ }[];
742
+ icon?: string;
743
+ order?: number;
744
+ };
745
+ };
746
+ modified?: string;
747
+ created?: string;
748
+ createdBy?: string;
749
+ modifiedBy?: string;
750
+ };
751
+ editionId?: string;
752
+ editionName?: string;
753
+ editionPriority?: number;
754
+ };
755
+ } | {
756
+ matchedRoute: string;
757
+ dynamicInputs?: {
758
+ [key: string]: string;
759
+ };
760
+ type: "redirect";
761
+ redirect: {
762
+ id?: string;
763
+ sourceUrl: string;
764
+ targetUrl: string;
765
+ targetStatusCode: number;
766
+ sourceProjectMapNodeId?: string;
767
+ targetProjectMapNodeId?: string;
768
+ projectMapId?: string;
769
+ sourceRetainQuerystring?: boolean;
770
+ sourceMustMatchDomain?: boolean;
771
+ targetPreserveIncomingProtocol?: boolean;
772
+ targetPreserveIncomingDomain?: boolean;
773
+ targetMergeQuerystring?: boolean;
774
+ labelAsSystem?: boolean;
775
+ };
776
+ } | {
777
+ type: "notFound";
778
+ }>;
779
+ getRoute(options: GetRouteOptions): Promise<GetRouteResult>;
780
+ protected enhanceRoute(_options: EnhanceRouteOptions): Promise<void>;
781
+ protected getRouteMiddleware(options: GetRouteFromMiddlewareOptions): Promise<GetRouteResult>;
782
+ protected getRoutePageState(options: GetRouteFromPageStateOptions): Promise<GetRouteResult>;
783
+ }
784
+ declare const expireMiddlewareCacheTag: (tag: string | string[]) => Promise<void>;
785
+
786
+ export { type DataClient as D, type EnhanceRouteOptions as E, type GetRouteFromMiddlewareOptions as G, type RewriteRouteOptions as R, DefaultDataClient as a, type GetRouteFromPageStateOptions as b, type GetRouteOptions as c, type RewriteRouteResult as d, expireMiddlewareCacheTag as e };