@mobielnl/elements 0.9.1 → 0.10.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.
- package/dist/elements.css +1 -1
- package/dist/elements.js +1 -1
- package/dist/elements.umd.cjs +240 -213
- package/dist/{index-CthLP0DR.js → index-6scNbCqx.js} +38337 -30809
- package/dist/index-DEscuNt4.js +2525 -0
- package/dist/index.d.ts +575 -52
- package/package.json +3 -1
- package/dist/index-C-N4S4aV.js +0 -2382
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { ElementType } from 'react';
|
|
1
2
|
import { JSX } from 'react/jsx-runtime';
|
|
2
3
|
import { ReactNode } from 'react';
|
|
3
|
-
import
|
|
4
|
-
import * as z_2 from 'zod';
|
|
4
|
+
import * as z from 'zod';
|
|
5
5
|
|
|
6
6
|
/** Union type of all action events */
|
|
7
|
-
declare type ActionEvent = FiltersChangedEvent | SortChangedEvent | ProfileChangedEvent | DealSelectedEvent | DetailsViewedEvent;
|
|
7
|
+
export declare type ActionEvent = FiltersChangedEvent | SortChangedEvent | ProfileChangedEvent | DealSelectedEvent | DetailsViewedEvent;
|
|
8
8
|
|
|
9
9
|
declare type ActiveFilterChipsClassNames = {
|
|
10
10
|
/** The container of the filter chips */
|
|
@@ -13,6 +13,16 @@ declare type ActiveFilterChipsClassNames = {
|
|
|
13
13
|
filterChip?: FilterChipClassNames;
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
+
export declare type Address = z.infer<typeof addressSchema>;
|
|
17
|
+
|
|
18
|
+
declare const addressSchema: z.ZodObject<{
|
|
19
|
+
postcode: z.ZodString;
|
|
20
|
+
number: z.ZodString;
|
|
21
|
+
numberAddon: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
|
|
22
|
+
street: z.ZodString;
|
|
23
|
+
city: z.ZodString;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
|
|
16
26
|
declare type AverageSectionClassNames = {
|
|
17
27
|
/** Container for the average per month section */
|
|
18
28
|
container?: string;
|
|
@@ -66,6 +76,11 @@ declare type AverageSectionClassNames = {
|
|
|
66
76
|
};
|
|
67
77
|
};
|
|
68
78
|
|
|
79
|
+
export declare type Block = {
|
|
80
|
+
scope: string;
|
|
81
|
+
amount: number;
|
|
82
|
+
};
|
|
83
|
+
|
|
69
84
|
declare type ChannelsClassNames = {
|
|
70
85
|
/** The base slot of the channels section, it is the container of the channels section */
|
|
71
86
|
base?: string;
|
|
@@ -230,7 +245,7 @@ declare type CreditInfoClassNames_2 = {
|
|
|
230
245
|
};
|
|
231
246
|
|
|
232
247
|
/** Event fired when a deal/proposition is selected (clicked) */
|
|
233
|
-
declare type DealSelectedEvent = {
|
|
248
|
+
export declare type DealSelectedEvent = {
|
|
234
249
|
type: 'deal_selected';
|
|
235
250
|
/** The full proposition data */
|
|
236
251
|
proposition: ProductCardPropositionFragment;
|
|
@@ -264,7 +279,7 @@ declare type DetailsModalClassNames = {
|
|
|
264
279
|
declare type DetailsModalTab = 'general' | 'conditions' | 'channels' | 'costs';
|
|
265
280
|
|
|
266
281
|
/** Event fired when proposition details are viewed */
|
|
267
|
-
declare type DetailsViewedEvent = {
|
|
282
|
+
export declare type DetailsViewedEvent = {
|
|
268
283
|
type: 'details_viewed';
|
|
269
284
|
/** The full proposition data */
|
|
270
285
|
proposition: ProductCardPropositionFragment;
|
|
@@ -342,6 +357,51 @@ export declare type ElementsRootProps = {
|
|
|
342
357
|
css?: string;
|
|
343
358
|
cssUrl?: string;
|
|
344
359
|
};
|
|
360
|
+
/**
|
|
361
|
+
* Translations per locale for customizing copy/tone of voice
|
|
362
|
+
*
|
|
363
|
+
* @example
|
|
364
|
+
* translations={{
|
|
365
|
+
* // Locale 'nl' can be partial as undefined values fallback to default 'nl' translations
|
|
366
|
+
* nl: {
|
|
367
|
+
* common: {
|
|
368
|
+
* yes: 'Ja',
|
|
369
|
+
* },
|
|
370
|
+
* },
|
|
371
|
+
* // Locale 'en' can be partial as undefined values fallback to default 'en' translations
|
|
372
|
+
* en: {
|
|
373
|
+
* common: {
|
|
374
|
+
* yes: 'Yes',
|
|
375
|
+
* },
|
|
376
|
+
* },
|
|
377
|
+
* // Other locales require complete translations
|
|
378
|
+
* de: {
|
|
379
|
+
* common: {
|
|
380
|
+
* yes: 'Ja',
|
|
381
|
+
* no: 'Nein',
|
|
382
|
+
* confirm: 'Bestätigen',
|
|
383
|
+
* cancel: 'Abbrechen',
|
|
384
|
+
* loading: 'Laden...',
|
|
385
|
+
* close: 'Schließen',
|
|
386
|
+
* next: 'Weiter',
|
|
387
|
+
* previous: 'Zurück',
|
|
388
|
+
* select: 'Auswählen',
|
|
389
|
+
* save: 'Speichern',
|
|
390
|
+
* back: 'Zurück',
|
|
391
|
+
* },
|
|
392
|
+
* numberPreservation: {
|
|
393
|
+
* ...
|
|
394
|
+
* },
|
|
395
|
+
* ... // complete Translations object
|
|
396
|
+
* }}
|
|
397
|
+
*/
|
|
398
|
+
translations?: LocalizedTranslations;
|
|
399
|
+
/**
|
|
400
|
+
* Current locale for the UI
|
|
401
|
+
* @default 'nl'
|
|
402
|
+
* @example locale="en"
|
|
403
|
+
*/
|
|
404
|
+
locale?: Locale;
|
|
345
405
|
};
|
|
346
406
|
|
|
347
407
|
declare type ErrorAlertClassNames = {
|
|
@@ -377,8 +437,13 @@ declare type FilterChipClassNames = {
|
|
|
377
437
|
closeButton?: string;
|
|
378
438
|
};
|
|
379
439
|
|
|
440
|
+
/**
|
|
441
|
+
* Configuration for a single filter option
|
|
442
|
+
*/
|
|
443
|
+
export declare type FilterOption = NonNullable<PageByPathQuery['page']>['pageFilters'][number];
|
|
444
|
+
|
|
380
445
|
/** Event fired when filter values change */
|
|
381
|
-
declare type FiltersChangedEvent = {
|
|
446
|
+
export declare type FiltersChangedEvent = {
|
|
382
447
|
type: 'filters_changed';
|
|
383
448
|
/** The filter that was changed */
|
|
384
449
|
filter: {
|
|
@@ -416,7 +481,7 @@ declare type FiltersClassNames = {
|
|
|
416
481
|
/**
|
|
417
482
|
* Represents an active filter value selected by the user
|
|
418
483
|
*/
|
|
419
|
-
declare type FilterValue = {
|
|
484
|
+
export declare type FilterValue = {
|
|
420
485
|
/** Identifier slug matching the corresponding `FilterOption.slug` */
|
|
421
486
|
slug: string;
|
|
422
487
|
/** The selected value(s) - type depends on filter type:
|
|
@@ -429,6 +494,15 @@ declare type FilterValue = {
|
|
|
429
494
|
value: string | string[];
|
|
430
495
|
};
|
|
431
496
|
|
|
497
|
+
export declare type FixedBlock = {
|
|
498
|
+
scope: string;
|
|
499
|
+
provider: {
|
|
500
|
+
name: string;
|
|
501
|
+
imageUrl: string;
|
|
502
|
+
rank: number;
|
|
503
|
+
};
|
|
504
|
+
};
|
|
505
|
+
|
|
432
506
|
declare type GeneralClassNames = {
|
|
433
507
|
/** The base slot of the general section, it is the container of the general section */
|
|
434
508
|
base?: string;
|
|
@@ -453,6 +527,19 @@ declare type ListBoxClassNames = {
|
|
|
453
527
|
selectedIcon?: string;
|
|
454
528
|
};
|
|
455
529
|
|
|
530
|
+
export declare type Locale = 'nl' | 'en' | string;
|
|
531
|
+
|
|
532
|
+
export declare type LocalizedTranslations = {
|
|
533
|
+
/** Can be partial as undefined values fallback to default 'nl' translations */
|
|
534
|
+
nl: PartialTranslations;
|
|
535
|
+
} | {
|
|
536
|
+
/** Can be partial as undefined values fallback to default 'en' translations */
|
|
537
|
+
en: PartialTranslations;
|
|
538
|
+
} | {
|
|
539
|
+
/** Complete Translations object as there is no fallback object for other locales */
|
|
540
|
+
[locale: string]: Translations;
|
|
541
|
+
};
|
|
542
|
+
|
|
456
543
|
/**
|
|
457
544
|
* ClassNames for styling the `MainImage` component within `PropositionCard`
|
|
458
545
|
*/
|
|
@@ -476,7 +563,9 @@ declare type MainImageClassNames = {
|
|
|
476
563
|
/** Stock indicator icon */
|
|
477
564
|
icon?: string;
|
|
478
565
|
/** Stock indicator text
|
|
479
|
-
* @example "Direct leverbaar"
|
|
566
|
+
* @example "Direct leverbaar"
|
|
567
|
+
* @example "Pre-order"
|
|
568
|
+
* @example "In bestelling" */
|
|
480
569
|
text?: string;
|
|
481
570
|
};
|
|
482
571
|
};
|
|
@@ -498,7 +587,8 @@ declare type ModalClassNames = {
|
|
|
498
587
|
wrapper?: string;
|
|
499
588
|
/** The main slot of the modal content */
|
|
500
589
|
base?: string;
|
|
501
|
-
/** The header of the modal, it is displayed at the top of the modal
|
|
590
|
+
/** The header of the modal, it is displayed at the top of the modal
|
|
591
|
+
* @example "Filters" */
|
|
502
592
|
header?: string;
|
|
503
593
|
/** The body of the modal, it is displayed in the middle of the modal */
|
|
504
594
|
body?: string;
|
|
@@ -506,6 +596,9 @@ declare type ModalClassNames = {
|
|
|
506
596
|
footer?: string;
|
|
507
597
|
/** The close button (X) of the modal in top-right corner */
|
|
508
598
|
closeButton?: string;
|
|
599
|
+
/** The primary button of the modal, it is displayed at the bottom of the modal
|
|
600
|
+
* @example "Toon resultaten" */
|
|
601
|
+
primaryButton?: string;
|
|
509
602
|
};
|
|
510
603
|
|
|
511
604
|
declare type ModalClassNames_2 = {
|
|
@@ -515,8 +608,7 @@ declare type ModalClassNames_2 = {
|
|
|
515
608
|
wrapper?: string;
|
|
516
609
|
/** The main slot of the modal content */
|
|
517
610
|
base?: string;
|
|
518
|
-
/** The header of the modal, it is displayed at the top of the modal
|
|
519
|
-
* @example "Filters" */
|
|
611
|
+
/** The header of the modal, it is displayed at the top of the modal */
|
|
520
612
|
header?: string;
|
|
521
613
|
/** The body of the modal, it is displayed in the middle of the modal */
|
|
522
614
|
body?: string;
|
|
@@ -524,9 +616,6 @@ declare type ModalClassNames_2 = {
|
|
|
524
616
|
footer?: string;
|
|
525
617
|
/** The close button (X) of the modal in top-right corner */
|
|
526
618
|
closeButton?: string;
|
|
527
|
-
/** The primary button of the modal, it is displayed at the bottom of the modal
|
|
528
|
-
* @example "Toon resultaten" */
|
|
529
|
-
primaryButton?: string;
|
|
530
619
|
};
|
|
531
620
|
|
|
532
621
|
declare type ModalClassNames_3 = {
|
|
@@ -680,6 +769,49 @@ declare type NumberPreservationModalClassNames = {
|
|
|
680
769
|
submitButton?: string;
|
|
681
770
|
};
|
|
682
771
|
|
|
772
|
+
declare type PageByPathQuery = {
|
|
773
|
+
__typename?: 'RootQueryType';
|
|
774
|
+
page?: {
|
|
775
|
+
__typename?: 'Page';
|
|
776
|
+
productCategory: string;
|
|
777
|
+
filter: string;
|
|
778
|
+
filterDefaults: string;
|
|
779
|
+
pageFilters: Array<{
|
|
780
|
+
__typename?: 'PageFilter';
|
|
781
|
+
id: string;
|
|
782
|
+
name: string;
|
|
783
|
+
shortName: string;
|
|
784
|
+
slug: string;
|
|
785
|
+
column: string;
|
|
786
|
+
type: string;
|
|
787
|
+
valueType: string;
|
|
788
|
+
dynamic: boolean;
|
|
789
|
+
min?: number | null;
|
|
790
|
+
max?: number | null;
|
|
791
|
+
rank: number;
|
|
792
|
+
operator: string;
|
|
793
|
+
url?: string | null;
|
|
794
|
+
formatType: string;
|
|
795
|
+
showCounts: boolean;
|
|
796
|
+
options: Array<{
|
|
797
|
+
__typename?: 'PageFilterOption';
|
|
798
|
+
name: string;
|
|
799
|
+
descriptiveName: string;
|
|
800
|
+
value: string;
|
|
801
|
+
}>;
|
|
802
|
+
aliases: Array<{
|
|
803
|
+
__typename?: 'PageFilterAlias';
|
|
804
|
+
name: string;
|
|
805
|
+
value: string;
|
|
806
|
+
}>;
|
|
807
|
+
}>;
|
|
808
|
+
} | null;
|
|
809
|
+
};
|
|
810
|
+
|
|
811
|
+
export declare type PartialTranslations = Partial<{
|
|
812
|
+
[key in keyof Translations]: Partial<Translations[key]>;
|
|
813
|
+
}>;
|
|
814
|
+
|
|
683
815
|
declare type PopoverContentClassNames = {
|
|
684
816
|
base?: string;
|
|
685
817
|
trigger?: string;
|
|
@@ -702,9 +834,9 @@ declare type PostcodeCheckLoadingClassNames = {
|
|
|
702
834
|
addressText?: string;
|
|
703
835
|
};
|
|
704
836
|
|
|
705
|
-
|
|
837
|
+
declare type PostcodeCheckModalClassNames = {
|
|
706
838
|
/** Modal dialog class styling slots - see type `ModalClassNames` */
|
|
707
|
-
modal?:
|
|
839
|
+
modal?: ModalClassNames_2;
|
|
708
840
|
/** Header section containing icon and title */
|
|
709
841
|
header?: {
|
|
710
842
|
/** Container wrapping the header content */
|
|
@@ -1038,16 +1170,24 @@ export declare function ProductResults({ classNames, initialSelectedFilters, ini
|
|
|
1038
1170
|
export declare type ProductResultsClassNames = {
|
|
1039
1171
|
/** Wrapper container for the entire product results */
|
|
1040
1172
|
base?: string;
|
|
1173
|
+
/** Wrapper container for the header section above the results
|
|
1174
|
+
* - Wraps on mobile+tablet the `filterButton` and `sortSelect`
|
|
1175
|
+
* - Wraps on desktop the `activeFilterChips` and `sortSelect` */
|
|
1176
|
+
headerWrapper?: string;
|
|
1041
1177
|
/** Active filters component class styling slots - see type `ActiveFilterChipsClassNames` */
|
|
1042
1178
|
activeFilterChips?: ActiveFilterChipsClassNames;
|
|
1043
1179
|
/** SortSelect component class styling slots - see type `SortSelectClassNames` */
|
|
1044
1180
|
sortSelect?: SortSelectClassNames;
|
|
1181
|
+
/** Profile buttons component class styling slots - see type `SelectorClassNames` */
|
|
1182
|
+
profileButton?: SelectorClassNames;
|
|
1183
|
+
/** Phone selector button component class styling slots - see type `SelectorClassNames` */
|
|
1184
|
+
phoneSelectorButton?: SelectorClassNames;
|
|
1045
1185
|
/** Filters component class styling slots (both filters in sidebar and in modal) - see type `FiltersClassNames` */
|
|
1046
1186
|
filters?: FiltersClassNames;
|
|
1047
1187
|
/** Filter button (only on mobile & tablet screens) */
|
|
1048
1188
|
filterButton?: string;
|
|
1049
1189
|
/** Filter modal class styling slots - see type `ModalClassNames` */
|
|
1050
|
-
filterModal?:
|
|
1190
|
+
filterModal?: ModalClassNames;
|
|
1051
1191
|
/** Postcode check modal class styling slots - see type `PostcodeCheckModalClassNames` */
|
|
1052
1192
|
postcodeCheckModal?: PostcodeCheckModalClassNames;
|
|
1053
1193
|
/** CombiDeal modal class styling slots - see type `CombiDealModalClassNames` */
|
|
@@ -1067,18 +1207,33 @@ export declare type ProductResultsProps = {
|
|
|
1067
1207
|
*
|
|
1068
1208
|
* Not available for smartphone propositions when no phone is selected */
|
|
1069
1209
|
showTopPropositions?: boolean;
|
|
1070
|
-
/**
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1210
|
+
/** Configure the color of the labels for the propositions
|
|
1211
|
+
*
|
|
1212
|
+
* @example color: 'primary' | 'secondary' | 'default' | 'success' | 'warning' | 'danger'
|
|
1213
|
+
* @default 'primary'
|
|
1214
|
+
*
|
|
1215
|
+
* @example
|
|
1216
|
+
* {
|
|
1217
|
+
* isRetention: 'primary',
|
|
1218
|
+
* isCheapestPhone: 'secondary',
|
|
1219
|
+
* isBudget: 'default',
|
|
1220
|
+
* isBudgetFiber: 'success',
|
|
1221
|
+
* isCombi: 'warning',
|
|
1222
|
+
* isFastestInternet: 'danger',
|
|
1223
|
+
* isBudgetOwnNetwork: 'success',
|
|
1224
|
+
* isBudgetNetwork: 'success'
|
|
1225
|
+
* }
|
|
1226
|
+
*
|
|
1227
|
+
* It is possible to configure a selection of the label types
|
|
1228
|
+
* The other label types will default to 'primary'
|
|
1229
|
+
*
|
|
1230
|
+
* @example
|
|
1231
|
+
* {
|
|
1232
|
+
* isRetention: 'danger',
|
|
1233
|
+
* isCombi: 'warning'
|
|
1234
|
+
* }
|
|
1235
|
+
*/
|
|
1236
|
+
labelColorConfig?: Partial<Record<PropositionLabel['type'], PropositionLabel['color']>>;
|
|
1082
1237
|
/** Initial selected filters */
|
|
1083
1238
|
initialSelectedFilters?: FilterValue[];
|
|
1084
1239
|
/** Limit the number of propositions to display */
|
|
@@ -1089,7 +1244,7 @@ export declare type ProductResultsProps = {
|
|
|
1089
1244
|
initialProfile?: Partial<Profile>;
|
|
1090
1245
|
/** Callback function to handle profile changes */
|
|
1091
1246
|
onProfileChange?: (profile: Partial<Profile>) => void;
|
|
1092
|
-
/** Callback function to add search params for the click-out URL
|
|
1247
|
+
/** Callback function to add search params for the click-out URL */
|
|
1093
1248
|
addClickoutSearchParams?: (searchParams: URLSearchParams) => URLSearchParams;
|
|
1094
1249
|
/** Callback function called when an error occurs */
|
|
1095
1250
|
onError?: (error: Error) => void;
|
|
@@ -1137,37 +1292,37 @@ declare enum ProductVersionStatusEnum {
|
|
|
1137
1292
|
Unavailable = "UNAVAILABLE"
|
|
1138
1293
|
}
|
|
1139
1294
|
|
|
1140
|
-
declare type Profile = z.infer<typeof profileSchema>;
|
|
1295
|
+
export declare type Profile = z.infer<typeof profileSchema>;
|
|
1141
1296
|
|
|
1142
1297
|
/** Event fired when user profile changes */
|
|
1143
|
-
declare type ProfileChangedEvent = {
|
|
1298
|
+
export declare type ProfileChangedEvent = {
|
|
1144
1299
|
type: 'profile_changed';
|
|
1145
1300
|
from: Partial<Profile>;
|
|
1146
1301
|
to: Partial<Profile>;
|
|
1147
1302
|
};
|
|
1148
1303
|
|
|
1149
|
-
declare const profileSchema:
|
|
1150
|
-
keepCurrentMsisdn:
|
|
1151
|
-
currentMsisdn:
|
|
1152
|
-
currentSubscriptionType:
|
|
1304
|
+
declare const profileSchema: z.ZodObject<{
|
|
1305
|
+
keepCurrentMsisdn: z.ZodOptional<z.ZodBoolean>;
|
|
1306
|
+
currentMsisdn: z.ZodOptional<z.ZodString>;
|
|
1307
|
+
currentSubscriptionType: z.ZodOptional<z.ZodEnum<{
|
|
1153
1308
|
subscription: "subscription";
|
|
1154
1309
|
prepaid: "prepaid";
|
|
1155
1310
|
}>>;
|
|
1156
|
-
currentProviderSlug:
|
|
1157
|
-
currentFixedProviderScope:
|
|
1158
|
-
currentMobileProviders:
|
|
1159
|
-
scope:
|
|
1160
|
-
value:
|
|
1161
|
-
},
|
|
1162
|
-
customerSegment:
|
|
1163
|
-
address:
|
|
1164
|
-
postcode:
|
|
1165
|
-
number:
|
|
1166
|
-
numberAddon:
|
|
1167
|
-
street:
|
|
1168
|
-
city:
|
|
1169
|
-
},
|
|
1170
|
-
},
|
|
1311
|
+
currentProviderSlug: z.ZodOptional<z.ZodString>;
|
|
1312
|
+
currentFixedProviderScope: z.ZodOptional<z.ZodString>;
|
|
1313
|
+
currentMobileProviders: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1314
|
+
scope: z.ZodString;
|
|
1315
|
+
value: z.ZodString;
|
|
1316
|
+
}, z.core.$strip>>>;
|
|
1317
|
+
customerSegment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1318
|
+
address: z.ZodOptional<z.ZodObject<{
|
|
1319
|
+
postcode: z.ZodString;
|
|
1320
|
+
number: z.ZodString;
|
|
1321
|
+
numberAddon: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
|
|
1322
|
+
street: z.ZodString;
|
|
1323
|
+
city: z.ZodString;
|
|
1324
|
+
}, z.core.$strip>>;
|
|
1325
|
+
}, z.core.$strip>;
|
|
1171
1326
|
|
|
1172
1327
|
/**
|
|
1173
1328
|
* ClassNames for styling the `PromotionList` component within `PropositionCard`
|
|
@@ -1301,6 +1456,17 @@ declare type PropositionHeaderClassNames = {
|
|
|
1301
1456
|
};
|
|
1302
1457
|
};
|
|
1303
1458
|
|
|
1459
|
+
export declare type PropositionLabel = {
|
|
1460
|
+
type: PropositionLabelType;
|
|
1461
|
+
displayName: string;
|
|
1462
|
+
rank: number;
|
|
1463
|
+
color: PropositionLabelColor;
|
|
1464
|
+
};
|
|
1465
|
+
|
|
1466
|
+
export declare type PropositionLabelColor = 'primary' | 'secondary' | 'default' | 'success' | 'warning' | 'danger';
|
|
1467
|
+
|
|
1468
|
+
export declare type PropositionLabelType = 'isRetention' | 'isCheapestPhone' | 'isBudget' | 'isBudgetFiber' | 'isCombi' | 'isFastestInternet' | 'isBudgetOwnNetwork' | 'isBudgetNetwork';
|
|
1469
|
+
|
|
1304
1470
|
declare type PropositionOverviewClassNames = {
|
|
1305
1471
|
/** The base container of the proposition overview */
|
|
1306
1472
|
base?: string;
|
|
@@ -1314,6 +1480,13 @@ declare type PropositionOverviewClassNames = {
|
|
|
1314
1480
|
creditInfo?: CreditInfoClassNames_2;
|
|
1315
1481
|
};
|
|
1316
1482
|
|
|
1483
|
+
export declare type ProviderOption = {
|
|
1484
|
+
slug: string;
|
|
1485
|
+
name: string;
|
|
1486
|
+
imageUrl: string | undefined;
|
|
1487
|
+
Icon?: ElementType;
|
|
1488
|
+
};
|
|
1489
|
+
|
|
1317
1490
|
/**
|
|
1318
1491
|
* ClassNames for styling different parts of the `RadioFilter` component
|
|
1319
1492
|
*/
|
|
@@ -1450,6 +1623,35 @@ declare type SelectFilterClassNames = {
|
|
|
1450
1623
|
collapseLink?: string;
|
|
1451
1624
|
};
|
|
1452
1625
|
|
|
1626
|
+
/**
|
|
1627
|
+
* ClassNames for styling different parts of the `Selector` component
|
|
1628
|
+
*/
|
|
1629
|
+
declare type SelectorClassNames = {
|
|
1630
|
+
/** Title text styling */
|
|
1631
|
+
title?: string;
|
|
1632
|
+
/** Description text styling */
|
|
1633
|
+
description?: string;
|
|
1634
|
+
/** Main button wrapper */
|
|
1635
|
+
button?: string;
|
|
1636
|
+
/** Icon component styling - chevron/edit icon */
|
|
1637
|
+
icon?: string;
|
|
1638
|
+
/** Badge component (visible when not selected) */
|
|
1639
|
+
badge?: string;
|
|
1640
|
+
/** Avatar component displaying the image or icon */
|
|
1641
|
+
avatar?: {
|
|
1642
|
+
/** Base wrapper styling for the avatar container */
|
|
1643
|
+
base?: string;
|
|
1644
|
+
/** Image element styling */
|
|
1645
|
+
img?: string;
|
|
1646
|
+
/** Name text styling (when displaying initials) */
|
|
1647
|
+
name?: string;
|
|
1648
|
+
/** Icon wrapper styling */
|
|
1649
|
+
icon?: string;
|
|
1650
|
+
/** Fallback content styling (when no image is available) */
|
|
1651
|
+
fallback?: string;
|
|
1652
|
+
};
|
|
1653
|
+
};
|
|
1654
|
+
|
|
1453
1655
|
/**
|
|
1454
1656
|
* ClassNames for styling different parts of the `RangeFilter`, `MinFilter` and `MaxFilter` component
|
|
1455
1657
|
*/
|
|
@@ -1484,7 +1686,7 @@ declare type SliderFilterClassNames = {
|
|
|
1484
1686
|
};
|
|
1485
1687
|
|
|
1486
1688
|
/** Event fired when sort option changes */
|
|
1487
|
-
declare type SortChangedEvent = {
|
|
1689
|
+
export declare type SortChangedEvent = {
|
|
1488
1690
|
type: 'sort_changed';
|
|
1489
1691
|
from: string | undefined;
|
|
1490
1692
|
to: string;
|
|
@@ -1565,4 +1767,325 @@ declare type TermsClassNames = {
|
|
|
1565
1767
|
base?: string;
|
|
1566
1768
|
} & SectionClassNames;
|
|
1567
1769
|
|
|
1770
|
+
export declare type Translations = {
|
|
1771
|
+
common: {
|
|
1772
|
+
yes: string;
|
|
1773
|
+
no: string;
|
|
1774
|
+
confirm: string;
|
|
1775
|
+
cancel: string;
|
|
1776
|
+
loading: string;
|
|
1777
|
+
close: string;
|
|
1778
|
+
next: string;
|
|
1779
|
+
previous: string;
|
|
1780
|
+
select: string;
|
|
1781
|
+
save: string;
|
|
1782
|
+
back: string;
|
|
1783
|
+
};
|
|
1784
|
+
numberPreservation: {
|
|
1785
|
+
title: string;
|
|
1786
|
+
description: string;
|
|
1787
|
+
keepCurrentNumber: string;
|
|
1788
|
+
newNumber: string;
|
|
1789
|
+
currentProvider: string;
|
|
1790
|
+
selectProvider: string;
|
|
1791
|
+
invalidNumber: string;
|
|
1792
|
+
subscription: string;
|
|
1793
|
+
prepaid: string;
|
|
1794
|
+
otherProvider: string;
|
|
1795
|
+
};
|
|
1796
|
+
combiDeal: {
|
|
1797
|
+
title: string;
|
|
1798
|
+
description: string;
|
|
1799
|
+
selectHomeProvider: string;
|
|
1800
|
+
selectOtherSubscriptionsOnAddress: string;
|
|
1801
|
+
customerBenefit: string;
|
|
1802
|
+
homeInternet: string;
|
|
1803
|
+
selectOtherSubscriptions: string;
|
|
1804
|
+
otherSubscriptionsDescription: string;
|
|
1805
|
+
otherSubscriptions: string;
|
|
1806
|
+
movingOption: string;
|
|
1807
|
+
otherProvider: string;
|
|
1808
|
+
};
|
|
1809
|
+
postcodeCheck: {
|
|
1810
|
+
loading: string;
|
|
1811
|
+
invalidAddressError: string;
|
|
1812
|
+
title: string;
|
|
1813
|
+
description: string;
|
|
1814
|
+
postalCode: string;
|
|
1815
|
+
houseNumber: string;
|
|
1816
|
+
houseNumberAddition: string;
|
|
1817
|
+
selectProvider: string;
|
|
1818
|
+
homeInternet: string;
|
|
1819
|
+
};
|
|
1820
|
+
profile: {
|
|
1821
|
+
personalizeTitle: string;
|
|
1822
|
+
postcodeCheck: string;
|
|
1823
|
+
enterPostcode: string;
|
|
1824
|
+
numberPreservation: string;
|
|
1825
|
+
askNumberPreservation: string;
|
|
1826
|
+
newNumber: string;
|
|
1827
|
+
customerBenefit: string;
|
|
1828
|
+
};
|
|
1829
|
+
format: {
|
|
1830
|
+
unlimited: string;
|
|
1831
|
+
/** Short version of `unlimited` */
|
|
1832
|
+
unlimited_short: string;
|
|
1833
|
+
gigabyte: string;
|
|
1834
|
+
minutes: string;
|
|
1835
|
+
/** Short version of `minutes` */
|
|
1836
|
+
minutes_short: string;
|
|
1837
|
+
sms: string;
|
|
1838
|
+
year: string;
|
|
1839
|
+
/** Plural of `year` */
|
|
1840
|
+
year_other: string;
|
|
1841
|
+
oneTime: string;
|
|
1842
|
+
month: string;
|
|
1843
|
+
/** Plural of `month` */
|
|
1844
|
+
month_other: string;
|
|
1845
|
+
/** Short version of `month` */
|
|
1846
|
+
month_short: string;
|
|
1847
|
+
/** Plural of `month_short` */
|
|
1848
|
+
month_short_other: string;
|
|
1849
|
+
monthly: string;
|
|
1850
|
+
firstMonth: string;
|
|
1851
|
+
/** Plural of `firstMonth` */
|
|
1852
|
+
firstMonth_other: string;
|
|
1853
|
+
thenMonth: string;
|
|
1854
|
+
/** Plural of `thenMonth` */
|
|
1855
|
+
thenMonth_other: string;
|
|
1856
|
+
afterMonth: string;
|
|
1857
|
+
/** Plural of `afterMonth` */
|
|
1858
|
+
afterMonth_other: string;
|
|
1859
|
+
hour: string;
|
|
1860
|
+
/** Plural of `hour` */
|
|
1861
|
+
hour_other: string;
|
|
1862
|
+
inch: string;
|
|
1863
|
+
centimeter: string;
|
|
1864
|
+
milliampere: string;
|
|
1865
|
+
megabitPerSecond: string;
|
|
1866
|
+
internet: string;
|
|
1867
|
+
from: string;
|
|
1868
|
+
startingFrom: string;
|
|
1869
|
+
to: string;
|
|
1870
|
+
for: string;
|
|
1871
|
+
or: string;
|
|
1872
|
+
average: string;
|
|
1873
|
+
/** Short version of `average` */
|
|
1874
|
+
average_short: string;
|
|
1875
|
+
maximum: string;
|
|
1876
|
+
};
|
|
1877
|
+
labels: {
|
|
1878
|
+
/** Renew with {{providerName}} */
|
|
1879
|
+
renewWith: string;
|
|
1880
|
+
/** Cheapest phone */
|
|
1881
|
+
cheapestPhone: string;
|
|
1882
|
+
/** Budget */
|
|
1883
|
+
budget: string;
|
|
1884
|
+
/** Most affordable with fiber */
|
|
1885
|
+
budgetFiber: string;
|
|
1886
|
+
/** Customer benefits with {{providerName}} */
|
|
1887
|
+
combi: string;
|
|
1888
|
+
/** Customer benefits */
|
|
1889
|
+
combiGeneric: string;
|
|
1890
|
+
/** Fastest internet */
|
|
1891
|
+
fastestInternet: string;
|
|
1892
|
+
/** Most affordable with own network */
|
|
1893
|
+
budgetOwnNetwork: string;
|
|
1894
|
+
/** Most affordable on {{network}}-network */
|
|
1895
|
+
budgetNetwork: string;
|
|
1896
|
+
/** Most affordable on network */
|
|
1897
|
+
budgetNetworkGeneric: string;
|
|
1898
|
+
};
|
|
1899
|
+
propositionCard: {
|
|
1900
|
+
availableStockStatus: string;
|
|
1901
|
+
backorderedStockStatus: string;
|
|
1902
|
+
preOrderStockStatus: string;
|
|
1903
|
+
oneTimeFee: string;
|
|
1904
|
+
deviceDiscount: string;
|
|
1905
|
+
urgentText: string;
|
|
1906
|
+
/** Plural of `urgentText` */
|
|
1907
|
+
urgentText_other: string;
|
|
1908
|
+
cta: string;
|
|
1909
|
+
};
|
|
1910
|
+
fixedInternet: {
|
|
1911
|
+
/** Fiber */
|
|
1912
|
+
'glasvezel-internet': string;
|
|
1913
|
+
/** Cable */
|
|
1914
|
+
'kabel-internet': string;
|
|
1915
|
+
/** DSL */
|
|
1916
|
+
'dsl-internet': string;
|
|
1917
|
+
/** 5G */
|
|
1918
|
+
'5g-internet': string;
|
|
1919
|
+
};
|
|
1920
|
+
filters: {
|
|
1921
|
+
title: string;
|
|
1922
|
+
resetFilters: string;
|
|
1923
|
+
applyFilters: string;
|
|
1924
|
+
chosenFilters: string;
|
|
1925
|
+
sort: string;
|
|
1926
|
+
sortBy: string;
|
|
1927
|
+
show: string;
|
|
1928
|
+
showMore: string;
|
|
1929
|
+
showLess: string;
|
|
1930
|
+
};
|
|
1931
|
+
filterOptions: {
|
|
1932
|
+
brand: string;
|
|
1933
|
+
internal_storage: string;
|
|
1934
|
+
color: string;
|
|
1935
|
+
data: string;
|
|
1936
|
+
minutes: string;
|
|
1937
|
+
credit_fee: string;
|
|
1938
|
+
provider: string;
|
|
1939
|
+
contract_term: string;
|
|
1940
|
+
package: string;
|
|
1941
|
+
data_speed_down: string;
|
|
1942
|
+
data_speed_up: string;
|
|
1943
|
+
monthly_fee: string;
|
|
1944
|
+
price: string;
|
|
1945
|
+
tags_netwerk: string;
|
|
1946
|
+
tags_verbinding: string;
|
|
1947
|
+
tags_esim: string;
|
|
1948
|
+
receivers: string;
|
|
1949
|
+
network_generation: string;
|
|
1950
|
+
};
|
|
1951
|
+
sortOptions: {
|
|
1952
|
+
/** Relevance */
|
|
1953
|
+
top: string;
|
|
1954
|
+
/** Relevance */
|
|
1955
|
+
relevantie: string;
|
|
1956
|
+
/** Best-selling */
|
|
1957
|
+
'best-verkocht': string;
|
|
1958
|
+
/** Price low-high */
|
|
1959
|
+
'meest-voordelig': string;
|
|
1960
|
+
/** Download speed */
|
|
1961
|
+
downloadsnelheid: string;
|
|
1962
|
+
/** Upload speed */
|
|
1963
|
+
uploadsnelheid: string;
|
|
1964
|
+
};
|
|
1965
|
+
productResults: {
|
|
1966
|
+
loadMore: string;
|
|
1967
|
+
showMoreOffers: string;
|
|
1968
|
+
noResultsTitle: string;
|
|
1969
|
+
noResultsDescription: string;
|
|
1970
|
+
sortBy: string;
|
|
1971
|
+
topPropositionsTitle: string;
|
|
1972
|
+
allPropositionsTitle: string;
|
|
1973
|
+
};
|
|
1974
|
+
creditInfo: {
|
|
1975
|
+
exampleTitle: string;
|
|
1976
|
+
creditBundleTitle: string;
|
|
1977
|
+
offer: string;
|
|
1978
|
+
totalDeviceCost: string;
|
|
1979
|
+
oneTimeFee: string;
|
|
1980
|
+
totalCreditAmount: string;
|
|
1981
|
+
monthlyPayment: string;
|
|
1982
|
+
contractTerm: string;
|
|
1983
|
+
fixedInterest: string;
|
|
1984
|
+
generalDescription: string;
|
|
1985
|
+
creditBundleDescription: string;
|
|
1986
|
+
};
|
|
1987
|
+
detailsModal: {
|
|
1988
|
+
title: string;
|
|
1989
|
+
renewal: string;
|
|
1990
|
+
chooseTab: string;
|
|
1991
|
+
general: string;
|
|
1992
|
+
bundles: string;
|
|
1993
|
+
conditions: string;
|
|
1994
|
+
channels: string;
|
|
1995
|
+
costs: string;
|
|
1996
|
+
specifications: string;
|
|
1997
|
+
monthlyFee: string;
|
|
1998
|
+
oneTimeFee: string;
|
|
1999
|
+
totalCost: string;
|
|
2000
|
+
provider: string;
|
|
2001
|
+
network: string;
|
|
2002
|
+
networkCoverage: string;
|
|
2003
|
+
networkAdministrator: string;
|
|
2004
|
+
networkType: string;
|
|
2005
|
+
subscriptionType: string;
|
|
2006
|
+
internet: string;
|
|
2007
|
+
calling: string;
|
|
2008
|
+
sms: string;
|
|
2009
|
+
extras: string;
|
|
2010
|
+
television: string;
|
|
2011
|
+
networkGeneration: string;
|
|
2012
|
+
downloadSpeed: string;
|
|
2013
|
+
uploadSpeed: string;
|
|
2014
|
+
contractTerm: string;
|
|
2015
|
+
contractTermTerminable: string;
|
|
2016
|
+
subscription: string;
|
|
2017
|
+
bundle: string;
|
|
2018
|
+
bundleSpeed: string;
|
|
2019
|
+
termsAndConditions: string;
|
|
2020
|
+
maximumDownloadSpeed: string;
|
|
2021
|
+
maximumUploadSpeed: string;
|
|
2022
|
+
numberOfChannels: string;
|
|
2023
|
+
numberOfReceivers: string;
|
|
2024
|
+
outsideBundle: string;
|
|
2025
|
+
subscriptionFlexibility: string;
|
|
2026
|
+
abroad: string;
|
|
2027
|
+
insideEu: string;
|
|
2028
|
+
outsideEu: string;
|
|
2029
|
+
minutesToEu: string;
|
|
2030
|
+
upgradeBundle: string;
|
|
2031
|
+
downgradeBundle: string;
|
|
2032
|
+
dataExceedance: string;
|
|
2033
|
+
bundleExceedanceRates: string;
|
|
2034
|
+
bundleExceedanceRateCeiling: string;
|
|
2035
|
+
bundleExceedanceWarning: string;
|
|
2036
|
+
bundleExceedanceMinutesRounding: string;
|
|
2037
|
+
channelsDescription: string;
|
|
2038
|
+
moreInformation: string;
|
|
2039
|
+
deviceBundle: string;
|
|
2040
|
+
installationFee: string;
|
|
2041
|
+
activationFee: string;
|
|
2042
|
+
cashback: string;
|
|
2043
|
+
priceWithoutSubscription: string;
|
|
2044
|
+
priceWithSubscription: string;
|
|
2045
|
+
devicePrice: string;
|
|
2046
|
+
costPerContractTermTitle: string;
|
|
2047
|
+
costPerContractTermSubtitle: string;
|
|
2048
|
+
deviceDiscountTitle: string;
|
|
2049
|
+
deviceDiscountSubtitle: string;
|
|
2050
|
+
totalCostsOverTerm: string;
|
|
2051
|
+
/** Plural of `totalCostsOverTerm` */
|
|
2052
|
+
totalCostsOverTerm_other: string;
|
|
2053
|
+
totalDeviceDiscount: string;
|
|
2054
|
+
};
|
|
2055
|
+
phoneSelector: {
|
|
2056
|
+
phone: string;
|
|
2057
|
+
selectPhone: string;
|
|
2058
|
+
selectBrand: string;
|
|
2059
|
+
searchPlaceholder: string;
|
|
2060
|
+
popular: string;
|
|
2061
|
+
allBrands: string;
|
|
2062
|
+
selectVersion: string;
|
|
2063
|
+
selectColor: string;
|
|
2064
|
+
};
|
|
2065
|
+
modificationBlocks: {
|
|
2066
|
+
/** One or more mobile subscriptions */
|
|
2067
|
+
'mobile/odido': string;
|
|
2068
|
+
/** One or more mobile subscriptions */
|
|
2069
|
+
'mobile/vodafone': string;
|
|
2070
|
+
/** I am younger than 28 years old */
|
|
2071
|
+
'segment/vodafone/young': string;
|
|
2072
|
+
/** Vodafone Unlimited subscription at my address */
|
|
2073
|
+
'segment/vodafone/unlimited': string;
|
|
2074
|
+
/** Another mobile subscription from KPN */
|
|
2075
|
+
'mobile/kpn': string;
|
|
2076
|
+
/** One or more mobile subscriptions */
|
|
2077
|
+
'mobile/ben': string;
|
|
2078
|
+
/** One or more mobile subscriptions */
|
|
2079
|
+
'mobile/50plusmobiel': string;
|
|
2080
|
+
/** One or more mobile subscriptions */
|
|
2081
|
+
'mobile/hollandsnieuwe': string;
|
|
2082
|
+
/** One or more mobile subscriptions */
|
|
2083
|
+
'mobile/budget': string;
|
|
2084
|
+
/** One or more mobile subscriptions */
|
|
2085
|
+
'mobile/youfone': string;
|
|
2086
|
+
/** One or more mobile subscriptions */
|
|
2087
|
+
'mobile/delta': string;
|
|
2088
|
+
};
|
|
2089
|
+
};
|
|
2090
|
+
|
|
1568
2091
|
export { }
|