@mobielnl/elements 0.7.0 → 0.8.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.
package/dist/index.d.ts CHANGED
@@ -1,15 +1,8 @@
1
- import { Component } from 'react';
2
- import { ErrorInfo } from 'react';
3
1
  import { JSX } from 'react/jsx-runtime';
4
- import { JSXElementConstructor } from 'react';
5
- import { ReactElement } from 'react';
6
2
  import { ReactNode } from 'react';
7
- import { ReactPortal } from 'react';
8
3
  import { z } from 'zod';
9
4
  import * as z_2 from 'zod';
10
5
 
11
- export declare function ActiveFilterChips({ activeFilters, filterOptions, onFilterRemove, classNames, }: ActiveFilterChipsProps): JSX.Element | null;
12
-
13
6
  declare type ActiveFilterChipsClassNames = {
14
7
  /** The container of the filter chips */
15
8
  container?: string;
@@ -17,15 +10,177 @@ declare type ActiveFilterChipsClassNames = {
17
10
  filterChip?: FilterChipClassNames;
18
11
  };
19
12
 
20
- declare type ActiveFilterChipsProps = {
21
- /** Currently active filter values */
22
- activeFilters: FilterValue[];
23
- /** Available filter options to display */
24
- filterOptions: FilterOption[];
25
- /** Callback when a filter value is removed */
26
- onFilterRemove: (filter: FilterValue) => void;
27
- /** Class slots for styling */
28
- classNames?: ActiveFilterChipsClassNames;
13
+ declare type AverageSectionClassNames = {
14
+ /** Container for the average per month section */
15
+ container?: string;
16
+ /** Header section with icon and title */
17
+ header?: string;
18
+ /** Container for icon and text */
19
+ headerContent?: string;
20
+ /** Icon container */
21
+ icon?: string;
22
+ /** Title text */
23
+ title?: string;
24
+ /** Subtitle/description text */
25
+ subtitle?: string;
26
+ /** Price display in header */
27
+ price?: string;
28
+ /** Container for monthly fees list */
29
+ monthlyFeesContainer?: string;
30
+ /** Individual monthly fee item */
31
+ monthlyFee?: MonthlyFeeClassNames;
32
+ /** One-time fee row */
33
+ oneTimeFee?: {
34
+ container?: string;
35
+ label?: string;
36
+ price?: string;
37
+ };
38
+ /** Activation fee row */
39
+ activationFee?: {
40
+ container?: string;
41
+ label?: string;
42
+ price?: string;
43
+ };
44
+ /** Installation fee row (for fixed products) */
45
+ installationFee?: {
46
+ container?: string;
47
+ label?: string;
48
+ price?: string;
49
+ };
50
+ /** Cashback row */
51
+ cashback?: {
52
+ container?: string;
53
+ label?: string;
54
+ price?: string;
55
+ };
56
+ /** Horizontal separator */
57
+ separator?: string;
58
+ /** Total costs row */
59
+ totalCosts?: {
60
+ container?: string;
61
+ label?: string;
62
+ price?: string;
63
+ };
64
+ };
65
+
66
+ declare type ChannelsClassNames = {
67
+ /** The base slot of the channels section, it is the container of the channels section */
68
+ base?: string;
69
+ /** The description text above the channels list */
70
+ description?: string;
71
+ /** The list container for channels */
72
+ list?: string;
73
+ /** Individual list item styles */
74
+ listItem?: string;
75
+ /** Container for channel name and HD badge */
76
+ channelContainer?: string;
77
+ /** HD icon */
78
+ hdIcon?: string;
79
+ };
80
+
81
+ declare type CombiDealModalClassNames = {
82
+ /** Modal dialog class styling slots - see type `ModalClassNames` */
83
+ modal?: ModalClassNames_3;
84
+ /** Header section containing icon and title */
85
+ header?: {
86
+ /** Container wrapping the header content */
87
+ container?: string;
88
+ /** Icon wrapper with background */
89
+ iconWrapper?: string;
90
+ /** Discount icon */
91
+ icon?: string;
92
+ /** Main title text */
93
+ title?: string;
94
+ /** Description text below title */
95
+ description?: string;
96
+ };
97
+ /** Home internet provider selection section */
98
+ providerSelection?: {
99
+ /** Home internet provider section title
100
+ * @example 'Thuis internet' */
101
+ title?: string;
102
+ /** Select component styling */
103
+ select?: {
104
+ /** Select label styling */
105
+ label?: string;
106
+ /** Select trigger button styling */
107
+ trigger?: string;
108
+ /** Provider item container in select */
109
+ itemContainer?: string;
110
+ /** Provider icon styling */
111
+ icon?: string;
112
+ };
113
+ };
114
+ /** Other subscriptions section */
115
+ otherSubscriptions?: {
116
+ /** Container for the section */
117
+ container?: string;
118
+ /** Section label */
119
+ label?: string;
120
+ /** Description text below label */
121
+ description?: string;
122
+ /** Listbox container wrapper */
123
+ listboxContainer?: string;
124
+ /** The slot for the listbox component. You can see this slot as the `ul` slot */
125
+ listboxList?: string;
126
+ /** Listbox item styling */
127
+ listboxItem?: {
128
+ /** The main slot for the listbox item. It wraps all the other slots */
129
+ base?: string;
130
+ /** The title and description wrapper */
131
+ wrapper?: string;
132
+ /** Provider image styling */
133
+ image?: string;
134
+ /** Provider name title text
135
+ * @example 'Odido' */
136
+ title?: string;
137
+ /** Provider description text
138
+ * @example 'Één of meer mobiele abonnementen' */
139
+ description?: string;
140
+ /** The selected icon slot. This is only visible when the item is selected */
141
+ selectedIcon?: string;
142
+ };
143
+ };
144
+ /** Submit button styling */
145
+ submitButton?: string;
146
+ };
147
+
148
+ declare type CostOverviewClassNames = {
149
+ /** The base container of the cost overview */
150
+ base?: string;
151
+ /** Container for the monthly fees section */
152
+ monthlySection?: string;
153
+ /** Monthly fees container */
154
+ monthlyFeesContainer?: string;
155
+ /** Main monthly price header */
156
+ monthlyPriceHeader?: {
157
+ container?: string;
158
+ label?: string;
159
+ price?: string;
160
+ };
161
+ /** Monthly fee transition row */
162
+ monthlyFeeTransition?: MonthlyFeeTransitionClassNames;
163
+ /** Lifetime fee row */
164
+ lifetimeFee?: MonthlyFeeTransitionClassNames;
165
+ /** Provider contract row */
166
+ providerContract?: PriceRowClassNames;
167
+ /** Bundle row */
168
+ bundle?: PriceRowClassNames;
169
+ /** Handset bundle row */
170
+ handsetBundle?: PriceRowClassNames;
171
+ /** Separator line */
172
+ separator?: string;
173
+ /** One-time payment section */
174
+ oneTimeSection?: {
175
+ header?: {
176
+ container?: string;
177
+ label?: string;
178
+ price?: string;
179
+ };
180
+ productRow?: PriceRowClassNames;
181
+ };
182
+ /** Proposition overview section */
183
+ propositionOverview?: PropositionOverviewClassNames;
29
184
  };
30
185
 
31
186
  declare type CreditInfoClassNames = {
@@ -60,22 +215,89 @@ declare type CreditInfoClassNames = {
60
215
  descriptionLink?: string;
61
216
  };
62
217
 
63
- declare type DistinctPropertyOption = {
64
- hex?: Maybe<Scalars['String']['output']>;
65
- indexable: Scalars['Boolean']['output'];
66
- key: Scalars['String']['output'];
67
- label: Scalars['String']['output'];
68
- name?: Maybe<Scalars['String']['output']>;
69
- slug: Scalars['String']['output'];
70
- value?: Maybe<Scalars['Value']['output']>;
218
+ declare type CreditInfoClassNames_2 = {
219
+ /** The base container of the credit info section */
220
+ base?: string;
221
+ /** Table class names */
222
+ table?: TableClassNames_2;
223
+ /** Description text */
224
+ description?: string;
225
+ /** Links in the description */
226
+ descriptionLink?: string;
71
227
  };
72
228
 
73
- /**
74
- * ClassNames for styling the `ElementsRoot` component
75
- */
76
- export declare type ElementsClassNames = {
77
- /** The only slot */
78
- base?: string;
229
+ declare type DetailsModalClassNames = {
230
+ /** Modal class names */
231
+ modal?: ModalClassNames_5;
232
+ /** Proposition info section */
233
+ propositionInfo?: {
234
+ container?: string;
235
+ image?: string;
236
+ content?: string;
237
+ name?: string;
238
+ details?: string;
239
+ productName?: string;
240
+ productProperties?: string;
241
+ };
242
+ /** Tabs class names */
243
+ tabs?: TabsClassNames;
244
+ /** General tab content class names */
245
+ general?: GeneralClassNames;
246
+ /** Terms tab content class names */
247
+ terms?: TermsClassNames;
248
+ /** Channels tab content class names */
249
+ channels?: ChannelsClassNames;
250
+ /** Cost overview tab content class names */
251
+ costOverview?: CostOverviewClassNames;
252
+ };
253
+
254
+ declare type DiscountSectionClassNames = {
255
+ /** Container for the discount section */
256
+ container?: string;
257
+ /** Header section with icon and title */
258
+ header?: string;
259
+ /** Container for icon and text */
260
+ headerContent?: string;
261
+ /** Icon container */
262
+ icon?: string;
263
+ /** Title text */
264
+ title?: string;
265
+ /** Subtitle/description text */
266
+ subtitle?: string;
267
+ /** Price display in header */
268
+ price?: string;
269
+ /** Price without subscription row */
270
+ priceWithoutSubscription?: {
271
+ container?: string;
272
+ label?: string;
273
+ price?: string;
274
+ };
275
+ /** Price with subscription row */
276
+ priceWithSubscription?: {
277
+ container?: string;
278
+ label?: string;
279
+ price?: string;
280
+ };
281
+ /** Handset costs row */
282
+ handsetCosts?: {
283
+ container?: string;
284
+ label?: string;
285
+ price?: string;
286
+ };
287
+ /** One-time fee row */
288
+ oneTimeFee?: {
289
+ container?: string;
290
+ label?: string;
291
+ price?: string;
292
+ };
293
+ /** Horizontal separator */
294
+ separator?: string;
295
+ /** Total discount row */
296
+ totalDiscount?: {
297
+ container?: string;
298
+ label?: string;
299
+ price?: string;
300
+ };
79
301
  };
80
302
 
81
303
  export declare function ElementsRoot({ withShadowDOM, ...props }: ElementsRootProps): JSX.Element;
@@ -83,8 +305,8 @@ export declare function ElementsRoot({ withShadowDOM, ...props }: ElementsRootPr
83
305
  export declare type ElementsRootProps = {
84
306
  /** The content to be rendered within the ElementsRoot component */
85
307
  children: ReactNode;
86
- /** Class slots for styling */
87
- classNames?: ElementsClassNames;
308
+ /** Only class slot for styling */
309
+ className?: string;
88
310
  /**
89
311
  * Enable Shadow DOM wrapping for complete style isolation
90
312
  * - When `undefinded` or `false`, no Shadow DOM is applied
@@ -101,29 +323,7 @@ export declare type ElementsRootProps = {
101
323
  };
102
324
  };
103
325
 
104
- export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
105
- state: ErrorBoundaryState;
106
- static getDerivedStateFromError(_error: Error): ErrorBoundaryState;
107
- componentDidCatch(error: Error, _errorInfo: ErrorInfo): void;
108
- render(): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | ReactPortal | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | JSX.Element | null | undefined;
109
- }
110
-
111
- export declare type ErrorBoundaryProps = {
112
- /** The content to be wrapped by the ErrorBoundary */
113
- children: ReactNode;
114
- /** Callback function called when an error is caught */
115
- onError?: (error: Error) => void;
116
- /** Custom fallback UI to render when an error occurs */
117
- fallback?: ReactNode;
118
- };
119
-
120
- export declare type ErrorBoundaryState = {
121
- hasError: boolean;
122
- };
123
-
124
- export declare function ErrorComponent({ classNames }: ErrorComponentProps): JSX.Element;
125
-
126
- export declare type ErrorComponentClassNames = {
326
+ declare type ErrorAlertClassNames = {
127
327
  /** Main wrapper container for the error component */
128
328
  base?: string;
129
329
  /** Alert component class styling slots */
@@ -147,13 +347,6 @@ export declare type ErrorComponentClassNames = {
147
347
  button?: string;
148
348
  };
149
349
 
150
- export declare type ErrorComponentProps = {
151
- /** Class slots for styling */
152
- classNames?: ErrorComponentClassNames;
153
- };
154
-
155
- export declare function FilterChip({ filter, filterOption, onRemove, classNames, }: FilterChipProps): JSX.Element | null;
156
-
157
350
  declare type FilterChipClassNames = {
158
351
  /** The base slot of the chip, it is the container of the chip */
159
352
  base?: string;
@@ -163,48 +356,10 @@ declare type FilterChipClassNames = {
163
356
  closeButton?: string;
164
357
  };
165
358
 
166
- declare type FilterChipProps = {
167
- /** Filter value */
168
- filter: FilterValue;
169
- /** Filter option */
170
- filterOption: FilterOption;
171
- /** Callback when the filter is removed */
172
- onRemove: (filter: FilterValue) => void;
173
- /** Class slots for styling */
174
- classNames?: FilterChipClassNames;
175
- };
176
-
177
- export declare function FilterModal({ filterOptions, activeFilters, onFilterChange, classNames, }: FilterModalProps): JSX.Element;
178
-
179
- /**
180
- * ClassNames for styling different parts of the `FilterModal` component
181
- */
182
- export declare type FilterModalClassNames = {
183
- /** Trigger button that opens the modal
184
- * @example "Filters" */
185
- button?: string;
186
- /** Modal dialog class styling slots - see type `ModalClassNames` */
187
- modal?: ModalClassNames;
188
- /** Filters component class styling slots - see type `FiltersClassNames` */
189
- filters?: FiltersClassNames;
190
- };
191
-
192
- export declare type FilterModalProps = Omit<FiltersProps, 'classNames'> & {
193
- /** Class slots for styling */
194
- classNames?: FilterModalClassNames;
195
- };
196
-
197
- /**
198
- * Configuration for a single filter option
199
- */
200
- declare type FilterOption = NonNullable<GetPageByPathQuery['page']>['pageFilters'][number];
201
-
202
- export declare function Filters({ filterOptions, activeFilters, onFilterChange, classNames, }: FiltersProps): JSX.Element | null;
203
-
204
359
  /**
205
360
  * ClassNames for styling different parts of the `Filters` component
206
361
  */
207
- export declare type FiltersClassNames = {
362
+ declare type FiltersClassNames = {
208
363
  /** The foundational slot, encompassing all other slots and elements
209
364
  *
210
365
  * It serves as the primary container */
@@ -224,17 +379,6 @@ export declare type FiltersClassNames = {
224
379
  radioFilter?: RadioFilterClassNames;
225
380
  };
226
381
 
227
- export declare type FiltersProps = {
228
- /** Available filter options to display */
229
- filterOptions: FilterOption[];
230
- /** Currently active filter values */
231
- activeFilters: FilterValue[];
232
- /** Callback when a filter value changes */
233
- onFilterChange: (filter: FilterValue) => void;
234
- /** Class slots for styling */
235
- classNames?: FiltersClassNames;
236
- };
237
-
238
382
  /**
239
383
  * Represents an active filter value selected by the user
240
384
  */
@@ -251,47 +395,19 @@ declare type FilterValue = {
251
395
  value: string | string[];
252
396
  };
253
397
 
254
- declare type GetPageByPathQuery = {
255
- __typename?: 'RootQueryType';
256
- page?: {
257
- __typename?: 'Page';
258
- productCategory: string;
259
- filter: string;
260
- filterDefaults: string;
261
- pageFilters: Array<{
262
- __typename?: 'PageFilter';
263
- id: string;
264
- name: string;
265
- shortName: string;
266
- slug: string;
267
- column: string;
268
- type: string;
269
- valueType: string;
270
- dynamic: boolean;
271
- min?: number | null;
272
- max?: number | null;
273
- rank: number;
274
- operator: string;
275
- url?: string | null;
276
- formatType: string;
277
- showCounts: boolean;
278
- options: Array<{
279
- __typename?: 'PageFilterOption';
280
- name: string;
281
- descriptiveName: string;
282
- value: string;
283
- }>;
284
- aliases: Array<{
285
- __typename?: 'PageFilterAlias';
286
- name: string;
287
- value: string;
288
- }>;
289
- }>;
290
- } | null;
291
- };
398
+ declare type GeneralClassNames = {
399
+ /** The base slot of the general section, it is the container of the general section */
400
+ base?: string;
401
+ } & SectionClassNames;
292
402
 
403
+ /**
404
+ * ClassNames for styling the `Label` component within `PropositionCard`
405
+ */
293
406
  declare type LabelClassNames = {
407
+ /** Base wrapper container for the label */
294
408
  wrapper?: string;
409
+ /** Text for the label
410
+ * @example "Meest voordelig" */
295
411
  text?: string;
296
412
  };
297
413
 
@@ -303,9 +419,62 @@ declare type ListBoxClassNames = {
303
419
  selectedIcon?: string;
304
420
  };
305
421
 
306
- declare type Maybe<T> = T | null;
422
+ /**
423
+ * ClassNames for styling the `MainImage` component within `PropositionCard`
424
+ */
425
+ declare type MainImageClassNames = {
426
+ /** When phone image is the main image
427
+ *
428
+ * Only available for Smartphone Propositions when no phone is selected */
429
+ phoneImage?: {
430
+ /** Wrapper container for the phone image and stock indicator */
431
+ wrapper?: string;
432
+ /** Wrapper container for the phone image */
433
+ imageWrapper?: string;
434
+ /** Phone image element */
435
+ image?: string;
436
+ /** Stock indicator under the phone image
437
+ *
438
+ * Only available when the phone is in stock */
439
+ stockIndicator?: {
440
+ /** Wrapper container for the stock indicator */
441
+ wrapper?: string;
442
+ /** Stock indicator icon */
443
+ icon?: string;
444
+ /** Stock indicator text
445
+ * @example "Direct leverbaar" */
446
+ text?: string;
447
+ };
448
+ };
449
+ /** When Provider image is the main image
450
+ *
451
+ * Not available for Smartphone Propositions when no phone is selected */
452
+ providerImage?: {
453
+ /** Wrapper container for the provider image */
454
+ imageWrapper?: string;
455
+ /** Provider image element */
456
+ image?: string;
457
+ };
458
+ };
307
459
 
308
460
  declare type ModalClassNames = {
461
+ /** The backdrop slot, it is displayed behind the modal */
462
+ backdrop?: string;
463
+ /** The wrapper slot of the modal. It wraps the base and the backdrop slots */
464
+ wrapper?: string;
465
+ /** The main slot of the modal content */
466
+ base?: string;
467
+ /** The header of the modal, it is displayed at the top of the modal */
468
+ header?: string;
469
+ /** The body of the modal, it is displayed in the middle of the modal */
470
+ body?: string;
471
+ /** The footer of the modal, it is displayed at the bottom of the modal */
472
+ footer?: string;
473
+ /** The close button (X) of the modal in top-right corner */
474
+ closeButton?: string;
475
+ };
476
+
477
+ declare type ModalClassNames_2 = {
309
478
  /** The backdrop slot, it is displayed behind the modal */
310
479
  backdrop?: string;
311
480
  /** The wrapper slot of the modal. It wraps the base and the backdrop slots */
@@ -326,7 +495,7 @@ declare type ModalClassNames = {
326
495
  primaryButton?: string;
327
496
  };
328
497
 
329
- declare type ModalClassNames_2 = {
498
+ declare type ModalClassNames_3 = {
330
499
  /** The backdrop slot, it is displayed behind the modal */
331
500
  backdrop?: string;
332
501
  /** The wrapper slot of the modal. It wraps the base and the backdrop slots */
@@ -343,7 +512,7 @@ declare type ModalClassNames_2 = {
343
512
  closeButton?: string;
344
513
  };
345
514
 
346
- declare type ModalClassNames_3 = {
515
+ declare type ModalClassNames_4 = {
347
516
  /** The backdrop slot, it is displayed behind the modal */
348
517
  backdrop?: string;
349
518
  /** The wrapper slot of the modal. It wraps the base and the backdrop slots */
@@ -360,9 +529,46 @@ declare type ModalClassNames_3 = {
360
529
  closeButton?: string;
361
530
  };
362
531
 
532
+ declare type ModalClassNames_5 = {
533
+ /** The backdrop slot, it is displayed behind the modal */
534
+ backdrop?: string;
535
+ /** The wrapper slot of the modal. It wraps the base and the backdrop slots */
536
+ wrapper?: string;
537
+ /** The main slot of the modal content */
538
+ base?: string;
539
+ /** The header of the modal, it is displayed at the top of the modal */
540
+ header?: string;
541
+ /** The body of the modal, it is displayed in the middle of the modal */
542
+ body?: string;
543
+ /** The footer of the modal, it is displayed at the bottom of the modal */
544
+ footer?: string;
545
+ /** The close button (X) of the modal in top-right corner */
546
+ closeButton?: string;
547
+ };
548
+
549
+ declare type MonthlyFeeClassNames = {
550
+ /** Container for the monthly fee row */
551
+ container?: string;
552
+ /** Label text for the monthly fee */
553
+ label?: string;
554
+ /** Price value for the monthly fee */
555
+ price?: string;
556
+ };
557
+
558
+ declare type MonthlyFeeTransitionClassNames = {
559
+ /** Container for the transition row */
560
+ container?: string;
561
+ /** Label with icon */
562
+ label?: string;
563
+ /** Icon */
564
+ icon?: string;
565
+ /** Price */
566
+ price?: string;
567
+ };
568
+
363
569
  declare type NumberPreservationModalClassNames = {
364
570
  /** Modal dialog class styling slots - see type `ModalClassNames` */
365
- modal?: ModalClassNames_3;
571
+ modal?: ModalClassNames_4;
366
572
  /** Header section containing icon and title */
367
573
  header?: {
368
574
  /** Container wrapping the header content */
@@ -434,42 +640,6 @@ declare type NumberPreservationModalClassNames = {
434
640
  submitButton?: string;
435
641
  };
436
642
 
437
- declare type PhoneListContainerClassNames = {
438
- base?: string;
439
- wrapper?: string;
440
- title?: string;
441
- description?: string;
442
- selectedIcon?: string;
443
- item?: string;
444
- itemWrapper?: string;
445
- itemContent?: string;
446
- itemLabel?: string;
447
- itemDescription?: string;
448
- emptyContent?: string;
449
- };
450
-
451
- export declare function PhoneSelector({ onChange, classNames, disabled, productSlug: initialProductSlug, selectedDistinctProperties: initialSelectedDistinctProperties, }: PhoneSelectorProps): JSX.Element;
452
-
453
- declare type PhoneSelectorClassNames = {
454
- base?: string;
455
- button?: string;
456
- /** Filter modal class styling slots - see type `ModalClassNames` */
457
- modal?: ModalClassNames;
458
- brandTabs?: string;
459
- phoneList?: PhoneListContainerClassNames;
460
- variantList?: string;
461
- confirmButton?: string;
462
- };
463
-
464
- declare type PhoneSelectorProps = {
465
- onChange?: (productSlug: string, distinctProperties: VersionDistinctProperty[]) => void;
466
- classNames?: PhoneSelectorClassNames;
467
- disabled?: boolean;
468
- placeholder?: string;
469
- productSlug?: string;
470
- selectedDistinctProperties?: VersionDistinctProperty[];
471
- };
472
-
473
643
  declare type PopoverContentClassNames = {
474
644
  base?: string;
475
645
  trigger?: string;
@@ -494,7 +664,7 @@ declare type PostcodeCheckLoadingClassNames = {
494
664
 
495
665
  export declare type PostcodeCheckModalClassNames = {
496
666
  /** Modal dialog class styling slots - see type `ModalClassNames` */
497
- modal?: ModalClassNames_2;
667
+ modal?: ModalClassNames;
498
668
  /** Header section containing icon and title */
499
669
  header?: {
500
670
  /** Container wrapping the header content */
@@ -525,12 +695,22 @@ export declare type PostcodeCheckModalClassNames = {
525
695
  /** Input label styling */
526
696
  label?: string;
527
697
  };
528
- /** Error message container */
529
- error?: {
530
- /** Error container wrapper */
531
- container?: string;
532
- /** Error text styling */
533
- text?: string;
698
+ /** Error alert message */
699
+ errorAlert?: {
700
+ /** Alert container */
701
+ base?: string;
702
+ /** Alert title text */
703
+ title?: string;
704
+ /** Alert description text */
705
+ description?: string;
706
+ /** Alert main content wrapper */
707
+ mainWrapper?: string;
708
+ /** Alert close button */
709
+ closeButton?: string;
710
+ /** Alert icon wrapper */
711
+ iconWrapper?: string;
712
+ /** Alert icon */
713
+ alertIcon?: string;
534
714
  };
535
715
  };
536
716
  /** Provider selection section */
@@ -553,51 +733,53 @@ export declare type PostcodeCheckModalClassNames = {
553
733
  submitButton?: string;
554
734
  };
555
735
 
556
- export declare type PostcodeCheckModalProps = {
557
- /** Whether the modal is open */
558
- open: boolean;
559
- /** Callback function to handle modal open state changes */
560
- onOpenChange: (open: boolean) => void;
561
- /** Class slots for styling */
562
- classNames?: PostcodeCheckModalClassNames;
563
- /** Callback function to handle profile changes */
564
- onProfileChange?: (profile: Partial<Profile>) => void;
565
- /** User profile */
566
- profile: Profile;
736
+ declare type PriceRowClassNames = {
737
+ /** Container for the price row */
738
+ container?: string;
739
+ /** Label text */
740
+ label?: string;
741
+ /** Price container */
742
+ priceContainer?: string;
743
+ /** Original price (strikethrough) */
744
+ originalPrice?: string;
745
+ /** Current price */
746
+ currentPrice?: string;
567
747
  };
568
748
 
569
749
  /**
570
- * ClassNames for styling the `PricingSection` component within `PropositionCard`
750
+ * ClassNames for styling the `Pricing` component within `PropositionCard`
571
751
  */
572
- export declare type PricingSectionClassNames = {
752
+ declare type PricingClassNames = {
573
753
  /** Wrapper container for the pricing section */
574
- base?: string;
575
- /** Product price text (one-time payment - only visible for phone propositions)
576
- * @example "+ 100,- eenmalig" */
577
- productPrice?: string;
578
- /** Monthly fee container */
579
- monthlyFee?: string;
754
+ wrapper?: string;
755
+ /** Promotion text for monthly fee
756
+ * @example "12 mnd van 10,- voor:" */
757
+ promotionText?: string;
758
+ /** Wrapper container for the monthly fee */
759
+ monthlyFeeWrapper?: string;
580
760
  /** Monthly fee value text (price per month)
581
761
  * @example "10,-" */
582
762
  monthlyFeeValue?: string;
583
763
  /** Monthly fee label text
584
- * @example "/mnd" */
764
+ /* @example "/ maand" */
585
765
  monthlyFeeLabel?: string;
586
- /** Promotion text for monthly fee
587
- * @example "12 mnd van 10,- voor:" */
588
- promotionText?: string;
589
- /** Average price container (TCO per month) */
590
- averagePrice?: string;
591
- };
592
-
593
- export declare type PricingSectionProps = Pick<PropositionCardProps, 'onInfoClick' | 'productPrice' | 'monthlyFee' | 'tcoPerMonth' | 'monthlyFeePromotionText'> & {
594
- /** Class slots for styling */
595
- classNames?: PricingSectionClassNames;
766
+ /** Product price text (one-time fee for phone)
767
+ *
768
+ * Only visible for Smartphone Propositions
769
+ * @example "+ 100,- eenmalig" */
770
+ oneTimeFee?: string;
771
+ /** Wrapper container for the average price */
772
+ averagePriceWrapper?: string;
773
+ /** Average price Icon */
774
+ averagePriceIcon?: string;
775
+ /** Average price value text (TCO per month)
776
+ * @example "gem. 54,- / maand" */
777
+ averagePriceValue?: string;
596
778
  };
597
779
 
598
- declare type ProductCategory = 'sim-only-proposition' | 'fixed-proposition' | 'smartphone-proposition' | 'smartphone-proposition-extended';
780
+ export declare type ProductCategory = 'sim-only-proposition' | 'fixed-proposition' | 'smartphone-proposition' | 'smartphone-proposition-extended';
599
781
 
600
- export declare function ProductResults({ productCategory, initialSelectedFilters, limit, classNames, initialProfile, texts, showTopPropositions, onProfileChange, onError, }: ProductResultsProps): JSX.Element;
782
+ export declare function ProductResults({ classNames, initialSelectedFilters, initialProfile, onProfileChange, onError, ...props }: ProductResultsProps): JSX.Element;
601
783
 
602
784
  /**
603
785
  * ClassNames for styling different parts of the `ProductResults` component
@@ -614,13 +796,17 @@ export declare type ProductResultsClassNames = {
614
796
  /** Filter button (only on mobile & tablet screens) */
615
797
  filterButton?: string;
616
798
  /** Filter modal class styling slots - see type `ModalClassNames` */
617
- filterModal?: ModalClassNames;
799
+ filterModal?: ModalClassNames_2;
618
800
  /** Postcode check modal class styling slots - see type `PostcodeCheckModalClassNames` */
619
801
  postcodeCheckModal?: PostcodeCheckModalClassNames;
802
+ /** CombiDeal modal class styling slots - see type `CombiDealModalClassNames` */
803
+ combiDealModal?: CombiDealModalClassNames;
620
804
  /** Number preservation modal class styling slots - see type `NumberPreservationModalClassNames` */
621
805
  numberPreservationModal?: NumberPreservationModalClassNames;
622
- /** Results class styling slots - see type `ResultsClassNames` */
806
+ /** Proposition results class styling slots - see type `ResultsClassNames` */
623
807
  results?: ResultsClassNames;
808
+ /** Error alert class styling slots - see type `ErrorAlertClassNames` */
809
+ errorAlert?: ErrorAlertClassNames;
624
810
  };
625
811
 
626
812
  export declare type ProductResultsProps = {
@@ -632,12 +818,15 @@ export declare type ProductResultsProps = {
632
818
  showTopPropositions?: boolean;
633
819
  /** Customize texts */
634
820
  texts?: {
821
+ /** Title above profile buttons
822
+ * @default "Personaliseer" */
823
+ profileTitle?: string;
635
824
  /** Title above top propositions (only shown when `showTopPropositions` is set to `true`)
636
825
  * @default "Beste providers voor jou" */
637
- topPropositionsTitle: string;
826
+ topPropositionsTitle?: string;
638
827
  /** Title above all propositions (only shown when `showTopPropositions` is set to `true`)
639
828
  * @default "Alle providers op een rijtje" */
640
- allPropositionsTitle: string;
829
+ allPropositionsTitle?: string;
641
830
  };
642
831
  /** Initial selected filters */
643
832
  initialSelectedFilters?: FilterValue[];
@@ -653,23 +842,6 @@ export declare type ProductResultsProps = {
653
842
  onError?: (error: Error) => void;
654
843
  };
655
844
 
656
- /**
657
- * ClassNames for styling the `ProductSection` component within `PropositionCard`
658
- */
659
- export declare type ProductSectionClassNames = {
660
- /** Wrapper container for the entire product section */
661
- base?: string;
662
- /** Image wrapper, it handles alignment, placement, and general appearance for the product image */
663
- imageWrapper?: string;
664
- /** Product image element */
665
- image?: string;
666
- /** Delivery Text Icon " */
667
- deliveryTextIcon?: string;
668
- /** Delivery Text
669
- * @example "Direct leverbaar" */
670
- deliveryText?: string;
671
- };
672
-
673
845
  declare type Profile = z.infer<typeof profileSchema>;
674
846
 
675
847
  declare const profileSchema: z_2.ZodObject<{
@@ -696,9 +868,9 @@ declare const profileSchema: z_2.ZodObject<{
696
868
  }, z_2.core.$strip>;
697
869
 
698
870
  /**
699
- * ClassNames for styling the `PromotionsList` component within `PropositionCard`
871
+ * ClassNames for styling the `PromotionList` component within `PropositionCard`
700
872
  */
701
- export declare type PromotionsListClassNames = {
873
+ declare type PromotionListClassNames = {
702
874
  /** Wrapper container for the promotions list */
703
875
  base?: string;
704
876
  /** Individual promotion item
@@ -706,201 +878,144 @@ export declare type PromotionsListClassNames = {
706
878
  item?: string;
707
879
  /** Checkmark icon for each promotion item */
708
880
  promotionIcon?: string;
709
- /** Urgent text chip */
710
- urgentChip?: string;
711
- };
712
-
713
- export declare type PromotionsListProps = {
714
- /** Promotions to display */
715
- promotions: string[];
716
- /** Urgent text to display as a chip above promotions
881
+ /** Urgent text chip (only visible when promotion is urgent)
717
882
  * @example "Actie nog 6 dagen" */
718
- urgentText?: string;
719
- /** Class slots for styling */
720
- classNames?: PromotionsListClassNames;
883
+ urgentChip?: {
884
+ /** The base slot of the chip, it is the container of the chip */
885
+ base?: string;
886
+ /** The content slot of the chip, it is the container of the text */
887
+ content?: string;
888
+ };
721
889
  };
722
890
 
723
- export declare function PropositionCard({ horizontal, ...props }: PropositionCardProps): JSX.Element;
724
-
725
891
  /**
726
892
  * ClassNames for styling different parts of the `PropositionCard` component
727
893
  */
728
- export declare type PropositionCardClassNames = {
729
- /** Main card wrapper */
894
+ declare type PropositionCardClassNames = {
895
+ /** Base wrapper container for the label and proposition card
896
+ *
897
+ * Only available when there is a label */
898
+ cardWrapper?: string;
899
+ /** Label class styling slots - see type `LabelClassNames`
900
+ *
901
+ * Only available when there is a label */
902
+ label?: LabelClassNames;
903
+ /** Card container for the proposition card */
730
904
  card?: string;
731
- /** Card header wrapper around `productSection` and `propositionHeader` */
732
- header?: string;
733
- /** Card body wrapper around `specifications`, `urgentChip` and `promotionsList` */
734
- body?: string;
735
- /** Card footer wrapper around `pricingSection` and `button` */
736
- footer?: string;
737
- /** Image wrapper for proposition provider image (only on Horizontal card)
905
+ /** Specific section wrapper styles for horizontal card layout */
906
+ horizontalCard?: {
907
+ /** Card header wrapper around `mainImage` */
908
+ header?: string;
909
+ /** Vertical divider between `header` and `body` */
910
+ divider?: string;
911
+ /** Card body wrapper around `propositionHeader` and `promotionList` */
912
+ body?: string;
913
+ /** Card footer wrapper around `pricing` and `button` */
914
+ footer?: string;
915
+ };
916
+ /** Specific section wrapper styles for vertical card layout */
917
+ verticalCard?: {
918
+ /** Card header wrapper around `mainImage` */
919
+ header?: string;
920
+ /** Card body wrapper around `propositionHeader` and `promotionList` */
921
+ body?: string;
922
+ /** Horizontal divider between `body` and `footer` */
923
+ divider?: string;
924
+ /** Card footer wrapper around `pricing` and `button` */
925
+ footer?: string;
926
+ };
927
+ /** Main image class styling slots - see type `MainImageClassNames`
928
+ *
929
+ * Within the `header` section */
930
+ mainImage?: MainImageClassNames;
931
+ /** Proposition header class styling slots - see type `PropositionHeaderClassNames`
738
932
  *
739
- * It handles alignment, placement, and general appearance for the proposition provider image */
740
- imageWrapper?: string;
741
- /** Proposition provider image (only on Horizontal card) */
742
- image?: string;
743
- /** Product section (only visible for smartphone propositions) class styling slots - see type `ProductSectionClassNames` */
744
- productSection?: ProductSectionClassNames;
745
- /** Proposition header class styling slots - see type `PropositionHeaderClassNames` */
933
+ * Within the `body` section */
746
934
  propositionHeader?: PropositionHeaderClassNames;
747
- /** Pricing section class styling slots - see type `PricingSectionClassNames` */
748
- pricingSection?: PricingSectionClassNames;
749
- /** Promotions list class styling slots - see type `PromotionsListClassNames` */
750
- promotionsList?: PromotionsListClassNames;
751
- /** Specifications grid (only visible for sim only and fixed propositions)
752
- * @example
753
- * - "2 jaar"
754
- * - "350 / 400 Mb/s"
755
- * - "66 (60 HD)"
756
- * - "Via TV app" */
757
- specifications?: string;
758
- /** Urgent text chip (only visible when promotion is urgent)
759
- * @example "Actie nog 6 dagen" */
760
- urgentChip?: string;
935
+ /** Promotion list class styling slots - see type `PromotionListClassNames`
936
+ *
937
+ * Within the `body` section */
938
+ promotionList?: PromotionListClassNames;
939
+ /** Pricing section class styling slots - see type `PricingClassNames`
940
+ *
941
+ * Within the `footer` section */
942
+ pricing?: PricingClassNames;
761
943
  /** Call To Action button
944
+ *
945
+ * Within the `footer` section
762
946
  * @example "Bekijk" */
763
947
  button?: string;
764
- /** Card wrapper (container for the label and card) */
765
- cardWrapper?: string;
766
- /** Label class styling slots - see type `LabelClassNames` */
767
- label?: LabelClassNames;
768
- };
769
-
770
- export declare type PropositionCardProps = {
771
- /** Click handler on the card */
772
- onClick: (e: {
773
- target: Element;
774
- }) => void;
775
- /** Click handler to open the details modal */
776
- onInfoClick: (tab: 'general' | 'conditions' | 'channels' | 'costs') => void;
777
- /** Whether the proposition is disabled */
778
- disabled?: boolean;
779
- /** Product title - should include brand + phone name
780
- * @example "Apple iPhone 17" */
781
- productTitle?: string;
782
- /** Product image URL */
783
- productImageUrl?: string;
784
- /** Product image alt text */
785
- productImageAlt?: string;
786
- /** Product stock status
787
- * @example "in_stock" */
788
- productStockStatus?: string;
789
- /** Product price
790
- * @example "100,-" */
791
- productPrice?: string;
792
- /** Proposition title
793
- * @example "30 GB" */
794
- propositionTitle: string;
795
- /** Proposition subtitle
796
- * @example "Onbp min / sms" */
797
- propositionSubtitle: string;
798
- /** Proposition image URL */
799
- propositionImageUrl: string;
800
- /** Proposition image alt text */
801
- propositionImageAlt: string;
802
- /** Proposition specifications */
803
- propositionSpecifications?: {
804
- slug: string;
805
- title: string;
806
- }[];
807
- /** Monthly fee for subscription
808
- * @example "10,-" */
809
- monthlyFee: string;
810
- /** Average total cost per month
811
- * @example "10,-" */
812
- tcoPerMonth: string;
813
- /** Special promotions
814
- * @example ["Geen aansluitingskosten"] */
815
- specialPromotions: string[];
816
- /** Modification promotions
817
- * @example ["€ 4,50 korting per maand"] */
818
- modificationPromotions: string[];
819
- /** Monthly fee promotion text
820
- * @example "12 mnd van 10,- voor:" */
821
- monthlyFeePromotionText?: string;
822
- /** Device discount
823
- * @example "100,-" */
824
- deviceDiscount?: string;
825
- /** Urgent text for urgent special promotion
826
- * @example "Actie nog 6 dagen" */
827
- urgentText?: string;
828
- /** Label properties to display above the card */
829
- label?: Pick<PropositionLabel, 'displayName' | 'color'>;
830
- /** Class slots for styling */
831
- classNames?: PropositionCardClassNames;
832
- horizontal?: boolean;
833
948
  };
834
949
 
835
950
  /**
836
951
  * ClassNames for styling the `PropositionHeader` component within `PropositionCard`
837
952
  */
838
- export declare type PropositionHeaderClassNames = {
953
+ declare type PropositionHeaderClassNames = {
839
954
  /** Wrapper container for the proposition header */
840
955
  base?: string;
841
- /** Image wrapper, it handles alignment, placement, and general appearance for the proposition provider image (only on Vertical card) */
842
- imageWrapper?: string;
843
- /** Proposition provider image element (only on Vertical card) */
844
- image?: string;
845
- /** Proposition title text
846
- * @example "30 GB"
847
- * @example "100 Mb/s" */
848
- title?: string;
849
- /** Proposition subtitle text
850
- * @example "Onbp min / sms"
851
- * @example "Glasvezel" */
852
- subtitle?: string;
853
- /** Specifications container */
854
- specifications?: string;
855
- };
856
-
857
- export declare type PropositionHeaderProps = {
858
- /** Product title (for smartphone propositions) - should include brand + phone name
859
- * @example "Apple iPhone 17" */
860
- productTitle?: string;
861
- /** Proposition title text
862
- * @example "30 GB"
863
- * @example "100 Mb/s" */
864
- propositionTitle: string;
865
- /** Proposition subtitle text
866
- * @example "Onbp min / sms"
867
- * @example "Glasvezel" */
868
- propositionSubtitle: string;
869
- /** Proposition provider image URL */
870
- imageUrl?: string;
871
- /** Proposition provider image alt text */
872
- imageAlt?: string;
873
- /** Whether the proposition has a product/phone */
874
- hasProduct: boolean;
875
- /** Proposition specifications */
876
- propositionSpecifications?: {
877
- slug: string;
878
- title: string;
879
- }[];
880
- /** Click handler to open the details modal */
881
- onInfoClick?: (tab: 'general' | 'conditions' | 'channels' | 'costs') => void;
882
- /** Class slots for styling */
883
- classNames?: PropositionHeaderClassNames;
884
- horizontal?: boolean;
956
+ /** Wrapper container for the title, subtitle and optional provider image */
957
+ titleWrapper?: string;
958
+ /** Phone class styling slots
959
+ *
960
+ * Only available for Smartphone Propositions when no phone is selected */
961
+ phone?: {
962
+ /** Phone title text
963
+ * @example "Apple iPhone 16" */
964
+ title?: string;
965
+ /** Phone subtitle text
966
+ * @example "20 GB • Onbp min / sms" */
967
+ subtitle?: string;
968
+ /** Wrapper container for the provider image */
969
+ providerImageWrapper?: string;
970
+ /** Provider image element */
971
+ providerImage?: string;
972
+ };
973
+ /** Proposition class styling slots
974
+ *
975
+ * Not available for Smartphone Propositions when no phone is selected */
976
+ proposition?: {
977
+ /** Wrapper container for the proposition title and subtitle */
978
+ wrapper?: string;
979
+ /** Proposition title text
980
+ * @example "30 GB"
981
+ * @example "100 Mb/s" */
982
+ title?: string;
983
+ /** Proposition subtitle text
984
+ * @example "Onbp min / sms"
985
+ * @example "Glasvezel" */
986
+ subtitle?: string;
987
+ /** Specifications class styling slots */
988
+ specifications?: {
989
+ /** Wrapper container for the specifications */
990
+ wrapper?: string;
991
+ /** Specification item text
992
+ * @example "2 jaar"
993
+ * @example "350 / 400 Mb/s"
994
+ * @example "66 (60 HD)" */
995
+ item?: string;
996
+ /** Specification icon */
997
+ icon?: string;
998
+ };
999
+ };
885
1000
  };
886
1001
 
887
- declare type PropositionLabel = {
888
- type: PropositionLabelType;
889
- displayName: string;
890
- rank: number;
891
- color: PropositionLabelColor;
1002
+ declare type PropositionOverviewClassNames = {
1003
+ /** The base container of the proposition overview */
1004
+ base?: string;
1005
+ /** Average per month section class names */
1006
+ averageSection?: AverageSectionClassNames;
1007
+ /** Discount section class names (for smartphone products) */
1008
+ discountSection?: DiscountSectionClassNames;
1009
+ /** Credit info label text */
1010
+ creditInfoLabel?: string;
1011
+ /** Credit info component class styling slots - see type `CreditInfoClassNames` */
1012
+ creditInfo?: CreditInfoClassNames_2;
892
1013
  };
893
1014
 
894
- declare type PropositionLabelColor = 'primary' | 'secondary' | 'default';
895
-
896
- declare type PropositionLabelType = 'isRetention' | 'isCheapestPhone' | 'isBudget' | 'isBudgetFiber' | 'isCombi' | 'isFastestInternet' | 'isBudgetOwnNetwork' | 'isBudgetNetwork';
897
-
898
- export declare function RadioFilter({ id, options, value, onChange, classNames, }: RadioFilterProps): JSX.Element;
899
-
900
1015
  /**
901
1016
  * ClassNames for styling different parts of the `RadioFilter` component
902
1017
  */
903
- export declare type RadioFilterClassNames = {
1018
+ declare type RadioFilterClassNames = {
904
1019
  /** Radio group */
905
1020
  radioGroup?: {
906
1021
  /** Radio group root wrapper, it wraps the label and the wrapper */
@@ -933,21 +1048,6 @@ export declare type RadioFilterClassNames = {
933
1048
  };
934
1049
  };
935
1050
 
936
- export declare type RadioFilterProps = {
937
- /** Unique identifier for this filter */
938
- id: string;
939
- /** Available options to display as radio options */
940
- options: FilterOption['options'];
941
- /** Currently selected value */
942
- value?: string;
943
- /** Callback when selection changes */
944
- onChange: (value: string) => void;
945
- /** Class slots for styling */
946
- classNames?: RadioFilterClassNames;
947
- };
948
-
949
- export declare function RangeFilter({ min, max, step, value, options, maxOptionValue, marks, formatType, onChange, classNames, }: SliderFilterProps): JSX.Element;
950
-
951
1051
  declare type ResultsClassNames = {
952
1052
  /** Title above top propositions (only shown when `showTopPropositions` is set to `true`)
953
1053
  * @example "Beste providers voor jou" */
@@ -959,6 +1059,8 @@ declare type ResultsClassNames = {
959
1059
  topPropositionsGrid?: string;
960
1060
  /** Grid wrapper of the all propositions */
961
1061
  allPropositionsGrid?: string;
1062
+ /** Skeleton card shown in the loading state */
1063
+ skeletonCard?: string;
962
1064
  /** Results not found component class styling slots - see type `ResultsNotFoundClassNames` */
963
1065
  resultsNotFound?: ResultsNotFoundClassNames;
964
1066
  /** Credit info component class styling slots - see type `CreditInfoClassNames` */
@@ -969,6 +1071,8 @@ declare type ResultsClassNames = {
969
1071
  propositionCard?: PropositionCardClassNames;
970
1072
  /** PostcodeCheck loading card class styling slots (only for fixed propositions) - see type `PostcodeCheckLoadingClassNames` */
971
1073
  postcodeCheckLoading?: PostcodeCheckLoadingClassNames;
1074
+ /** Details modal class styling slots - see type `DetailsModalClassNames` */
1075
+ detailsModal?: DetailsModalClassNames;
972
1076
  };
973
1077
 
974
1078
  declare type ResultsNotFoundClassNames = {
@@ -998,44 +1102,19 @@ declare type ResultsNotFoundClassNames = {
998
1102
  };
999
1103
  };
1000
1104
 
1001
- /** All built-in and custom scalars, mapped to their actual values */
1002
- declare type Scalars = {
1003
- ID: {
1004
- input: string;
1005
- output: string;
1006
- };
1007
- String: {
1008
- input: string;
1009
- output: string;
1010
- };
1011
- Boolean: {
1012
- input: boolean;
1013
- output: boolean;
1014
- };
1015
- Int: {
1016
- input: number;
1017
- output: number;
1018
- };
1019
- Float: {
1020
- input: number;
1021
- output: number;
1022
- };
1023
- Json: {
1024
- input: any;
1025
- output: any;
1026
- };
1027
- Value: {
1028
- input: any;
1029
- output: any;
1030
- };
1105
+ declare type SectionClassNames = {
1106
+ /** Link text value */
1107
+ link?: string;
1108
+ /** The title of the table section, it is the title of the table section */
1109
+ title?: string;
1110
+ /** Table class names */
1111
+ table?: TableClassNames;
1031
1112
  };
1032
1113
 
1033
- export declare function SelectFilter({ id, options, values, onChange, classNames, }: SelectFilterProps): JSX.Element;
1034
-
1035
1114
  /**
1036
1115
  * ClassNames for styling different parts of the `SelectFilter` component
1037
1116
  */
1038
- export declare type SelectFilterClassNames = {
1117
+ declare type SelectFilterClassNames = {
1039
1118
  /** Checkbox group */
1040
1119
  checkboxGroup?: {
1041
1120
  /** Checkbox group root wrapper, it wraps the label and the wrapper */
@@ -1062,77 +1141,17 @@ export declare type SelectFilterClassNames = {
1062
1141
  /** The text associated with the checkbox */
1063
1142
  label?: string;
1064
1143
  };
1065
- };
1066
-
1067
- export declare type SelectFilterProps = {
1068
- /** Unique identifier for this filter */
1069
- id: string;
1070
- /** Available options to display as checkboxes */
1071
- options: FilterOption['options'];
1072
- /** Currently selected values */
1073
- values?: string[];
1074
- /** Callback when selection changes */
1075
- onChange: (values: string[]) => void;
1076
- /** Class slots for styling */
1077
- classNames?: SelectFilterClassNames;
1078
- };
1079
-
1080
- export declare function Selector({ classNames, onClick, disabled, title, description, imageUrl, imageAlt, Icon, avatarName, selected, }: SelectorProps): JSX.Element;
1081
-
1082
- /**
1083
- * ClassNames for styling different parts of the `Selector` component
1084
- */
1085
- export declare type SelectorClassNames = {
1086
- /** Title text styling */
1087
- title?: string;
1088
- /** Description text styling */
1089
- description?: string;
1090
- /** Main button wrapper */
1091
- button?: string;
1092
- /** Badge component (visible when not selected) */
1093
- badge?: string;
1094
- /** Avatar component displaying the image or icon */
1095
- avatar?: {
1096
- /** Base wrapper styling for the avatar container */
1097
- base?: string;
1098
- /** Image element styling */
1099
- img?: string;
1100
- /** Name text styling (when displaying initials) */
1101
- name?: string;
1102
- /** Icon wrapper styling */
1103
- icon?: string;
1104
- /** Fallback content styling (when no image is available) */
1105
- fallback?: string;
1106
- };
1107
- };
1108
-
1109
- export declare type SelectorProps = {
1110
- /** Class slots for styling */
1111
- classNames?: SelectorClassNames;
1112
- /** Main title text */
1113
- title: string;
1114
- /** Optional description text below the title */
1115
- description?: string;
1116
- /** Whether the selector is in selected state */
1117
- selected?: boolean;
1118
- /** Click handler for the selector */
1119
- onClick: () => void;
1120
- /** Icon component to display as fallback when no image is provided */
1121
- Icon?: React.ElementType;
1122
- /** Name to display as initials in the avatar when no image is available */
1123
- avatarName?: string;
1124
- /** Image URL for the avatar */
1125
- imageUrl?: string | null;
1126
- /** Alt text for the image */
1127
- imageAlt?: string | null;
1128
- /** Whether the selector is disabled */
1129
- disabled?: boolean;
1144
+ /** Link to collapse the options
1145
+ * @example "Bekijk meer (2)"
1146
+ * @example "Bekijk minder"
1147
+ */
1148
+ collapseLink?: string;
1130
1149
  };
1131
1150
 
1132
1151
  /**
1133
1152
  * ClassNames for styling different parts of the `RangeFilter`, `MinFilter` and `MaxFilter` component
1134
1153
  */
1135
- export declare type SliderFilterClassNames = {
1154
+ declare type SliderFilterClassNames = {
1136
1155
  /** The foundational slot, encompassing all other slots and elements
1137
1156
  *
1138
1157
  * It serves as the primary container */
@@ -1162,42 +1181,6 @@ export declare type SliderFilterClassNames = {
1162
1181
  thumb?: string;
1163
1182
  };
1164
1183
 
1165
- export declare type SliderFilterProps = {
1166
- /** Unique identifier for this filter */
1167
- id: string;
1168
- /** Minimum value of the range */
1169
- min: number;
1170
- /** Maximum value of the range */
1171
- max: number;
1172
- /** Step increment for the slider
1173
- * @example 5 */
1174
- step: number;
1175
- /** Available fixed values within the slider
1176
- * @example "[0,100,150,200,400,UNLIMITED]" // from 0 to Unlimited */
1177
- options: number[];
1178
- /** The maximum value of the slider, calculated from the options and step */
1179
- maxOptionValue: number;
1180
- /** Currently selected value
1181
- * @example "150-400" // Range: from 150 to 400
1182
- * @example "150-" // Min: from 150
1183
- * @example "-400" // Max: up to 400
1184
- */
1185
- value?: string;
1186
- /** The marks to display on the Slider's steps. */
1187
- marks: {
1188
- /** The value corresponding to the mark */
1189
- value: number;
1190
- /** The label text of the mark */
1191
- label: string;
1192
- }[];
1193
- /** Format type for the filter value */
1194
- formatType?: FilterOption['formatType'];
1195
- /** Callback when value changes */
1196
- onChange: (value: string) => void;
1197
- /** Class slots for styling */
1198
- classNames?: SliderFilterClassNames;
1199
- };
1200
-
1201
1184
  declare type SortSelectClassNames = {
1202
1185
  description?: string;
1203
1186
  errorMessage?: string;
@@ -1217,11 +1200,60 @@ declare type SortSelectClassNames = {
1217
1200
  endWrapper?: string;
1218
1201
  };
1219
1202
 
1220
- declare type VersionDistinctProperty = {
1221
- __typename?: 'VersionDistinctProperty';
1222
- key: Scalars['String']['output'];
1223
- label: Scalars['String']['output'];
1224
- option: DistinctPropertyOption;
1203
+ declare type TableClassNames = {
1204
+ /** Defines a flexible column layout and relative positioning for the table component */
1205
+ base?: string;
1206
+ /** Applies to the outermost wrapper, providing padding, flexible layout, relative positioning, visual styles, and scrollable overflow handling */
1207
+ wrapper?: string;
1208
+ /** Sets the table to have a full minimum width and auto-adjusting height */
1209
+ table?: string;
1210
+ /** Specifies rounded corners for the first child row in the table header */
1211
+ thead?: string;
1212
+ /** No specific styles are applied to the body of the table */
1213
+ tbody?: string;
1214
+ /** Styles for table rows including group focus, outline properties, and a set of undefined focus-visible classes */
1215
+ tr?: string;
1216
+ /** Styles for table headers, including padding, text alignment, font properties, and special styles for sortable columns */
1217
+ th?: string;
1218
+ /** Applies to table cells, with properties for padding, alignment, and relative positioning, plus special styles for first child elements, selection indication, and disabled cells */
1219
+ td?: string;
1220
+ };
1221
+
1222
+ declare type TableClassNames_2 = {
1223
+ /** Defines a flexible column layout and relative positioning for the table component */
1224
+ base?: string;
1225
+ /** Applies to the outermost wrapper, providing padding, flexible layout, relative positioning, visual styles, and scrollable overflow handling */
1226
+ wrapper?: string;
1227
+ /** Sets the table to have a full minimum width and auto-adjusting height */
1228
+ table?: string;
1229
+ /** Specifies rounded corners for the first child row in the table header */
1230
+ thead?: string;
1231
+ /** No specific styles are applied to the body of the table */
1232
+ tbody?: string;
1233
+ /** Styles for table rows including group focus, outline properties, and a set of undefined focus-visible classes */
1234
+ tr?: string;
1235
+ /** Styles for table headers, including padding, text alignment, font properties, and special styles for sortable columns */
1236
+ th?: string;
1237
+ /** Applies to table cells, with properties for padding, alignment, and relative positioning, plus special styles for first child elements, selection indication, and disabled cells */
1238
+ td?: string;
1225
1239
  };
1226
1240
 
1241
+ declare type TabsClassNames = {
1242
+ /** The base slot of the tabs component */
1243
+ base?: string;
1244
+ /** The tab list container */
1245
+ tabList?: string;
1246
+ /** Individual tab */
1247
+ tab?: string;
1248
+ /** Tab panel */
1249
+ panel?: string;
1250
+ /** Tab cursor (active indicator) */
1251
+ cursor?: string;
1252
+ };
1253
+
1254
+ declare type TermsClassNames = {
1255
+ /** The base slot of the terms section, it is the container of the terms section */
1256
+ base?: string;
1257
+ } & SectionClassNames;
1258
+
1227
1259
  export { }