@guardian/support-dotcom-components 7.0.1 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/index.esm.js +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/server/api/bannerRouter.d.ts +2 -1
  4. package/dist/server/api/bannerRouter.d.ts.map +1 -1
  5. package/dist/server/api/epicRouter.d.ts +2 -1
  6. package/dist/server/api/epicRouter.d.ts.map +1 -1
  7. package/dist/server/factories/epicVariant.d.ts +68 -2
  8. package/dist/server/factories/epicVariant.d.ts.map +1 -1
  9. package/dist/server/factories/index.d.ts +68 -2
  10. package/dist/server/factories/index.d.ts.map +1 -1
  11. package/dist/server/lib/choiceCards/choiceCards.d.ts +6 -0
  12. package/dist/server/lib/choiceCards/choiceCards.d.ts.map +1 -0
  13. package/dist/server/lib/choiceCards/defaultChoiceCardSettings.d.ts +7 -0
  14. package/dist/server/lib/choiceCards/defaultChoiceCardSettings.d.ts.map +1 -0
  15. package/dist/server/productCatalog.d.ts +14 -0
  16. package/dist/server/productCatalog.d.ts.map +1 -0
  17. package/dist/server/tests/banners/channelBannerTests.d.ts.map +1 -1
  18. package/dist/shared/lib/geolocation.d.ts +4 -3
  19. package/dist/shared/lib/geolocation.d.ts.map +1 -1
  20. package/dist/shared/types/abTests/banner.d.ts +1308 -0
  21. package/dist/shared/types/abTests/banner.d.ts.map +1 -1
  22. package/dist/shared/types/abTests/epic.d.ts +734 -14
  23. package/dist/shared/types/abTests/epic.d.ts.map +1 -1
  24. package/dist/shared/types/abTests/gutter.d.ts +14 -14
  25. package/dist/shared/types/props/banner.d.ts +598 -7
  26. package/dist/shared/types/props/banner.d.ts.map +1 -1
  27. package/dist/shared/types/props/choiceCards.d.ts +625 -0
  28. package/dist/shared/types/props/choiceCards.d.ts.map +1 -0
  29. package/dist/shared/types/props/design.d.ts +4 -4
  30. package/dist/shared/types/props/epic.d.ts +1332 -24
  31. package/dist/shared/types/props/epic.d.ts.map +1 -1
  32. package/dist/shared/types/props/gutter.d.ts +10 -10
  33. package/dist/shared/types/props/shared.d.ts +6 -6
  34. package/package.json +1 -1
@@ -1,12 +1,14 @@
1
1
  import type { ComponentEvent } from '@guardian/ophan-tracker-js';
2
2
  import { z } from 'zod';
3
- import type { SelectedAmountsVariant } from '../abTests';
3
+ import type { Channel, SelectedAmountsVariant } from '../abTests';
4
4
  import type { Prices } from '../prices';
5
5
  import type { AbandonedBasket } from '../targeting';
6
+ import type { ChoiceCardsSettings } from './choiceCards';
6
7
  import type { ConfigurableDesign } from './design';
7
8
  import type { ArticleCounts, Cta, SecondaryCta, SeparateArticleCount, TickerSettings, Tracking } from './shared';
8
9
  export declare const bannerChannelSchema: z.ZodEnum<["contributions", "subscriptions", "signIn", "abandonedBasket"]>;
9
10
  export type BannerChannel = z.infer<typeof bannerChannelSchema>;
