@remnawave/backend-contract 2.3.47 → 2.3.49

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.
@@ -18,6 +18,768 @@ export declare const LocalizedTextSchema: z.ZodObject<{
18
18
  fa?: string | undefined;
19
19
  fr?: string | undefined;
20
20
  }>;
21
+ declare const ButtonSchema: z.ZodObject<{
22
+ link: z.ZodString;
23
+ type: z.ZodEnum<["external", "subscriptionLink"]>;
24
+ text: z.ZodObject<{
25
+ en: z.ZodString;
26
+ ru: z.ZodOptional<z.ZodString>;
27
+ zh: z.ZodOptional<z.ZodString>;
28
+ fa: z.ZodOptional<z.ZodString>;
29
+ fr: z.ZodOptional<z.ZodString>;
30
+ }, "strip", z.ZodTypeAny, {
31
+ en: string;
32
+ ru?: string | undefined;
33
+ zh?: string | undefined;
34
+ fa?: string | undefined;
35
+ fr?: string | undefined;
36
+ }, {
37
+ en: string;
38
+ ru?: string | undefined;
39
+ zh?: string | undefined;
40
+ fa?: string | undefined;
41
+ fr?: string | undefined;
42
+ }>;
43
+ svgIcon: z.ZodString;
44
+ }, "strip", z.ZodTypeAny, {
45
+ type: "external" | "subscriptionLink";
46
+ link: string;
47
+ text: {
48
+ en: string;
49
+ ru?: string | undefined;
50
+ zh?: string | undefined;
51
+ fa?: string | undefined;
52
+ fr?: string | undefined;
53
+ };
54
+ svgIcon: string;
55
+ }, {
56
+ type: "external" | "subscriptionLink";
57
+ link: string;
58
+ text: {
59
+ en: string;
60
+ ru?: string | undefined;
61
+ zh?: string | undefined;
62
+ fa?: string | undefined;
63
+ fr?: string | undefined;
64
+ };
65
+ svgIcon: string;
66
+ }>;
67
+ declare const BlockSchema: z.ZodObject<{
68
+ svgIcon: z.ZodString;
69
+ svgIconColor: z.ZodEffects<z.ZodString, string, string>;
70
+ title: z.ZodObject<{
71
+ en: z.ZodString;
72
+ ru: z.ZodOptional<z.ZodString>;
73
+ zh: z.ZodOptional<z.ZodString>;
74
+ fa: z.ZodOptional<z.ZodString>;
75
+ fr: z.ZodOptional<z.ZodString>;
76
+ }, "strip", z.ZodTypeAny, {
77
+ en: string;
78
+ ru?: string | undefined;
79
+ zh?: string | undefined;
80
+ fa?: string | undefined;
81
+ fr?: string | undefined;
82
+ }, {
83
+ en: string;
84
+ ru?: string | undefined;
85
+ zh?: string | undefined;
86
+ fa?: string | undefined;
87
+ fr?: string | undefined;
88
+ }>;
89
+ description: z.ZodObject<{
90
+ en: z.ZodString;
91
+ ru: z.ZodOptional<z.ZodString>;
92
+ zh: z.ZodOptional<z.ZodString>;
93
+ fa: z.ZodOptional<z.ZodString>;
94
+ fr: z.ZodOptional<z.ZodString>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ en: string;
97
+ ru?: string | undefined;
98
+ zh?: string | undefined;
99
+ fa?: string | undefined;
100
+ fr?: string | undefined;
101
+ }, {
102
+ en: string;
103
+ ru?: string | undefined;
104
+ zh?: string | undefined;
105
+ fa?: string | undefined;
106
+ fr?: string | undefined;
107
+ }>;
108
+ buttons: z.ZodArray<z.ZodObject<{
109
+ link: z.ZodString;
110
+ type: z.ZodEnum<["external", "subscriptionLink"]>;
111
+ text: z.ZodObject<{
112
+ en: z.ZodString;
113
+ ru: z.ZodOptional<z.ZodString>;
114
+ zh: z.ZodOptional<z.ZodString>;
115
+ fa: z.ZodOptional<z.ZodString>;
116
+ fr: z.ZodOptional<z.ZodString>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ en: string;
119
+ ru?: string | undefined;
120
+ zh?: string | undefined;
121
+ fa?: string | undefined;
122
+ fr?: string | undefined;
123
+ }, {
124
+ en: string;
125
+ ru?: string | undefined;
126
+ zh?: string | undefined;
127
+ fa?: string | undefined;
128
+ fr?: string | undefined;
129
+ }>;
130
+ svgIcon: z.ZodString;
131
+ }, "strip", z.ZodTypeAny, {
132
+ type: "external" | "subscriptionLink";
133
+ link: string;
134
+ text: {
135
+ en: string;
136
+ ru?: string | undefined;
137
+ zh?: string | undefined;
138
+ fa?: string | undefined;
139
+ fr?: string | undefined;
140
+ };
141
+ svgIcon: string;
142
+ }, {
143
+ type: "external" | "subscriptionLink";
144
+ link: string;
145
+ text: {
146
+ en: string;
147
+ ru?: string | undefined;
148
+ zh?: string | undefined;
149
+ fa?: string | undefined;
150
+ fr?: string | undefined;
151
+ };
152
+ svgIcon: string;
153
+ }>, "many">;
154
+ }, "strip", z.ZodTypeAny, {
155
+ title: {
156
+ en: string;
157
+ ru?: string | undefined;
158
+ zh?: string | undefined;
159
+ fa?: string | undefined;
160
+ fr?: string | undefined;
161
+ };
162
+ description: {
163
+ en: string;
164
+ ru?: string | undefined;
165
+ zh?: string | undefined;
166
+ fa?: string | undefined;
167
+ fr?: string | undefined;
168
+ };
169
+ svgIcon: string;
170
+ svgIconColor: string;
171
+ buttons: {
172
+ type: "external" | "subscriptionLink";
173
+ link: string;
174
+ text: {
175
+ en: string;
176
+ ru?: string | undefined;
177
+ zh?: string | undefined;
178
+ fa?: string | undefined;
179
+ fr?: string | undefined;
180
+ };
181
+ svgIcon: string;
182
+ }[];
183
+ }, {
184
+ title: {
185
+ en: string;
186
+ ru?: string | undefined;
187
+ zh?: string | undefined;
188
+ fa?: string | undefined;
189
+ fr?: string | undefined;
190
+ };
191
+ description: {
192
+ en: string;
193
+ ru?: string | undefined;
194
+ zh?: string | undefined;
195
+ fa?: string | undefined;
196
+ fr?: string | undefined;
197
+ };
198
+ svgIcon: string;
199
+ svgIconColor: string;
200
+ buttons: {
201
+ type: "external" | "subscriptionLink";
202
+ link: string;
203
+ text: {
204
+ en: string;
205
+ ru?: string | undefined;
206
+ zh?: string | undefined;
207
+ fa?: string | undefined;
208
+ fr?: string | undefined;
209
+ };
210
+ svgIcon: string;
211
+ }[];
212
+ }>;
213
+ declare const PlatformAppSchema: z.ZodObject<{
214
+ name: z.ZodString;
215
+ featured: z.ZodBoolean;
216
+ blocks: z.ZodArray<z.ZodObject<{
217
+ svgIcon: z.ZodString;
218
+ svgIconColor: z.ZodEffects<z.ZodString, string, string>;
219
+ title: z.ZodObject<{
220
+ en: z.ZodString;
221
+ ru: z.ZodOptional<z.ZodString>;
222
+ zh: z.ZodOptional<z.ZodString>;
223
+ fa: z.ZodOptional<z.ZodString>;
224
+ fr: z.ZodOptional<z.ZodString>;
225
+ }, "strip", z.ZodTypeAny, {
226
+ en: string;
227
+ ru?: string | undefined;
228
+ zh?: string | undefined;
229
+ fa?: string | undefined;
230
+ fr?: string | undefined;
231
+ }, {
232
+ en: string;
233
+ ru?: string | undefined;
234
+ zh?: string | undefined;
235
+ fa?: string | undefined;
236
+ fr?: string | undefined;
237
+ }>;
238
+ description: z.ZodObject<{
239
+ en: z.ZodString;
240
+ ru: z.ZodOptional<z.ZodString>;
241
+ zh: z.ZodOptional<z.ZodString>;
242
+ fa: z.ZodOptional<z.ZodString>;
243
+ fr: z.ZodOptional<z.ZodString>;
244
+ }, "strip", z.ZodTypeAny, {
245
+ en: string;
246
+ ru?: string | undefined;
247
+ zh?: string | undefined;
248
+ fa?: string | undefined;
249
+ fr?: string | undefined;
250
+ }, {
251
+ en: string;
252
+ ru?: string | undefined;
253
+ zh?: string | undefined;
254
+ fa?: string | undefined;
255
+ fr?: string | undefined;
256
+ }>;
257
+ buttons: z.ZodArray<z.ZodObject<{
258
+ link: z.ZodString;
259
+ type: z.ZodEnum<["external", "subscriptionLink"]>;
260
+ text: z.ZodObject<{
261
+ en: z.ZodString;
262
+ ru: z.ZodOptional<z.ZodString>;
263
+ zh: z.ZodOptional<z.ZodString>;
264
+ fa: z.ZodOptional<z.ZodString>;
265
+ fr: z.ZodOptional<z.ZodString>;
266
+ }, "strip", z.ZodTypeAny, {
267
+ en: string;
268
+ ru?: string | undefined;
269
+ zh?: string | undefined;
270
+ fa?: string | undefined;
271
+ fr?: string | undefined;
272
+ }, {
273
+ en: string;
274
+ ru?: string | undefined;
275
+ zh?: string | undefined;
276
+ fa?: string | undefined;
277
+ fr?: string | undefined;
278
+ }>;
279
+ svgIcon: z.ZodString;
280
+ }, "strip", z.ZodTypeAny, {
281
+ type: "external" | "subscriptionLink";
282
+ link: string;
283
+ text: {
284
+ en: string;
285
+ ru?: string | undefined;
286
+ zh?: string | undefined;
287
+ fa?: string | undefined;
288
+ fr?: string | undefined;
289
+ };
290
+ svgIcon: string;
291
+ }, {
292
+ type: "external" | "subscriptionLink";
293
+ link: string;
294
+ text: {
295
+ en: string;
296
+ ru?: string | undefined;
297
+ zh?: string | undefined;
298
+ fa?: string | undefined;
299
+ fr?: string | undefined;
300
+ };
301
+ svgIcon: string;
302
+ }>, "many">;
303
+ }, "strip", z.ZodTypeAny, {
304
+ title: {
305
+ en: string;
306
+ ru?: string | undefined;
307
+ zh?: string | undefined;
308
+ fa?: string | undefined;
309
+ fr?: string | undefined;
310
+ };
311
+ description: {
312
+ en: string;
313
+ ru?: string | undefined;
314
+ zh?: string | undefined;
315
+ fa?: string | undefined;
316
+ fr?: string | undefined;
317
+ };
318
+ svgIcon: string;
319
+ svgIconColor: string;
320
+ buttons: {
321
+ type: "external" | "subscriptionLink";
322
+ link: string;
323
+ text: {
324
+ en: string;
325
+ ru?: string | undefined;
326
+ zh?: string | undefined;
327
+ fa?: string | undefined;
328
+ fr?: string | undefined;
329
+ };
330
+ svgIcon: string;
331
+ }[];
332
+ }, {
333
+ title: {
334
+ en: string;
335
+ ru?: string | undefined;
336
+ zh?: string | undefined;
337
+ fa?: string | undefined;
338
+ fr?: string | undefined;
339
+ };
340
+ description: {
341
+ en: string;
342
+ ru?: string | undefined;
343
+ zh?: string | undefined;
344
+ fa?: string | undefined;
345
+ fr?: string | undefined;
346
+ };
347
+ svgIcon: string;
348
+ svgIconColor: string;
349
+ buttons: {
350
+ type: "external" | "subscriptionLink";
351
+ link: string;
352
+ text: {
353
+ en: string;
354
+ ru?: string | undefined;
355
+ zh?: string | undefined;
356
+ fa?: string | undefined;
357
+ fr?: string | undefined;
358
+ };
359
+ svgIcon: string;
360
+ }[];
361
+ }>, "many">;
362
+ }, "strip", z.ZodTypeAny, {
363
+ name: string;
364
+ featured: boolean;
365
+ blocks: {
366
+ title: {
367
+ en: string;
368
+ ru?: string | undefined;
369
+ zh?: string | undefined;
370
+ fa?: string | undefined;
371
+ fr?: string | undefined;
372
+ };
373
+ description: {
374
+ en: string;
375
+ ru?: string | undefined;
376
+ zh?: string | undefined;
377
+ fa?: string | undefined;
378
+ fr?: string | undefined;
379
+ };
380
+ svgIcon: string;
381
+ svgIconColor: string;
382
+ buttons: {
383
+ type: "external" | "subscriptionLink";
384
+ link: string;
385
+ text: {
386
+ en: string;
387
+ ru?: string | undefined;
388
+ zh?: string | undefined;
389
+ fa?: string | undefined;
390
+ fr?: string | undefined;
391
+ };
392
+ svgIcon: string;
393
+ }[];
394
+ }[];
395
+ }, {
396
+ name: string;
397
+ featured: boolean;
398
+ blocks: {
399
+ title: {
400
+ en: string;
401
+ ru?: string | undefined;
402
+ zh?: string | undefined;
403
+ fa?: string | undefined;
404
+ fr?: string | undefined;
405
+ };
406
+ description: {
407
+ en: string;
408
+ ru?: string | undefined;
409
+ zh?: string | undefined;
410
+ fa?: string | undefined;
411
+ fr?: string | undefined;
412
+ };
413
+ svgIcon: string;
414
+ svgIconColor: string;
415
+ buttons: {
416
+ type: "external" | "subscriptionLink";
417
+ link: string;
418
+ text: {
419
+ en: string;
420
+ ru?: string | undefined;
421
+ zh?: string | undefined;
422
+ fa?: string | undefined;
423
+ fr?: string | undefined;
424
+ };
425
+ svgIcon: string;
426
+ }[];
427
+ }[];
428
+ }>;
429
+ declare const PlatformSchema: z.ZodObject<{
430
+ displayName: z.ZodObject<{
431
+ en: z.ZodString;
432
+ ru: z.ZodOptional<z.ZodString>;
433
+ zh: z.ZodOptional<z.ZodString>;
434
+ fa: z.ZodOptional<z.ZodString>;
435
+ fr: z.ZodOptional<z.ZodString>;
436
+ }, "strip", z.ZodTypeAny, {
437
+ en: string;
438
+ ru?: string | undefined;
439
+ zh?: string | undefined;
440
+ fa?: string | undefined;
441
+ fr?: string | undefined;
442
+ }, {
443
+ en: string;
444
+ ru?: string | undefined;
445
+ zh?: string | undefined;
446
+ fa?: string | undefined;
447
+ fr?: string | undefined;
448
+ }>;
449
+ svgIcon: z.ZodString;
450
+ apps: z.ZodArray<z.ZodObject<{
451
+ name: z.ZodString;
452
+ featured: z.ZodBoolean;
453
+ blocks: z.ZodArray<z.ZodObject<{
454
+ svgIcon: z.ZodString;
455
+ svgIconColor: z.ZodEffects<z.ZodString, string, string>;
456
+ title: z.ZodObject<{
457
+ en: z.ZodString;
458
+ ru: z.ZodOptional<z.ZodString>;
459
+ zh: z.ZodOptional<z.ZodString>;
460
+ fa: z.ZodOptional<z.ZodString>;
461
+ fr: z.ZodOptional<z.ZodString>;
462
+ }, "strip", z.ZodTypeAny, {
463
+ en: string;
464
+ ru?: string | undefined;
465
+ zh?: string | undefined;
466
+ fa?: string | undefined;
467
+ fr?: string | undefined;
468
+ }, {
469
+ en: string;
470
+ ru?: string | undefined;
471
+ zh?: string | undefined;
472
+ fa?: string | undefined;
473
+ fr?: string | undefined;
474
+ }>;
475
+ description: z.ZodObject<{
476
+ en: z.ZodString;
477
+ ru: z.ZodOptional<z.ZodString>;
478
+ zh: z.ZodOptional<z.ZodString>;
479
+ fa: z.ZodOptional<z.ZodString>;
480
+ fr: z.ZodOptional<z.ZodString>;
481
+ }, "strip", z.ZodTypeAny, {
482
+ en: string;
483
+ ru?: string | undefined;
484
+ zh?: string | undefined;
485
+ fa?: string | undefined;
486
+ fr?: string | undefined;
487
+ }, {
488
+ en: string;
489
+ ru?: string | undefined;
490
+ zh?: string | undefined;
491
+ fa?: string | undefined;
492
+ fr?: string | undefined;
493
+ }>;
494
+ buttons: z.ZodArray<z.ZodObject<{
495
+ link: z.ZodString;
496
+ type: z.ZodEnum<["external", "subscriptionLink"]>;
497
+ text: z.ZodObject<{
498
+ en: z.ZodString;
499
+ ru: z.ZodOptional<z.ZodString>;
500
+ zh: z.ZodOptional<z.ZodString>;
501
+ fa: z.ZodOptional<z.ZodString>;
502
+ fr: z.ZodOptional<z.ZodString>;
503
+ }, "strip", z.ZodTypeAny, {
504
+ en: string;
505
+ ru?: string | undefined;
506
+ zh?: string | undefined;
507
+ fa?: string | undefined;
508
+ fr?: string | undefined;
509
+ }, {
510
+ en: string;
511
+ ru?: string | undefined;
512
+ zh?: string | undefined;
513
+ fa?: string | undefined;
514
+ fr?: string | undefined;
515
+ }>;
516
+ svgIcon: z.ZodString;
517
+ }, "strip", z.ZodTypeAny, {
518
+ type: "external" | "subscriptionLink";
519
+ link: string;
520
+ text: {
521
+ en: string;
522
+ ru?: string | undefined;
523
+ zh?: string | undefined;
524
+ fa?: string | undefined;
525
+ fr?: string | undefined;
526
+ };
527
+ svgIcon: string;
528
+ }, {
529
+ type: "external" | "subscriptionLink";
530
+ link: string;
531
+ text: {
532
+ en: string;
533
+ ru?: string | undefined;
534
+ zh?: string | undefined;
535
+ fa?: string | undefined;
536
+ fr?: string | undefined;
537
+ };
538
+ svgIcon: string;
539
+ }>, "many">;
540
+ }, "strip", z.ZodTypeAny, {
541
+ title: {
542
+ en: string;
543
+ ru?: string | undefined;
544
+ zh?: string | undefined;
545
+ fa?: string | undefined;
546
+ fr?: string | undefined;
547
+ };
548
+ description: {
549
+ en: string;
550
+ ru?: string | undefined;
551
+ zh?: string | undefined;
552
+ fa?: string | undefined;
553
+ fr?: string | undefined;
554
+ };
555
+ svgIcon: string;
556
+ svgIconColor: string;
557
+ buttons: {
558
+ type: "external" | "subscriptionLink";
559
+ link: string;
560
+ text: {
561
+ en: string;
562
+ ru?: string | undefined;
563
+ zh?: string | undefined;
564
+ fa?: string | undefined;
565
+ fr?: string | undefined;
566
+ };
567
+ svgIcon: string;
568
+ }[];
569
+ }, {
570
+ title: {
571
+ en: string;
572
+ ru?: string | undefined;
573
+ zh?: string | undefined;
574
+ fa?: string | undefined;
575
+ fr?: string | undefined;
576
+ };
577
+ description: {
578
+ en: string;
579
+ ru?: string | undefined;
580
+ zh?: string | undefined;
581
+ fa?: string | undefined;
582
+ fr?: string | undefined;
583
+ };
584
+ svgIcon: string;
585
+ svgIconColor: string;
586
+ buttons: {
587
+ type: "external" | "subscriptionLink";
588
+ link: string;
589
+ text: {
590
+ en: string;
591
+ ru?: string | undefined;
592
+ zh?: string | undefined;
593
+ fa?: string | undefined;
594
+ fr?: string | undefined;
595
+ };
596
+ svgIcon: string;
597
+ }[];
598
+ }>, "many">;
599
+ }, "strip", z.ZodTypeAny, {
600
+ name: string;
601
+ featured: boolean;
602
+ blocks: {
603
+ title: {
604
+ en: string;
605
+ ru?: string | undefined;
606
+ zh?: string | undefined;
607
+ fa?: string | undefined;
608
+ fr?: string | undefined;
609
+ };
610
+ description: {
611
+ en: string;
612
+ ru?: string | undefined;
613
+ zh?: string | undefined;
614
+ fa?: string | undefined;
615
+ fr?: string | undefined;
616
+ };
617
+ svgIcon: string;
618
+ svgIconColor: string;
619
+ buttons: {
620
+ type: "external" | "subscriptionLink";
621
+ link: string;
622
+ text: {
623
+ en: string;
624
+ ru?: string | undefined;
625
+ zh?: string | undefined;
626
+ fa?: string | undefined;
627
+ fr?: string | undefined;
628
+ };
629
+ svgIcon: string;
630
+ }[];
631
+ }[];
632
+ }, {
633
+ name: string;
634
+ featured: boolean;
635
+ blocks: {
636
+ title: {
637
+ en: string;
638
+ ru?: string | undefined;
639
+ zh?: string | undefined;
640
+ fa?: string | undefined;
641
+ fr?: string | undefined;
642
+ };
643
+ description: {
644
+ en: string;
645
+ ru?: string | undefined;
646
+ zh?: string | undefined;
647
+ fa?: string | undefined;
648
+ fr?: string | undefined;
649
+ };
650
+ svgIcon: string;
651
+ svgIconColor: string;
652
+ buttons: {
653
+ type: "external" | "subscriptionLink";
654
+ link: string;
655
+ text: {
656
+ en: string;
657
+ ru?: string | undefined;
658
+ zh?: string | undefined;
659
+ fa?: string | undefined;
660
+ fr?: string | undefined;
661
+ };
662
+ svgIcon: string;
663
+ }[];
664
+ }[];
665
+ }>, "many">;
666
+ }, "strip", z.ZodTypeAny, {
667
+ svgIcon: string;
668
+ displayName: {
669
+ en: string;
670
+ ru?: string | undefined;
671
+ zh?: string | undefined;
672
+ fa?: string | undefined;
673
+ fr?: string | undefined;
674
+ };
675
+ apps: {
676
+ name: string;
677
+ featured: boolean;
678
+ blocks: {
679
+ title: {
680
+ en: string;
681
+ ru?: string | undefined;
682
+ zh?: string | undefined;
683
+ fa?: string | undefined;
684
+ fr?: string | undefined;
685
+ };
686
+ description: {
687
+ en: string;
688
+ ru?: string | undefined;
689
+ zh?: string | undefined;
690
+ fa?: string | undefined;
691
+ fr?: string | undefined;
692
+ };
693
+ svgIcon: string;
694
+ svgIconColor: string;
695
+ buttons: {
696
+ type: "external" | "subscriptionLink";
697
+ link: string;
698
+ text: {
699
+ en: string;
700
+ ru?: string | undefined;
701
+ zh?: string | undefined;
702
+ fa?: string | undefined;
703
+ fr?: string | undefined;
704
+ };
705
+ svgIcon: string;
706
+ }[];
707
+ }[];
708
+ }[];
709
+ }, {
710
+ svgIcon: string;
711
+ displayName: {
712
+ en: string;
713
+ ru?: string | undefined;
714
+ zh?: string | undefined;
715
+ fa?: string | undefined;
716
+ fr?: string | undefined;
717
+ };
718
+ apps: {
719
+ name: string;
720
+ featured: boolean;
721
+ blocks: {
722
+ title: {
723
+ en: string;
724
+ ru?: string | undefined;
725
+ zh?: string | undefined;
726
+ fa?: string | undefined;
727
+ fr?: string | undefined;
728
+ };
729
+ description: {
730
+ en: string;
731
+ ru?: string | undefined;
732
+ zh?: string | undefined;
733
+ fa?: string | undefined;
734
+ fr?: string | undefined;
735
+ };
736
+ svgIcon: string;
737
+ svgIconColor: string;
738
+ buttons: {
739
+ type: "external" | "subscriptionLink";
740
+ link: string;
741
+ text: {
742
+ en: string;
743
+ ru?: string | undefined;
744
+ zh?: string | undefined;
745
+ fa?: string | undefined;
746
+ fr?: string | undefined;
747
+ };
748
+ svgIcon: string;
749
+ }[];
750
+ }[];
751
+ }[];
752
+ }>;
753
+ declare const BrandingSettingsSchema: z.ZodObject<{
754
+ title: z.ZodString;
755
+ logoUrl: z.ZodString;
756
+ supportUrl: z.ZodString;
757
+ }, "strip", z.ZodTypeAny, {
758
+ title: string;
759
+ logoUrl: string;
760
+ supportUrl: string;
761
+ }, {
762
+ title: string;
763
+ logoUrl: string;
764
+ supportUrl: string;
765
+ }>;
766
+ declare const UiConfigSchema: z.ZodObject<{
767
+ subscriptionInfo: z.ZodObject<{
768
+ block: z.ZodEnum<["collapsed", "expanded"]>;
769
+ }, "strip", z.ZodTypeAny, {
770
+ block: "collapsed" | "expanded";
771
+ }, {
772
+ block: "collapsed" | "expanded";
773
+ }>;
774
+ }, "strip", z.ZodTypeAny, {
775
+ subscriptionInfo: {
776
+ block: "collapsed" | "expanded";
777
+ };
778
+ }, {
779
+ subscriptionInfo: {
780
+ block: "collapsed" | "expanded";
781
+ };
782
+ }>;
21
783
  export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
