@syntrologie/adapt-product 2.28.0 → 2.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/__fixtures__/variant-payloads.d.ts +33 -0
  2. package/dist/__fixtures__/variant-payloads.d.ts.map +1 -0
  3. package/dist/cdn.d.ts +1 -0
  4. package/dist/cdn.d.ts.map +1 -1
  5. package/dist/cdn.js +9 -3
  6. package/dist/cdn.js.map +2 -2
  7. package/dist/{chunk-SGJGJRCP.js → chunk-7Z4Y44WC.js} +139 -6
  8. package/dist/chunk-7Z4Y44WC.js.map +7 -0
  9. package/dist/chunk-VY23O32Z.js +10963 -0
  10. package/dist/chunk-VY23O32Z.js.map +7 -0
  11. package/dist/decision/card-effects.d.ts +20 -0
  12. package/dist/decision/card-effects.d.ts.map +1 -0
  13. package/dist/decision/card.d.ts +150 -0
  14. package/dist/decision/card.d.ts.map +1 -0
  15. package/dist/decision/pdp-compose.d.ts +69 -0
  16. package/dist/decision/pdp-compose.d.ts.map +1 -0
  17. package/dist/decision/pdp-effects.d.ts +17 -0
  18. package/dist/decision/pdp-effects.d.ts.map +1 -0
  19. package/dist/decision/pdp.d.ts +214 -0
  20. package/dist/decision/pdp.d.ts.map +1 -0
  21. package/dist/native/nativeSlotSwap.d.ts +40 -0
  22. package/dist/native/nativeSlotSwap.d.ts.map +1 -0
  23. package/dist/native/nativeSlotWatcher.d.ts +135 -0
  24. package/dist/native/nativeSlotWatcher.d.ts.map +1 -0
  25. package/dist/platformAdapter.d.ts +82 -0
  26. package/dist/platformAdapter.d.ts.map +1 -0
  27. package/dist/runtime.d.ts +318 -36
  28. package/dist/runtime.d.ts.map +1 -1
  29. package/dist/runtime.js +10 -2
  30. package/dist/sanitizer.d.ts.map +1 -1
  31. package/dist/schema-primitives.d.ts +197 -12
  32. package/dist/schema-primitives.d.ts.map +1 -1
  33. package/dist/schema.d.ts +2098 -164
  34. package/dist/schema.d.ts.map +1 -1
  35. package/dist/schema.js +11 -1
  36. package/dist/scoring/pool-selection.d.ts +35 -0
  37. package/dist/scoring/pool-selection.d.ts.map +1 -0
  38. package/dist/scoring/scored-template.d.ts +106 -0
  39. package/dist/scoring/scored-template.d.ts.map +1 -0
  40. package/dist/variantCache.d.ts +5 -0
  41. package/dist/variantCache.d.ts.map +1 -0
  42. package/dist/widgets/OtherProductTileLit.d.ts +46 -0
  43. package/dist/widgets/OtherProductTileLit.d.ts.map +1 -0
  44. package/dist/widgets/PdpChartBarStackedLit.d.ts +33 -0
  45. package/dist/widgets/PdpChartBarStackedLit.d.ts.map +1 -0
  46. package/dist/widgets/PdpChartLit.d.ts +56 -0
  47. package/dist/widgets/PdpChartLit.d.ts.map +1 -0
  48. package/dist/widgets/PdpChartMetricPullLit.d.ts +33 -0
  49. package/dist/widgets/PdpChartMetricPullLit.d.ts.map +1 -0
  50. package/dist/widgets/PdpOtherProductsCarouselLit.d.ts +33 -0
  51. package/dist/widgets/PdpOtherProductsCarouselLit.d.ts.map +1 -0
  52. package/dist/widgets/PdpOtherProductsGridLit.d.ts +20 -0
  53. package/dist/widgets/PdpOtherProductsGridLit.d.ts.map +1 -0
  54. package/dist/widgets/PdpOtherProductsLit.d.ts +35 -0
  55. package/dist/widgets/PdpOtherProductsLit.d.ts.map +1 -0
  56. package/dist/widgets/PdpPeerFeedCarouselLit.d.ts +30 -0
  57. package/dist/widgets/PdpPeerFeedCarouselLit.d.ts.map +1 -0
  58. package/dist/widgets/PdpPeerFeedLit.d.ts +51 -0
  59. package/dist/widgets/PdpPeerFeedLit.d.ts.map +1 -0
  60. package/dist/widgets/PdpPeerFeedMasonryLit.d.ts +30 -0
  61. package/dist/widgets/PdpPeerFeedMasonryLit.d.ts.map +1 -0
  62. package/dist/widgets/PdpQaAccordionLit.d.ts +27 -0
  63. package/dist/widgets/PdpQaAccordionLit.d.ts.map +1 -0
  64. package/dist/widgets/PdpQaLit.d.ts +48 -0
  65. package/dist/widgets/PdpQaLit.d.ts.map +1 -0
  66. package/dist/widgets/PdpQaSideBySideLit.d.ts +27 -0
  67. package/dist/widgets/PdpQaSideBySideLit.d.ts.map +1 -0
  68. package/dist/widgets/PdpRegionalFullBleedLit.d.ts +27 -0
  69. package/dist/widgets/PdpRegionalFullBleedLit.d.ts.map +1 -0
  70. package/dist/widgets/PdpRegionalInlineNoteLit.d.ts +27 -0
  71. package/dist/widgets/PdpRegionalInlineNoteLit.d.ts.map +1 -0
  72. package/dist/widgets/PdpRegionalLit.d.ts +48 -0
  73. package/dist/widgets/PdpRegionalLit.d.ts.map +1 -0
  74. package/dist/widgets/PdpRibbonLit.d.ts +31 -0
  75. package/dist/widgets/PdpRibbonLit.d.ts.map +1 -0
  76. package/dist/widgets/PdpSectionHeaderLit.d.ts +30 -0
  77. package/dist/widgets/PdpSectionHeaderLit.d.ts.map +1 -0
  78. package/dist/widgets/PdpSlotLit.d.ts +30 -0
  79. package/dist/widgets/PdpSlotLit.d.ts.map +1 -0
  80. package/dist/widgets/PdpSlotPlaceholderLit.d.ts +22 -0
  81. package/dist/widgets/PdpSlotPlaceholderLit.d.ts.map +1 -0
  82. package/dist/widgets/PdpTrendingNewsHeroLit.d.ts +32 -0
  83. package/dist/widgets/PdpTrendingNewsHeroLit.d.ts.map +1 -0
  84. package/dist/widgets/PdpTrendingNewsLit.d.ts +42 -0
  85. package/dist/widgets/PdpTrendingNewsLit.d.ts.map +1 -0
  86. package/dist/widgets/PdpTrendingNewsMagazineLit.d.ts +32 -0
  87. package/dist/widgets/PdpTrendingNewsMagazineLit.d.ts.map +1 -0
  88. package/dist/widgets/ProductCardLit.d.ts +78 -0
  89. package/dist/widgets/ProductCardLit.d.ts.map +1 -1
  90. package/dist/widgets/ProductComparisonLit.d.ts +9 -4
  91. package/dist/widgets/ProductComparisonLit.d.ts.map +1 -1
  92. package/dist/widgets/ProductGridLit.d.ts +1 -0
  93. package/dist/widgets/ProductGridLit.d.ts.map +1 -1
  94. package/dist/widgets/ProductHeroLit.d.ts +1 -0
  95. package/dist/widgets/ProductHeroLit.d.ts.map +1 -1
  96. package/dist/widgets/ProductRecoCarouselLit.d.ts +24 -0
  97. package/dist/widgets/ProductRecoCarouselLit.d.ts.map +1 -0
  98. package/dist/widgets/SyntroPdpLit.d.ts +366 -0
  99. package/dist/widgets/SyntroPdpLit.d.ts.map +1 -0
  100. package/dist/widgets/VariantPanelLit.d.ts +98 -0
  101. package/dist/widgets/VariantPanelLit.d.ts.map +1 -0
  102. package/dist/widgets/ensureStylesInRoot.d.ts +22 -0
  103. package/dist/widgets/ensureStylesInRoot.d.ts.map +1 -0
  104. package/dist/widgets/entrance.d.ts +35 -0
  105. package/dist/widgets/entrance.d.ts.map +1 -0
  106. package/dist/widgets/renderHealth.d.ts +57 -0
  107. package/dist/widgets/renderHealth.d.ts.map +1 -0
  108. package/dist/widgets/renderHealthReporter.d.ts +66 -0
  109. package/dist/widgets/renderHealthReporter.d.ts.map +1 -0
  110. package/package.json +4 -1
  111. package/dist/chunk-QZZVFYL6.js +0 -1352
  112. package/dist/chunk-QZZVFYL6.js.map +0 -7
  113. package/dist/chunk-SGJGJRCP.js.map +0 -7
