@mobielnl/elements 0.10.0 → 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.
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { i as H, m as oe, r as bt, h as xn, a as Tt, w as ue, b as Ke, c as P, d as z, e as ye, f as q, n as Vt, p as St, t as wt, g as Mn, j as Cn, v as Pn, k as Fn, l as Dn, o as En, q as Ye, s as At, u as On, x as In, y as K, z as Rn, A as kn, B as le, C as Xe, D as xt, E as Kn, F as Nn, G as Bn, H as Mt, I as Ln, J as Gn, K as _n, L as jn, M as Un, N as Ct, O as Pt, P as Ft, Q as Dt } from "./index-CY36KeHQ.js";
2
+ import { i as H, m as oe, r as bt, h as xn, a as Tt, w as ue, b as Ke, c as P, d as z, e as ye, f as q, n as Vt, p as St, t as wt, g as Mn, j as Cn, v as Pn, k as Fn, l as Dn, o as En, q as Ye, s as At, u as On, x as In, y as K, z as Rn, A as kn, B as le, C as Xe, D as xt, E as Kn, F as Nn, G as Bn, H as Mt, I as Ln, J as Gn, K as _n, L as jn, M as Un, N as Ct, O as Pt, P as Ft, Q as Dt } from "./index-6scNbCqx.js";
3
3
  import { Fragment as $n } from "react";
4
4
  var ke = typeof globalThis < "u" && globalThis.process ? globalThis.process : { env: { NODE_ENV: "production" } };