22
784
  version: z.ZodNativeEnum<{
23
785
  readonly 1: "1";
@@ -36,6 +798,23 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
36
798
  logoUrl: string;
37
799
  supportUrl: string;
38
800
  }>;
801
+ uiConfig: z.ZodObject<{
802
+ subscriptionInfo: z.ZodObject<{
803
+ block: z.ZodEnum<["collapsed", "expanded"]>;
804
+ }, "strip", z.ZodTypeAny, {
805
+ block: "collapsed" | "expanded";
806
+ }, {
807
+ block: "collapsed" | "expanded";
808
+ }>;
809
+ }, "strip", z.ZodTypeAny, {
810
+ subscriptionInfo: {
811
+ block: "collapsed" | "expanded";
812
+ };
813
+ }, {
814
+ subscriptionInfo: {
815
+ block: "collapsed" | "expanded";
816
+ };
817
+ }>;
39
818
  platforms: z.ZodRecord<z.ZodNativeEnum<{
40
819
  readonly IOS: "ios";
41
820
  readonly ANDROID: "android";
@@ -66,19 +845,11 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
66
845
  }>;
67
846
  svgIcon: z.ZodString;
68
847
  apps: z.ZodArray<z.ZodObject<{
69
- id: z.ZodString;
70
- appSettings: z.ZodObject<{
71
- name: z.ZodString;
72
- featured: z.ZodBoolean;
73
- }, "strip", z.ZodTypeAny, {
74
- name: string;
75
- featured: boolean;
76
- }, {
77
- name: string;
78
- featured: boolean;
79
- }>;
848
+ name: z.ZodString;
849
+ featured: z.ZodBoolean;
80
850
  blocks: z.ZodArray<z.ZodObject<{
81
851
  svgIcon: z.ZodString;
852
+ svgIconColor: z.ZodEffects<z.ZodString, string, string>;
82
853
  title: z.ZodObject<{
83
854
  en: z.ZodString;
84
855
  ru: z.ZodOptional<z.ZodString>;
@@ -179,6 +950,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
179
950
  fr?: string | undefined;
180
951
  };
181
952
  svgIcon: string;
953
+ svgIconColor: string;
182
954
  buttons: {
183
955
  type: "external" | "subscriptionLink";
184
956
  link: string;
@@ -207,6 +979,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
207
979
  fr?: string | undefined;
208
980
  };
209
981
  svgIcon: string;
982
+ svgIconColor: string;
210
983
  buttons: {
211
984
  type: "external" | "subscriptionLink";
212
985
  link: string;
@@ -221,11 +994,8 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
221
994
  }[];
222
995
  }>, "many">;
223
996
  }, "strip", z.ZodTypeAny, {
224
- id: string;
225
- appSettings: {
226
- name: string;
227
- featured: boolean;
228
- };
997
+ name: string;
998
+ featured: boolean;
229
999
  blocks: {
230
1000
  title: {
231
1001
  en: string;
@@ -242,6 +1012,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
242
1012
  fr?: string | undefined;
243
1013
  };
244
1014
  svgIcon: string;
1015
+ svgIconColor: string;
245
1016
  buttons: {
246
1017
  type: "external" | "subscriptionLink";
247
1018
  link: string;
@@ -256,11 +1027,8 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
256
1027
  }[];
257
1028
  }[];
258
1029
  }, {
259
- id: string;
260
- appSettings: {
261
- name: string;
262
- featured: boolean;
263
- };
1030
+ name: string;
1031
+ featured: boolean;
264
1032
  blocks: {
265
1033
  title: {
266
1034
  en: string;
@@ -277,6 +1045,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
277
1045
  fr?: string | undefined;
278
1046
  };
279
1047
  svgIcon: string;
1048
+ svgIconColor: string;
280
1049
  buttons: {
281
1050
  type: "external" | "subscriptionLink";
282
1051
  link: string;
@@ -301,11 +1070,8 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
301
1070
  fr?: string | undefined;
302
1071
  };
303
1072
  apps: {
304
- id: string;
305
- appSettings: {
306
- name: string;
307
- featured: boolean;
308
- };
1073
+ name: string;
1074
+ featured: boolean;
309
1075
  blocks: {
310
1076
  title: {
311
1077
  en: string;
@@ -322,6 +1088,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
322
1088
  fr?: string | undefined;
323
1089
  };
324
1090
  svgIcon: string;
1091
+ svgIconColor: string;
325
1092
  buttons: {
326
1093
  type: "external" | "subscriptionLink";
327
1094
  link: string;
@@ -346,11 +1113,8 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
346
1113
  fr?: string | undefined;
347
1114
  };
348
1115
  apps: {
349
- id: string;
350
- appSettings: {
351
- name: string;
352
- featured: boolean;
353
- };
1116
+ name: string;
1117
+ featured: boolean;
354
1118
  blocks: {
355
1119
  title: {
356
1120
  en: string;
@@ -367,6 +1131,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
367
1131
  fr?: string | undefined;
368
1132
  };
369
1133
  svgIcon: string;
1134
+ svgIconColor: string;
370
1135
  buttons: {
371
1136
  type: "external" | "subscriptionLink";
372
1137
  link: string;
@@ -390,6 +1155,11 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
390
1155
  supportUrl: string;
391
1156
  };
392
1157
  additionalLocales: ("ru" | "zh" | "fa" | "fr")[];
1158
+ uiConfig: {
1159
+ subscriptionInfo: {
1160
+ block: "collapsed" | "expanded";
1161
+ };
1162
+ };
393
1163
  platforms: Partial<Record<"ios" | "android" | "linux" | "macos" | "windows" | "androidTV" | "appleTV", {
394
1164
  svgIcon: string;
395
1165
  displayName: {
@@ -400,11 +1170,8 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
400
1170
  fr?: string | undefined;
401
1171
  };
402
1172
  apps: {
403
- id: string;
404
- appSettings: {
405
- name: string;
406
- featured: boolean;
407
- };
1173
+ name: string;
1174
+ featured: boolean;
408
1175
  blocks: {
409
1176
  title: {
410
1177
  en: string;
@@ -421,6 +1188,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
421
1188
  fr?: string | undefined;
422
1189
  };
423
1190
  svgIcon: string;
1191
+ svgIconColor: string;
424
1192
  buttons: {
425
1193
  type: "external" | "subscriptionLink";
426
1194
  link: string;
@@ -444,6 +1212,11 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
444
1212
  supportUrl: string;
445
1213
  };
446
1214
  additionalLocales: ("ru" | "zh" | "fa" | "fr")[];
1215
+ uiConfig: {
1216
+ subscriptionInfo: {
1217
+ block: "collapsed" | "expanded";
1218
+ };
1219
+ };
447
1220
  platforms: Partial<Record<"ios" | "android" | "linux" | "macos" | "windows" | "androidTV" | "appleTV", {
448
1221
  svgIcon: string;
449
1222
  displayName: {
@@ -454,11 +1227,8 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
454
1227
  fr?: string | undefined;
455
1228
  };
456
1229
  apps: {
457
- id: string;
458
- appSettings: {
459
- name: string;
460
- featured: boolean;
461
- };
1230
+ name: string;
1231
+ featured: boolean;
462
1232
  blocks: {
463
1233
  title: {
464
1234
  en: string;
@@ -475,6 +1245,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
475
1245
  fr?: string | undefined;
476
1246
  };
477
1247
  svgIcon: string;
1248
+ svgIconColor: string;
478
1249
  buttons: {
479
1250
  type: "external" | "subscriptionLink";
480
1251
  link: string;
@@ -498,6 +1269,11 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
498
1269
  supportUrl: string;
499
1270
  };
500
1271
  additionalLocales: ("ru" | "zh" | "fa" | "fr")[];
1272
+ uiConfig: {
1273
+ subscriptionInfo: {
1274
+ block: "collapsed" | "expanded";
1275
+ };
1276
+ };
501
1277
  platforms: Partial<Record<"ios" | "android" | "linux" | "macos" | "windows" | "androidTV" | "appleTV", {
502
1278
  svgIcon: string;
503
1279
  displayName: {
@@ -508,11 +1284,8 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
508
1284
  fr?: string | undefined;
509
1285
  };
510
1286
  apps: {
511
- id: string;
512
- appSettings: {
513
- name: string;
514
- featured: boolean;
515
- };
1287
+ name: string;
1288
+ featured: boolean;
516
1289
  blocks: {
517
1290
  title: {
518
1291
  en: string;
@@ -529,6 +1302,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
529
1302
  fr?: string | undefined;
530
1303
  };
531
1304
  svgIcon: string;
1305
+ svgIconColor: string;
532
1306
  buttons: {
533
1307
  type: "external" | "subscriptionLink";
534
1308
  link: string;
@@ -552,6 +1326,11 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
552
1326
  supportUrl: string;
553
1327
  };
554
1328
  additionalLocales: ("ru" | "zh" | "fa" | "fr")[];
1329
+ uiConfig: {
1330
+ subscriptionInfo: {
1331
+ block: "collapsed" | "expanded";
1332
+ };
1333
+ };
555
1334
  platforms: Partial<Record<"ios" | "android" | "linux" | "macos" | "windows" | "androidTV" | "appleTV", {
556
1335
  svgIcon: string;
557
1336
  displayName: {
@@ -562,11 +1341,8 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
562
1341
  fr?: string | undefined;
563
1342
  };
564
1343
  apps: {
565
- id: string;
566
- appSettings: {
567
- name: string;
568
- featured: boolean;
569
- };
1344
+ name: string;
1345
+ featured: boolean;
570
1346
  blocks: {
571
1347
  title: {
572
1348
  en: string;
@@ -583,6 +1359,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
583
1359
  fr?: string | undefined;
584
1360
  };
585
1361
  svgIcon: string;
1362
+ svgIconColor: string;
586
1363
  buttons: {
587
1364
  type: "external" | "subscriptionLink";
588
1365
  link: string;
@@ -600,4 +1377,13 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
600
1377
  }>>;
601
1378
  }>;
602
1379
  export type TSubscriptionPageRawConfig = z.infer<typeof SubscriptionPageRawConfigSchema>;
1380
+ export type TSubscriptionPageBrandingSettings = z.infer<typeof BrandingSettingsSchema>;
1381
+ export type TSubscriptionPagePlatformSchema = z.infer<typeof PlatformSchema>;
1382
+ export type TSubscriptionPagePlatformKey = keyof TSubscriptionPageRawConfig['platforms'];
1383
+ export type TSubscriptionPageAppConfig = z.infer<typeof PlatformAppSchema>;
1384
+ export type TSubscriptionPageBlockConfig = z.infer<typeof BlockSchema>;
1385
+ export type TSubscriptionPageButtonConfig = z.infer<typeof ButtonSchema>;
1386
+ export type TSubscriptionPageLocalizedText = z.infer<typeof LocalizedTextSchema>;
1387
+ export type TSubscriptionPageUiConfig = z.infer<typeof UiConfigSchema>;
1388
+ export {};
603
1389
  //# sourceMappingURL=subscription-page-config.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-page-config.schema.d.ts","sourceRoot":"","sources":["../../../../models/subscription-page-config/subscription-page-config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AAqCH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAStC,CAAC;AAEP,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
1
+ {"version":3,"file":"subscription-page-config.schema.d.ts","sourceRoot":"","sources":["../../../../models/subscription-page-config/subscription-page-config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhB,CAAC;AAEH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8Bf,CAAC;AAEH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIrB,CAAC;AAEH,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIlB,CAAC;AAEH,QAAA,MAAM,sBAAsB;;;;;;;;;;;;EAI1B,CAAC;AAEH,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;EAIlB,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUtC,CAAC;AAEP,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACzF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACvF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC7E,MAAM,MAAM,4BAA4B,GAAG,MAAM,0BAA0B,CAAC,WAAW,CAAC,CAAC;AACzF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC3E,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACvE,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACzE,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACjF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -19,16 +19,33 @@ const ButtonSchema = zod_1.z.object({
19
19
  });
20
20
  const BlockSchema = zod_1.z.object({
21
21
  svgIcon: zod_1.z.string(),
22
+ svgIconColor: zod_1.z
23
+ .string()
24
+ .refine((value) => [
25
+ 'blue',
26
+ 'cyan',
27
+ 'dark',
28
+ 'grape',
29
+ 'gray',
30
+ 'green',
31
+ 'indigo',
32
+ 'lime',
33
+ 'orange',
34
+ 'pink',
35
+ 'red',
36
+ 'teal',
37
+ 'violet',
38
+ 'yellow',
39
+ ].includes(value) || /^#[0-9a-fA-F]{3,8}$/.test(value), {
40
+ message: 'svgIconColor must be one of the predefined colors or a hex color beginning with #',
41
+ }),
22
42
  title: exports.LocalizedTextSchema,
23
43
  description: exports.LocalizedTextSchema,
24
44
  buttons: zod_1.z.array(ButtonSchema),
25
45
  });
26
46
  const PlatformAppSchema = zod_1.z.object({
27
- id: zod_1.z.string(),
28
- appSettings: zod_1.z.object({
29
- name: zod_1.z.string(),
30
- featured: zod_1.z.boolean(),
31
- }),
47
+ name: zod_1.z.string(),
48
+ featured: zod_1.z.boolean(),
32
49
  blocks: zod_1.z.array(BlockSchema),
33
50
  });
34
51
  const PlatformSchema = zod_1.z.object({
@@ -41,11 +58,17 @@ const BrandingSettingsSchema = zod_1.z.object({
41
58
  logoUrl: zod_1.z.string(),
42
59
  supportUrl: zod_1.z.string().url(),
43
60
  });
61
+ const UiConfigSchema = zod_1.z.object({
62
+ subscriptionInfo: zod_1.z.object({
63
+ block: zod_1.z.enum(['collapsed', 'expanded']),
64
+ }),
65
+ });
44
66
  exports.SubscriptionPageRawConfigSchema = zod_1.z
45
67
  .object({
46
68
  version: zod_1.z.nativeEnum(constants_1.SUBSCRIPTION_PAGE_CONFIG_VERSION),
47
69
  additionalLocales: zod_1.z.array(zod_1.z.enum(constants_1.SUBSCRIPTION_PAGE_CONFIG_ADDITIONAL_LOCALES)),
48
70
  brandingSettings: BrandingSettingsSchema,
71
+ uiConfig: UiConfigSchema,
49
72
  platforms: zod_1.z.record(zod_1.z.nativeEnum(constants_1.SUBSCRIPTION_PAGE_CONFIG_PLATFORM_TYPES), PlatformSchema),
50
73
  })
51
74
  .superRefine((data, ctx) => {
@@ -19,16 +19,33 @@ const ButtonSchema = zod_1.z.object({
19
19
  });
20
20
  const BlockSchema = zod_1.z.object({
21
21
  svgIcon: zod_1.z.string(),
22
+ svgIconColor: zod_1.z
23
+ .string()
24
+ .refine((value) => [
25
+ 'blue',
26
+ 'cyan',
27
+ 'dark',
28
+ 'grape',
29
+ 'gray',
30
+ 'green',
31
+ 'indigo',
32
+ 'lime',
33
+ 'orange',
34
+ 'pink',
35
+ 'red',
36
+ 'teal',
37
+ 'violet',
38
+ 'yellow',
39
+ ].includes(value) || /^#[0-9a-fA-F]{3,8}$/.test(value), {
40
+ message: 'svgIconColor must be one of the predefined colors or a hex color beginning with #',
41
+ }),
22
42
  title: exports.LocalizedTextSchema,
23
43
  description: exports.LocalizedTextSchema,
24
44
  buttons: zod_1.z.array(ButtonSchema),
25
45
  });
26
46
  const PlatformAppSchema = zod_1.z.object({
27
- id: zod_1.z.string(),
28
- appSettings: zod_1.z.object({
29
- name: zod_1.z.string(),
30
- featured: zod_1.z.boolean(),
31
- }),
47
+ name: zod_1.z.string(),
48
+ featured: zod_1.z.boolean(),
32
49
  blocks: zod_1.z.array(BlockSchema),
33
50
  });
34
51
  const PlatformSchema = zod_1.z.object({
@@ -41,11 +58,17 @@ const BrandingSettingsSchema = zod_1.z.object({
41
58
  logoUrl: zod_1.z.string(),
42
59
  supportUrl: zod_1.z.string().url(),
43
60
  });
61
+ const UiConfigSchema = zod_1.z.object({
62
+ subscriptionInfo: zod_1.z.object({
63
+ block: zod_1.z.enum(['collapsed', 'expanded']),
64
+ }),
65
+ });
44
66
  exports.SubscriptionPageRawConfigSchema = zod_1.z
45
67
  .object({
46
68
  version: zod_1.z.nativeEnum(constants_1.SUBSCRIPTION_PAGE_CONFIG_VERSION),
47
69
  additionalLocales: zod_1.z.array(zod_1.z.enum(constants_1.SUBSCRIPTION_PAGE_CONFIG_ADDITIONAL_LOCALES)),
48
70
  brandingSettings: BrandingSettingsSchema,
71
+ uiConfig: UiConfigSchema,
49
72
  platforms: zod_1.z.record(zod_1.z.nativeEnum(constants_1.SUBSCRIPTION_PAGE_CONFIG_PLATFORM_TYPES), PlatformSchema),
50
73
  })
51
74
  .superRefine((data, ctx) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnawave/backend-contract",
3
- "version": "2.3.47",
3
+ "version": "2.3.49",
4
4
  "public": true,
5
5
  "license": "AGPL-3.0-only",
6
6
  "description": "A contract library for Remnawave Backend. It can be used in backend and frontend.",