11
+ export declare const channelFromBannerChannel: (bannerChannel: BannerChannel) => Channel;
10
12
  export interface BannerContent {
11
13
  heading?: string;
12
14
  messageText?: string;
@@ -118,6 +120,7 @@ export interface BannerProps {
118
120
  separateArticleCountSettings?: SeparateArticleCount;
119
121
  prices?: Prices;
120
122
  choiceCardAmounts?: SelectedAmountsVariant;
123
+ choiceCardsSettings?: ChoiceCardsSettings;
121
124
  design?: ConfigurableDesign;
122
125
  abandonedBasket?: AbandonedBasket;
123
126
  }
@@ -396,17 +399,17 @@ export declare const bannerSchema: z.ZodObject<{
396
399
  altText: z.ZodString;
397
400
  kind: z.ZodLiteral<"Image">;
398
401
  }, "strip", z.ZodTypeAny, {
402
+ kind: "Image";
399
403
  mobileUrl: string;
400
404
  tabletUrl: string;
401
405
  desktopUrl: string;
402
406
  altText: string;
403
- kind: "Image";
404
407
  }, {
408
+ kind: "Image";
405
409
  mobileUrl: string;
406
410
  tabletUrl: string;
407
411
  desktopUrl: string;
408
412
  altText: string;
409
- kind: "Image";
410
413
  }>, z.ZodObject<{
411
414
  buttonColour: z.ZodOptional<z.ZodNullable<z.ZodObject<{
412
415
  r: z.ZodEffects<z.ZodString, string, string>;
@@ -692,11 +695,11 @@ export declare const bannerSchema: z.ZodObject<{
692
695
  };
693
696
  };
694
697
  visual?: {
698
+ kind: "Image";
695
699
  mobileUrl: string;
696
700
  tabletUrl: string;
697
701
  desktopUrl: string;
698
702
  altText: string;
699
- kind: "Image";
700
703
  } | {
701
704
  kind: "ChoiceCards";
702
705
  buttonColour?: {
@@ -754,11 +757,11 @@ export declare const bannerSchema: z.ZodObject<{
754
757
  };
755
758
  };
756
759
  visual?: {
760
+ kind: "Image";
757
761
  mobileUrl: string;
758
762
  tabletUrl: string;
759
763
  desktopUrl: string;
760
764
  altText: string;
761
- kind: "Image";
762
765
  } | {
763
766
  kind: "ChoiceCards";
764
767
  buttonColour?: {
@@ -799,6 +802,462 @@ export declare const bannerSchema: z.ZodObject<{
799
802
  } | null | undefined;
800
803
  } | null | undefined;
801
804
  }>>>;
805
+ choiceCardsSettings: z.ZodOptional<z.ZodNullable<z.ZodObject<{
806
+ choiceCards: z.ZodArray<z.ZodObject<{
807
+ product: z.ZodDiscriminatedUnion<"supportTier", [z.ZodObject<{
808
+ supportTier: z.ZodLiteral<"Contribution">;
809
+ ratePlan: z.ZodUnion<[z.ZodLiteral<"Monthly">, z.ZodLiteral<"Annual">]>;
810
+ }, "strip", z.ZodTypeAny, {
811
+ supportTier: "Contribution";
812
+ ratePlan: "Monthly" | "Annual";
813
+ }, {
814
+ supportTier: "Contribution";
815
+ ratePlan: "Monthly" | "Annual";
816
+ }>, z.ZodObject<{
817
+ supportTier: z.ZodLiteral<"SupporterPlus">;
818
+ ratePlan: z.ZodUnion<[z.ZodLiteral<"Monthly">, z.ZodLiteral<"Annual">]>;
819
+ }, "strip", z.ZodTypeAny, {
820
+ supportTier: "SupporterPlus";
821
+ ratePlan: "Monthly" | "Annual";
822
+ }, {
823
+ supportTier: "SupporterPlus";
824
+ ratePlan: "Monthly" | "Annual";
825
+ }>, z.ZodObject<{
826
+ supportTier: z.ZodLiteral<"OneOff">;
827
+ }, "strip", z.ZodTypeAny, {
828
+ supportTier: "OneOff";
829
+ }, {
830
+ supportTier: "OneOff";
831
+ }>]>;
832
+ label: z.ZodString;
833
+ isDefault: z.ZodBoolean;
834
+ benefitsLabel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
835
+ benefits: z.ZodArray<z.ZodObject<{
836
+ copy: z.ZodString;
837
+ }, "strip", z.ZodTypeAny, {
838
+ copy: string;
839
+ }, {
840
+ copy: string;
841
+ }>, "many">;
842
+ pill: z.ZodOptional<z.ZodNullable<z.ZodObject<{
843
+ copy: z.ZodString;
844
+ textColour: z.ZodOptional<z.ZodNullable<z.ZodObject<{
845
+ r: z.ZodEffects<z.ZodString, string, string>;
846
+ g: z.ZodEffects<z.ZodString, string, string>;
847
+ b: z.ZodEffects<z.ZodString, string, string>;
848
+ kind: z.ZodLiteral<"hex">;
849
+ }, "strip", z.ZodTypeAny, {
850
+ r: string;
851
+ b: string;
852
+ g: string;
853
+ kind: "hex";
854
+ }, {
855
+ r: string;
856
+ b: string;
857
+ g: string;
858
+ kind: "hex";
859
+ }>>>;
860
+ backgroundColour: z.ZodOptional<z.ZodNullable<z.ZodObject<{
861
+ r: z.ZodEffects<z.ZodString, string, string>;
862
+ g: z.ZodEffects<z.ZodString, string, string>;
863
+ b: z.ZodEffects<z.ZodString, string, string>;
864
+ kind: z.ZodLiteral<"hex">;
865
+ }, "strip", z.ZodTypeAny, {
866
+ r: string;
867
+ b: string;
868
+ g: string;
869
+ kind: "hex";
870
+ }, {
871
+ r: string;
872
+ b: string;
873
+ g: string;
874
+ kind: "hex";
875
+ }>>>;
876
+ }, "strip", z.ZodTypeAny, {
877
+ copy: string;
878
+ textColour?: {
879
+ r: string;
880
+ b: string;
881
+ g: string;
882
+ kind: "hex";
883
+ } | null | undefined;
884
+ backgroundColour?: {
885
+ r: string;
886
+ b: string;
887
+ g: string;
888
+ kind: "hex";
889
+ } | null | undefined;
890
+ }, {
891
+ copy: string;
892
+ textColour?: {
893
+ r: string;
894
+ b: string;
895
+ g: string;
896
+ kind: "hex";
897
+ } | null | undefined;
898
+ backgroundColour?: {
899
+ r: string;
900
+ b: string;
901
+ g: string;
902
+ kind: "hex";
903
+ } | null | undefined;
904
+ }>>>;
905
+ }, "strip", z.ZodTypeAny, {
906
+ product: {
907
+ supportTier: "Contribution";
908
+ ratePlan: "Monthly" | "Annual";
909
+ } | {
910
+ supportTier: "SupporterPlus";
911
+ ratePlan: "Monthly" | "Annual";
912
+ } | {
913
+ supportTier: "OneOff";
914
+ };
915
+ label: string;
916
+ isDefault: boolean;
917
+ benefits: {
918
+ copy: string;
919
+ }[];
920
+ benefitsLabel?: string | null | undefined;
921
+ pill?: {
922
+ copy: string;
923
+ textColour?: {
924
+ r: string;
925
+ b: string;
926
+ g: string;
927
+ kind: "hex";
928
+ } | null | undefined;
929
+ backgroundColour?: {
930
+ r: string;
931
+ b: string;
932
+ g: string;
933
+ kind: "hex";
934
+ } | null | undefined;
935
+ } | null | undefined;
936
+ }, {
937
+ product: {
938
+ supportTier: "Contribution";
939
+ ratePlan: "Monthly" | "Annual";
940
+ } | {
941
+ supportTier: "SupporterPlus";
942
+ ratePlan: "Monthly" | "Annual";
943
+ } | {
944
+ supportTier: "OneOff";
945
+ };
946
+ label: string;
947
+ isDefault: boolean;
948
+ benefits: {
949
+ copy: string;
950
+ }[];
951
+ benefitsLabel?: string | null | undefined;
952
+ pill?: {
953
+ copy: string;
954
+ textColour?: {
955
+ r: string;
956
+ b: string;
957
+ g: string;
958
+ kind: "hex";
959
+ } | null | undefined;
960
+ backgroundColour?: {
961
+ r: string;
962
+ b: string;
963
+ g: string;
964
+ kind: "hex";
965
+ } | null | undefined;
966
+ } | null | undefined;
967
+ }>, "many">;
968
+ mobileChoiceCards: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
969
+ product: z.ZodDiscriminatedUnion<"supportTier", [z.ZodObject<{
970
+ supportTier: z.ZodLiteral<"Contribution">;
971
+ ratePlan: z.ZodUnion<[z.ZodLiteral<"Monthly">, z.ZodLiteral<"Annual">]>;
972
+ }, "strip", z.ZodTypeAny, {
973
+ supportTier: "Contribution";
974
+ ratePlan: "Monthly" | "Annual";
975
+ }, {
976
+ supportTier: "Contribution";
977
+ ratePlan: "Monthly" | "Annual";
978
+ }>, z.ZodObject<{
979
+ supportTier: z.ZodLiteral<"SupporterPlus">;
980
+ ratePlan: z.ZodUnion<[z.ZodLiteral<"Monthly">, z.ZodLiteral<"Annual">]>;
981
+ }, "strip", z.ZodTypeAny, {
982
+ supportTier: "SupporterPlus";
983
+ ratePlan: "Monthly" | "Annual";
984
+ }, {
985
+ supportTier: "SupporterPlus";
986
+ ratePlan: "Monthly" | "Annual";
987
+ }>, z.ZodObject<{
988
+ supportTier: z.ZodLiteral<"OneOff">;
989
+ }, "strip", z.ZodTypeAny, {
990
+ supportTier: "OneOff";
991
+ }, {
992
+ supportTier: "OneOff";
993
+ }>]>;
994
+ label: z.ZodString;
995
+ isDefault: z.ZodBoolean;
996
+ benefitsLabel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
997
+ benefits: z.ZodArray<z.ZodObject<{
998
+ copy: z.ZodString;
999
+ }, "strip", z.ZodTypeAny, {
1000
+ copy: string;
1001
+ }, {
1002
+ copy: string;
1003
+ }>, "many">;
1004
+ pill: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1005
+ copy: z.ZodString;
1006
+ textColour: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1007
+ r: z.ZodEffects<z.ZodString, string, string>;
1008
+ g: z.ZodEffects<z.ZodString, string, string>;
1009
+ b: z.ZodEffects<z.ZodString, string, string>;
1010
+ kind: z.ZodLiteral<"hex">;
1011
+ }, "strip", z.ZodTypeAny, {
1012
+ r: string;
1013
+ b: string;
1014
+ g: string;
1015
+ kind: "hex";
1016
+ }, {
1017
+ r: string;
1018
+ b: string;
1019
+ g: string;
1020
+ kind: "hex";
1021
+ }>>>;
1022
+ backgroundColour: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1023
+ r: z.ZodEffects<z.ZodString, string, string>;
1024
+ g: z.ZodEffects<z.ZodString, string, string>;
1025
+ b: z.ZodEffects<z.ZodString, string, string>;
1026
+ kind: z.ZodLiteral<"hex">;
1027
+ }, "strip", z.ZodTypeAny, {
1028
+ r: string;
1029
+ b: string;
1030
+ g: string;
1031
+ kind: "hex";
1032
+ }, {
1033
+ r: string;
1034
+ b: string;
1035
+ g: string;
1036
+ kind: "hex";
1037
+ }>>>;
1038
+ }, "strip", z.ZodTypeAny, {
1039
+ copy: string;
1040
+ textColour?: {
1041
+ r: string;
1042
+ b: string;
1043
+ g: string;
1044
+ kind: "hex";
1045
+ } | null | undefined;
1046
+ backgroundColour?: {
1047
+ r: string;
1048
+ b: string;
1049
+ g: string;
1050
+ kind: "hex";
1051
+ } | null | undefined;
1052
+ }, {
1053
+ copy: string;
1054
+ textColour?: {
1055
+ r: string;
1056
+ b: string;
1057
+ g: string;
1058
+ kind: "hex";
1059
+ } | null | undefined;
1060
+ backgroundColour?: {
1061
+ r: string;
1062
+ b: string;
1063
+ g: string;
1064
+ kind: "hex";
1065
+ } | null | undefined;
1066
+ }>>>;
1067
+ }, "strip", z.ZodTypeAny, {
1068
+ product: {
1069
+ supportTier: "Contribution";
1070
+ ratePlan: "Monthly" | "Annual";
1071
+ } | {
1072
+ supportTier: "SupporterPlus";
1073
+ ratePlan: "Monthly" | "Annual";
1074
+ } | {
1075
+ supportTier: "OneOff";
1076
+ };
1077
+ label: string;
1078
+ isDefault: boolean;
1079
+ benefits: {
1080
+ copy: string;
1081
+ }[];
1082
+ benefitsLabel?: string | null | undefined;
1083
+ pill?: {
1084
+ copy: string;
1085
+ textColour?: {
1086
+ r: string;
1087
+ b: string;
1088
+ g: string;
1089
+ kind: "hex";
1090
+ } | null | undefined;
1091
+ backgroundColour?: {
1092
+ r: string;
1093
+ b: string;
1094
+ g: string;
1095
+ kind: "hex";
1096
+ } | null | undefined;
1097
+ } | null | undefined;
1098
+ }, {
1099
+ product: {
1100
+ supportTier: "Contribution";
1101
+ ratePlan: "Monthly" | "Annual";
1102
+ } | {
1103
+ supportTier: "SupporterPlus";
1104
+ ratePlan: "Monthly" | "Annual";
1105
+ } | {
1106
+ supportTier: "OneOff";
1107
+ };
1108
+ label: string;
1109
+ isDefault: boolean;
1110
+ benefits: {
1111
+ copy: string;
1112
+ }[];
1113
+ benefitsLabel?: string | null | undefined;
1114
+ pill?: {
1115
+ copy: string;
1116
+ textColour?: {
1117
+ r: string;
1118
+ b: string;
1119
+ g: string;
1120
+ kind: "hex";
1121
+ } | null | undefined;
1122
+ backgroundColour?: {
1123
+ r: string;
1124
+ b: string;
1125
+ g: string;
1126
+ kind: "hex";
1127
+ } | null | undefined;
1128
+ } | null | undefined;
1129
+ }>, "many">>>;
1130
+ }, "strip", z.ZodTypeAny, {
1131
+ choiceCards: {
1132
+ product: {
1133
+ supportTier: "Contribution";
1134
+ ratePlan: "Monthly" | "Annual";
1135
+ } | {
1136
+ supportTier: "SupporterPlus";
1137
+ ratePlan: "Monthly" | "Annual";
1138
+ } | {
1139
+ supportTier: "OneOff";
1140
+ };
1141
+ label: string;
1142
+ isDefault: boolean;
1143
+ benefits: {
1144
+ copy: string;
1145
+ }[];
1146
+ benefitsLabel?: string | null | undefined;
1147
+ pill?: {
1148
+ copy: string;
1149
+ textColour?: {
1150
+ r: string;
1151
+ b: string;
1152
+ g: string;
1153
+ kind: "hex";
1154
+ } | null | undefined;
1155
+ backgroundColour?: {
1156
+ r: string;
1157
+ b: string;
1158
+ g: string;
1159
+ kind: "hex";
1160
+ } | null | undefined;
1161
+ } | null | undefined;
1162
+ }[];
1163
+ mobileChoiceCards?: {
1164
+ product: {
1165
+ supportTier: "Contribution";
1166
+ ratePlan: "Monthly" | "Annual";
1167
+ } | {
1168
+ supportTier: "SupporterPlus";
1169
+ ratePlan: "Monthly" | "Annual";
1170
+ } | {
1171
+ supportTier: "OneOff";
1172
+ };
1173
+ label: string;
1174
+ isDefault: boolean;
1175
+ benefits: {
1176
+ copy: string;
1177
+ }[];
1178
+ benefitsLabel?: string | null | undefined;
1179
+ pill?: {
1180
+ copy: string;
1181
+ textColour?: {
1182
+ r: string;
1183
+ b: string;
1184
+ g: string;
1185
+ kind: "hex";
1186
+ } | null | undefined;
1187
+ backgroundColour?: {
1188
+ r: string;
1189
+ b: string;
1190
+ g: string;
1191
+ kind: "hex";
1192
+ } | null | undefined;
1193
+ } | null | undefined;
1194
+ }[] | null | undefined;
1195
+ }, {
1196
+ choiceCards: {
1197
+ product: {
1198
+ supportTier: "Contribution";
1199
+ ratePlan: "Monthly" | "Annual";
1200
+ } | {
1201
+ supportTier: "SupporterPlus";
1202
+ ratePlan: "Monthly" | "Annual";
1203
+ } | {
1204
+ supportTier: "OneOff";
1205
+ };
1206
+ label: string;
1207
+ isDefault: boolean;
1208
+ benefits: {
1209
+ copy: string;
1210
+ }[];
1211
+ benefitsLabel?: string | null | undefined;
1212
+ pill?: {
1213
+ copy: string;
1214
+ textColour?: {
1215
+ r: string;
1216
+ b: string;
1217
+ g: string;
1218
+ kind: "hex";
1219
+ } | null | undefined;
1220
+ backgroundColour?: {
1221
+ r: string;
1222
+ b: string;
1223
+ g: string;
1224
+ kind: "hex";
1225
+ } | null | undefined;
1226
+ } | null | undefined;
1227
+ }[];
1228
+ mobileChoiceCards?: {
1229
+ product: {
1230
+ supportTier: "Contribution";
1231
+ ratePlan: "Monthly" | "Annual";
1232
+ } | {
1233
+ supportTier: "SupporterPlus";
1234
+ ratePlan: "Monthly" | "Annual";
1235
+ } | {
1236
+ supportTier: "OneOff";
1237
+ };
1238
+ label: string;
1239
+ isDefault: boolean;
1240
+ benefits: {
1241
+ copy: string;
1242
+ }[];
1243
+ benefitsLabel?: string | null | undefined;
1244
+ pill?: {
1245
+ copy: string;
1246
+ textColour?: {
1247
+ r: string;
1248
+ b: string;
1249
+ g: string;
1250
+ kind: "hex";
1251
+ } | null | undefined;
1252
+ backgroundColour?: {
1253
+ r: string;
1254
+ b: string;
1255
+ g: string;
1256
+ kind: "hex";
1257
+ } | null | undefined;
1258
+ } | null | undefined;
1259
+ }[] | null | undefined;
1260
+ }>>>;
802
1261
  }, "strip", z.ZodTypeAny, {
803
1262
  tracking: {
804
1263
  abTestName: string;
@@ -892,11 +1351,11 @@ export declare const bannerSchema: z.ZodObject<{
892
1351
  };
893
1352
  };
894
1353
  visual?: {
1354
+ kind: "Image";
895
1355
  mobileUrl: string;
896
1356
  tabletUrl: string;
897
1357
  desktopUrl: string;
898
1358
  altText: string;
899
- kind: "Image";
900
1359
  } | {
901
1360
  kind: "ChoiceCards";
902
1361
  buttonColour?: {
@@ -937,6 +1396,72 @@ export declare const bannerSchema: z.ZodObject<{
937
1396
  } | null | undefined;
938
1397
  } | null | undefined;
939
1398
  } | null | undefined;
1399
+ choiceCardsSettings?: {
1400
+ choiceCards: {
1401
+ product: {
1402
+ supportTier: "Contribution";
1403
+ ratePlan: "Monthly" | "Annual";
1404
+ } | {
1405
+ supportTier: "SupporterPlus";
1406
+ ratePlan: "Monthly" | "Annual";
1407
+ } | {
1408
+ supportTier: "OneOff";
1409
+ };
1410
+ label: string;
1411
+ isDefault: boolean;
1412
+ benefits: {
1413
+ copy: string;
1414
+ }[];
1415
+ benefitsLabel?: string | null | undefined;
1416
+ pill?: {
1417
+ copy: string;
1418
+ textColour?: {
1419
+ r: string;
1420
+ b: string;
1421
+ g: string;
1422
+ kind: "hex";
1423
+ } | null | undefined;
1424
+ backgroundColour?: {
1425
+ r: string;
1426
+ b: string;
1427
+ g: string;
1428
+ kind: "hex";
1429
+ } | null | undefined;
1430
+ } | null | undefined;
1431
+ }[];
1432
+ mobileChoiceCards?: {
1433
+ product: {
1434
+ supportTier: "Contribution";
1435
+ ratePlan: "Monthly" | "Annual";
1436
+ } | {
1437
+ supportTier: "SupporterPlus";
1438
+ ratePlan: "Monthly" | "Annual";
1439
+ } | {
1440
+ supportTier: "OneOff";
1441
+ };
1442
+ label: string;
1443
+ isDefault: boolean;
1444
+ benefits: {
1445
+ copy: string;
1446
+ }[];
1447
+ benefitsLabel?: string | null | undefined;
1448
+ pill?: {
1449
+ copy: string;
1450
+ textColour?: {
1451
+ r: string;
1452
+ b: string;
1453
+ g: string;
1454
+ kind: "hex";
1455
+ } | null | undefined;
1456
+ backgroundColour?: {
1457
+ r: string;
1458
+ b: string;
1459
+ g: string;
1460
+ kind: "hex";
1461
+ } | null | undefined;
1462
+ } | null | undefined;
1463
+ }[] | null | undefined;
1464
+ } | null | undefined;
940
1465
  }, {
941
1466
  tracking: {
942
1467
  abTestName: string;
@@ -1030,11 +1555,11 @@ export declare const bannerSchema: z.ZodObject<{
1030
1555
  };
1031
1556
  };
1032
1557
  visual?: {
1558
+ kind: "Image";
1033
1559
  mobileUrl: string;
1034
1560
  tabletUrl: string;
1035
1561
  desktopUrl: string;
1036
1562
  altText: string;
1037
- kind: "Image";
1038
1563
  } | {
1039
1564
  kind: "ChoiceCards";
1040
1565
  buttonColour?: {
@@ -1075,5 +1600,71 @@ export declare const bannerSchema: z.ZodObject<{
1075
1600
  } | null | undefined;
1076
1601
  } | null | undefined;
1077
1602
  } | null | undefined;
1603
+ choiceCardsSettings?: {
1604
+ choiceCards: {
1605
+ product: {
1606
+ supportTier: "Contribution";
1607
+ ratePlan: "Monthly" | "Annual";
1608
+ } | {
1609
+ supportTier: "SupporterPlus";
1610
+ ratePlan: "Monthly" | "Annual";
1611
+ } | {
1612
+ supportTier: "OneOff";
1613
+ };
1614
+ label: string;
1615
+ isDefault: boolean;
1616
+ benefits: {
1617
+ copy: string;
1618
+ }[];
1619
+ benefitsLabel?: string | null | undefined;
1620
+ pill?: {
1621
+ copy: string;
1622
+ textColour?: {
1623
+ r: string;
1624
+ b: string;
1625
+ g: string;
1626
+ kind: "hex";
1627
+ } | null | undefined;
1628
+ backgroundColour?: {
1629
+ r: string;
1630
+ b: string;
1631
+ g: string;
1632
+ kind: "hex";
1633
+ } | null | undefined;
1634
+ } | null | undefined;
1635
+ }[];
1636
+ mobileChoiceCards?: {
1637
+ product: {
1638
+ supportTier: "Contribution";
1639
+ ratePlan: "Monthly" | "Annual";
1640
+ } | {
1641
+ supportTier: "SupporterPlus";
1642
+ ratePlan: "Monthly" | "Annual";
1643
+ } | {
1644
+ supportTier: "OneOff";
1645
+ };
1646
+ label: string;
1647
+ isDefault: boolean;
1648
+ benefits: {
1649
+ copy: string;
1650
+ }[];
1651
+ benefitsLabel?: string | null | undefined;
1652
+ pill?: {
1653
+ copy: string;
1654
+ textColour?: {
1655
+ r: string;
1656
+ b: string;
1657
+ g: string;
1658
+ kind: "hex";
1659
+ } | null | undefined;
1660
+ backgroundColour?: {
1661
+ r: string;
1662
+ b: string;
1663
+ g: string;
1664
+ kind: "hex";
1665
+ } | null | undefined;
1666
+ } | null | undefined;
1667
+ }[] | null | undefined;
1668
+ } | null | undefined;
1078
1669
  }>;
1079
1670
  //# sourceMappingURL=banner.d.ts.map