5
5
  function Wn(t, e) {
package/dist/index.d.ts CHANGED
@@ -1,11 +1,10 @@
1
+ import { ElementType } from 'react';
1
2
  import { JSX } from 'react/jsx-runtime';
2
- import { PopoverContentClassNames } from '../../../lib/hooks/usePopoverProps';
3
3
  import { ReactNode } from 'react';
4
- import { z } from 'zod';
5
- import * as z_2 from 'zod';
4
+ import * as z from 'zod';
6
5
 
7
6
  /** Union type of all action events */
8
- declare type ActionEvent = FiltersChangedEvent | SortChangedEvent | ProfileChangedEvent | DealSelectedEvent | DetailsViewedEvent;
7
+ export declare type ActionEvent = FiltersChangedEvent | SortChangedEvent | ProfileChangedEvent | DealSelectedEvent | DetailsViewedEvent;
9
8
 
10
9
  declare type ActiveFilterChipsClassNames = {
11
10
  /** The container of the filter chips */
@@ -14,6 +13,16 @@ declare type ActiveFilterChipsClassNames = {
14
13
  filterChip?: FilterChipClassNames;
15
14
  };
16
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
+
17
26
  declare type AverageSectionClassNames = {
18
27
  /** Container for the average per month section */
19
28
  container?: string;
@@ -67,6 +76,11 @@ declare type AverageSectionClassNames = {
67
76
  };
68
77
  };
69
78
 
79
+ export declare type Block = {
80
+ scope: string;
81
+ amount: number;
82
+ };
83
+
70
84
  declare type ChannelsClassNames = {
71
85
  /** The base slot of the channels section, it is the container of the channels section */
72
86
  base?: string;
@@ -231,7 +245,7 @@ declare type CreditInfoClassNames_2 = {
231
245
  };
232
246
 
233
247
  /** Event fired when a deal/proposition is selected (clicked) */
234
- declare type DealSelectedEvent = {
248
+ export declare type DealSelectedEvent = {
235
249
  type: 'deal_selected';
236
250
  /** The full proposition data */
237
251
  proposition: ProductCardPropositionFragment;
@@ -265,7 +279,7 @@ declare type DetailsModalClassNames = {
265
279
  declare type DetailsModalTab = 'general' | 'conditions' | 'channels' | 'costs';
266
280
 
267
281
  /** Event fired when proposition details are viewed */
268
- declare type DetailsViewedEvent = {
282
+ export declare type DetailsViewedEvent = {
269
283
  type: 'details_viewed';
270
284
  /** The full proposition data */
271
285
  proposition: ProductCardPropositionFragment;
@@ -423,8 +437,13 @@ declare type FilterChipClassNames = {
423
437
  closeButton?: string;
424
438
  };
425
439
 
440
+ /**
441
+ * Configuration for a single filter option
442
+ */
443
+ export declare type FilterOption = NonNullable<PageByPathQuery['page']>['pageFilters'][number];
444
+
426
445
  /** Event fired when filter values change */
427
- declare type FiltersChangedEvent = {
446
+ export declare type FiltersChangedEvent = {
428
447
  type: 'filters_changed';
429
448
  /** The filter that was changed */
430
449
  filter: {
@@ -462,7 +481,7 @@ declare type FiltersClassNames = {
462
481
  /**
463
482
  * Represents an active filter value selected by the user
464
483
  */
465
- declare type FilterValue = {
484
+ export declare type FilterValue = {
466
485
  /** Identifier slug matching the corresponding `FilterOption.slug` */
467
486
  slug: string;
468
487
  /** The selected value(s) - type depends on filter type:
@@ -475,6 +494,15 @@ declare type FilterValue = {
475
494
  value: string | string[];
476
495
  };
477
496
 
497
+ export declare type FixedBlock = {
498
+ scope: string;
499
+ provider: {
500
+ name: string;
501
+ imageUrl: string;
502
+ rank: number;
503
+ };
504
+ };
505
+
478
506
  declare type GeneralClassNames = {
479
507
  /** The base slot of the general section, it is the container of the general section */
480
508
  base?: string;
@@ -499,9 +527,9 @@ declare type ListBoxClassNames = {
499
527
  selectedIcon?: string;
500
528
  };
501
529
 
502
- declare type Locale = 'nl' | 'en' | string;
530
+ export declare type Locale = 'nl' | 'en' | string;
503
531
 
504
- declare type LocalizedTranslations = {
532
+ export declare type LocalizedTranslations = {
505
533
  /** Can be partial as undefined values fallback to default 'nl' translations */
506
534
  nl: PartialTranslations;
507
535
  } | {
@@ -559,7 +587,8 @@ declare type ModalClassNames = {
559
587
  wrapper?: string;
560
588
  /** The main slot of the modal content */
561
589
  base?: string;
562
- /** 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" */
563
592
  header?: string;
564
593
  /** The body of the modal, it is displayed in the middle of the modal */
565
594
  body?: string;
@@ -567,6 +596,9 @@ declare type ModalClassNames = {
567
596
  footer?: string;
568
597
  /** The close button (X) of the modal in top-right corner */
569
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;
570
602
  };
571
603
 
572
604
  declare type ModalClassNames_2 = {
@@ -576,8 +608,7 @@ declare type ModalClassNames_2 = {
576
608
  wrapper?: string;
577
609
  /** The main slot of the modal content */
578
610
  base?: string;
579
- /** The header of the modal, it is displayed at the top of the modal
580
- * @example "Filters" */
611
+ /** The header of the modal, it is displayed at the top of the modal */
581
612
  header?: string;
582
613
  /** The body of the modal, it is displayed in the middle of the modal */
583
614
  body?: string;
@@ -585,9 +616,6 @@ declare type ModalClassNames_2 = {
585
616
  footer?: string;
586
617
  /** The close button (X) of the modal in top-right corner */
587
618
  closeButton?: string;
588
- /** The primary button of the modal, it is displayed at the bottom of the modal
589
- * @example "Toon resultaten" */
590
- primaryButton?: string;
591
619
  };
592
620
 
593
621
  declare type ModalClassNames_3 = {
@@ -741,10 +769,56 @@ declare type NumberPreservationModalClassNames = {
741
769
  submitButton?: string;
742
770
  };
743
771
 
744
- declare type PartialTranslations = Partial<{
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<{
745
812
  [key in keyof Translations]: Partial<Translations[key]>;
746
813
  }>;
747
814
 
815
+ declare type PopoverContentClassNames = {
816
+ base?: string;
817
+ trigger?: string;
818
+ backdrop?: string;
819
+ content?: string;
820
+ };
821
+
748
822
  declare type PostcodeCheckLoadingClassNames = {
749
823
  /** Base wrapper */
750
824
  base?: string;
@@ -760,9 +834,9 @@ declare type PostcodeCheckLoadingClassNames = {
760
834
  addressText?: string;
761
835
  };
762
836
 
763
- export declare type PostcodeCheckModalClassNames = {
837
+ declare type PostcodeCheckModalClassNames = {
764
838
  /** Modal dialog class styling slots - see type `ModalClassNames` */
765
- modal?: ModalClassNames;
839
+ modal?: ModalClassNames_2;
766
840
  /** Header section containing icon and title */
767
841
  header?: {
768
842
  /** Container wrapping the header content */
@@ -1096,16 +1170,24 @@ export declare function ProductResults({ classNames, initialSelectedFilters, ini
1096
1170
  export declare type ProductResultsClassNames = {
1097
1171
  /** Wrapper container for the entire product results */
1098
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;
1099
1177
  /** Active filters component class styling slots - see type `ActiveFilterChipsClassNames` */
1100
1178
  activeFilterChips?: ActiveFilterChipsClassNames;
1101
1179
  /** SortSelect component class styling slots - see type `SortSelectClassNames` */
1102
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;
1103
1185
  /** Filters component class styling slots (both filters in sidebar and in modal) - see type `FiltersClassNames` */
1104
1186
  filters?: FiltersClassNames;
1105
1187
  /** Filter button (only on mobile & tablet screens) */
1106
1188
  filterButton?: string;
1107
1189
  /** Filter modal class styling slots - see type `ModalClassNames` */
1108
- filterModal?: ModalClassNames_2;
1190
+ filterModal?: ModalClassNames;
1109
1191
  /** Postcode check modal class styling slots - see type `PostcodeCheckModalClassNames` */
1110
1192
  postcodeCheckModal?: PostcodeCheckModalClassNames;
1111
1193
  /** CombiDeal modal class styling slots - see type `CombiDealModalClassNames` */
@@ -1210,37 +1292,37 @@ declare enum ProductVersionStatusEnum {
1210
1292
  Unavailable = "UNAVAILABLE"
1211
1293
  }
1212
1294
 
1213
- declare type Profile = z.infer<typeof profileSchema>;
1295
+ export declare type Profile = z.infer<typeof profileSchema>;
1214
1296
 
1215
1297
  /** Event fired when user profile changes */
1216
- declare type ProfileChangedEvent = {
1298
+ export declare type ProfileChangedEvent = {
1217
1299
  type: 'profile_changed';
1218
1300
  from: Partial<Profile>;
1219
1301
  to: Partial<Profile>;
1220
1302
  };
1221
1303
 
1222
- declare const profileSchema: z_2.ZodObject<{
1223
- keepCurrentMsisdn: z_2.ZodOptional<z_2.ZodBoolean>;
1224
- currentMsisdn: z_2.ZodOptional<z_2.ZodString>;
1225
- currentSubscriptionType: z_2.ZodOptional<z_2.ZodEnum<{
1304
+ declare const profileSchema: z.ZodObject<{
1305
+ keepCurrentMsisdn: z.ZodOptional<z.ZodBoolean>;
1306
+ currentMsisdn: z.ZodOptional<z.ZodString>;
1307
+ currentSubscriptionType: z.ZodOptional<z.ZodEnum<{
1226
1308
  subscription: "subscription";
1227
1309
  prepaid: "prepaid";
1228
1310
  }>>;
1229
- currentProviderSlug: z_2.ZodOptional<z_2.ZodString>;
1230
- currentFixedProviderScope: z_2.ZodOptional<z_2.ZodString>;
1231
- currentMobileProviders: z_2.ZodOptional<z_2.ZodArray<z_2.ZodObject<{
1232
- scope: z_2.ZodString;
1233
- value: z_2.ZodString;
1234
- }, z_2.core.$strip>>>;
1235
- customerSegment: z_2.ZodOptional<z_2.ZodNullable<z_2.ZodString>>;
1236
- address: z_2.ZodOptional<z_2.ZodObject<{
1237
- postcode: z_2.ZodString;
1238
- number: z_2.ZodString;
1239
- numberAddon: z_2.ZodPipe<z_2.ZodOptional<z_2.ZodString>, z_2.ZodTransform<string | undefined, string | undefined>>;
1240
- street: z_2.ZodString;
1241
- city: z_2.ZodString;
1242
- }, z_2.core.$strip>>;
1243
- }, z_2.core.$strip>;
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>;
1244
1326
 
1245
1327
  /**
1246
1328
  * ClassNames for styling the `PromotionList` component within `PropositionCard`
@@ -1374,16 +1456,16 @@ declare type PropositionHeaderClassNames = {
1374
1456
  };
1375
1457
  };
1376
1458
 
1377
- declare type PropositionLabel = {
1459
+ export declare type PropositionLabel = {
1378
1460
  type: PropositionLabelType;
1379
1461
  displayName: string;
1380
1462
  rank: number;
1381
1463
  color: PropositionLabelColor;
1382
1464
  };
1383
1465
 
1384
- declare type PropositionLabelColor = 'primary' | 'secondary' | 'default' | 'success' | 'warning' | 'danger';
1466
+ export declare type PropositionLabelColor = 'primary' | 'secondary' | 'default' | 'success' | 'warning' | 'danger';
1385
1467
 
1386
- declare type PropositionLabelType = 'isRetention' | 'isCheapestPhone' | 'isBudget' | 'isBudgetFiber' | 'isCombi' | 'isFastestInternet' | 'isBudgetOwnNetwork' | 'isBudgetNetwork';
1468
+ export declare type PropositionLabelType = 'isRetention' | 'isCheapestPhone' | 'isBudget' | 'isBudgetFiber' | 'isCombi' | 'isFastestInternet' | 'isBudgetOwnNetwork' | 'isBudgetNetwork';
1387
1469
 
1388
1470
  declare type PropositionOverviewClassNames = {
1389
1471
  /** The base container of the proposition overview */
@@ -1398,6 +1480,13 @@ declare type PropositionOverviewClassNames = {
1398
1480
  creditInfo?: CreditInfoClassNames_2;
1399
1481
  };
1400
1482
 
1483
+ export declare type ProviderOption = {
1484
+ slug: string;
1485
+ name: string;
1486
+ imageUrl: string | undefined;
1487
+ Icon?: ElementType;
1488
+ };
1489
+
1401
1490
  /**
1402
1491
  * ClassNames for styling different parts of the `RadioFilter` component
1403
1492
  */
@@ -1534,6 +1623,35 @@ declare type SelectFilterClassNames = {
1534
1623
  collapseLink?: string;
1535
1624
  };
1536
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
+
1537
1655
  /**
1538
1656
  * ClassNames for styling different parts of the `RangeFilter`, `MinFilter` and `MaxFilter` component
1539
1657
  */
@@ -1568,7 +1686,7 @@ declare type SliderFilterClassNames = {
1568
1686
  };
1569
1687
 
1570
1688
  /** Event fired when sort option changes */
1571
- declare type SortChangedEvent = {
1689
+ export declare type SortChangedEvent = {
1572
1690
  type: 'sort_changed';
1573
1691
  from: string | undefined;
1574
1692
  to: string;
@@ -1649,7 +1767,7 @@ declare type TermsClassNames = {
1649
1767
  base?: string;
1650
1768
  } & SectionClassNames;
1651
1769
 
1652
- declare type Translations = {
1770
+ export declare type Translations = {
1653
1771
  common: {
1654
1772
  yes: string;
1655
1773
  no: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mobielnl/elements",
3
- "version": "0.10.0",
3
+ "version": "0.10.1",
4
4
  "description": "Mobiel.nl Elements - React component library for partner websites",
5
5
  "private": false,
6
6
  "type": "module",