package/dist/runtime.d.ts CHANGED
@@ -7,11 +7,56 @@
7
7
  * SmartCanvasRuntime's WidgetRegistry.
8
8
  */
9
9
  import { type MountPlumbing } from '@syntrologie/sdk-contracts';
10
+ import type { SyntroPdpProps } from './schema';
11
+ import './widgets/SyntroPdpLit';
12
+ import './widgets/PdpTrendingNewsLit';
13
+ import './widgets/PdpTrendingNewsMagazineLit';
14
+ import './widgets/PdpTrendingNewsHeroLit';
15
+ import './widgets/PdpPeerFeedMasonryLit';
16
+ import './widgets/PdpPeerFeedCarouselLit';
17
+ import './widgets/PdpChartLit';
18
+ import './widgets/PdpChartBarStackedLit';
19
+ import './widgets/PdpChartMetricPullLit';
20
+ import './widgets/PdpQaAccordionLit';
21
+ import './widgets/PdpQaSideBySideLit';
22
+ import './widgets/PdpRegionalFullBleedLit';
23
+ import './widgets/PdpRegionalInlineNoteLit';
24
+ import './widgets/PdpSlotPlaceholderLit';
25
+ import './widgets/PdpRibbonLit';
26
+ import './widgets/PdpSectionHeaderLit';
27
+ import './widgets/PdpSlotLit';
28
+ import './widgets/PdpQaLit';
29
+ import './widgets/PdpRegionalLit';
30
+ import './widgets/PdpPeerFeedLit';
31
+ import './widgets/PdpOtherProductsCarouselLit';
32
+ import './widgets/PdpOtherProductsGridLit';
33
+ /**
34
+ * Test seam. Disconnects all wirer observers and clears the
35
+ * "already wired" set so subsequent tests can call `onActivate` again
36
+ * with fresh state. NOT a production API.
37
+ */
38
+ export declare const _testing: {
39
+ resetWirer(): void;
40
+ };
41
+ /**
42
+ * AppRegistry calls this once at activation via the manifest's
43
+ * `runtime.onActivate` hook (see cdn.ts). Wires runtimeRef onto every
44
+ * <syntro-pdp> element on the page AND sets up a MutationObserver for
45
+ * future additions. Idempotent per runtime instance — calling twice
46
+ * with the same runtime is a no-op on the second call.
47
+ *
48
+ * Returns a teardown that disconnects the observer and removes the
49
+ * runtime from the WeakSet. AppRegistry pushes the teardown onto its
50
+ * cleanup chain so observers don't leak across deactivate/activate
51
+ * cycles.
52
+ *
53
+ * Customer code never calls this directly.
54
+ */
55
+ export declare function onActivate(runtime: unknown): (() => void) | void;
10
56
  export declare const ProductCardMountable: {
11
57
  mount(container: HTMLElement, config?: ({
12
58
  product: {
13
59
  name: string;
14
- id: string;
15
60
  image: {
16
61
  src: string;
17
62
  alt: string;
@@ -30,10 +75,11 @@ export declare const ProductCardMountable: {
30
75
  url?: string | undefined;
31
76
  } | undefined;
32
77
  };
78
+ id: string;
33
79
  ctas: {
34
80
  label: string;
35
- target: "_self" | "_blank";
36
81
  variant: "primary" | "secondary" | "ghost";
82
+ target: "_self" | "_blank";
37
83
  href?: string | undefined;
38
84
  actionId?: string | undefined;
39
85
  }[];
@@ -97,9 +143,9 @@ export declare const ProductCardMountable: {
97
143
  max: number;
98
144
  } | undefined;
99
145
  specs?: {
146
+ name: string;
100
147
  value: string;
101
148
  section: string;
102
- name: string;
103
149
  emphasis: boolean;
104
150
  unit?: string | undefined;
105
151
  priority?: number | undefined;
@@ -107,9 +153,32 @@ export declare const ProductCardMountable: {
107
153
  labels?: Record<string, string | number | boolean> | undefined;
108
154
  attributes?: {
109
155
  value: string;
110
- emphasis: boolean;
111
156
  label: string;
157
+ emphasis: boolean;
112
158
  }[] | undefined;
159
+ variants?: {
160
+ attributes: {
161
+ values: {
162
+ label: string;
163
+ id: string;
164
+ swatch: {
165
+ kind: "image" | "color";
166
+ value: string;
167
+ } | null;
168
+ }[];
169
+ kind: "pill" | "swatch";
170
+ label: string;
171
+ key: string;
172
+ }[];
173
+ variants: {
174
+ id: string;
175
+ price: number;
176
+ in_stock: boolean;
177
+ selection: Record<string, string>;
178
+ compare_at_price: number | null;
179
+ featured_image?: string | undefined;
180
+ }[];
181
+ } | undefined;
113
182
  };
114
183
  density: "compact" | "standard";
115
184
  visibleFacts?: ("tagline" | "price" | "badge" | "framing" | "availability" | "rating" | "specs")[] | undefined;
@@ -119,7 +188,6 @@ export declare const ProductComparisonMountable: {
119
188
  mount(container: HTMLElement, config?: ({
120
189
  products: {
121
190
  name: string;
122
- id: string;
123
191
  image: {
124
192
  src: string;
125
193
  alt: string;
@@ -138,10 +206,11 @@ export declare const ProductComparisonMountable: {
138
206
  url?: string | undefined;
139
207
  } | undefined;
140
208
  };
209
+ id: string;
141
210
  ctas: {
142
211
  label: string;
143
- target: "_self" | "_blank";
144
212
  variant: "primary" | "secondary" | "ghost";
213
+ target: "_self" | "_blank";
145
214
  href?: string | undefined;
146
215
  actionId?: string | undefined;
147
216
  }[];
@@ -205,9 +274,9 @@ export declare const ProductComparisonMountable: {
205
274
  max: number;
206
275
  } | undefined;
207
276
  specs?: {
277
+ name: string;
208
278
  value: string;
209
279
  section: string;
210
- name: string;
211
280
  emphasis: boolean;
212
281
  unit?: string | undefined;
213
282
  priority?: number | undefined;
@@ -215,12 +284,40 @@ export declare const ProductComparisonMountable: {
215
284
  labels?: Record<string, string | number | boolean> | undefined;
216
285
  attributes?: {
217
286
  value: string;
218
- emphasis: boolean;
219
287
  label: string;
288
+ emphasis: boolean;
220
289
  }[] | undefined;
290
+ variants?: {
291
+ attributes: {
292
+ values: {
293
+ label: string;
294
+ id: string;
295
+ swatch: {
296
+ kind: "image" | "color";
297
+ value: string;
298
+ } | null;
299
+ }[];
300
+ kind: "pill" | "swatch";
301
+ label: string;
302
+ key: string;
303
+ }[];
304
+ variants: {
305
+ id: string;
306
+ price: number;
307
+ in_stock: boolean;
308
+ selection: Record<string, string>;
309
+ compare_at_price: number | null;
310
+ featured_image?: string | undefined;
311
+ }[];
312
+ } | undefined;
221
313
  }[];
222
- expandBehavior: "multi" | "accordion";
223
- defaultExpandedIndex?: number | undefined;
314
+ rows?: {
315
+ label: string;
316
+ valueA: string;
317
+ valueB: string;
318
+ valueC?: string | undefined;
319
+ valueD?: string | undefined;
320
+ }[] | undefined;
224
321
  heading?: string | undefined;
225
322
  } & MountPlumbing) | null | undefined): () => void;
226
323
  };
@@ -228,7 +325,6 @@ export declare const ProductHeroMountable: {
228
325
  mount(container: HTMLElement, config?: ({
229
326
  product: {
230
327
  name: string;
231
- id: string;
232
328
  image: {
233
329
  src: string;
234
330
  alt: string;
@@ -247,10 +343,11 @@ export declare const ProductHeroMountable: {
247
343
  url?: string | undefined;
248
344
  } | undefined;
249
345
  };
346
+ id: string;
250
347
  ctas: {
251
348
  label: string;
252
- target: "_self" | "_blank";
253
349
  variant: "primary" | "secondary" | "ghost";
350
+ target: "_self" | "_blank";
254
351
  href?: string | undefined;
255
352
  actionId?: string | undefined;
256
353
  }[];
@@ -314,9 +411,9 @@ export declare const ProductHeroMountable: {
314
411
  max: number;
315
412
  } | undefined;
316
413
  specs?: {
414
+ name: string;
317
415
  value: string;
318
416
  section: string;
319
- name: string;
320
417
  emphasis: boolean;
321
418
  unit?: string | undefined;
322
419
  priority?: number | undefined;
@@ -324,9 +421,32 @@ export declare const ProductHeroMountable: {
324
421
  labels?: Record<string, string | number | boolean> | undefined;
325
422
  attributes?: {
326
423
  value: string;
327
- emphasis: boolean;
328
424
  label: string;
425
+ emphasis: boolean;
329
426
  }[] | undefined;
427
+ variants?: {
428
+ attributes: {
429
+ values: {
430
+ label: string;
431
+ id: string;
432
+ swatch: {
433
+ kind: "image" | "color";
434
+ value: string;
435
+ } | null;
436
+ }[];
437
+ kind: "pill" | "swatch";
438
+ label: string;
439
+ key: string;
440
+ }[];
441
+ variants: {
442
+ id: string;
443
+ price: number;
444
+ in_stock: boolean;
445
+ selection: Record<string, string>;
446
+ compare_at_price: number | null;
447
+ featured_image?: string | undefined;
448
+ }[];
449
+ } | undefined;
330
450
  };
331
451
  layout: "image-left" | "image-right" | "image-top";
332
452
  longCopy?: string | undefined;
@@ -336,7 +456,6 @@ export declare const ProductGridMountable: {
336
456
  mount(container: HTMLElement, config?: ({
337
457
  products: {
338
458
  name: string;
339
- id: string;
340
459
  image: {
341
460
  src: string;
342
461
  alt: string;
@@ -355,10 +474,11 @@ export declare const ProductGridMountable: {
355
474
  url?: string | undefined;
356
475
  } | undefined;
357
476
  };
477
+ id: string;
358
478
  ctas: {
359
479
  label: string;
360
- target: "_self" | "_blank";
361
480
  variant: "primary" | "secondary" | "ghost";
481
+ target: "_self" | "_blank";
362
482
  href?: string | undefined;
363
483
  actionId?: string | undefined;
364
484
  }[];
@@ -422,9 +542,9 @@ export declare const ProductGridMountable: {
422
542
  max: number;
423
543
  } | undefined;
424
544
  specs?: {
545
+ name: string;
425
546
  value: string;
426
547
  section: string;
427
- name: string;
428
548
  emphasis: boolean;
429
549
  unit?: string | undefined;
430
550
  priority?: number | undefined;
@@ -432,14 +552,51 @@ export declare const ProductGridMountable: {
432
552
  labels?: Record<string, string | number | boolean> | undefined;
433
553
  attributes?: {
434
554
  value: string;
435
- emphasis: boolean;
436
555
  label: string;
556
+ emphasis: boolean;
437
557
  }[] | undefined;
558
+ variants?: {
559
+ attributes: {
560
+ values: {
561
+ label: string;
562
+ id: string;
563
+ swatch: {
564
+ kind: "image" | "color";
565
+ value: string;
566
+ } | null;
567
+ }[];
568
+ kind: "pill" | "swatch";
569
+ label: string;
570
+ key: string;
571
+ }[];
572
+ variants: {
573
+ id: string;
574
+ price: number;
575
+ in_stock: boolean;
576
+ selection: Record<string, string>;
577
+ compare_at_price: number | null;
578
+ featured_image?: string | undefined;
579
+ }[];
580
+ } | undefined;
438
581
  }[];
439
582
  desktopColumns: 2 | 3;
440
583
  heading?: string | undefined;
441
584
  } & MountPlumbing) | null | undefined): () => void;
442
585
  };
586
+ export declare const SyntroPdpMountable: {
587
+ mount(container: HTMLElement, config?: (SyntroPdpProps & MountPlumbing) | null | undefined): () => void;
588
+ };
589
+ export declare const SyntroRecoMountable: {
590
+ mount(container: HTMLElement, config?: ({
591
+ items: {
592
+ pdp_href: string;
593
+ image_url?: string | null | undefined;
594
+ price?: string | null | undefined;
595
+ hook?: string | null | undefined;
596
+ }[];
597
+ heading?: string | null | undefined;
598
+ } & MountPlumbing) | null | undefined): () => void;
599
+ };
443
600
  export declare const runtime: {
444
601
  id: string;
445
602
  version: string;
@@ -452,7 +609,6 @@ export declare const runtime: {
452
609
  mount(container: HTMLElement, config?: ({
453
610
  product: {
454
611
  name: string;
455
- id: string;
456
612
  image: {
457
613
  src: string;
458
614
  alt: string;
@@ -471,10 +627,11 @@ export declare const runtime: {
471
627
  url?: string | undefined;
472
628
  } | undefined;
473
629
  };
630
+ id: string;
474
631
  ctas: {
475
632
  label: string;
476
- target: "_self" | "_blank";
477
633
  variant: "primary" | "secondary" | "ghost";
634
+ target: "_self" | "_blank";
478
635
  href?: string | undefined;
479
636
  actionId?: string | undefined;
480
637
  }[];
@@ -538,9 +695,9 @@ export declare const runtime: {
538
695
  max: number;
539
696
  } | undefined;
540
697
  specs?: {
698
+ name: string;
541
699
  value: string;
542
700
  section: string;
543
- name: string;
544
701
  emphasis: boolean;
545
702
  unit?: string | undefined;
546
703
  priority?: number | undefined;
@@ -548,9 +705,32 @@ export declare const runtime: {
548
705
  labels?: Record<string, string | number | boolean> | undefined;
549
706
  attributes?: {
550
707
  value: string;
551
- emphasis: boolean;
552
708
  label: string;
709
+ emphasis: boolean;
553
710
  }[] | undefined;
711
+ variants?: {
712
+ attributes: {
713
+ values: {
714
+ label: string;
715
+ id: string;
716
+ swatch: {
717
+ kind: "image" | "color";
718
+ value: string;
719
+ } | null;
720
+ }[];
721
+ kind: "pill" | "swatch";
722
+ label: string;
723
+ key: string;
724
+ }[];
725
+ variants: {
726
+ id: string;
727
+ price: number;
728
+ in_stock: boolean;
729
+ selection: Record<string, string>;
730
+ compare_at_price: number | null;
731
+ featured_image?: string | undefined;
732
+ }[];
733
+ } | undefined;
554
734
  };
555
735
  density: "compact" | "standard";
556
736
  visibleFacts?: ("tagline" | "price" | "badge" | "framing" | "availability" | "rating" | "specs")[] | undefined;
@@ -567,7 +747,6 @@ export declare const runtime: {
567
747
  mount(container: HTMLElement, config?: ({
568
748
  products: {
569
749
  name: string;
570
- id: string;
571
750
  image: {
572
751
  src: string;
573
752
  alt: string;
@@ -586,10 +765,11 @@ export declare const runtime: {
586
765
  url?: string | undefined;
587
766
  } | undefined;
588
767
  };
768
+ id: string;
589
769
  ctas: {
590
770
  label: string;
591
- target: "_self" | "_blank";
592
771
  variant: "primary" | "secondary" | "ghost";
772
+ target: "_self" | "_blank";
593
773
  href?: string | undefined;
594
774
  actionId?: string | undefined;
595
775
  }[];
@@ -653,9 +833,9 @@ export declare const runtime: {
653
833
  max: number;
654
834
  } | undefined;
655
835
  specs?: {
836
+ name: string;
656
837
  value: string;
657
838
  section: string;
658
- name: string;
659
839
  emphasis: boolean;
660
840
  unit?: string | undefined;
661
841
  priority?: number | undefined;
@@ -663,12 +843,40 @@ export declare const runtime: {
663
843
  labels?: Record<string, string | number | boolean> | undefined;
664
844
  attributes?: {
665
845
  value: string;
666
- emphasis: boolean;
667
846
  label: string;
847
+ emphasis: boolean;
668
848
  }[] | undefined;
849
+ variants?: {
850
+ attributes: {
851
+ values: {
852
+ label: string;
853
+ id: string;
854
+ swatch: {
855
+ kind: "image" | "color";
856
+ value: string;
857
+ } | null;
858
+ }[];
859
+ kind: "pill" | "swatch";
860
+ label: string;
861
+ key: string;
862
+ }[];
863
+ variants: {
864
+ id: string;
865
+ price: number;
866
+ in_stock: boolean;
867
+ selection: Record<string, string>;
868
+ compare_at_price: number | null;
869
+ featured_image?: string | undefined;
870
+ }[];
871
+ } | undefined;
669
872
  }[];
670
- expandBehavior: "multi" | "accordion";
671
- defaultExpandedIndex?: number | undefined;
873
+ rows?: {
874
+ label: string;
875
+ valueA: string;
876
+ valueB: string;
877
+ valueC?: string | undefined;
878
+ valueD?: string | undefined;
879
+ }[] | undefined;
672
880
  heading?: string | undefined;
673
881
  } & MountPlumbing) | null | undefined): () => void;
674
882
  };
@@ -683,7 +891,6 @@ export declare const runtime: {
683
891
  mount(container: HTMLElement, config?: ({
684
892
  product: {
685
893
  name: string;
686
- id: string;
687
894
  image: {
688
895
  src: string;
689
896
  alt: string;
@@ -702,10 +909,11 @@ export declare const runtime: {
702
909
  url?: string | undefined;
703
910
  } | undefined;
704
911
  };
912
+ id: string;
705
913
  ctas: {
706
914
  label: string;
707
- target: "_self" | "_blank";
708
915
  variant: "primary" | "secondary" | "ghost";
916
+ target: "_self" | "_blank";
709
917
  href?: string | undefined;
710
918
  actionId?: string | undefined;
711
919
  }[];
@@ -769,9 +977,9 @@ export declare const runtime: {
769
977
  max: number;
770
978
  } | undefined;
771
979
  specs?: {
980
+ name: string;
772
981
  value: string;
773
982
  section: string;
774
- name: string;
775
983
  emphasis: boolean;
776
984
  unit?: string | undefined;
777
985
  priority?: number | undefined;
@@ -779,9 +987,32 @@ export declare const runtime: {
779
987
  labels?: Record<string, string | number | boolean> | undefined;
780
988
  attributes?: {
781
989
  value: string;
782
- emphasis: boolean;
783
990
  label: string;
991
+ emphasis: boolean;
784
992
  }[] | undefined;
993
+ variants?: {
994
+ attributes: {
995
+ values: {
996
+ label: string;
997
+ id: string;
998
+ swatch: {
999
+ kind: "image" | "color";
1000
+ value: string;
1001
+ } | null;
1002
+ }[];
1003
+ kind: "pill" | "swatch";
1004
+ label: string;
1005
+ key: string;
1006
+ }[];
1007
+ variants: {
1008
+ id: string;
1009
+ price: number;
1010
+ in_stock: boolean;
1011
+ selection: Record<string, string>;
1012
+ compare_at_price: number | null;
1013
+ featured_image?: string | undefined;
1014
+ }[];
1015
+ } | undefined;
785
1016
  };
786
1017
  layout: "image-left" | "image-right" | "image-top";
787
1018
  longCopy?: string | undefined;
@@ -798,7 +1029,6 @@ export declare const runtime: {
798
1029
  mount(container: HTMLElement, config?: ({
799
1030
  products: {
800
1031
  name: string;
801
- id: string;
802
1032
  image: {
803
1033
  src: string;
804
1034
  alt: string;
@@ -817,10 +1047,11 @@ export declare const runtime: {
817
1047
  url?: string | undefined;
818
1048
  } | undefined;
819
1049
  };
1050
+ id: string;
820
1051
  ctas: {
821
1052
  label: string;
822
- target: "_self" | "_blank";
823
1053
  variant: "primary" | "secondary" | "ghost";
1054
+ target: "_self" | "_blank";
824
1055
  href?: string | undefined;
825
1056
  actionId?: string | undefined;
826
1057
  }[];
@@ -884,9 +1115,9 @@ export declare const runtime: {
884
1115
  max: number;
885
1116
  } | undefined;
886
1117
  specs?: {
1118
+ name: string;
887
1119
  value: string;
888
1120
  section: string;
889
- name: string;
890
1121
  emphasis: boolean;
891
1122
  unit?: string | undefined;
892
1123
  priority?: number | undefined;
@@ -894,9 +1125,32 @@ export declare const runtime: {
894
1125
  labels?: Record<string, string | number | boolean> | undefined;
895
1126
  attributes?: {
896
1127
  value: string;
897
- emphasis: boolean;
898
1128
  label: string;
1129
+ emphasis: boolean;
899
1130
  }[] | undefined;
1131
+ variants?: {
1132
+ attributes: {
1133
+ values: {
1134
+ label: string;
1135
+ id: string;
1136
+ swatch: {
1137
+ kind: "image" | "color";
1138
+ value: string;
1139
+ } | null;
1140
+ }[];
1141
+ kind: "pill" | "swatch";
1142
+ label: string;
1143
+ key: string;
1144
+ }[];
1145
+ variants: {
1146
+ id: string;
1147
+ price: number;
1148
+ in_stock: boolean;
1149
+ selection: Record<string, string>;
1150
+ compare_at_price: number | null;
1151
+ featured_image?: string | undefined;
1152
+ }[];
1153
+ } | undefined;
900
1154
  }[];
901
1155
  desktopColumns: 2 | 3;
902
1156
  heading?: string | undefined;
@@ -907,6 +1161,34 @@ export declare const runtime: {
907
1161
  description: string;
908
1162
  icon: string;
909
1163
  };
1164
+ } | {
1165
+ id: string;
1166
+ component: {
1167
+ mount(container: HTMLElement, config?: (SyntroPdpProps & MountPlumbing) | null | undefined): () => void;
1168
+ };
1169
+ metadata: {
1170
+ name: string;
1171
+ description: string;
1172
+ icon: string;
1173
+ };
1174
+ } | {
1175
+ id: string;
1176
+ component: {
1177
+ mount(container: HTMLElement, config?: ({
1178
+ items: {
1179
+ pdp_href: string;
1180
+ image_url?: string | null | undefined;
1181
+ price?: string | null | undefined;
1182
+ hook?: string | null | undefined;
1183
+ }[];
1184
+ heading?: string | null | undefined;
1185
+ } & MountPlumbing) | null | undefined): () => void;
1186
+ };
1187
+ metadata: {
1188
+ name: string;
1189
+ description: string;
1190
+ icon: string;
1191
+ };
910
1192
  })[];
911
1193
  };
912
1194
  export default runtime;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,4BAA4B,CAAC;AAkCpF,eAAO,MAAM,oBAAoB;qBAVZ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUuC,CAAC;AACxE,eAAO,MAAM,0BAA0B;qBAXlB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWyD,CAAC;AAC1F,eAAO,MAAM,oBAAoB;qBAZZ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYuC,CAAC;AACxE,eAAO,MAAM,oBAAoB;qBAbZ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAauC,CAAC;AAExE,eAAO,MAAM,OAAO;;;;;;;;;6BAfC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAAX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAAX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAAX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4D/B,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -3,16 +3,24 @@ import {
3
3
  ProductComparisonMountable,
4
4
  ProductGridMountable,
5
5
  ProductHeroMountable,
6
+ SyntroPdpMountable,
7
+ SyntroRecoMountable,
8
+ _testing,
9
+ onActivate,
6
10
  runtime,
7
11
  runtime_default
8
- } from "./chunk-QZZVFYL6.js";
9
- import "./chunk-SGJGJRCP.js";
12
+ } from "./chunk-VY23O32Z.js";
13
+ import "./chunk-7Z4Y44WC.js";
10
14
  export {
11
15
  ProductCardMountable,
12
16
  ProductComparisonMountable,
13
17
  ProductGridMountable,
14
18
  ProductHeroMountable,
19
+ SyntroPdpMountable,
20
+ SyntroRecoMountable,
21
+ _testing,
15
22
  runtime_default as default,
23
+ onActivate,
16
24
  runtime
17
25
  };
18
26
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizer.d.ts","sourceRoot":"","sources":["../src/sanitizer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiCH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqDjD"}
1
+ {"version":3,"file":"sanitizer.d.ts","sourceRoot":"","sources":["../src/sanitizer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmDH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmDjD"}