@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.
- package/dist/__fixtures__/variant-payloads.d.ts +33 -0
- package/dist/__fixtures__/variant-payloads.d.ts.map +1 -0
- package/dist/cdn.d.ts +1 -0
- package/dist/cdn.d.ts.map +1 -1
- package/dist/cdn.js +9 -3
- package/dist/cdn.js.map +2 -2
- package/dist/{chunk-SGJGJRCP.js → chunk-7Z4Y44WC.js} +139 -6
- package/dist/chunk-7Z4Y44WC.js.map +7 -0
- package/dist/chunk-VY23O32Z.js +10963 -0
- package/dist/chunk-VY23O32Z.js.map +7 -0
- package/dist/decision/card-effects.d.ts +20 -0
- package/dist/decision/card-effects.d.ts.map +1 -0
- package/dist/decision/card.d.ts +150 -0
- package/dist/decision/card.d.ts.map +1 -0
- package/dist/decision/pdp-compose.d.ts +69 -0
- package/dist/decision/pdp-compose.d.ts.map +1 -0
- package/dist/decision/pdp-effects.d.ts +17 -0
- package/dist/decision/pdp-effects.d.ts.map +1 -0
- package/dist/decision/pdp.d.ts +214 -0
- package/dist/decision/pdp.d.ts.map +1 -0
- package/dist/native/nativeSlotSwap.d.ts +40 -0
- package/dist/native/nativeSlotSwap.d.ts.map +1 -0
- package/dist/native/nativeSlotWatcher.d.ts +135 -0
- package/dist/native/nativeSlotWatcher.d.ts.map +1 -0
- package/dist/platformAdapter.d.ts +82 -0
- package/dist/platformAdapter.d.ts.map +1 -0
- package/dist/runtime.d.ts +318 -36
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +10 -2
- package/dist/sanitizer.d.ts.map +1 -1
- package/dist/schema-primitives.d.ts +197 -12
- package/dist/schema-primitives.d.ts.map +1 -1
- package/dist/schema.d.ts +2098 -164
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +11 -1
- package/dist/scoring/pool-selection.d.ts +35 -0
- package/dist/scoring/pool-selection.d.ts.map +1 -0
- package/dist/scoring/scored-template.d.ts +106 -0
- package/dist/scoring/scored-template.d.ts.map +1 -0
- package/dist/variantCache.d.ts +5 -0
- package/dist/variantCache.d.ts.map +1 -0
- package/dist/widgets/OtherProductTileLit.d.ts +46 -0
- package/dist/widgets/OtherProductTileLit.d.ts.map +1 -0
- package/dist/widgets/PdpChartBarStackedLit.d.ts +33 -0
- package/dist/widgets/PdpChartBarStackedLit.d.ts.map +1 -0
- package/dist/widgets/PdpChartLit.d.ts +56 -0
- package/dist/widgets/PdpChartLit.d.ts.map +1 -0
- package/dist/widgets/PdpChartMetricPullLit.d.ts +33 -0
- package/dist/widgets/PdpChartMetricPullLit.d.ts.map +1 -0
- package/dist/widgets/PdpOtherProductsCarouselLit.d.ts +33 -0
- package/dist/widgets/PdpOtherProductsCarouselLit.d.ts.map +1 -0
- package/dist/widgets/PdpOtherProductsGridLit.d.ts +20 -0
- package/dist/widgets/PdpOtherProductsGridLit.d.ts.map +1 -0
- package/dist/widgets/PdpOtherProductsLit.d.ts +35 -0
- package/dist/widgets/PdpOtherProductsLit.d.ts.map +1 -0
- package/dist/widgets/PdpPeerFeedCarouselLit.d.ts +30 -0
- package/dist/widgets/PdpPeerFeedCarouselLit.d.ts.map +1 -0
- package/dist/widgets/PdpPeerFeedLit.d.ts +51 -0
- package/dist/widgets/PdpPeerFeedLit.d.ts.map +1 -0
- package/dist/widgets/PdpPeerFeedMasonryLit.d.ts +30 -0
- package/dist/widgets/PdpPeerFeedMasonryLit.d.ts.map +1 -0
- package/dist/widgets/PdpQaAccordionLit.d.ts +27 -0
- package/dist/widgets/PdpQaAccordionLit.d.ts.map +1 -0
- package/dist/widgets/PdpQaLit.d.ts +48 -0
- package/dist/widgets/PdpQaLit.d.ts.map +1 -0
- package/dist/widgets/PdpQaSideBySideLit.d.ts +27 -0
- package/dist/widgets/PdpQaSideBySideLit.d.ts.map +1 -0
- package/dist/widgets/PdpRegionalFullBleedLit.d.ts +27 -0
- package/dist/widgets/PdpRegionalFullBleedLit.d.ts.map +1 -0
- package/dist/widgets/PdpRegionalInlineNoteLit.d.ts +27 -0
- package/dist/widgets/PdpRegionalInlineNoteLit.d.ts.map +1 -0
- package/dist/widgets/PdpRegionalLit.d.ts +48 -0
- package/dist/widgets/PdpRegionalLit.d.ts.map +1 -0
- package/dist/widgets/PdpRibbonLit.d.ts +31 -0
- package/dist/widgets/PdpRibbonLit.d.ts.map +1 -0
- package/dist/widgets/PdpSectionHeaderLit.d.ts +30 -0
- package/dist/widgets/PdpSectionHeaderLit.d.ts.map +1 -0
- package/dist/widgets/PdpSlotLit.d.ts +30 -0
- package/dist/widgets/PdpSlotLit.d.ts.map +1 -0
- package/dist/widgets/PdpSlotPlaceholderLit.d.ts +22 -0
- package/dist/widgets/PdpSlotPlaceholderLit.d.ts.map +1 -0
- package/dist/widgets/PdpTrendingNewsHeroLit.d.ts +32 -0
- package/dist/widgets/PdpTrendingNewsHeroLit.d.ts.map +1 -0
- package/dist/widgets/PdpTrendingNewsLit.d.ts +42 -0
- package/dist/widgets/PdpTrendingNewsLit.d.ts.map +1 -0
- package/dist/widgets/PdpTrendingNewsMagazineLit.d.ts +32 -0
- package/dist/widgets/PdpTrendingNewsMagazineLit.d.ts.map +1 -0
- package/dist/widgets/ProductCardLit.d.ts +78 -0
- package/dist/widgets/ProductCardLit.d.ts.map +1 -1
- package/dist/widgets/ProductComparisonLit.d.ts +9 -4
- package/dist/widgets/ProductComparisonLit.d.ts.map +1 -1
- package/dist/widgets/ProductGridLit.d.ts +1 -0
- package/dist/widgets/ProductGridLit.d.ts.map +1 -1
- package/dist/widgets/ProductHeroLit.d.ts +1 -0
- package/dist/widgets/ProductHeroLit.d.ts.map +1 -1
- package/dist/widgets/ProductRecoCarouselLit.d.ts +24 -0
- package/dist/widgets/ProductRecoCarouselLit.d.ts.map +1 -0
- package/dist/widgets/SyntroPdpLit.d.ts +366 -0
- package/dist/widgets/SyntroPdpLit.d.ts.map +1 -0
- package/dist/widgets/VariantPanelLit.d.ts +98 -0
- package/dist/widgets/VariantPanelLit.d.ts.map +1 -0
- package/dist/widgets/ensureStylesInRoot.d.ts +22 -0
- package/dist/widgets/ensureStylesInRoot.d.ts.map +1 -0
- package/dist/widgets/entrance.d.ts +35 -0
- package/dist/widgets/entrance.d.ts.map +1 -0
- package/dist/widgets/renderHealth.d.ts +57 -0
- package/dist/widgets/renderHealth.d.ts.map +1 -0
- package/dist/widgets/renderHealthReporter.d.ts +66 -0
- package/dist/widgets/renderHealthReporter.d.ts.map +1 -0
- package/package.json +4 -1
- package/dist/chunk-QZZVFYL6.js +0 -1352
- package/dist/chunk-QZZVFYL6.js.map +0 -7
- package/dist/chunk-SGJGJRCP.js.map +0 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpPeerFeedMasonryLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpPeerFeedMasonryLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,UAAU,QAAQ;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAkKD,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,OAAgB,UAAU;;;;MAExB;IAEF,IAAI,EAAE,YAAY,GAAG,SAAS,CAAa;IAElC,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CA2BhB;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,8BAA8B,EAAE,qBAAqB,CAAC;KACvD;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
interface QaItem {
|
|
3
|
+
question: string;
|
|
4
|
+
answer: string;
|
|
5
|
+
}
|
|
6
|
+
interface QaData {
|
|
7
|
+
items: QaItem[];
|
|
8
|
+
rationale: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class PdpQaAccordionLit extends LitElement {
|
|
11
|
+
static properties: {
|
|
12
|
+
data: {
|
|
13
|
+
attribute: boolean;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
data: QaData | undefined;
|
|
17
|
+
createRenderRoot(): this;
|
|
18
|
+
connectedCallback(): void;
|
|
19
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
20
|
+
}
|
|
21
|
+
declare global {
|
|
22
|
+
interface HTMLElementTagNameMap {
|
|
23
|
+
'syntro-pdp-qa-accordion': PdpQaAccordionLit;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=PdpQaAccordionLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpQaAccordionLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpQaAccordionLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,UAAU,MAAM;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,UAAU,MAAM;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AA6FD,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,OAAgB,UAAU;;;;MAExB;IACF,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAE5B,gBAAgB;IAGhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CAgBhB;AAKD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,yBAAyB,EAAE,iBAAiB,CAAC;KAC9C;CACF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* <syntro-pdp-qa> — agent-authored Q&A section for a PDP slot.
|
|
4
|
+
*
|
|
5
|
+
* Each item is a `<details>` element so the open/closed UX is native (works
|
|
6
|
+
* without JS, screen-reader-correct, keyboard-accessible). The default
|
|
7
|
+
* disclosure triangle is hidden in favor of an animated plus/minus glyph
|
|
8
|
+
* that matches the rest of the PDP visual vocabulary.
|
|
9
|
+
*
|
|
10
|
+
* Props:
|
|
11
|
+
* - `data` (QaData): `{ items: [{question, answer}], rationale }`.
|
|
12
|
+
*
|
|
13
|
+
* Brand customization via the standard `--syntro-pdp-*` token namespace.
|
|
14
|
+
*/
|
|
15
|
+
interface QaItem {
|
|
16
|
+
question: string;
|
|
17
|
+
answer: string;
|
|
18
|
+
}
|
|
19
|
+
interface QaData {
|
|
20
|
+
items: QaItem[];
|
|
21
|
+
rationale: string;
|
|
22
|
+
}
|
|
23
|
+
export declare class PdpQaLit extends LitElement {
|
|
24
|
+
static properties: {
|
|
25
|
+
data: {
|
|
26
|
+
attribute: boolean;
|
|
27
|
+
};
|
|
28
|
+
_entering: {
|
|
29
|
+
state: boolean;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
data: QaData | undefined;
|
|
33
|
+
_entering: boolean;
|
|
34
|
+
private _armed;
|
|
35
|
+
private _disposeEntrance?;
|
|
36
|
+
createRenderRoot(): this;
|
|
37
|
+
connectedCallback(): void;
|
|
38
|
+
disconnectedCallback(): void;
|
|
39
|
+
updated(): void;
|
|
40
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
41
|
+
}
|
|
42
|
+
declare global {
|
|
43
|
+
interface HTMLElementTagNameMap {
|
|
44
|
+
'syntro-pdp-qa': PdpQaLit;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=PdpQaLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpQaLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpQaLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAGhD;;;;;;;;;;;;GAYG;AAEH,UAAU,MAAM;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,MAAM;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAqKD,qBAAa,QAAS,SAAQ,UAAU;IACtC,OAAgB,UAAU;;;;;;;MAGxB;IAEF,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IACrC,SAAS,UAAQ;IACjB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAa;IAE7B,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;IAS5B,OAAO,IAAI,IAAI;IAef,MAAM;CAiChB;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,QAAQ,CAAC;KAC3B;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
interface QaItem {
|
|
3
|
+
question: string;
|
|
4
|
+
answer: string;
|
|
5
|
+
}
|
|
6
|
+
interface QaData {
|
|
7
|
+
items: QaItem[];
|
|
8
|
+
rationale: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class PdpQaSideBySideLit extends LitElement {
|
|
11
|
+
static properties: {
|
|
12
|
+
data: {
|
|
13
|
+
attribute: boolean;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
data: QaData | undefined;
|
|
17
|
+
createRenderRoot(): this;
|
|
18
|
+
connectedCallback(): void;
|
|
19
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
20
|
+
}
|
|
21
|
+
declare global {
|
|
22
|
+
interface HTMLElementTagNameMap {
|
|
23
|
+
'syntro-pdp-qa-side': PdpQaSideBySideLit;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=PdpQaSideBySideLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpQaSideBySideLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpQaSideBySideLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,UAAU,MAAM;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,UAAU,MAAM;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAqFD,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,OAAgB,UAAU;;;;MAExB;IACF,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAE5B,gBAAgB;IAGhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CAahB;AAKD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,kBAAkB,CAAC;KAC1C;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
interface RegionalData {
|
|
3
|
+
region_label: string;
|
|
4
|
+
temporal_label: string;
|
|
5
|
+
headline: string;
|
|
6
|
+
body: string;
|
|
7
|
+
why_this_matters: string;
|
|
8
|
+
rationale: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class PdpRegionalFullBleedLit extends LitElement {
|
|
11
|
+
static properties: {
|
|
12
|
+
data: {
|
|
13
|
+
attribute: boolean;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
data: RegionalData | undefined;
|
|
17
|
+
createRenderRoot(): this;
|
|
18
|
+
connectedCallback(): void;
|
|
19
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
20
|
+
}
|
|
21
|
+
declare global {
|
|
22
|
+
interface HTMLElementTagNameMap {
|
|
23
|
+
'syntro-pdp-regional-fullbleed': PdpRegionalFullBleedLit;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=PdpRegionalFullBleedLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpRegionalFullBleedLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpRegionalFullBleedLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,UAAU,YAAY;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAsGD,qBAAa,uBAAwB,SAAQ,UAAU;IACrD,OAAgB,UAAU;;;;MAExB;IACF,IAAI,EAAE,YAAY,GAAG,SAAS,CAAa;IAElC,gBAAgB;IAGhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CAqChB;AAKD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,+BAA+B,EAAE,uBAAuB,CAAC;KAC1D;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
interface RegionalData {
|
|
3
|
+
region_label: string;
|
|
4
|
+
temporal_label: string;
|
|
5
|
+
headline: string;
|
|
6
|
+
body: string;
|
|
7
|
+
why_this_matters: string;
|
|
8
|
+
rationale: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class PdpRegionalInlineNoteLit extends LitElement {
|
|
11
|
+
static properties: {
|
|
12
|
+
data: {
|
|
13
|
+
attribute: boolean;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
data: RegionalData | undefined;
|
|
17
|
+
createRenderRoot(): this;
|
|
18
|
+
connectedCallback(): void;
|
|
19
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
20
|
+
}
|
|
21
|
+
declare global {
|
|
22
|
+
interface HTMLElementTagNameMap {
|
|
23
|
+
'syntro-pdp-regional-inline': PdpRegionalInlineNoteLit;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=PdpRegionalInlineNoteLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpRegionalInlineNoteLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpRegionalInlineNoteLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,UAAU,YAAY;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAwED,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,OAAgB,UAAU;;;;MAExB;IACF,IAAI,EAAE,YAAY,GAAG,SAAS,CAAa;IAElC,gBAAgB;IAGhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CAsBhB;AAKD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,4BAA4B,EAAE,wBAAwB,CAAC;KACxD;CACF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* <syntro-pdp-regional> — region- and temporal-context personalization tile.
|
|
4
|
+
*
|
|
5
|
+
* The agent surfaces a "what's happening near you / right now that matters
|
|
6
|
+
* for this product" framing. The visual treatment is a single rich
|
|
7
|
+
* full-width card with a quietly-textured background (suggests place /
|
|
8
|
+
* season), a region · time pill, a serif headline, body copy, and a
|
|
9
|
+
* "why this matters for you" footer line tinted in brand color.
|
|
10
|
+
*
|
|
11
|
+
* Props:
|
|
12
|
+
* - `data` (RegionalData): `{ region_label, temporal_label, headline,
|
|
13
|
+
* body, why_this_matters, rationale }`.
|
|
14
|
+
*/
|
|
15
|
+
interface RegionalData {
|
|
16
|
+
region_label: string;
|
|
17
|
+
temporal_label: string;
|
|
18
|
+
headline: string;
|
|
19
|
+
body: string;
|
|
20
|
+
why_this_matters: string;
|
|
21
|
+
rationale: string;
|
|
22
|
+
}
|
|
23
|
+
export declare class PdpRegionalLit extends LitElement {
|
|
24
|
+
static properties: {
|
|
25
|
+
data: {
|
|
26
|
+
attribute: boolean;
|
|
27
|
+
};
|
|
28
|
+
_entering: {
|
|
29
|
+
state: boolean;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
data: RegionalData | undefined;
|
|
33
|
+
_entering: boolean;
|
|
34
|
+
private _armed;
|
|
35
|
+
private _disposeEntrance?;
|
|
36
|
+
createRenderRoot(): this;
|
|
37
|
+
connectedCallback(): void;
|
|
38
|
+
disconnectedCallback(): void;
|
|
39
|
+
updated(): void;
|
|
40
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
41
|
+
}
|
|
42
|
+
declare global {
|
|
43
|
+
interface HTMLElementTagNameMap {
|
|
44
|
+
'syntro-pdp-regional': PdpRegionalLit;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=PdpRegionalLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpRegionalLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpRegionalLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAGvC;;;;;;;;;;;;GAYG;AAEH,UAAU,YAAY;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AA+LD,qBAAa,cAAe,SAAQ,UAAU;IAC5C,OAAgB,UAAU;;;;;;;MAGxB;IAEF,IAAI,EAAE,YAAY,GAAG,SAAS,CAAa;IAC3C,SAAS,UAAQ;IACjB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAa;IAE7B,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;IAS5B,OAAO,IAAI,IAAI;IAgBf,MAAM;CAyChB;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,cAAc,CAAC;KACvC;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export declare class PdpRibbonLit extends LitElement {
|
|
3
|
+
static properties: {
|
|
4
|
+
topic: {
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
};
|
|
7
|
+
subtitle: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
};
|
|
10
|
+
_entering: {
|
|
11
|
+
state: boolean;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
topic: string;
|
|
15
|
+
subtitle: string;
|
|
16
|
+
/** Transient entrance flag — true until the mount animation settles. */
|
|
17
|
+
_entering: boolean;
|
|
18
|
+
private _armed;
|
|
19
|
+
private _disposeEntrance?;
|
|
20
|
+
createRenderRoot(): this;
|
|
21
|
+
connectedCallback(): void;
|
|
22
|
+
disconnectedCallback(): void;
|
|
23
|
+
updated(): void;
|
|
24
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
25
|
+
}
|
|
26
|
+
declare global {
|
|
27
|
+
interface HTMLElementTagNameMap {
|
|
28
|
+
'syntro-pdp-ribbon': PdpRibbonLit;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=PdpRibbonLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpRibbonLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpRibbonLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AA2JhD,qBAAa,YAAa,SAAQ,UAAU;IAC1C,OAAgB,UAAU;;;;;;;;;;MAIxB;IAEF,KAAK,SAAM;IACX,QAAQ,SAAgD;IAExD,wEAAwE;IACxE,SAAS,UAAQ;IACjB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAa;IAE7B,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;IAS5B,OAAO,IAAI,IAAI;IAgBf,MAAM;CAgChB;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,YAAY,CAAC;KACnC;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export declare class PdpSectionHeaderLit extends LitElement {
|
|
3
|
+
static properties: {
|
|
4
|
+
eyebrow: {
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
};
|
|
7
|
+
title: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
};
|
|
10
|
+
accent: {
|
|
11
|
+
type: StringConstructor;
|
|
12
|
+
};
|
|
13
|
+
subtitle: {
|
|
14
|
+
type: StringConstructor;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
eyebrow: string;
|
|
18
|
+
title: string;
|
|
19
|
+
accent: string;
|
|
20
|
+
subtitle: string;
|
|
21
|
+
createRenderRoot(): this;
|
|
22
|
+
connectedCallback(): void;
|
|
23
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
24
|
+
}
|
|
25
|
+
declare global {
|
|
26
|
+
interface HTMLElementTagNameMap {
|
|
27
|
+
'syntro-pdp-section-header': PdpSectionHeaderLit;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=PdpSectionHeaderLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpSectionHeaderLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpSectionHeaderLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAyJhD,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,OAAgB,UAAU;;;;;;;;;;;;;MAKxB;IAEF,OAAO,SAAM;IACb,KAAK,SAAM;IACX,MAAM,SAAM;IACZ,QAAQ,SAAM;IAEL,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CAqBhB;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,2BAA2B,EAAE,mBAAmB,CAAC;KAClD;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export declare class PdpSlotLit extends LitElement {
|
|
3
|
+
static properties: {
|
|
4
|
+
slotId: {
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
attribute: string;
|
|
7
|
+
};
|
|
8
|
+
kind: {
|
|
9
|
+
type: StringConstructor;
|
|
10
|
+
};
|
|
11
|
+
state: {
|
|
12
|
+
type: StringConstructor;
|
|
13
|
+
reflect: boolean;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
/** DOM id the host's mutation runtime targets when appending the widget. */
|
|
17
|
+
slotId: string;
|
|
18
|
+
kind: string;
|
|
19
|
+
state: 'pending' | 'mounted' | 'failed';
|
|
20
|
+
createRenderRoot(): this;
|
|
21
|
+
connectedCallback(): void;
|
|
22
|
+
willUpdate(): void;
|
|
23
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
24
|
+
}
|
|
25
|
+
declare global {
|
|
26
|
+
interface HTMLElementTagNameMap {
|
|
27
|
+
'syntro-pdp-slot': PdpSlotLit;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=PdpSlotLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpSlotLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpSlotLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAgMhD,qBAAa,UAAW,SAAQ,UAAU;IACxC,OAAgB,UAAU;;;;;;;;;;;;MAIxB;IAEF,4EAA4E;IAC5E,MAAM,SAAM;IACZ,IAAI,SAAM;IACV,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAa;IAE3C,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAKzB,UAAU,IAAI,IAAI;IAOlB,MAAM;CA2BhB;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,UAAU,CAAC;KAC/B;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* Neutral placeholder for PDP slots that don't have a live sub-agent in v1.
|
|
4
|
+
* Shows a soft "more personalized content coming soon" message rather than
|
|
5
|
+
* a misleading skeleton that implies a load is in flight.
|
|
6
|
+
*/
|
|
7
|
+
export declare class PdpSlotPlaceholderLit extends LitElement {
|
|
8
|
+
static properties: {
|
|
9
|
+
label: {
|
|
10
|
+
type: StringConstructor;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
label: string;
|
|
14
|
+
createRenderRoot(): this;
|
|
15
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
16
|
+
}
|
|
17
|
+
declare global {
|
|
18
|
+
interface HTMLElementTagNameMap {
|
|
19
|
+
'syntro-pdp-slot-placeholder': PdpSlotPlaceholderLit;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=PdpSlotPlaceholderLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpSlotPlaceholderLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpSlotPlaceholderLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,OAAgB,UAAU;;;;MAExB;IAEF,KAAK,SAA2C;IAEvC,gBAAgB;IAIhB,MAAM;CAQhB;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,6BAA6B,EAAE,qBAAqB,CAAC;KACtD;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
interface TrendingNewsItem {
|
|
3
|
+
headline: string;
|
|
4
|
+
source: string;
|
|
5
|
+
published_relative: string;
|
|
6
|
+
blurb: string;
|
|
7
|
+
/** Optional click-through URL — see PdpTrendingNewsLit.ts for the
|
|
8
|
+
* curated-seed-vs-sub-agent rationale. */
|
|
9
|
+
url?: string | null;
|
|
10
|
+
}
|
|
11
|
+
interface TrendingNewsData {
|
|
12
|
+
items: TrendingNewsItem[];
|
|
13
|
+
rationale: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class PdpTrendingNewsHeroLit extends LitElement {
|
|
16
|
+
static properties: {
|
|
17
|
+
data: {
|
|
18
|
+
attribute: boolean;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
data: TrendingNewsData | undefined;
|
|
22
|
+
createRenderRoot(): this;
|
|
23
|
+
connectedCallback(): void;
|
|
24
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
25
|
+
}
|
|
26
|
+
declare global {
|
|
27
|
+
interface HTMLElementTagNameMap {
|
|
28
|
+
'syntro-pdp-trending-news-hero': PdpTrendingNewsHeroLit;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=PdpTrendingNewsHeroLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpTrendingNewsHeroLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpTrendingNewsHeroLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd;8CAC0C;IAC1C,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AA8MD,qBAAa,sBAAuB,SAAQ,UAAU;IACpD,OAAgB,UAAU;;;;MAExB;IAEF,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAAa;IAEtC,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CAgChB;AAiBD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,+BAA+B,EAAE,sBAAsB,CAAC;KACzD;CACF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
interface TrendingNewsItem {
|
|
3
|
+
headline: string;
|
|
4
|
+
source: string;
|
|
5
|
+
published_relative: string;
|
|
6
|
+
blurb: string;
|
|
7
|
+
/** Optional click-through URL to the source article. When present the
|
|
8
|
+
* widget renders the headline as a link opening in a new tab with
|
|
9
|
+
* `rel="noopener noreferrer"`. Sub-agent-generated content omits this
|
|
10
|
+
* field; curated seed content includes a real URL. */
|
|
11
|
+
url?: string | null;
|
|
12
|
+
}
|
|
13
|
+
interface TrendingNewsData {
|
|
14
|
+
items: TrendingNewsItem[];
|
|
15
|
+
rationale: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class PdpTrendingNewsLit extends LitElement {
|
|
18
|
+
static properties: {
|
|
19
|
+
data: {
|
|
20
|
+
attribute: boolean;
|
|
21
|
+
};
|
|
22
|
+
_entering: {
|
|
23
|
+
state: boolean;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
data: TrendingNewsData | undefined;
|
|
27
|
+
_entering: boolean;
|
|
28
|
+
private _armed;
|
|
29
|
+
private _disposeEntrance?;
|
|
30
|
+
createRenderRoot(): this;
|
|
31
|
+
connectedCallback(): void;
|
|
32
|
+
disconnectedCallback(): void;
|
|
33
|
+
updated(): void;
|
|
34
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
35
|
+
}
|
|
36
|
+
declare global {
|
|
37
|
+
interface HTMLElementTagNameMap {
|
|
38
|
+
'syntro-pdp-trending-news': PdpTrendingNewsLit;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=PdpTrendingNewsLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpTrendingNewsLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpTrendingNewsLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAGvC,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd;;;0DAGsD;IACtD,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAuUD,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,OAAgB,UAAU;;;;;;;MAGxB;IAEF,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAAa;IAC/C,SAAS,UAAQ;IACjB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAa;IAG7B,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;IAS5B,OAAO,IAAI,IAAI;IAef,MAAM;CA+ChB;AAqBD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,0BAA0B,EAAE,kBAAkB,CAAC;KAChD;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
interface TrendingNewsItem {
|
|
3
|
+
headline: string;
|
|
4
|
+
source: string;
|
|
5
|
+
published_relative: string;
|
|
6
|
+
blurb: string;
|
|
7
|
+
/** Optional click-through URL — see PdpTrendingNewsLit.ts for the
|
|
8
|
+
* curated-seed-vs-sub-agent rationale. */
|
|
9
|
+
url?: string | null;
|
|
10
|
+
}
|
|
11
|
+
interface TrendingNewsData {
|
|
12
|
+
items: TrendingNewsItem[];
|
|
13
|
+
rationale: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class PdpTrendingNewsMagazineLit extends LitElement {
|
|
16
|
+
static properties: {
|
|
17
|
+
data: {
|
|
18
|
+
attribute: boolean;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
data: TrendingNewsData | undefined;
|
|
22
|
+
createRenderRoot(): this;
|
|
23
|
+
connectedCallback(): void;
|
|
24
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
25
|
+
}
|
|
26
|
+
declare global {
|
|
27
|
+
interface HTMLElementTagNameMap {
|
|
28
|
+
'syntro-pdp-trending-news-magazine': PdpTrendingNewsMagazineLit;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=PdpTrendingNewsMagazineLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpTrendingNewsMagazineLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpTrendingNewsMagazineLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd;8CAC0C;IAC1C,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAmMD,qBAAa,0BAA2B,SAAQ,UAAU;IACxD,OAAgB,UAAU;;;;MAExB;IAEF,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAAa;IAEtC,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CAiChB;AAoBD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mCAAmC,EAAE,0BAA0B,CAAC;KACjE;CACF"}
|
|
@@ -1,6 +1,60 @@
|
|
|
1
1
|
import { LitElement, nothing, type TemplateResult } from 'lit';
|
|
2
|
+
import { type CardState } from '../decision/card';
|
|
2
3
|
import { type CardProps, type VisibleFactKey } from '../schema';
|
|
3
4
|
import type { Product } from '../schema-primitives';
|
|
5
|
+
import './VariantPanelLit.js';
|
|
6
|
+
/**
|
|
7
|
+
* Typed interface for the runtime SDK's public window surface.
|
|
8
|
+
* Catches symbol typos at compile time (e.g. __SYNTRO__ vs SynOS).
|
|
9
|
+
* The runtime SDK sets `window.SynOS.handle` at api.ts:277/347.
|
|
10
|
+
*/
|
|
11
|
+
interface SynOSWindow {
|
|
12
|
+
SynOS?: {
|
|
13
|
+
handle?: {
|
|
14
|
+
close?: () => void;
|
|
15
|
+
};
|
|
16
|
+
runtime?: {
|
|
17
|
+
events?: {
|
|
18
|
+
publish?: (name: string, props: Record<string, unknown>) => void;
|
|
19
|
+
emit?: (name: string, props: Record<string, unknown>) => unknown;
|
|
20
|
+
};
|
|
21
|
+
context?: {
|
|
22
|
+
get?(): {
|
|
23
|
+
surface?: {
|
|
24
|
+
device?: string;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
subscribe?(cb: (ctx: {
|
|
28
|
+
surface?: {
|
|
29
|
+
device?: string;
|
|
30
|
+
};
|
|
31
|
+
}) => void): () => void;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/** Typed accessor — reads `window` on each call so tests can stub it at runtime. */
|
|
37
|
+
declare function synWindow(): SynOSWindow;
|
|
38
|
+
/** Publish a named event through the runtime event bus (window.SynOS.runtime.events). */
|
|
39
|
+
declare function _publishEvent(name: string, props: Record<string, unknown>): void;
|
|
40
|
+
/**
|
|
41
|
+
* Capture a telemetry event on the PostHog-reaching path.
|
|
42
|
+
*
|
|
43
|
+
* `publish()` only notifies in-process canvas subscribers — it never forwards
|
|
44
|
+
* to PostHog. `emit()` is the sanctioned capture path: the EventBus forwards
|
|
45
|
+
* emit()'d events to its posthogCapture sink (wired in bootstrap-runtime to the
|
|
46
|
+
* consent-gated `telemetry.track`). We never call posthog directly — emit() is
|
|
47
|
+
* the SDK's one consent-handled door to PostHog.
|
|
48
|
+
*
|
|
49
|
+
* `name` MUST be a valid custom-event name (`app:{category}:{action}` with
|
|
50
|
+
* colon segments). A dotted name or a name missing the `app:` prefix is
|
|
51
|
+
* silently dropped by the EventBus's validateEventName, which would re-create
|
|
52
|
+
* the exact silent-failure this telemetry exists to surface.
|
|
53
|
+
*/
|
|
54
|
+
declare function _captureTelemetry(name: string, props: Record<string, unknown>): void;
|
|
55
|
+
type DeviceClass = 'mobile' | 'tablet' | 'desktop';
|
|
56
|
+
/** The runtime's device class (surface.device), or 'desktop' when unavailable. */
|
|
57
|
+
declare function _readDevice(): DeviceClass;
|
|
4
58
|
export declare class ProductCardLit extends LitElement {
|
|
5
59
|
#private;
|
|
6
60
|
static properties: {
|
|
@@ -13,6 +67,15 @@ export declare class ProductCardLit extends LitElement {
|
|
|
13
67
|
validationError: {
|
|
14
68
|
state: boolean;
|
|
15
69
|
};
|
|
70
|
+
_device: {
|
|
71
|
+
state: boolean;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
static readonly _testing: {
|
|
75
|
+
captureTelemetry: typeof _captureTelemetry;
|
|
76
|
+
publishEvent: typeof _publishEvent;
|
|
77
|
+
readDevice: typeof _readDevice;
|
|
78
|
+
synWindow: typeof synWindow;
|
|
16
79
|
};
|
|
17
80
|
props: CardProps | undefined;
|
|
18
81
|
resolved: Record<string, {
|
|
@@ -20,13 +83,28 @@ export declare class ProductCardLit extends LitElement {
|
|
|
20
83
|
price?: string;
|
|
21
84
|
}>;
|
|
22
85
|
validationError: boolean;
|
|
86
|
+
/** Device class — drives the effective density (mobile is forced compact). */
|
|
87
|
+
_device: DeviceClass;
|
|
88
|
+
_decisionState: CardState;
|
|
23
89
|
createRenderRoot(): this;
|
|
90
|
+
connectedCallback(): void;
|
|
24
91
|
willUpdate(changed: Map<string, unknown>): void;
|
|
92
|
+
updated(): void;
|
|
25
93
|
disconnectedCallback(): void;
|
|
94
|
+
private _onVariantBack;
|
|
95
|
+
private _onVariantSelectionChange;
|
|
96
|
+
private _onVariantAdd;
|
|
97
|
+
private _onVariantRetry;
|
|
26
98
|
render(): TemplateResult | typeof nothing;
|
|
27
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Standalone product card renderer — used by ProductGridLit and other contexts
|
|
102
|
+
* that need a non-stateful card without the face state machine.
|
|
103
|
+
* Produces the full `<article>` wrapper.
|
|
104
|
+
*/
|
|
28
105
|
export declare function renderProductCard(product: Product, density: 'compact' | 'standard', resolved: {
|
|
29
106
|
image?: string;
|
|
30
107
|
price?: string;
|
|
31
108
|
} | undefined, visibleFacts?: readonly VisibleFactKey[]): TemplateResult;
|
|
109
|
+
export {};
|
|
32
110
|
//# sourceMappingURL=ProductCardLit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductCardLit.d.ts","sourceRoot":"","sources":["../../src/widgets/ProductCardLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ProductCardLit.d.ts","sourceRoot":"","sources":["../../src/widgets/ProductCardLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrE,OAAO,EAEL,KAAK,SAAS,EAIf,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,KAAK,SAAS,EAAiC,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,sBAAsB,CAAC;AAE9B;;;;GAIG;AACH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;SAAE,CAAC;QAChC,OAAO,CAAC,EAAE;YACR,MAAM,CAAC,EAAE;gBACP,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;gBAOjE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;aAClE,CAAC;YACF,OAAO,CAAC,EAAE;gBACR,GAAG,CAAC,IAAI;oBAAE,OAAO,CAAC,EAAE;wBAAE,MAAM,CAAC,EAAE,MAAM,CAAA;qBAAE,CAAA;iBAAE,CAAC;gBAC1C,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE;oBAAE,OAAO,CAAC,EAAE;wBAAE,MAAM,CAAC,EAAE,MAAM,CAAA;qBAAE,CAAA;iBAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;aAC9E,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,oFAAoF;AACpF,iBAAS,SAAS,IAAI,WAAW,CAGhC;AAED,yFAAyF;AACzF,iBAAS,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAWzE;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAW7E;AAoCD,KAAK,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnD,kFAAkF;AAClF,iBAAS,WAAW,IAAI,WAAW,CASlC;AA+ID,qBAAa,cAAe,SAAQ,UAAU;;IAC5C,OAAgB,UAAU;;;;;;;;;;;;;MAKxB;IAEF,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;MAKtB;IAEF,KAAK,EAAE,SAAS,GAAG,SAAS,CAAa;IACzC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAClE,eAAe,UAAS;IACxB,8EAA8E;IAC9E,OAAO,EAAE,WAAW,CAAa;IAEjC,cAAc,EAAE,SAAS,CAA4B;IA6B5C,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IA2CzB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAa/C,OAAO,IAAI,IAAI;IA8Df,oBAAoB,IAAI,IAAI;IA8ErC,OAAO,CAAC,cAAc,CAGpB;IAEF,OAAO,CAAC,yBAAyB,CAQ/B;IAEF,OAAO,CAAC,aAAa,CAInB;IAEF,OAAO,CAAC,eAAe,CAGrB;IA8BO,MAAM,IAAI,cAAc,GAAG,OAAO,OAAO;CA0GnD;AAu+BD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,GAAG,UAAU,EAC/B,QAAQ,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EACxD,YAAY,CAAC,EAAE,SAAS,cAAc,EAAE,GACvC,cAAc,CAahB"}
|
|
@@ -10,24 +10,29 @@ export declare class ProductComparisonLit extends LitElement {
|
|
|
10
10
|
props: {
|
|
11
11
|
attribute: boolean;
|
|
12
12
|
};
|
|
13
|
-
open: {
|
|
14
|
-
state: boolean;
|
|
15
|
-
};
|
|
16
13
|
resolved: {
|
|
17
14
|
state: boolean;
|
|
18
15
|
};
|
|
19
16
|
validationError: {
|
|
20
17
|
state: boolean;
|
|
21
18
|
};
|
|
19
|
+
scrollFade: {
|
|
20
|
+
state: boolean;
|
|
21
|
+
};
|
|
22
22
|
};
|
|
23
23
|
props: ComparisonProps | undefined;
|
|
24
|
-
open: Set<string>;
|
|
25
24
|
resolved: ResolvedMap;
|
|
26
25
|
validationError: boolean;
|
|
26
|
+
/** True when the matrix body overflows its band and is scrollable — drives
|
|
27
|
+
* the bottom fade mask so the cut-off row reads as "more below". */
|
|
28
|
+
scrollFade: boolean;
|
|
29
|
+
constructor();
|
|
27
30
|
createRenderRoot(): this;
|
|
31
|
+
connectedCallback(): void;
|
|
28
32
|
willUpdate(changed: Map<string, unknown>): void;
|
|
29
33
|
disconnectedCallback(): void;
|
|
30
34
|
render(): TemplateResult | typeof nothing;
|
|
35
|
+
updated(changed: Map<string, unknown>): void;
|
|
31
36
|
}
|
|
32
37
|
export {};
|
|
33
38
|
//# sourceMappingURL=ProductComparisonLit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductComparisonLit.d.ts","sourceRoot":"","sources":["../../src/widgets/ProductComparisonLit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProductComparisonLit.d.ts","sourceRoot":"","sources":["../../src/widgets/ProductComparisonLit.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,UAAU,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAErE,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,WAAW,CAAC;AAInE,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEtE,qBAAa,oBAAqB,SAAQ,UAAU;;IAClD,OAAgB,UAAU;;;;;;;;;;;;;MAKxB;IAEF,KAAK,EAAE,eAAe,GAAG,SAAS,CAAa;IAC/C,QAAQ,EAAE,WAAW,CAAM;IAC3B,eAAe,UAAS;IACxB;yEACqE;IACrE,UAAU,UAAS;;IA2BV,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAyBzB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM/C,oBAAoB,IAAI,IAAI;IAqD5B,MAAM,IAAI,cAAc,GAAG,OAAO,OAAO;IAwJzC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAuQtD"}
|
|
@@ -20,6 +20,7 @@ export declare class ProductGridLit extends LitElement {
|
|
|
20
20
|
}>;
|
|
21
21
|
validationError: boolean;
|
|
22
22
|
createRenderRoot(): this;
|
|
23
|
+
connectedCallback(): void;
|
|
23
24
|
willUpdate(changed: Map<string, unknown>): void;
|
|
24
25
|
disconnectedCallback(): void;
|
|
25
26
|
render(): TemplateResult | typeof nothing;
|