@syntrologie/adapt-product 2.8.0-canary.245

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 (47) hide show
  1. package/dist/bind/controller.d.ts +12 -0
  2. package/dist/bind/controller.d.ts.map +1 -0
  3. package/dist/bind/dom-selector.d.ts +11 -0
  4. package/dist/bind/dom-selector.d.ts.map +1 -0
  5. package/dist/bind/index.d.ts +6 -0
  6. package/dist/bind/index.d.ts.map +1 -0
  7. package/dist/bind/jsonld.d.ts +11 -0
  8. package/dist/bind/jsonld.d.ts.map +1 -0
  9. package/dist/bind/opengraph.d.ts +7 -0
  10. package/dist/bind/opengraph.d.ts.map +1 -0
  11. package/dist/bind/shopify-ajax.d.ts +11 -0
  12. package/dist/bind/shopify-ajax.d.ts.map +1 -0
  13. package/dist/bind/types.d.ts +7 -0
  14. package/dist/bind/types.d.ts.map +1 -0
  15. package/dist/bind/woocommerce-store-api.d.ts +7 -0
  16. package/dist/bind/woocommerce-store-api.d.ts.map +1 -0
  17. package/dist/cdn.d.ts +30 -0
  18. package/dist/cdn.d.ts.map +1 -0
  19. package/dist/cdn.js +34 -0
  20. package/dist/cdn.js.map +7 -0
  21. package/dist/chunk-E2IVTQMX.js +1100 -0
  22. package/dist/chunk-E2IVTQMX.js.map +7 -0
  23. package/dist/chunk-SM35E4R3.js +126 -0
  24. package/dist/chunk-SM35E4R3.js.map +7 -0
  25. package/dist/runtime.d.ts +567 -0
  26. package/dist/runtime.d.ts.map +1 -0
  27. package/dist/runtime.js +18 -0
  28. package/dist/runtime.js.map +7 -0
  29. package/dist/sanitizer.d.ts +8 -0
  30. package/dist/sanitizer.d.ts.map +1 -0
  31. package/dist/schema-primitives.d.ts +414 -0
  32. package/dist/schema-primitives.d.ts.map +1 -0
  33. package/dist/schema.d.ts +3645 -0
  34. package/dist/schema.d.ts.map +1 -0
  35. package/dist/schema.js +17 -0
  36. package/dist/schema.js.map +7 -0
  37. package/dist/theme.d.ts +9 -0
  38. package/dist/theme.d.ts.map +1 -0
  39. package/dist/widgets/ProductCardLit.d.ts +32 -0
  40. package/dist/widgets/ProductCardLit.d.ts.map +1 -0
  41. package/dist/widgets/ProductComparisonLit.d.ts +33 -0
  42. package/dist/widgets/ProductComparisonLit.d.ts.map +1 -0
  43. package/dist/widgets/ProductGridLit.d.ts +27 -0
  44. package/dist/widgets/ProductGridLit.d.ts.map +1 -0
  45. package/dist/widgets/ProductHeroLit.d.ts +27 -0
  46. package/dist/widgets/ProductHeroLit.d.ts.map +1 -0
  47. package/package.json +58 -0
