@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
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,iBAAiB,sFAQpB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,iBAAiB,sFAQpB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGrB;;;;;;OAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASH,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS3B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIrB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIrB,CAAC;AASH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGrB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACnD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACnD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACnD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACnD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE3D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QApFtB;;;;;;WAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFK,CAAC;AAMX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;CAwDtC,CAAC;AAEF,YAAY,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,OAAO,EACP,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
package/dist/schema.js
CHANGED
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
|
+
CAPABILITIES_DOCUMENTATION,
|
|
2
3
|
VISIBLE_FACT_KEYS,
|
|
3
4
|
cardSchema,
|
|
5
|
+
comparisonRowSchema,
|
|
4
6
|
comparisonSchema,
|
|
7
|
+
getProductPlatformAdapter,
|
|
5
8
|
gridSchema,
|
|
6
9
|
heroSchema,
|
|
7
10
|
productSchema,
|
|
11
|
+
recoItemSchema,
|
|
12
|
+
recoSchema,
|
|
8
13
|
tileWidgets
|
|
9
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-7Z4Y44WC.js";
|
|
10
15
|
export {
|
|
16
|
+
CAPABILITIES_DOCUMENTATION,
|
|
11
17
|
VISIBLE_FACT_KEYS,
|
|
12
18
|
cardSchema,
|
|
19
|
+
comparisonRowSchema,
|
|
13
20
|
comparisonSchema,
|
|
21
|
+
getProductPlatformAdapter,
|
|
14
22
|
gridSchema,
|
|
15
23
|
heroSchema,
|
|
16
24
|
productSchema,
|
|
25
|
+
recoItemSchema,
|
|
26
|
+
recoSchema,
|
|
17
27
|
tileWidgets
|
|
18
28
|
};
|
|
19
29
|
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mount-time pool selection — the client half of the two-axis model.
|
|
3
|
+
*
|
|
4
|
+
* Cached PDP presets carry a POOL of items, each tagged with the decision
|
|
5
|
+
* archetype(s) its evidence serves (`archetypes: string[]`). At mount, the
|
|
6
|
+
* scored decision archetype picks what surfaces:
|
|
7
|
+
*
|
|
8
|
+
* - SHARP label → items tagged with it lead, untagged (general) items fill,
|
|
9
|
+
* then the rest. The module specializes without another generation call.
|
|
10
|
+
* - UNKNOWN → the sprinkle: one item per distinct tag (round-robin, first-seen
|
|
11
|
+
* tag order), so every blocking question gets its evidence somewhere on the
|
|
12
|
+
* page, then untagged/remaining fill.
|
|
13
|
+
*
|
|
14
|
+
* Pure functions — no DOM, no network — so the selection rule is unit-testable
|
|
15
|
+
* and identical across the qa / trending-news / peer-feed widgets.
|
|
16
|
+
*/
|
|
17
|
+
export declare const UNKNOWN_DECISION = "unknown";
|
|
18
|
+
/** Display caps per module kind — pools are bigger than what mounts. */
|
|
19
|
+
export declare const DISPLAY_MAX: Record<string, number>;
|
|
20
|
+
export interface TaggedItem {
|
|
21
|
+
archetypes?: string[];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Order a tagged pool for one visitor and cap it at `max`.
|
|
25
|
+
* Never returns fewer than min(pool length, max) items — selection only
|
|
26
|
+
* reorders and trims, it never empties a module.
|
|
27
|
+
*/
|
|
28
|
+
export declare function selectPoolItems<T extends TaggedItem>(items: T[], decision: string | undefined, max: number): T[];
|
|
29
|
+
/**
|
|
30
|
+
* Apply pool selection to a cached slot preset's payload, by module kind.
|
|
31
|
+
* Kinds without a pooled item list (chart / regional / other-products) and
|
|
32
|
+
* malformed payloads pass through untouched.
|
|
33
|
+
*/
|
|
34
|
+
export declare function selectPresetData(kind: string, data: unknown, decision: string | undefined): unknown;
|
|
35
|
+
//# sourceMappingURL=pool-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool-selection.d.ts","sourceRoot":"","sources":["../../src/scoring/pool-selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C,wEAAwE;AACxE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI9C,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAClD,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,EAAE,MAAM,GACV,CAAC,EAAE,CAgCL;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAQT"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scored-template orchestration for the PDP — score → resolve presets → reserve
|
|
3
|
+
* every slot box → fill the cached (set) slots from config → stream the rest.
|
|
4
|
+
*
|
|
5
|
+
* Lives in the adaptive (not runtime-sdk): it's the PDP's composition logic, used
|
|
6
|
+
* by exactly one adaptive, and pure. The runtime stays thin (`score` +
|
|
7
|
+
* `authedFetch`). It was previously parked in runtime-sdk and handed over via
|
|
8
|
+
* `window.SynOS` ONLY to dodge the adaptive→runtime import cycle — but the logic
|
|
9
|
+
* is adaptive-domain (presets, slots, plan, mounts), so it belongs here.
|
|
10
|
+
*/
|
|
11
|
+
import type { ScoreOutputSpec as BackendScoreOutputSpec, ScoreRequest as BackendScoreRequest } from '@syntrologie/runtime-contracts';
|
|
12
|
+
/** What an element declares it wants scored (the runtime `score` primitive's input). */
|
|
13
|
+
export interface ScoreSpec {
|
|
14
|
+
model_id: BackendScoreRequest['model_id'];
|
|
15
|
+
name: BackendScoreOutputSpec['name'];
|
|
16
|
+
type: BackendScoreOutputSpec['type'];
|
|
17
|
+
values?: BackendScoreOutputSpec['values'];
|
|
18
|
+
/**
|
|
19
|
+
* Per-enum-value descriptions passed to the classifier ("label — description").
|
|
20
|
+
* Feeds the model what each archetype MEANS so it doesn't classify opaque slugs
|
|
21
|
+
* and give up to `unknown`. Forwarded verbatim to the `/api/score` output block.
|
|
22
|
+
*/
|
|
23
|
+
value_descriptions?: BackendScoreOutputSpec['value_descriptions'];
|
|
24
|
+
signals?: BackendScoreRequest['signals'];
|
|
25
|
+
}
|
|
26
|
+
/** One config-set slot value: the widget kind, an optional header, and its content. */
|
|
27
|
+
export interface SlotPreset {
|
|
28
|
+
kind: string;
|
|
29
|
+
header?: unknown;
|
|
30
|
+
data: unknown;
|
|
31
|
+
}
|
|
32
|
+
/** `presets[scoredValue][slotId] = SlotPreset` — the config's SET values. */
|
|
33
|
+
export type PresetTable = Record<string, Record<string, SlotPreset>>;
|
|
34
|
+
export interface ScoredTemplateOptions<Plan, Mount> {
|
|
35
|
+
/** Score the variable (e.g. `SynOS.score`). */
|
|
36
|
+
score: (spec: ScoreSpec) => Promise<string>;
|
|
37
|
+
/** What to score: model_id, name, enum values, and the visitor signals. */
|
|
38
|
+
scoreSpec: ScoreSpec;
|
|
39
|
+
/**
|
|
40
|
+
* Axis A — the decision archetype spec ("what is blocking the purchase").
|
|
41
|
+
* When provided together with `scoreMulti`, both axes are scored in ONE
|
|
42
|
+
* backend model call; the decision value drives `transformPreset` (pool
|
|
43
|
+
* selection) and is passed to `composeUnset` for the live slots. Absent →
|
|
44
|
+
* exactly the single-axis behavior.
|
|
45
|
+
*/
|
|
46
|
+
decisionSpec?: ScoreSpec;
|
|
47
|
+
/** Batched scorer (e.g. `SynOS.scoreMulti`) — several specs, one model call. */
|
|
48
|
+
scoreMulti?: (specs: ScoreSpec[]) => Promise<string[]>;
|
|
49
|
+
/**
|
|
50
|
+
* Transform a SET slot's preset before mounting — the pool-selection hook
|
|
51
|
+
* (pick which tagged items surface for this visitor's decision archetype).
|
|
52
|
+
*/
|
|
53
|
+
transformPreset?: (preset: SlotPreset, decisionValue: string) => SlotPreset;
|
|
54
|
+
/** Per-(scored value) per-slot SET values. */
|
|
55
|
+
presets: PresetTable;
|
|
56
|
+
/** The fixed slot set this template renders. */
|
|
57
|
+
slotIds: string[];
|
|
58
|
+
/** Value to fall back to when the scored value has no preset row (default 'unknown'). */
|
|
59
|
+
fallbackValue?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Build the plan from EVERY slot. `preset` is `undefined` for unset slots,
|
|
62
|
+
* which still reserve a skeleton box so live/streamed arrivals fill a reserved
|
|
63
|
+
* box instead of reflowing the page (no layout shift).
|
|
64
|
+
*/
|
|
65
|
+
buildPlan: (slots: Array<{
|
|
66
|
+
slot: string;
|
|
67
|
+
preset: SlotPreset | undefined;
|
|
68
|
+
}>) => Plan;
|
|
69
|
+
/** Build one mount from a slot preset (set slots only). */
|
|
70
|
+
buildMount: (slot: string, preset: SlotPreset) => Mount;
|
|
71
|
+
/** Apply the plan (reserve slot skeletons / headers) before mounting. */
|
|
72
|
+
emitPlan: (plan: Plan) => void;
|
|
73
|
+
/** Apply one mount. */
|
|
74
|
+
emitMount: (mount: Mount) => Promise<void> | void;
|
|
75
|
+
/**
|
|
76
|
+
* Stream the slots the presets didn't set (live compose). Receives the scored
|
|
77
|
+
* value (and the decision value when a decisionSpec was scored) so the caller
|
|
78
|
+
* can personalize the live request. Optional.
|
|
79
|
+
*/
|
|
80
|
+
composeUnset?: (unsetSlots: string[], value: string, decisionValue?: string) => Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Reorder the slots for the PLAN — i.e. the PAGE order. Called after scoring
|
|
83
|
+
* with the full slot list and set-membership, so instant (preset) slots can
|
|
84
|
+
* float to the top and slow live slots can sink to the bottom (sections fill
|
|
85
|
+
* top-down as responses land instead of a slow section blocking the fold).
|
|
86
|
+
* Purely presentational: does not change which slots mount or compose.
|
|
87
|
+
* Default: the given slotIds order.
|
|
88
|
+
*/
|
|
89
|
+
orderSlots?: (slotIds: string[], isSet: (slot: string) => boolean) => string[];
|
|
90
|
+
}
|
|
91
|
+
export interface ScoredTemplateResult {
|
|
92
|
+
/** The scored value used to resolve presets. */
|
|
93
|
+
value: string;
|
|
94
|
+
/** The scored decision-archetype value ('unknown' when no decisionSpec). */
|
|
95
|
+
decisionValue: string;
|
|
96
|
+
/** Slots filled from config. */
|
|
97
|
+
setSlots: string[];
|
|
98
|
+
/** Slots left to the live stream (compose). */
|
|
99
|
+
unsetSlots: string[];
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Score → resolve the scored value's preset row → reserve a box for EVERY slot →
|
|
103
|
+
* fill the SET slots from config immediately → stream only the UNSET slots.
|
|
104
|
+
*/
|
|
105
|
+
export declare function resolveScoredTemplate<Plan, Mount>(opts: ScoredTemplateOptions<Plan, Mount>): Promise<ScoredTemplateResult>;
|
|
106
|
+
//# sourceMappingURL=scored-template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scored-template.d.ts","sourceRoot":"","sources":["../../src/scoring/scored-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ProductPlatformAdapter, VariantPayload } from './platformAdapter';
|
|
2
|
+
export declare function cachedFetchVariants(adapter: ProductPlatformAdapter, productId: string): Promise<VariantPayload>;
|
|
3
|
+
/** Test helper: drop all cached entries. */
|
|
4
|
+
export declare function clearVariantCache(): void;
|
|
5
|
+
//# sourceMappingURL=variantCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variantCache.d.ts","sourceRoot":"","sources":["../src/variantCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAWhF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,sBAAsB,EAC/B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAYzB;AAED,4CAA4C;AAC5C,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* <other-product-tile> — a single cross-sell / upsell product tile.
|
|
4
|
+
*
|
|
5
|
+
* Renders a compact card with: optional image, relationship badge,
|
|
6
|
+
* product name + tagline, an AI-authored why_blurb, evidence chips
|
|
7
|
+
* (social-proof signals), and a price + CTA footer.
|
|
8
|
+
*
|
|
9
|
+
* Designed as the leaf node for <pdp-other-products-carousel> and
|
|
10
|
+
* <pdp-other-products-grid>. It is also usable standalone.
|
|
11
|
+
*
|
|
12
|
+
* Props:
|
|
13
|
+
* - `tile` (OtherProductTileData): full tile descriptor from the backend.
|
|
14
|
+
*/
|
|
15
|
+
export interface OtherProductTileEvidenceChip {
|
|
16
|
+
kind: string;
|
|
17
|
+
display: string;
|
|
18
|
+
}
|
|
19
|
+
export interface OtherProductTileData {
|
|
20
|
+
recommended_product_id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
tagline: string;
|
|
23
|
+
image_url: string | null;
|
|
24
|
+
price_cents: number | null;
|
|
25
|
+
badges: string[];
|
|
26
|
+
relationship: 'discovery' | 'complement' | 'alternative';
|
|
27
|
+
why_blurb: string;
|
|
28
|
+
evidence_chips: OtherProductTileEvidenceChip[];
|
|
29
|
+
}
|
|
30
|
+
export declare class OtherProductTileLit extends LitElement {
|
|
31
|
+
static properties: {
|
|
32
|
+
tile: {
|
|
33
|
+
attribute: boolean;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
tile: OtherProductTileData | null;
|
|
37
|
+
createRenderRoot(): this;
|
|
38
|
+
connectedCallback(): void;
|
|
39
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
40
|
+
}
|
|
41
|
+
declare global {
|
|
42
|
+
interface HTMLElementTagNameMap {
|
|
43
|
+
'syntro-pdp-other-product-tile': OtherProductTileLit;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=OtherProductTileLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OtherProductTileLit.d.ts","sourceRoot":"","sources":["../../src/widgets/OtherProductTileLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,WAAW,GAAG,YAAY,GAAG,aAAa,CAAC;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,4BAA4B,EAAE,CAAC;CAChD;AAmJD,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,OAAgB,UAAU;;;;MAExB;IAEF,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAEhC,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CAqChB;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,+BAA+B,EAAE,mBAAmB,CAAC;KACtD;CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
interface ChartPoint {
|
|
3
|
+
x: string;
|
|
4
|
+
y: number;
|
|
5
|
+
}
|
|
6
|
+
interface ChartSeries {
|
|
7
|
+
name: string;
|
|
8
|
+
points: ChartPoint[];
|
|
9
|
+
}
|
|
10
|
+
interface ChartData {
|
|
11
|
+
title: string;
|
|
12
|
+
viz_kind: 'bar' | 'line' | 'table';
|
|
13
|
+
series: ChartSeries[];
|
|
14
|
+
rationale: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class PdpChartBarStackedLit extends LitElement {
|
|
17
|
+
static properties: {
|
|
18
|
+
data: {
|
|
19
|
+
attribute: boolean;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
data: ChartData | undefined;
|
|
23
|
+
createRenderRoot(): this;
|
|
24
|
+
connectedCallback(): void;
|
|
25
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
26
|
+
}
|
|
27
|
+
declare global {
|
|
28
|
+
interface HTMLElementTagNameMap {
|
|
29
|
+
'syntro-pdp-chart-bar': PdpChartBarStackedLit;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=PdpChartBarStackedLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpChartBarStackedLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpChartBarStackedLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,UAAU,UAAU;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AACD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AACD,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAuGD,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,OAAgB,UAAU;;;;MAExB;IACF,IAAI,EAAE,SAAS,GAAG,SAAS,CAAa;IAE/B,gBAAgB;IAGhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CAiDhB;AAKD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,qBAAqB,CAAC;KAC/C;CACF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* Backend ChartPayload shape from the PDP pipeline's ChartPayload Pydantic
|
|
4
|
+
* model. The widget renders one of three layouts:
|
|
5
|
+
*
|
|
6
|
+
* - bar: in-house CSS bars (no dependency); animated grow-in; per-series
|
|
7
|
+
* color palette; mobile-friendly label rotation.
|
|
8
|
+
* - line: in-house SVG polyline; stroke-dasharray reveal animation;
|
|
9
|
+
* tap-area markers on each data point.
|
|
10
|
+
* - table: stylized comparison table built from a pivoted matrix.
|
|
11
|
+
*
|
|
12
|
+
* adapt-viz/vega is deliberately NOT used — at the PDP-tile scale our data
|
|
13
|
+
* is always 3–10 points × ≤4 series, and vega's bundle weight + label
|
|
14
|
+
* layout heuristics work poorly at narrow widths.
|
|
15
|
+
*/
|
|
16
|
+
interface ChartPoint {
|
|
17
|
+
x: string;
|
|
18
|
+
y: number;
|
|
19
|
+
}
|
|
20
|
+
interface ChartSeries {
|
|
21
|
+
name: string;
|
|
22
|
+
points: ChartPoint[];
|
|
23
|
+
}
|
|
24
|
+
export interface ChartData {
|
|
25
|
+
title: string;
|
|
26
|
+
viz_kind: 'bar' | 'line' | 'table';
|
|
27
|
+
series: ChartSeries[];
|
|
28
|
+
rationale: string;
|
|
29
|
+
}
|
|
30
|
+
export declare class PdpChartLit extends LitElement {
|
|
31
|
+
#private;
|
|
32
|
+
static properties: {
|
|
33
|
+
data: {
|
|
34
|
+
attribute: boolean;
|
|
35
|
+
};
|
|
36
|
+
_entering: {
|
|
37
|
+
state: boolean;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
data: ChartData | undefined;
|
|
41
|
+
_entering: boolean;
|
|
42
|
+
private _armed;
|
|
43
|
+
private _disposeEntrance?;
|
|
44
|
+
createRenderRoot(): this;
|
|
45
|
+
connectedCallback(): void;
|
|
46
|
+
disconnectedCallback(): void;
|
|
47
|
+
updated(): void;
|
|
48
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
49
|
+
}
|
|
50
|
+
declare global {
|
|
51
|
+
interface HTMLElementTagNameMap {
|
|
52
|
+
'syntro-pdp-chart': PdpChartLit;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=PdpChartLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpChartLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpChartLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAgB,MAAM,KAAK,CAAC;AAGrD;;;;;;;;;;;;;GAaG;AAEH,UAAU,UAAU;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAoqBD,qBAAa,WAAY,SAAQ,UAAU;;IACzC,OAAgB,UAAU;;;;;;;MAGxB;IAEF,IAAI,EAAE,SAAS,GAAG,SAAS,CAAa;IACxC,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;IAiBf,MAAM;CA0OhB;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,WAAW,CAAC;KACjC;CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
interface ChartPoint {
|
|
3
|
+
x: string;
|
|
4
|
+
y: number;
|
|
5
|
+
}
|
|
6
|
+
interface ChartSeries {
|
|
7
|
+
name: string;
|
|
8
|
+
points: ChartPoint[];
|
|
9
|
+
}
|
|
10
|
+
interface ChartData {
|
|
11
|
+
title: string;
|
|
12
|
+
viz_kind: 'bar' | 'line' | 'table';
|
|
13
|
+
series: ChartSeries[];
|
|
14
|
+
rationale: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class PdpChartMetricPullLit extends LitElement {
|
|
17
|
+
static properties: {
|
|
18
|
+
data: {
|
|
19
|
+
attribute: boolean;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
data: ChartData | undefined;
|
|
23
|
+
createRenderRoot(): this;
|
|
24
|
+
connectedCallback(): void;
|
|
25
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
26
|
+
}
|
|
27
|
+
declare global {
|
|
28
|
+
interface HTMLElementTagNameMap {
|
|
29
|
+
'syntro-pdp-chart-metric': PdpChartMetricPullLit;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=PdpChartMetricPullLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpChartMetricPullLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpChartMetricPullLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAO,MAAM,KAAK,CAAC;AAE5C,UAAU,UAAU;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AACD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AACD,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAqID,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,OAAgB,UAAU;;;;MAExB;IACF,IAAI,EAAE,SAAS,GAAG,SAAS,CAAa;IAE/B,gBAAgB;IAGhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CA8ChB;AAKD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,yBAAyB,EAAE,qBAAqB,CAAC;KAClD;CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import './OtherProductTileLit.js';
|
|
3
|
+
import type { OtherProductTileData } from './OtherProductTileLit.js';
|
|
4
|
+
/**
|
|
5
|
+
* <pdp-other-products-carousel> — horizontal scroll carousel of cross-sell tiles.
|
|
6
|
+
*
|
|
7
|
+
* Each tile is an <other-product-tile>. Scroll-snap on the x-axis, edge-fade
|
|
8
|
+
* mask to hint at overflow. Collapses to a wider card on narrow viewports.
|
|
9
|
+
*
|
|
10
|
+
* Props:
|
|
11
|
+
* - `data` (OtherProductsPayload): `{ tiles, rationale }`.
|
|
12
|
+
*/
|
|
13
|
+
export interface OtherProductsPayload {
|
|
14
|
+
tiles: OtherProductTileData[];
|
|
15
|
+
rationale: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class PdpOtherProductsCarouselLit extends LitElement {
|
|
18
|
+
static properties: {
|
|
19
|
+
data: {
|
|
20
|
+
attribute: boolean;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
data: OtherProductsPayload | null;
|
|
24
|
+
createRenderRoot(): this;
|
|
25
|
+
connectedCallback(): void;
|
|
26
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
27
|
+
}
|
|
28
|
+
declare global {
|
|
29
|
+
interface HTMLElementTagNameMap {
|
|
30
|
+
'syntro-pdp-other-products-carousel': PdpOtherProductsCarouselLit;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=PdpOtherProductsCarouselLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpOtherProductsCarouselLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpOtherProductsCarouselLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE;;;;;;;;GAQG;AAEH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAqED,qBAAa,2BAA4B,SAAQ,UAAU;IACzD,OAAgB,UAAU;;;;MAExB;IAEF,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAEhC,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CAgBhB;AASD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oCAAoC,EAAE,2BAA2B,CAAC;KACnE;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import './OtherProductTileLit.js';
|
|
3
|
+
import type { OtherProductsPayload } from './PdpOtherProductsCarouselLit.js';
|
|
4
|
+
export declare class PdpOtherProductsGridLit extends LitElement {
|
|
5
|
+
static properties: {
|
|
6
|
+
data: {
|
|
7
|
+
attribute: boolean;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
data: OtherProductsPayload | null;
|
|
11
|
+
createRenderRoot(): this;
|
|
12
|
+
connectedCallback(): void;
|
|
13
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
14
|
+
}
|
|
15
|
+
declare global {
|
|
16
|
+
interface HTMLElementTagNameMap {
|
|
17
|
+
'syntro-pdp-other-products-grid': PdpOtherProductsGridLit;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=PdpOtherProductsGridLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpOtherProductsGridLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpOtherProductsGridLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAyC7E,qBAAa,uBAAwB,SAAQ,UAAU;IACrD,OAAgB,UAAU;;;;MAExB;IAEF,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAEhC,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CAYhB;AASD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gCAAgC,EAAE,uBAAuB,CAAC;KAC3D;CACF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import './PdpOtherProductsCarouselLit.js';
|
|
3
|
+
import './PdpOtherProductsGridLit.js';
|
|
4
|
+
import type { OtherProductsPayload } from './PdpOtherProductsCarouselLit.js';
|
|
5
|
+
/**
|
|
6
|
+
* <pdp-other-products> — dispatcher wrapper for other-products variants.
|
|
7
|
+
*
|
|
8
|
+
* Selects between carousel (default) and two-column-grid based on the
|
|
9
|
+
* `variant` prop. Acts as the single mount point for the orchestrator.
|
|
10
|
+
*
|
|
11
|
+
* Props:
|
|
12
|
+
* - `variant` ("carousel" | "two-column-grid"): layout variant.
|
|
13
|
+
* - `data` (OtherProductsPayload): `{ tiles, rationale }`.
|
|
14
|
+
*/
|
|
15
|
+
export type OtherProductsVariant = 'carousel' | 'two-column-grid';
|
|
16
|
+
export declare class PdpOtherProductsLit extends LitElement {
|
|
17
|
+
static properties: {
|
|
18
|
+
variant: {
|
|
19
|
+
type: StringConstructor;
|
|
20
|
+
};
|
|
21
|
+
data: {
|
|
22
|
+
attribute: boolean;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
variant: OtherProductsVariant;
|
|
26
|
+
data: OtherProductsPayload | null;
|
|
27
|
+
createRenderRoot(): this;
|
|
28
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
29
|
+
}
|
|
30
|
+
declare global {
|
|
31
|
+
interface HTMLElementTagNameMap {
|
|
32
|
+
'syntro-pdp-other-products': PdpOtherProductsLit;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=PdpOtherProductsLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpOtherProductsLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpOtherProductsLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7E;;;;;;;;;GASG;AAEH,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAElE,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,OAAgB,UAAU;;;;;;;MAGxB;IAEF,OAAO,EAAE,oBAAoB,CAAc;IAC3C,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAEhC,gBAAgB;IAIhB,MAAM;CAMhB;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
|
+
interface PeerPost {
|
|
3
|
+
initials: string;
|
|
4
|
+
persona: string;
|
|
5
|
+
quote: string;
|
|
6
|
+
similarity_reason: string;
|
|
7
|
+
time_ago: string;
|
|
8
|
+
}
|
|
9
|
+
interface PeerFeedData {
|
|
10
|
+
peers: PeerPost[];
|
|
11
|
+
rationale: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class PdpPeerFeedCarouselLit extends LitElement {
|
|
14
|
+
static properties: {
|
|
15
|
+
data: {
|
|
16
|
+
attribute: boolean;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
data: PeerFeedData | undefined;
|
|
20
|
+
createRenderRoot(): this;
|
|
21
|
+
connectedCallback(): void;
|
|
22
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
23
|
+
}
|
|
24
|
+
declare global {
|
|
25
|
+
interface HTMLElementTagNameMap {
|
|
26
|
+
'syntro-pdp-peer-feed-carousel': PdpPeerFeedCarouselLit;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=PdpPeerFeedCarouselLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpPeerFeedCarouselLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpPeerFeedCarouselLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAO,MAAM,KAAK,CAAC;AAE5C,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;AAiPD,qBAAa,sBAAuB,SAAQ,UAAU;IACpD,OAAgB,UAAU;;;;MAExB;IAEF,IAAI,EAAE,YAAY,GAAG,SAAS,CAAa;IAElC,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAKzB,MAAM;CA0BhB;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,+BAA+B,EAAE,sBAAsB,CAAC;KACzD;CACF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* <syntro-pdp-peer-feed> — "users like you" social-proof feed.
|
|
4
|
+
*
|
|
5
|
+
* Renders 3–4 short usage snippets from users the agent considers similar
|
|
6
|
+
* to the viewer (by goals, demographic, stack, etc.). Each card surfaces a
|
|
7
|
+
* persona label, a verbatim-style quote, a similarity reason, and a
|
|
8
|
+
* relative timestamp. The visual treatment is a stacked feed (think
|
|
9
|
+
* intentionally-quiet timeline) rather than a uniform grid — so a long
|
|
10
|
+
* quote can breathe.
|
|
11
|
+
*
|
|
12
|
+
* Props:
|
|
13
|
+
* - `data` (PeerData): `{ peers: PeerPost[], rationale }`.
|
|
14
|
+
*/
|
|
15
|
+
interface PeerPost {
|
|
16
|
+
initials: string;
|
|
17
|
+
persona: string;
|
|
18
|
+
quote: string;
|
|
19
|
+
similarity_reason: string;
|
|
20
|
+
time_ago: string;
|
|
21
|
+
}
|
|
22
|
+
interface PeerData {
|
|
23
|
+
peers: PeerPost[];
|
|
24
|
+
rationale: string;
|
|
25
|
+
}
|
|
26
|
+
export declare class PdpPeerFeedLit extends LitElement {
|
|
27
|
+
static properties: {
|
|
28
|
+
data: {
|
|
29
|
+
attribute: boolean;
|
|
30
|
+
};
|
|
31
|
+
_entering: {
|
|
32
|
+
state: boolean;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
data: PeerData | undefined;
|
|
36
|
+
_entering: boolean;
|
|
37
|
+
private _armed;
|
|
38
|
+
private _disposeEntrance?;
|
|
39
|
+
createRenderRoot(): this;
|
|
40
|
+
connectedCallback(): void;
|
|
41
|
+
disconnectedCallback(): void;
|
|
42
|
+
updated(): void;
|
|
43
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
44
|
+
}
|
|
45
|
+
declare global {
|
|
46
|
+
interface HTMLElementTagNameMap {
|
|
47
|
+
'syntro-pdp-peer-feed': PdpPeerFeedLit;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=PdpPeerFeedLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdpPeerFeedLit.d.ts","sourceRoot":"","sources":["../../src/widgets/PdpPeerFeedLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAGvC;;;;;;;;;;;;GAYG;AAEH,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,QAAQ;IAChB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAuND,qBAAa,cAAe,SAAQ,UAAU;IAC5C,OAAgB,UAAU;;;;;;;MAGxB;IAEF,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAa;IACvC,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;CAmChB;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,cAAc,CAAC;KACxC;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
interface PeerPost {
|
|
3
|
+
initials: string;
|
|
4
|
+
persona: string;
|
|
5
|
+
quote: string;
|
|
6
|
+
similarity_reason: string;
|
|
7
|
+
time_ago: string;
|
|
8
|
+
}
|
|
9
|
+
interface PeerFeedData {
|
|
10
|
+
peers: PeerPost[];
|
|
11
|
+
rationale: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class PdpPeerFeedMasonryLit extends LitElement {
|
|
14
|
+
static properties: {
|
|
15
|
+
data: {
|
|
16
|
+
attribute: boolean;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
data: PeerFeedData | undefined;
|
|
20
|
+
createRenderRoot(): this;
|
|
21
|
+
connectedCallback(): void;
|
|
22
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
23
|
+
}
|
|
24
|
+
declare global {
|
|
25
|
+
interface HTMLElementTagNameMap {
|
|
26
|
+
'syntro-pdp-peer-feed-masonry': PdpPeerFeedMasonryLit;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=PdpPeerFeedMasonryLit.d.ts.map
|