@mobielnl/elements 0.3.1 → 0.5.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/README.md +30 -1
- package/dist/elements.css +1 -1
- package/dist/elements.js +9 -8
- package/dist/elements.umd.cjs +431 -103
- package/dist/{index-CnFEAbFx.js → index-Bqq_Hib9.js} +28920 -25378
- package/dist/index-D18KRxRT.js +2382 -0
- package/dist/index.d.ts +227 -130
- package/package.json +26 -17
- package/dist/index-BN9HDB-5.js +0 -2597
package/dist/index.d.ts
CHANGED
|
@@ -55,6 +55,16 @@ declare type CreditInfoClassNames = {
|
|
|
55
55
|
descriptionLink?: string;
|
|
56
56
|
};
|
|
57
57
|
|
|
58
|
+
declare type DistinctPropertyOption = {
|
|
59
|
+
hex?: Maybe<Scalars['String']['output']>;
|
|
60
|
+
indexable: Scalars['Boolean']['output'];
|
|
61
|
+
key: Scalars['String']['output'];
|
|
62
|
+
label: Scalars['String']['output'];
|
|
63
|
+
name?: Maybe<Scalars['String']['output']>;
|
|
64
|
+
slug: Scalars['String']['output'];
|
|
65
|
+
value?: Maybe<Scalars['Value']['output']>;
|
|
66
|
+
};
|
|
67
|
+
|
|
58
68
|
/**
|
|
59
69
|
* ClassNames for styling the `ElementsRoot` component
|
|
60
70
|
*/
|
|
@@ -63,13 +73,27 @@ export declare type ElementsClassNames = {
|
|
|
63
73
|
base?: string;
|
|
64
74
|
};
|
|
65
75
|
|
|
66
|
-
export declare function ElementsRoot({
|
|
76
|
+
export declare function ElementsRoot({ withShadowDOM, ...props }: ElementsRootProps): JSX.Element;
|
|
67
77
|
|
|
68
78
|
export declare type ElementsRootProps = {
|
|
69
79
|
/** The content to be rendered within the ElementsRoot component */
|
|
70
80
|
children: ReactNode;
|
|
71
81
|
/** Class slots for styling */
|
|
72
82
|
classNames?: ElementsClassNames;
|
|
83
|
+
/**
|
|
84
|
+
* Enable Shadow DOM wrapping for complete style isolation
|
|
85
|
+
* - When `undefinded` or `false`, no Shadow DOM is applied
|
|
86
|
+
* - When `true`, wraps content in Shadow DOM without injecting CSS
|
|
87
|
+
* - When an object is provided, allows injecting CSS via `css` string or `cssUrl` path
|
|
88
|
+
*
|
|
89
|
+
* @example withShadowDOM={true}
|
|
90
|
+
* @example withShadowDOM={{ css: 'body { font-family: Arial, sans-serif; }' }}
|
|
91
|
+
* @example withShadowDOM={{ cssUrl: '/path/to/elements.css' }}
|
|
92
|
+
*/
|
|
93
|
+
withShadowDOM?: boolean | {
|
|
94
|
+
css?: string;
|
|
95
|
+
cssUrl?: string;
|
|
96
|
+
};
|
|
73
97
|
};
|
|
74
98
|
|
|
75
99
|
export declare function FilterChip({ filter, filterOption, onRemove, classNames, }: FilterChipProps): JSX.Element | null;
|
|
@@ -171,35 +195,6 @@ declare type FilterValue = {
|
|
|
171
195
|
value: string | string[];
|
|
172
196
|
};
|
|
173
197
|
|
|
174
|
-
/**
|
|
175
|
-
* ClassNames for styling the `FooterInfo` component within `PropositionCard`
|
|
176
|
-
*/
|
|
177
|
-
export declare type FooterInfoClassNames = {
|
|
178
|
-
/** Wrapper container for the footer info section */
|
|
179
|
-
base?: string;
|
|
180
|
-
/** tcoPerMonth/average price text
|
|
181
|
-
* @example "gem. 10,- /mnd" */
|
|
182
|
-
averagePrice?: string;
|
|
183
|
-
/** Device discount text
|
|
184
|
-
* @example "100,- toestelkorting" */
|
|
185
|
-
deviceDiscount?: string;
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
export declare type FooterInfoProps = {
|
|
189
|
-
/** Device discount text
|
|
190
|
-
* @example "100,- toestelkorting" */
|
|
191
|
-
deviceDiscount?: string;
|
|
192
|
-
/** Average total cost per month text
|
|
193
|
-
* @example "gem. 10,- /mnd" */
|
|
194
|
-
tcoPerMonth?: string;
|
|
195
|
-
/** Class slots for styling */
|
|
196
|
-
classNames?: FooterInfoClassNames;
|
|
197
|
-
/** Whether the PropositionCard is horizontal */
|
|
198
|
-
horizontal?: boolean;
|
|
199
|
-
/** Whether the footer info is for a proposition with a product */
|
|
200
|
-
hasProduct?: boolean;
|
|
201
|
-
};
|
|
202
|
-
|
|
203
198
|
declare type GetPageByPathQuery = {
|
|
204
199
|
__typename?: 'RootQueryType';
|
|
205
200
|
page?: {
|
|
@@ -247,6 +242,8 @@ declare type ListBoxClassNames = {
|
|
|
247
242
|
selectedIcon?: string;
|
|
248
243
|
};
|
|
249
244
|
|
|
245
|
+
declare type Maybe<T> = T | null;
|
|
246
|
+
|
|
250
247
|
declare type ModalClassNames = {
|
|
251
248
|
/** The backdrop slot, it is displayed behind the modal */
|
|
252
249
|
backdrop?: string;
|
|
@@ -268,6 +265,59 @@ declare type ModalClassNames = {
|
|
|
268
265
|
primaryButton?: string;
|
|
269
266
|
};
|
|
270
267
|
|
|
268
|
+
declare type ModalClassNames_2 = {
|
|
269
|
+
/** The backdrop slot, it is displayed behind the modal */
|
|
270
|
+
backdrop?: string;
|
|
271
|
+
/** The wrapper slot of the modal. It wraps the base and the backdrop slots */
|
|
272
|
+
wrapper?: string;
|
|
273
|
+
/** The main slot of the modal content */
|
|
274
|
+
base?: string;
|
|
275
|
+
/** The header of the modal, it is displayed at the top of the modal */
|
|
276
|
+
header?: string;
|
|
277
|
+
/** The body of the modal, it is displayed in the middle of the modal */
|
|
278
|
+
body?: string;
|
|
279
|
+
/** The footer of the modal, it is displayed at the bottom of the modal */
|
|
280
|
+
footer?: string;
|
|
281
|
+
/** The close button (X) of the modal in top-right corner */
|
|
282
|
+
closeButton?: string;
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
declare type PhoneListContainerClassNames = {
|
|
286
|
+
base?: string;
|
|
287
|
+
wrapper?: string;
|
|
288
|
+
title?: string;
|
|
289
|
+
description?: string;
|
|
290
|
+
selectedIcon?: string;
|
|
291
|
+
item?: string;
|
|
292
|
+
itemWrapper?: string;
|
|
293
|
+
itemContent?: string;
|
|
294
|
+
itemLabel?: string;
|
|
295
|
+
itemDescription?: string;
|
|
296
|
+
emptyContent?: string;
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
export declare function PhoneSelector({ onChange, classNames, disabled, productSlug: initialProductSlug, selectedDistinctProperties: initialSelectedDistinctProperties, }: PhoneSelectorProps): JSX.Element;
|
|
300
|
+
|
|
301
|
+
declare type PhoneSelectorClassNames = {
|
|
302
|
+
base?: string;
|
|
303
|
+
button?: string;
|
|
304
|
+
/** Filter modal class styling slots - see type `ModalClassNames` */
|
|
305
|
+
modal?: ModalClassNames;
|
|
306
|
+
brandTabs?: string;
|
|
307
|
+
phoneList?: PhoneListContainerClassNames;
|
|
308
|
+
variantList?: string;
|
|
309
|
+
confirmButton?: string;
|
|
310
|
+
};
|
|
311
|
+
|
|
312
|
+
declare type PhoneSelectorProps = {
|
|
313
|
+
onChange?: (productSlug: string, distinctProperties: VersionDistinctProperty[]) => void;
|
|
314
|
+
classNames?: PhoneSelectorClassNames;
|
|
315
|
+
disabled?: boolean;
|
|
316
|
+
placeholder?: string;
|
|
317
|
+
productSlug?: string;
|
|
318
|
+
selectedDistinctProperties?: VersionDistinctProperty[];
|
|
319
|
+
};
|
|
320
|
+
|
|
271
321
|
declare type PopoverContentClassNames = {
|
|
272
322
|
base?: string;
|
|
273
323
|
trigger?: string;
|
|
@@ -290,6 +340,80 @@ declare type PostcodeCheckLoadingClassNames = {
|
|
|
290
340
|
addressText?: string;
|
|
291
341
|
};
|
|
292
342
|
|
|
343
|
+
export declare type PostcodeCheckModalClassNames = {
|
|
344
|
+
/** Modal dialog class styling slots - see type `ModalClassNames` */
|
|
345
|
+
modal?: ModalClassNames_2;
|
|
346
|
+
/** Header section containing icon and title */
|
|
347
|
+
header?: {
|
|
348
|
+
/** Container wrapping the header content */
|
|
349
|
+
container?: string;
|
|
350
|
+
/** Icon wrapper with background */
|
|
351
|
+
iconWrapper?: string;
|
|
352
|
+
/** Home location icon */
|
|
353
|
+
icon?: string;
|
|
354
|
+
/** Main title text */
|
|
355
|
+
title?: string;
|
|
356
|
+
/** Description text below title */
|
|
357
|
+
description?: string;
|
|
358
|
+
};
|
|
359
|
+
/** Form section for address input */
|
|
360
|
+
form?: {
|
|
361
|
+
/** Form element container */
|
|
362
|
+
container?: string;
|
|
363
|
+
/** Address section label */
|
|
364
|
+
addressLabel?: string;
|
|
365
|
+
/** Container for postcode, number, and numberAddon inputs */
|
|
366
|
+
inputsContainer?: string;
|
|
367
|
+
/** Input field styling slots */
|
|
368
|
+
input?: {
|
|
369
|
+
/** Input wrapper styling */
|
|
370
|
+
inputWrapper?: string;
|
|
371
|
+
/** Input element styling */
|
|
372
|
+
input?: string;
|
|
373
|
+
/** Input label styling */
|
|
374
|
+
label?: string;
|
|
375
|
+
};
|
|
376
|
+
/** Error message container */
|
|
377
|
+
error?: {
|
|
378
|
+
/** Error container wrapper */
|
|
379
|
+
container?: string;
|
|
380
|
+
/** Error text styling */
|
|
381
|
+
text?: string;
|
|
382
|
+
};
|
|
383
|
+
};
|
|
384
|
+
/** Provider selection section */
|
|
385
|
+
provider?: {
|
|
386
|
+
/** Provider section label */
|
|
387
|
+
label?: string;
|
|
388
|
+
/** Select component styling */
|
|
389
|
+
select?: {
|
|
390
|
+
/** Select label styling */
|
|
391
|
+
label?: string;
|
|
392
|
+
/** Select trigger button styling */
|
|
393
|
+
trigger?: string;
|
|
394
|
+
/** Provider item container in select */
|
|
395
|
+
itemContainer?: string;
|
|
396
|
+
/** Provider icon styling */
|
|
397
|
+
icon?: string;
|
|
398
|
+
};
|
|
399
|
+
};
|
|
400
|
+
/** Submit button styling */
|
|
401
|
+
submitButton?: string;
|
|
402
|
+
};
|
|
403
|
+
|
|
404
|
+
export declare type PostcodeCheckModalProps = {
|
|
405
|
+
/** Whether the modal is open */
|
|
406
|
+
open: boolean;
|
|
407
|
+
/** Callback function to handle modal open state changes */
|
|
408
|
+
onOpenChange: (open: boolean) => void;
|
|
409
|
+
/** Class slots for styling */
|
|
410
|
+
classNames?: PostcodeCheckModalClassNames;
|
|
411
|
+
/** Callback function to handle profile changes */
|
|
412
|
+
onProfileChange?: (profile: Partial<Profile>) => void;
|
|
413
|
+
/** User profile */
|
|
414
|
+
profile: Profile;
|
|
415
|
+
};
|
|
416
|
+
|
|
293
417
|
/**
|
|
294
418
|
* ClassNames for styling the `PricingSection` component within `PropositionCard`
|
|
295
419
|
*/
|
|
@@ -310,25 +434,18 @@ export declare type PricingSectionClassNames = {
|
|
|
310
434
|
/** Promotion text for monthly fee
|
|
311
435
|
* @example "12 mnd van 10,- voor:" */
|
|
312
436
|
promotionText?: string;
|
|
437
|
+
/** Average price container (TCO per month) */
|
|
438
|
+
averagePrice?: string;
|
|
313
439
|
};
|
|
314
440
|
|
|
315
|
-
export declare type PricingSectionProps = {
|
|
316
|
-
/** Promotion text for monthly fee
|
|
317
|
-
* @example "12 mnd van 10,- voor:" */
|
|
318
|
-
monthlyFeePromotionText?: string;
|
|
319
|
-
/** Monthly fee text
|
|
320
|
-
* @example "10,-" */
|
|
321
|
-
monthlyFee: string;
|
|
322
|
-
/** Product price text (one-time payment - only visible for phone propositions)
|
|
323
|
-
* @example "+ 100,- eenmalig" */
|
|
324
|
-
productPrice?: string;
|
|
441
|
+
export declare type PricingSectionProps = Pick<PropositionCardProps, 'onInfoClick' | 'productPrice' | 'monthlyFee' | 'tcoPerMonth' | 'monthlyFeePromotionText'> & {
|
|
325
442
|
/** Class slots for styling */
|
|
326
443
|
classNames?: PricingSectionClassNames;
|
|
327
444
|
};
|
|
328
445
|
|
|
329
|
-
declare type ProductCategory = 'sim-only-proposition' | '
|
|
446
|
+
declare type ProductCategory = 'sim-only-proposition' | 'fixed-proposition' | 'smartphone-proposition' | 'smartphone-proposition-extended';
|
|
330
447
|
|
|
331
|
-
export declare function ProductResults({ productCategory, initialSelectedFilters, limit,
|
|
448
|
+
export declare function ProductResults({ productCategory, initialSelectedFilters, limit, classNames, profile, onProfileChange, }: ProductResultsProps): JSX.Element;
|
|
332
449
|
|
|
333
450
|
/**
|
|
334
451
|
* ClassNames for styling different parts of the `ProductResults` component
|
|
@@ -350,23 +467,25 @@ export declare type ProductResultsClassNames = {
|
|
|
350
467
|
resultsGrid?: string;
|
|
351
468
|
/** Credit info component class styling slots - see type `CreditInfoClassNames` */
|
|
352
469
|
creditInfo?: CreditInfoClassNames;
|
|
470
|
+
/** Load more button */
|
|
471
|
+
loadMoreButton?: string;
|
|
353
472
|
/** Results not found component class styling slots - see type `ResultsNotFoundClassNames` */
|
|
354
473
|
resultsNotFound?: ResultsNotFoundClassNames;
|
|
355
474
|
/** Proposition card class styling slots - see type `PropositionCardClassNames` */
|
|
356
475
|
propositionCard?: PropositionCardClassNames;
|
|
357
476
|
/** PostcodeCheck loading card class styling slots (only for fixed propositions) - see type `PostcodeCheckLoadingClassNames` */
|
|
358
477
|
postcodeCheckLoading?: PostcodeCheckLoadingClassNames;
|
|
478
|
+
/** Postcode check modal class styling slots - see type `PostcodeCheckModalClassNames` */
|
|
479
|
+
postcodeCheckModal?: PostcodeCheckModalClassNames;
|
|
359
480
|
};
|
|
360
481
|
|
|
361
482
|
export declare type ProductResultsProps = {
|
|
362
483
|
/** Product type of the results */
|
|
363
|
-
productCategory: ProductCategory
|
|
484
|
+
productCategory: Exclude<ProductCategory, 'smartphone-proposition-extended'>;
|
|
364
485
|
/** Initial selected filters */
|
|
365
486
|
initialSelectedFilters?: FilterValue[];
|
|
366
487
|
/** Limit the number of propositions to display */
|
|
367
488
|
limit?: number;
|
|
368
|
-
/** Layout of the proposition cards */
|
|
369
|
-
propositionCardLayout?: 'vertical' | 'horizontal';
|
|
370
489
|
/** Class slots for styling */
|
|
371
490
|
classNames?: ProductResultsClassNames;
|
|
372
491
|
/** User profile */
|
|
@@ -385,59 +504,18 @@ export declare type ProductSectionClassNames = {
|
|
|
385
504
|
imageWrapper?: string;
|
|
386
505
|
/** Product image element */
|
|
387
506
|
image?: string;
|
|
388
|
-
/**
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
subtitle?: string;
|
|
394
|
-
/** Stock status badge
|
|
395
|
-
* @example "Op voorraad" */
|
|
396
|
-
stockStatus?: string;
|
|
397
|
-
/** Average review score text
|
|
398
|
-
* @example "9.5" */
|
|
399
|
-
reviewScore?: string;
|
|
400
|
-
/** Amount of reviews text
|
|
401
|
-
* @example "(100)" */
|
|
402
|
-
reviewCount?: string;
|
|
403
|
-
/** Product specifications list container
|
|
404
|
-
* @example "6.3 inch • 256GB opslag • 5 kleuren" */
|
|
405
|
-
specifications?: string;
|
|
406
|
-
};
|
|
407
|
-
|
|
408
|
-
export declare type ProductSectionProps = {
|
|
409
|
-
/** Product title text
|
|
410
|
-
* @example "iPhone 17" */
|
|
411
|
-
title: string;
|
|
412
|
-
/** Product subtitle/brand text
|
|
413
|
-
* @example "Apple" */
|
|
414
|
-
subtitle: string;
|
|
415
|
-
/** Product image URL */
|
|
416
|
-
imageUrl: string;
|
|
417
|
-
/** Product image alt text */
|
|
418
|
-
imageAlt: string;
|
|
419
|
-
/** Product specifications */
|
|
420
|
-
specifications?: {
|
|
421
|
-
title: string;
|
|
422
|
-
}[];
|
|
423
|
-
/** Stock status
|
|
424
|
-
* @example "Op voorraad" */
|
|
425
|
-
stockStatus?: string;
|
|
426
|
-
/** Amount of reviews
|
|
427
|
-
* @example 100 */
|
|
428
|
-
reviewCount?: number;
|
|
429
|
-
/** Average review score
|
|
430
|
-
* @example 9.5 */
|
|
431
|
-
reviewScore?: number;
|
|
432
|
-
/** Class slots for styling */
|
|
433
|
-
classNames?: ProductSectionClassNames;
|
|
434
|
-
horizontal?: boolean;
|
|
507
|
+
/** Delivery Text Icon " */
|
|
508
|
+
deliveryTextIcon?: string;
|
|
509
|
+
/** Delivery Text
|
|
510
|
+
* @example "Direct leverbaar" */
|
|
511
|
+
deliveryText?: string;
|
|
435
512
|
};
|
|
436
513
|
|
|
437
514
|
declare type Profile = z.infer<typeof profileSchema>;
|
|
438
515
|
|
|
439
516
|
declare const profileSchema: z_2.ZodObject<{
|
|
440
517
|
keepCurrentMsisdn: z_2.ZodOptional<z_2.ZodBoolean>;
|
|
518
|
+
currentMsisdn: z_2.ZodOptional<z_2.ZodString>;
|
|
441
519
|
currentSubscriptionType: z_2.ZodOptional<z_2.ZodEnum<{
|
|
442
520
|
subscription: "subscription";
|
|
443
521
|
prepaid: "prepaid";
|
|
@@ -464,20 +542,16 @@ declare const profileSchema: z_2.ZodObject<{
|
|
|
464
542
|
export declare type PromotionsListClassNames = {
|
|
465
543
|
/** Wrapper container for the promotions list */
|
|
466
544
|
base?: string;
|
|
467
|
-
/** Individual
|
|
545
|
+
/** Individual promotion item
|
|
468
546
|
* @example "€4,50 korting per maand" */
|
|
469
547
|
item?: string;
|
|
470
|
-
/** Checkmark icon for each
|
|
471
|
-
|
|
472
|
-
/** Checkmark icon for each modification promotion item */
|
|
473
|
-
modificationPromotionIcon?: string;
|
|
548
|
+
/** Checkmark icon for each promotion item */
|
|
549
|
+
promotionIcon?: string;
|
|
474
550
|
};
|
|
475
551
|
|
|
476
552
|
export declare type PromotionsListProps = {
|
|
477
|
-
/**
|
|
478
|
-
|
|
479
|
-
/** Modification promotions to display */
|
|
480
|
-
modificationPromotions: string[];
|
|
553
|
+
/** Promotions to display */
|
|
554
|
+
promotions: string[];
|
|
481
555
|
/** Class slots for styling */
|
|
482
556
|
classNames?: PromotionsListClassNames;
|
|
483
557
|
};
|
|
@@ -494,15 +568,15 @@ export declare type PropositionCardClassNames = {
|
|
|
494
568
|
header?: string;
|
|
495
569
|
/** Card body wrapper around `specifications`, `urgentChip` and `promotionsList` */
|
|
496
570
|
body?: string;
|
|
497
|
-
/** Card footer wrapper around `
|
|
571
|
+
/** Card footer wrapper around `pricingSection` and `button` */
|
|
498
572
|
footer?: string;
|
|
499
|
-
/** Image wrapper for
|
|
573
|
+
/** Image wrapper for proposition provider image (only on Horizontal card)
|
|
500
574
|
*
|
|
501
|
-
* It handles alignment, placement, and general appearance for the
|
|
575
|
+
* It handles alignment, placement, and general appearance for the proposition provider image */
|
|
502
576
|
imageWrapper?: string;
|
|
503
|
-
/**
|
|
577
|
+
/** Proposition provider image (only on Horizontal card) */
|
|
504
578
|
image?: string;
|
|
505
|
-
/** Product section (only visible for
|
|
579
|
+
/** Product section (only visible for smartphone propositions) class styling slots - see type `ProductSectionClassNames` */
|
|
506
580
|
productSection?: ProductSectionClassNames;
|
|
507
581
|
/** Proposition header class styling slots - see type `PropositionHeaderClassNames` */
|
|
508
582
|
propositionHeader?: PropositionHeaderClassNames;
|
|
@@ -510,8 +584,6 @@ export declare type PropositionCardClassNames = {
|
|
|
510
584
|
pricingSection?: PricingSectionClassNames;
|
|
511
585
|
/** Promotions list class styling slots - see type `PromotionsListClassNames` */
|
|
512
586
|
promotionsList?: PromotionsListClassNames;
|
|
513
|
-
/** Footer info (tcoPerMonth/average price and device discount) class styling slots - see type `FooterInfoClassNames` */
|
|
514
|
-
footerInfo?: FooterInfoClassNames;
|
|
515
587
|
/** Specifications grid (only visible for sim only and fixed propositions)
|
|
516
588
|
* @example
|
|
517
589
|
* - "2 jaar"
|
|
@@ -522,15 +594,14 @@ export declare type PropositionCardClassNames = {
|
|
|
522
594
|
/** Urgent text chip (only visible when promotion is urgent)
|
|
523
595
|
* @example "Actie nog 6 dagen" */
|
|
524
596
|
urgentChip?: string;
|
|
525
|
-
/** Delivery promise text
|
|
526
|
-
* @example "Voor 23:59 besteld, morgen in huis" */
|
|
527
|
-
deliveryText?: string;
|
|
528
597
|
/** Call To Action button
|
|
529
598
|
* @example "Bekijk" */
|
|
530
599
|
button?: string;
|
|
531
600
|
};
|
|
532
601
|
|
|
533
602
|
export declare type PropositionCardProps = {
|
|
603
|
+
/** Click handler to open the details modal */
|
|
604
|
+
onInfoClick: (tab: 'general' | 'conditions' | 'channels' | 'costs') => void;
|
|
534
605
|
/** Whether the proposition is disabled */
|
|
535
606
|
disabled?: boolean;
|
|
536
607
|
/** Link to the proposition page */
|
|
@@ -545,19 +616,9 @@ export declare type PropositionCardProps = {
|
|
|
545
616
|
productImageUrl?: string;
|
|
546
617
|
/** Product image alt text */
|
|
547
618
|
productImageAlt?: string;
|
|
548
|
-
/** Product specifications */
|
|
549
|
-
productSpecifications?: {
|
|
550
|
-
title: string;
|
|
551
|
-
}[];
|
|
552
619
|
/** Product stock status
|
|
553
620
|
* @example "in_stock" */
|
|
554
621
|
productStockStatus?: string;
|
|
555
|
-
/** Product review count
|
|
556
|
-
* @example 100 */
|
|
557
|
-
productReviewCount?: number;
|
|
558
|
-
/** Product review score
|
|
559
|
-
* @example 9.5 */
|
|
560
|
-
productReviewScore?: number;
|
|
561
622
|
/** Product price
|
|
562
623
|
* @example "100,-" */
|
|
563
624
|
productPrice?: string;
|
|
@@ -594,9 +655,6 @@ export declare type PropositionCardProps = {
|
|
|
594
655
|
/** Device discount
|
|
595
656
|
* @example "100,-" */
|
|
596
657
|
deviceDiscount?: string;
|
|
597
|
-
/** Delivery text
|
|
598
|
-
* @example "Voor 23:59 besteld, morgen in huis" */
|
|
599
|
-
deliveryText?: string | null;
|
|
600
658
|
/** Urgent text for urgent special promotion
|
|
601
659
|
* @example "Actie nog 6 dagen" */
|
|
602
660
|
urgentText?: string;
|
|
@@ -611,9 +669,9 @@ export declare type PropositionCardProps = {
|
|
|
611
669
|
export declare type PropositionHeaderClassNames = {
|
|
612
670
|
/** Wrapper container for the proposition header */
|
|
613
671
|
base?: string;
|
|
614
|
-
/** Image wrapper, it handles alignment, placement, and general appearance for the proposition provider image */
|
|
672
|
+
/** Image wrapper, it handles alignment, placement, and general appearance for the proposition provider image (only on Vertical card) */
|
|
615
673
|
imageWrapper?: string;
|
|
616
|
-
/** Proposition provider image element*/
|
|
674
|
+
/** Proposition provider image element (only on Vertical card) */
|
|
617
675
|
image?: string;
|
|
618
676
|
/** Proposition title text
|
|
619
677
|
* @example "30 GB"
|
|
@@ -634,10 +692,10 @@ export declare type PropositionHeaderProps = {
|
|
|
634
692
|
* @example "Onbp min / sms"
|
|
635
693
|
* @example "Glasvezel" */
|
|
636
694
|
subtitle: string;
|
|
637
|
-
/** Proposition image URL */
|
|
638
|
-
imageUrl
|
|
639
|
-
/** Proposition image alt text */
|
|
640
|
-
imageAlt
|
|
695
|
+
/** Proposition provider image URL */
|
|
696
|
+
imageUrl?: string;
|
|
697
|
+
/** Proposition provider image alt text */
|
|
698
|
+
imageAlt?: string;
|
|
641
699
|
/** Whether the proposition has a product/phone */
|
|
642
700
|
hasProduct: boolean;
|
|
643
701
|
/** Class slots for styling */
|
|
@@ -725,6 +783,38 @@ declare type ResultsNotFoundClassNames = {
|
|
|
725
783
|
};
|
|
726
784
|
};
|
|
727
785
|
|
|
786
|
+
/** All built-in and custom scalars, mapped to their actual values */
|
|
787
|
+
declare type Scalars = {
|
|
788
|
+
ID: {
|
|
789
|
+
input: string;
|
|
790
|
+
output: string;
|
|
791
|
+
};
|
|
792
|
+
String: {
|
|
793
|
+
input: string;
|
|
794
|
+
output: string;
|
|
795
|
+
};
|
|
796
|
+
Boolean: {
|
|
797
|
+
input: boolean;
|
|
798
|
+
output: boolean;
|
|
799
|
+
};
|
|
800
|
+
Int: {
|
|
801
|
+
input: number;
|
|
802
|
+
output: number;
|
|
803
|
+
};
|
|
804
|
+
Float: {
|
|
805
|
+
input: number;
|
|
806
|
+
output: number;
|
|
807
|
+
};
|
|
808
|
+
Json: {
|
|
809
|
+
input: any;
|
|
810
|
+
output: any;
|
|
811
|
+
};
|
|
812
|
+
Value: {
|
|
813
|
+
input: any;
|
|
814
|
+
output: any;
|
|
815
|
+
};
|
|
816
|
+
};
|
|
817
|
+
|
|
728
818
|
export declare function SelectFilter({ id, options, values, onChange, classNames, }: SelectFilterProps): JSX.Element;
|
|
729
819
|
|
|
730
820
|
/**
|
|
@@ -860,4 +950,11 @@ declare type SortSelectClassNames = {
|
|
|
860
950
|
endWrapper?: string;
|
|
861
951
|
};
|
|
862
952
|
|
|
953
|
+
declare type VersionDistinctProperty = {
|
|
954
|
+
__typename?: 'VersionDistinctProperty';
|
|
955
|
+
key: Scalars['String']['output'];
|
|
956
|
+
label: Scalars['String']['output'];
|
|
957
|
+
option: DistinctPropertyOption;
|
|
958
|
+
};
|
|
959
|
+
|
|
863
960
|
export { }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mobielnl/elements",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Mobiel.nl Elements - React component library for partner websites",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"node": ">=18"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"react": ">=
|
|
42
|
-
"react-dom": ">=
|
|
41
|
+
"react": ">=19",
|
|
42
|
+
"react-dom": ">=19"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@biomejs/biome": "2.1.4",
|
|
@@ -49,28 +49,35 @@
|
|
|
49
49
|
"@graphql-codegen/typescript-graphql-request": "^6.2.0",
|
|
50
50
|
"@graphql-codegen/typescript-operations": "^4.4.0",
|
|
51
51
|
"@heroui/alert": "^2.2.27",
|
|
52
|
-
"@heroui/
|
|
53
|
-
"@heroui/
|
|
54
|
-
"@heroui/
|
|
55
|
-
"@heroui/
|
|
56
|
-
"@heroui/
|
|
57
|
-
"@heroui/
|
|
58
|
-
"@heroui/
|
|
59
|
-
"@heroui/
|
|
52
|
+
"@heroui/avatar": "^2.2.22",
|
|
53
|
+
"@heroui/badge": "^2.2.17",
|
|
54
|
+
"@heroui/button": "^2.2.27",
|
|
55
|
+
"@heroui/card": "^2.2.25",
|
|
56
|
+
"@heroui/checkbox": "^2.3.27",
|
|
57
|
+
"@heroui/chip": "^2.2.22",
|
|
58
|
+
"@heroui/divider": "^2.2.20",
|
|
59
|
+
"@heroui/image": "^2.2.17",
|
|
60
|
+
"@heroui/input": "^2.4.28",
|
|
61
|
+
"@heroui/link": "^2.2.23",
|
|
62
|
+
"@heroui/listbox": "^2.3.26",
|
|
60
63
|
"@heroui/modal": "^2.2.24",
|
|
61
64
|
"@heroui/radio": "^2.3.27",
|
|
62
65
|
"@heroui/scroll-shadow": "^2.3.18",
|
|
63
66
|
"@heroui/select": "^2.4.28",
|
|
64
|
-
"@heroui/
|
|
65
|
-
"@heroui/
|
|
67
|
+
"@heroui/skeleton": "^2.2.17",
|
|
68
|
+
"@heroui/slider": "^2.4.24",
|
|
69
|
+
"@heroui/system": "^2.4.23",
|
|
66
70
|
"@heroui/table": "^2.2.27",
|
|
67
|
-
"@heroui/
|
|
71
|
+
"@heroui/tabs": "^2.2.24",
|
|
72
|
+
"@heroui/theme": "^2.4.23",
|
|
73
|
+
"@react-stately/flags": "^3.1.2",
|
|
68
74
|
"@storybook/addon-a11y": "^9.1.2",
|
|
69
75
|
"@storybook/addon-docs": "^9.1.2",
|
|
70
76
|
"@storybook/react-vite": "^9.1.2",
|
|
71
77
|
"@tailwindcss/vite": "^4.1.11",
|
|
72
78
|
"@types/jest": "^30.0.0",
|
|
73
79
|
"@types/js-cookie": "^3.0.6",
|
|
80
|
+
"@types/lodash": "^4.17.20",
|
|
74
81
|
"@types/node": "^22.13.1",
|
|
75
82
|
"@types/postcss-prefix-selector": "^1.16.3",
|
|
76
83
|
"@types/react": "^19.1.10",
|
|
@@ -81,13 +88,15 @@
|
|
|
81
88
|
"graphql": "^16.11.0",
|
|
82
89
|
"graphql-request": "^7.2.0",
|
|
83
90
|
"js-cookie": "^3.0.5",
|
|
91
|
+
"lodash": "^4.17.21",
|
|
84
92
|
"postcss-prefix-selector": "^2.1.1",
|
|
85
|
-
"react": "^
|
|
86
|
-
"react-dom": "^
|
|
93
|
+
"react": "^19.2.0",
|
|
94
|
+
"react-dom": "^19.2.0",
|
|
95
|
+
"react-use": "^17.6.0",
|
|
87
96
|
"remark-gfm": "^4.0.1",
|
|
88
97
|
"storybook": "^9.1.2",
|
|
89
98
|
"swr": "^2.3.2",
|
|
90
|
-
"tailwindcss": "^4.1.
|
|
99
|
+
"tailwindcss": "^4.1.16",
|
|
91
100
|
"typescript": "~5.8.3",
|
|
92
101
|
"vite": "7.1.11",
|
|
93
102
|
"vite-plugin-dts": "^4.5.0",
|