@@ -0,0 +1,567 @@
1
+ /**
2
+ * adaptive-product — Runtime manifest
3
+ *
4
+ * Exports the runtime descriptor consumed by the SDK's AppLoader.
5
+ * Registers the four <syntro-product-*> custom elements as a side effect
6
+ * of importing this module, and exposes widget mountables used by
7
+ * SmartCanvasRuntime's WidgetRegistry.
8
+ */
9
+ import { type MountPlumbing } from '@syntrologie/sdk-contracts';
10
+ export declare const ProductCardMountable: {
11
+ mount(container: HTMLElement, config?: ({
12
+ product: {
13
+ id: string;
14
+ name: string;
15
+ image: {
16
+ src: string;
17
+ alt: string;
18
+ bind?: {
19
+ type: "dom-selector";
20
+ selector: string;
21
+ } | {
22
+ type: "shopify-ajax";
23
+ handle: string;
24
+ base?: string | undefined;
25
+ } | {
26
+ type: "opengraph";
27
+ url: string;
28
+ } | {
29
+ type: "jsonld";
30
+ url?: string | undefined;
31
+ } | undefined;
32
+ };
33
+ attributes: {
34
+ value: string;
35
+ label: string;
36
+ emphasis: boolean;
37
+ }[];
38
+ ctas: {
39
+ label: string;
40
+ target: "_self" | "_blank";
41
+ variant: "primary" | "secondary" | "ghost";
42
+ href?: string | undefined;
43
+ actionId?: string | undefined;
44
+ }[];
45
+ tagline?: string | undefined;
46
+ price?: {
47
+ amount: string;
48
+ bind?: {
49
+ type: "dom-selector";
50
+ selector: string;
51
+ } | {
52
+ type: "shopify-ajax";
53
+ handle: string;
54
+ base?: string | undefined;
55
+ } | {
56
+ type: "woocommerce-store-api";
57
+ slug: string;
58
+ base?: string | undefined;
59
+ } | {
60
+ type: "jsonld";
61
+ url?: string | undefined;
62
+ } | undefined;
63
+ cadence?: string | undefined;
64
+ } | undefined;
65
+ badge?: {
66
+ label: string;
67
+ tone: "neutral" | "primary" | "success" | "warning";
68
+ } | undefined;
69
+ framing?: string | undefined;
70
+ };
71
+ density: "compact" | "standard";
72
+ } & MountPlumbing) | null | undefined): () => void;
73
+ };
74
+ export declare const ProductComparisonMountable: {
75
+ mount(container: HTMLElement, config?: ({
76
+ products: {
77
+ id: string;
78
+ name: string;
79
+ image: {
80
+ src: string;
81
+ alt: string;
82
+ bind?: {
83
+ type: "dom-selector";
84
+ selector: string;
85
+ } | {
86
+ type: "shopify-ajax";
87
+ handle: string;
88
+ base?: string | undefined;
89
+ } | {
90
+ type: "opengraph";
91
+ url: string;
92
+ } | {
93
+ type: "jsonld";
94
+ url?: string | undefined;
95
+ } | undefined;
96
+ };
97
+ attributes: {
98
+ value: string;
99
+ label: string;
100
+ emphasis: boolean;
101
+ }[];
102
+ ctas: {
103
+ label: string;
104
+ target: "_self" | "_blank";
105
+ variant: "primary" | "secondary" | "ghost";
106
+ href?: string | undefined;
107
+ actionId?: string | undefined;
108
+ }[];
109
+ tagline?: string | undefined;
110
+ price?: {
111
+ amount: string;
112
+ bind?: {
113
+ type: "dom-selector";
114
+ selector: string;
115
+ } | {
116
+ type: "shopify-ajax";
117
+ handle: string;
118
+ base?: string | undefined;
119
+ } | {
120
+ type: "woocommerce-store-api";
121
+ slug: string;
122
+ base?: string | undefined;
123
+ } | {
124
+ type: "jsonld";
125
+ url?: string | undefined;
126
+ } | undefined;
127
+ cadence?: string | undefined;
128
+ } | undefined;
129
+ badge?: {
130
+ label: string;
131
+ tone: "neutral" | "primary" | "success" | "warning";
132
+ } | undefined;
133
+ framing?: string | undefined;
134
+ }[];
135
+ expandBehavior: "multi" | "accordion";
136
+ defaultExpandedIndex?: number | undefined;
137
+ heading?: string | undefined;
138
+ } & MountPlumbing) | null | undefined): () => void;
139
+ };
140
+ export declare const ProductHeroMountable: {
141
+ mount(container: HTMLElement, config?: ({
142
+ product: {
143
+ id: string;
144
+ name: string;
145
+ image: {
146
+ src: string;
147
+ alt: string;
148
+ bind?: {
149
+ type: "dom-selector";
150
+ selector: string;
151
+ } | {
152
+ type: "shopify-ajax";
153
+ handle: string;
154
+ base?: string | undefined;
155
+ } | {
156
+ type: "opengraph";
157
+ url: string;
158
+ } | {
159
+ type: "jsonld";
160
+ url?: string | undefined;
161
+ } | undefined;
162
+ };
163
+ attributes: {
164
+ value: string;
165
+ label: string;
166
+ emphasis: boolean;
167
+ }[];
168
+ ctas: {
169
+ label: string;
170
+ target: "_self" | "_blank";
171
+ variant: "primary" | "secondary" | "ghost";
172
+ href?: string | undefined;
173
+ actionId?: string | undefined;
174
+ }[];
175
+ tagline?: string | undefined;
176
+ price?: {
177
+ amount: string;
178
+ bind?: {
179
+ type: "dom-selector";
180
+ selector: string;
181
+ } | {
182
+ type: "shopify-ajax";
183
+ handle: string;
184
+ base?: string | undefined;
185
+ } | {
186
+ type: "woocommerce-store-api";
187
+ slug: string;
188
+ base?: string | undefined;
189
+ } | {
190
+ type: "jsonld";
191
+ url?: string | undefined;
192
+ } | undefined;
193
+ cadence?: string | undefined;
194
+ } | undefined;
195
+ badge?: {
196
+ label: string;
197
+ tone: "neutral" | "primary" | "success" | "warning";
198
+ } | undefined;
199
+ framing?: string | undefined;
200
+ };
201
+ layout: "image-left" | "image-right" | "image-top";
202
+ longCopy?: string | undefined;
203
+ } & MountPlumbing) | null | undefined): () => void;
204
+ };
205
+ export declare const ProductGridMountable: {
206
+ mount(container: HTMLElement, config?: ({
207
+ products: {
208
+ id: string;
209
+ name: string;
210
+ image: {
211
+ src: string;
212
+ alt: string;
213
+ bind?: {
214
+ type: "dom-selector";
215
+ selector: string;
216
+ } | {
217
+ type: "shopify-ajax";
218
+ handle: string;
219
+ base?: string | undefined;
220
+ } | {
221
+ type: "opengraph";
222
+ url: string;
223
+ } | {
224
+ type: "jsonld";
225
+ url?: string | undefined;
226
+ } | undefined;
227
+ };
228
+ attributes: {
229
+ value: string;
230
+ label: string;
231
+ emphasis: boolean;
232
+ }[];
233
+ ctas: {
234
+ label: string;
235
+ target: "_self" | "_blank";
236
+ variant: "primary" | "secondary" | "ghost";
237
+ href?: string | undefined;
238
+ actionId?: string | undefined;
239
+ }[];
240
+ tagline?: string | undefined;
241
+ price?: {
242
+ amount: string;
243
+ bind?: {
244
+ type: "dom-selector";
245
+ selector: string;
246
+ } | {
247
+ type: "shopify-ajax";
248
+ handle: string;
249
+ base?: string | undefined;
250
+ } | {
251
+ type: "woocommerce-store-api";
252
+ slug: string;
253
+ base?: string | undefined;
254
+ } | {
255
+ type: "jsonld";
256
+ url?: string | undefined;
257
+ } | undefined;
258
+ cadence?: string | undefined;
259
+ } | undefined;
260
+ badge?: {
261
+ label: string;
262
+ tone: "neutral" | "primary" | "success" | "warning";
263
+ } | undefined;
264
+ framing?: string | undefined;
265
+ }[];
266
+ desktopColumns: 2 | 3;
267
+ heading?: string | undefined;
268
+ } & MountPlumbing) | null | undefined): () => void;
269
+ };
270
+ export declare const runtime: {
271
+ id: string;
272
+ version: string;
273
+ name: string;
274
+ description: string;
275
+ executors: never[];
276
+ widgets: ({
277
+ id: string;
278
+ component: {
279
+ mount(container: HTMLElement, config?: ({
280
+ product: {
281
+ id: string;
282
+ name: string;
283
+ image: {
284
+ src: string;
285
+ alt: string;
286
+ bind?: {
287
+ type: "dom-selector";
288
+ selector: string;
289
+ } | {
290
+ type: "shopify-ajax";
291
+ handle: string;
292
+ base?: string | undefined;
293
+ } | {
294
+ type: "opengraph";
295
+ url: string;
296
+ } | {
297
+ type: "jsonld";
298
+ url?: string | undefined;
299
+ } | undefined;
300
+ };
301
+ attributes: {
302
+ value: string;
303
+ label: string;
304
+ emphasis: boolean;
305
+ }[];
306
+ ctas: {
307
+ label: string;
308
+ target: "_self" | "_blank";
309
+ variant: "primary" | "secondary" | "ghost";
310
+ href?: string | undefined;
311
+ actionId?: string | undefined;
312
+ }[];
313
+ tagline?: string | undefined;
314
+ price?: {
315
+ amount: string;
316
+ bind?: {
317
+ type: "dom-selector";
318
+ selector: string;
319
+ } | {
320
+ type: "shopify-ajax";
321
+ handle: string;
322
+ base?: string | undefined;
323
+ } | {
324
+ type: "woocommerce-store-api";
325
+ slug: string;
326
+ base?: string | undefined;
327
+ } | {
328
+ type: "jsonld";
329
+ url?: string | undefined;
330
+ } | undefined;
331
+ cadence?: string | undefined;
332
+ } | undefined;
333
+ badge?: {
334
+ label: string;
335
+ tone: "neutral" | "primary" | "success" | "warning";
336
+ } | undefined;
337
+ framing?: string | undefined;
338
+ };
339
+ density: "compact" | "standard";
340
+ } & MountPlumbing) | null | undefined): () => void;
341
+ };
342
+ metadata: {
343
+ name: string;
344
+ description: string;
345
+ icon: string;
346
+ };
347
+ } | {
348
+ id: string;
349
+ component: {
350
+ mount(container: HTMLElement, config?: ({
351
+ products: {
352
+ id: string;
353
+ name: string;
354
+ image: {
355
+ src: string;
356
+ alt: string;
357
+ bind?: {
358
+ type: "dom-selector";
359
+ selector: string;
360
+ } | {
361
+ type: "shopify-ajax";
362
+ handle: string;
363
+ base?: string | undefined;
364
+ } | {
365
+ type: "opengraph";
366
+ url: string;
367
+ } | {
368
+ type: "jsonld";
369
+ url?: string | undefined;
370
+ } | undefined;
371
+ };
372
+ attributes: {
373
+ value: string;
374
+ label: string;
375
+ emphasis: boolean;
376
+ }[];
377
+ ctas: {
378
+ label: string;
379
+ target: "_self" | "_blank";
380
+ variant: "primary" | "secondary" | "ghost";
381
+ href?: string | undefined;
382
+ actionId?: string | undefined;
383
+ }[];
384
+ tagline?: string | undefined;
385
+ price?: {
386
+ amount: string;
387
+ bind?: {
388
+ type: "dom-selector";
389
+ selector: string;
390
+ } | {
391
+ type: "shopify-ajax";
392
+ handle: string;
393
+ base?: string | undefined;
394
+ } | {
395
+ type: "woocommerce-store-api";
396
+ slug: string;
397
+ base?: string | undefined;
398
+ } | {
399
+ type: "jsonld";
400
+ url?: string | undefined;
401
+ } | undefined;
402
+ cadence?: string | undefined;
403
+ } | undefined;
404
+ badge?: {
405
+ label: string;
406
+ tone: "neutral" | "primary" | "success" | "warning";
407
+ } | undefined;
408
+ framing?: string | undefined;
409
+ }[];
410
+ expandBehavior: "multi" | "accordion";
411
+ defaultExpandedIndex?: number | undefined;
412
+ heading?: string | undefined;
413
+ } & MountPlumbing) | null | undefined): () => void;
414
+ };
415
+ metadata: {
416
+ name: string;
417
+ description: string;
418
+ icon: string;
419
+ };
420
+ } | {
421
+ id: string;
422
+ component: {
423
+ mount(container: HTMLElement, config?: ({
424
+ product: {
425
+ id: string;
426
+ name: string;
427
+ image: {
428
+ src: string;
429
+ alt: string;
430
+ bind?: {
431
+ type: "dom-selector";
432
+ selector: string;
433
+ } | {
434
+ type: "shopify-ajax";
435
+ handle: string;
436
+ base?: string | undefined;
437
+ } | {
438
+ type: "opengraph";
439
+ url: string;
440
+ } | {
441
+ type: "jsonld";
442
+ url?: string | undefined;
443
+ } | undefined;
444
+ };
445
+ attributes: {
446
+ value: string;
447
+ label: string;
448
+ emphasis: boolean;
449
+ }[];
450
+ ctas: {
451
+ label: string;
452
+ target: "_self" | "_blank";
453
+ variant: "primary" | "secondary" | "ghost";
454
+ href?: string | undefined;
455
+ actionId?: string | undefined;
456
+ }[];
457
+ tagline?: string | undefined;
458
+ price?: {
459
+ amount: string;
460
+ bind?: {
461
+ type: "dom-selector";
462
+ selector: string;
463
+ } | {
464
+ type: "shopify-ajax";
465
+ handle: string;
466
+ base?: string | undefined;
467
+ } | {
468
+ type: "woocommerce-store-api";
469
+ slug: string;
470
+ base?: string | undefined;
471
+ } | {
472
+ type: "jsonld";
473
+ url?: string | undefined;
474
+ } | undefined;
475
+ cadence?: string | undefined;
476
+ } | undefined;
477
+ badge?: {
478
+ label: string;
479
+ tone: "neutral" | "primary" | "success" | "warning";
480
+ } | undefined;
481
+ framing?: string | undefined;
482
+ };
483
+ layout: "image-left" | "image-right" | "image-top";
484
+ longCopy?: string | undefined;
485
+ } & MountPlumbing) | null | undefined): () => void;
486
+ };
487
+ metadata: {
488
+ name: string;
489
+ description: string;
490
+ icon: string;
491
+ };
492
+ } | {
493
+ id: string;
494
+ component: {
495
+ mount(container: HTMLElement, config?: ({
496
+ products: {
497
+ id: string;
498
+ name: string;
499
+ image: {
500
+ src: string;
501
+ alt: string;
502
+ bind?: {
503
+ type: "dom-selector";
504
+ selector: string;
505
+ } | {
506
+ type: "shopify-ajax";
507
+ handle: string;
508
+ base?: string | undefined;
509
+ } | {
510
+ type: "opengraph";
511
+ url: string;
512
+ } | {
513
+ type: "jsonld";
514
+ url?: string | undefined;
515
+ } | undefined;
516
+ };
517
+ attributes: {
518
+ value: string;
519
+ label: string;
520
+ emphasis: boolean;
521
+ }[];
522
+ ctas: {
523
+ label: string;
524
+ target: "_self" | "_blank";
525
+ variant: "primary" | "secondary" | "ghost";
526
+ href?: string | undefined;
527
+ actionId?: string | undefined;
528
+ }[];
529
+ tagline?: string | undefined;
530
+ price?: {
531
+ amount: string;
532
+ bind?: {
533
+ type: "dom-selector";
534
+ selector: string;
535
+ } | {
536
+ type: "shopify-ajax";
537
+ handle: string;
538
+ base?: string | undefined;
539
+ } | {
540
+ type: "woocommerce-store-api";
541
+ slug: string;
542
+ base?: string | undefined;
543
+ } | {
544
+ type: "jsonld";
545
+ url?: string | undefined;
546
+ } | undefined;
547
+ cadence?: string | undefined;
548
+ } | undefined;
549
+ badge?: {
550
+ label: string;
551
+ tone: "neutral" | "primary" | "success" | "warning";
552
+ } | undefined;
553
+ framing?: string | undefined;
554
+ }[];
555
+ desktopColumns: 2 | 3;
556
+ heading?: string | undefined;
557
+ } & MountPlumbing) | null | undefined): () => void;
558
+ };
559
+ metadata: {
560
+ name: string;
561
+ description: string;
562
+ icon: string;
563
+ };
564
+ })[];
565
+ };
566
+ export default runtime;
567
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,18 @@
1
+ import {
2
+ ProductCardMountable,
3
+ ProductComparisonMountable,
4
+ ProductGridMountable,
5
+ ProductHeroMountable,
6
+ runtime,
7
+ runtime_default
8
+ } from "./chunk-E2IVTQMX.js";
9
+ import "./chunk-SM35E4R3.js";
10
+ export {
11
+ ProductCardMountable,
12
+ ProductComparisonMountable,
13
+ ProductGridMountable,
14
+ ProductHeroMountable,
15
+ runtime_default as default,
16
+ runtime
17
+ };
18
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * HTML Sanitizer
3
+ *
4
+ * Sanitizes HTML to prevent XSS attacks.
5
+ * Uses native Sanitizer API when available, falls back to whitelist approach.
6
+ */
7
+ export declare function sanitizeHtml(html: string): string;
8
+ //# sourceMappingURL=sanitizer.d.ts.map
@@ -0,0 +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"}