@coveo/atomic 3.28.0-pre.d7a2bdbfed → 3.28.0-pre.df6c8a3eb3
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/atomic/_atomic.esm.js +1 -1
- package/dist/atomic/components/atomic-product-description.js +1 -1
- package/dist/atomic/components/atomic-product-description.js.map +1 -1
- package/dist/atomic/components/atomic-product-excerpt.js +1 -1
- package/dist/atomic/components/atomic-product-excerpt.js.map +1 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/interface-common-stencil.js +1 -1
- package/dist/atomic/components/{expandable-text.js → stencil-expandable-text.js} +1 -1
- package/dist/atomic/components/stencil-expandable-text.js.map +1 -0
- package/dist/atomic/{p-de00bdd6.js → p-1d02a670.js} +1 -1
- package/dist/atomic/p-1d02a670.js.map +1 -0
- package/dist/atomic/{p-be05ddd0.entry.js → p-3cc601ad.entry.js} +2 -2
- package/dist/atomic/p-5e73a3e8.js +2 -0
- package/dist/atomic/{p-7cb3144b.js → p-7ed31f46.js} +2 -2
- package/dist/atomic/{p-1cb6a01c.entry.js → p-ba6a30a7.entry.js} +2 -2
- package/dist/atomic/p-ba6a30a7.entry.js.map +1 -0
- package/dist/atomic/{p-b3604b54.entry.js → p-bd32ca3c.entry.js} +2 -2
- package/dist/atomic/p-bd32ca3c.entry.js.map +1 -0
- package/dist/atomic/{p-e80d722f.entry.js → p-c0b3720d.entry.js} +2 -2
- package/dist/atomic/{p-9e4b1ecb.entry.js → p-e46517e9.entry.js} +2 -2
- package/dist/atomic/{p-6fa077f7.entry.js → p-f68cee5d.entry.js} +2 -2
- package/dist/cjs/{analytics-config-d9450484.js → analytics-config-f82932e2.js} +2 -2
- package/dist/cjs/{analytics-config-d9450484.js.map → analytics-config-f82932e2.js.map} +1 -1
- package/dist/cjs/atomic-commerce-recommendation-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic-product-description.cjs.entry.js +2 -2
- package/dist/cjs/atomic-product-description.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-product-excerpt.cjs.entry.js +2 -2
- package/dist/cjs/atomic-product-excerpt.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic-search-interface.cjs.entry.js +2 -2
- package/dist/cjs/{interface-common-stencil-12a85cad.js → interface-common-stencil-98f073f6.js} +2 -2
- package/dist/cjs/{interface-common-stencil-12a85cad.js.map → interface-common-stencil-98f073f6.js.map} +1 -1
- package/dist/cjs/{expandable-text-36fe9f8d.js → stencil-expandable-text-80915f74.js} +1 -1
- package/dist/cjs/stencil-expandable-text-80915f74.js.map +1 -0
- package/dist/cjs/version.cjs.js +1 -1
- package/dist/esm/{analytics-config-40a361c2.js → analytics-config-253004a0.js} +2 -2
- package/dist/esm/{analytics-config-40a361c2.js.map → analytics-config-253004a0.js.map} +1 -1
- package/dist/esm/atomic-commerce-recommendation-interface.entry.js +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +2 -2
- package/dist/esm/atomic-product-description.entry.js +1 -1
- package/dist/esm/atomic-product-description.entry.js.map +1 -1
- package/dist/esm/atomic-product-excerpt.entry.js +1 -1
- package/dist/esm/atomic-product-excerpt.entry.js.map +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +2 -2
- package/dist/esm/atomic-search-interface.entry.js +2 -2
- package/dist/esm/{interface-common-stencil-0c6e5ba8.js → interface-common-stencil-4bb4d80c.js} +2 -2
- package/dist/esm/{interface-common-stencil-0c6e5ba8.js.map → interface-common-stencil-4bb4d80c.js.map} +1 -1
- package/dist/esm/{expandable-text-4eebe177.js → stencil-expandable-text-957d599c.js} +1 -1
- package/dist/esm/stencil-expandable-text-957d599c.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/components/commerce/atomic-product-description/atomic-product-description.d.ts +1 -1
- package/dist/types/components/commerce/atomic-product-excerpt/atomic-product-excerpt.d.ts +1 -1
- package/dist/types/components/common/expandable-text/expandable-text.d.ts +4 -4
- package/dist/types/components/common/expandable-text/stencil-expandable-text.d.ts +13 -0
- package/dist/types/components.d.ts +2 -2
- package/docs/atomic-docs.json +7 -7
- package/package.json +1 -1
- package/dist/atomic/components/expandable-text.js.map +0 -1
- package/dist/atomic/p-1cb6a01c.entry.js.map +0 -1
- package/dist/atomic/p-b3604b54.entry.js.map +0 -1
- package/dist/atomic/p-de00bdd6.js.map +0 -1
- package/dist/atomic/p-fccb1769.js +0 -2
- package/dist/cjs/expandable-text-36fe9f8d.js.map +0 -1
- package/dist/esm/expandable-text-4eebe177.js.map +0 -1
- /package/dist/atomic/{p-be05ddd0.entry.js.map → p-3cc601ad.entry.js.map} +0 -0
- /package/dist/atomic/{p-fccb1769.js.map → p-5e73a3e8.js.map} +0 -0
- /package/dist/atomic/{p-7cb3144b.js.map → p-7ed31f46.js.map} +0 -0
- /package/dist/atomic/{p-e80d722f.entry.js.map → p-c0b3720d.entry.js.map} +0 -0
- /package/dist/atomic/{p-9e4b1ecb.entry.js.map → p-e46517e9.entry.js.map} +0 -0
- /package/dist/atomic/{p-6fa077f7.entry.js.map → p-f68cee5d.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"stencil-expandable-text-80915f74.js","mappings":";;;;;;AAiBA,MAAM,iBAAiB,GAAG,CAAC,aAA4B;IACrD,MAAM,YAAY,GAAkC;QAClD,IAAI,EAAE,iBAAiB;QACvB,CAAC,EAAE,cAAc;QACjB,CAAC,EAAE,cAAc;QACjB,CAAC,EAAE,cAAc;QACjB,CAAC,EAAE,cAAc;KAClB,CAAC;IACF,OAAO,YAAY,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,UAAmB,EACnB,WAAoB,EACpB,aAAsB,EACtB,cAAwC,EACxC,aAAqB,EACrB,aAAqB;IAErB,IAAI,WAAW,GAAG,0DAA0D,CAAC;IAC7E,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE;QAC/B,WAAW,IAAI,YAAY,CAAC;KAC7B;SAAM,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE;QACvD,WAAW,IAAI,SAAS,CAAC;KAC1B;IAED,MAAM,KAAK,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;IAEzD,QACEA,QAACC,oBAAM,IACL,KAAK,EAAC,cAAc,EACpB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,cAAc;QAEvBD,yBACE,IAAI,EAAE,UAAU,GAAGE,cAAS,GAAGC,aAAQ,EACvC,KAAK,EAAC,yBAAyB,GAClB;QACd,KAAK,CACC,EACT;AACJ,CAAC,CAAC;MAEW,cAAc,GAA6C,CACtE,EACE,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,GAAG,KAAK,GACtB,EACD,QAAQ;IAER,QACEH,iBAAK,KAAK,EAAC,2BAA2B;QACpCA,iBACE,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAE,mBAAmB,CAAC,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,aAAa,EAAE,IAEzG,QAAQ,CACL;QACL,oBAAoB,CACnB,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,CACd,CACG,EACN;AACJ;;;;","names":["h","Button","MinusIcon","PlusIcon"],"sources":["src/components/common/expandable-text/stencil-expandable-text.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport MinusIcon from '../../../images/minus.svg';\nimport PlusIcon from '../../../images/plus.svg';\nimport {Button} from '../stencil-button';\n\nexport type TruncateAfter = 'none' | '1' | '2' | '3' | '4';\n\ninterface ExpandableTextProps {\n isExpanded: boolean;\n isTruncated: boolean;\n isCollapsible?: boolean;\n truncateAfter: TruncateAfter;\n onToggleExpand: (e: MouseEvent | undefined) => void;\n showMoreLabel: string;\n showLessLabel: string;\n}\n\nconst getLineClampClass = (truncateAfter: TruncateAfter) => {\n const lineClampMap: Record<TruncateAfter, string> = {\n none: 'line-clamp-none',\n 1: 'line-clamp-1',\n 2: 'line-clamp-2',\n 3: 'line-clamp-3',\n 4: 'line-clamp-4',\n };\n return lineClampMap[truncateAfter] || 'line-clamp-2';\n};\n\nconst renderShowHideButton = (\n isExpanded: boolean,\n isTruncated: boolean,\n isCollapsible: boolean,\n onToggleExpand: (e?: MouseEvent) => void,\n showMoreLabel: string,\n showLessLabel: string\n) => {\n let buttonClass = 'expandable-text-button p-1 text-xs leading-[calc(1/.75)]';\n if (!isTruncated && !isExpanded) {\n buttonClass += ' invisible';\n } else if (!isCollapsible && !isTruncated && isExpanded) {\n buttonClass += ' hidden';\n }\n\n const label = isExpanded ? showLessLabel : showMoreLabel;\n\n return (\n <Button\n style=\"text-primary\"\n class={buttonClass}\n title={label}\n onClick={onToggleExpand}\n >\n <atomic-icon\n icon={isExpanded ? MinusIcon : PlusIcon}\n class=\"mx-1 w-2 align-baseline\"\n ></atomic-icon>\n {label}\n </Button>\n );\n};\n\nexport const ExpandableText: FunctionalComponent<ExpandableTextProps> = (\n {\n isExpanded,\n isTruncated,\n truncateAfter,\n onToggleExpand,\n showMoreLabel,\n showLessLabel,\n isCollapsible = false,\n },\n children\n) => {\n return (\n <div class=\"flex flex-col items-start\">\n <div\n part=\"expandable-text\"\n class={`expandable-text ${!isExpanded ? getLineClampClass(truncateAfter) : ''} min-lines-${truncateAfter}`}\n >\n {children}\n </div>\n {renderShowHideButton(\n isExpanded,\n isTruncated,\n isCollapsible,\n onToggleExpand,\n showMoreLabel,\n showLessLabel\n )}\n </div>\n );\n};\n"],"version":3}
|
package/dist/cjs/version.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
module.exports.headlessVersion = '3.27.1';
|
|
2
|
-
module.exports.atomicVersion = '3.28.0-pre.
|
|
2
|
+
module.exports.atomicVersion = '3.28.0-pre.df6c8a3eb3';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as getAtomicEnvironment } from './interface-common-stencil-
|
|
1
|
+
import { g as getAtomicEnvironment } from './interface-common-stencil-4bb4d80c.js';
|
|
2
2
|
|
|
3
3
|
function augmentWithExternalMiddleware(event, payload, config) {
|
|
4
4
|
if (config.analytics?.analyticsClientMiddleware) {
|
|
@@ -40,4 +40,4 @@ function getNextAnalyticsConfig(searchEngineConfig, enabled) {
|
|
|
40
40
|
|
|
41
41
|
export { augmentWithExternalMiddleware as a, augmentAnalyticsWithAtomicVersion as b, augmentAnalyticsConfigWithDocument as c, augmentAnalyticsConfigWithAtomicVersion as d, getNextAnalyticsConfig as g };
|
|
42
42
|
|
|
43
|
-
//# sourceMappingURL=analytics-config-
|
|
43
|
+
//# sourceMappingURL=analytics-config-253004a0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"analytics-config-
|
|
1
|
+
{"file":"analytics-config-253004a0.js","mappings":";;SAYgB,6BAA6B,CAC3C,KAAa,EACb,OAAyB,EACzB,MAGqC;IAErC,IAAI,MAAM,CAAC,SAAS,EAAE,yBAAyB,EAAE;QAC/C,OAAO,MAAM,CAAC,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACnE;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;SAEe,iCAAiC,CAAC,OAAyB;IACzE,IAAI,OAAO,CAAC,UAAU,EAAE;QACtB,OAAO,CAAC,UAAU,CAAC,kBAAkB,GAAG,oBAAoB,EAAE,CAAC,OAAO,CAAC;KACxE;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;SAEe,kCAAkC;IAChD,OAAO;QACL,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;QACxC,IAAI,QAAQ,CAAC,QAAQ,IAAI,EAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,kBAAkB,CAAC;SAE1B,uCAAuC;IAGrD,OAAO;QACL,MAAM,EAAE;YACN,eAAe,EACb,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO;SACtE;KACF,CAAC;AACJ,CAAC;SAEe,sBAAsB,CACpC,kBAAuC,EACvC,OAAgB;IAEhB,MAAM,aAAa,GAA2B;QAC5C,OAAO;QACP,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;QACxC,IAAI,QAAQ,CAAC,QAAQ,IAAI,EAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAC,CAAC;KAC5D,CAAC;IAEF,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,SAAS,IAAI,EAAE,CAAC;IAClE,MAAM,CAAC,MAAM,CACX,sBAAsB,EACtB,uCAAuC,EAAE,CAC1C,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAErD,OAAO,aAAa,CAAC;AACvB;;;;","names":[],"sources":["src/components/common/interface/analytics-config.ts"],"sourcesContent":["import {\n SearchEngineConfiguration,\n AnalyticsConfiguration,\n EngineConfiguration,\n} from '@coveo/headless';\nimport {AnalyticsClientSendEventHook} from '@coveo/headless';\nimport {InsightEngineConfiguration} from '@coveo/headless/insight';\nimport {RecommendationEngineConfiguration} from '@coveo/headless/recommendation';\nimport {getAtomicEnvironment} from '../../../global/environment';\n\nexport type AnalyticsPayload = Parameters<AnalyticsClientSendEventHook>[1];\n\nexport function augmentWithExternalMiddleware(\n event: string,\n payload: AnalyticsPayload,\n config:\n | InsightEngineConfiguration\n | SearchEngineConfiguration\n | RecommendationEngineConfiguration\n) {\n if (config.analytics?.analyticsClientMiddleware) {\n return config.analytics.analyticsClientMiddleware(event, payload);\n }\n return payload;\n}\n\nexport function augmentAnalyticsWithAtomicVersion(payload: AnalyticsPayload) {\n if (payload.customData) {\n payload.customData.coveoAtomicVersion = getAtomicEnvironment().version;\n }\n return payload;\n}\n\nexport function augmentAnalyticsConfigWithDocument(): AnalyticsConfiguration {\n return {\n documentLocation: document.location.href,\n ...(document.referrer && {originLevel3: document.referrer}),\n };\n}\n\nconst versionMatcher = /^(\\d+\\.\\d+\\.\\d+)/;\n\nexport function augmentAnalyticsConfigWithAtomicVersion(): Required<\n Pick<AnalyticsConfiguration, 'source'>\n> {\n return {\n source: {\n '@coveo/atomic':\n versionMatcher.exec(getAtomicEnvironment().version)?.[0] || '0.0.0',\n },\n };\n}\n\nexport function getNextAnalyticsConfig(\n searchEngineConfig: EngineConfiguration,\n enabled: boolean\n): AnalyticsConfiguration {\n const configuration: AnalyticsConfiguration = {\n enabled,\n documentLocation: document.location.href,\n ...(document.referrer && {originLevel3: document.referrer}),\n };\n\n const analyticsConfiguration = searchEngineConfig.analytics ?? {};\n Object.assign(\n analyticsConfiguration,\n augmentAnalyticsConfigWithAtomicVersion()\n );\n Object.assign(configuration, analyticsConfiguration);\n\n return configuration;\n}\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as registerInstance, s as setNonce, h, g as getElement } from './index-3f35faca.js';
|
|
2
2
|
import { m as markParentAsReady } from './init-queue-fbe942c3.js';
|
|
3
3
|
import { buildContext } from '@coveo/headless/commerce';
|
|
4
|
-
import { C as CommonAtomicInterfaceHelper, i as instance } from './interface-common-stencil-
|
|
4
|
+
import { C as CommonAtomicInterfaceHelper, i as instance } from './interface-common-stencil-4bb4d80c.js';
|
|
5
5
|
import { u as unsetLoadingFlag, s as setLoadingFlag, a as createBaseStore } from './store-9da184ac.js';
|
|
6
6
|
import '@coveo/headless';
|
|
7
7
|
import './dayjs.min-d04628c6.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { r as registerInstance, s as setNonce, h, H as Host, g as getElement } from './index-3f35faca.js';
|
|
2
2
|
import { m as markParentAsReady } from './init-queue-fbe942c3.js';
|
|
3
3
|
import { buildResultsPerPage, loadFieldActions, buildInsightEngine } from '@coveo/headless/insight';
|
|
4
|
-
import { C as CommonAtomicInterfaceHelper, i as instance } from './interface-common-stencil-
|
|
4
|
+
import { C as CommonAtomicInterfaceHelper, i as instance } from './interface-common-stencil-4bb4d80c.js';
|
|
5
5
|
import { A as ArrayProp } from './props-utils-187abfd2.js';
|
|
6
|
-
import { g as getNextAnalyticsConfig, a as augmentWithExternalMiddleware, b as augmentAnalyticsWithAtomicVersion } from './analytics-config-
|
|
6
|
+
import { g as getNextAnalyticsConfig, a as augmentWithExternalMiddleware, b as augmentAnalyticsWithAtomicVersion } from './analytics-config-253004a0.js';
|
|
7
7
|
import { D as DEFAULT_MOBILE_BREAKPOINT } from './replace-breakpoint-213367f8.js';
|
|
8
8
|
import { u as unsetLoadingFlag, s as setLoadingFlag, r as registerFacet, g as getFacetElements, w as waitUntilAppLoaded, a as createBaseStore } from './store-9da184ac.js';
|
|
9
9
|
import { m as makeDesktopQuery } from './insight-layout-776b87f2.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as registerInstance, h, g as getElement } from './index-3f35faca.js';
|
|
2
2
|
import { Schema, StringValue } from '@coveo/bueno';
|
|
3
3
|
import { I as InitializeBindings, H as Hidden } from './initialization-utils-ff3edf9a.js';
|
|
4
|
-
import { E as ExpandableText } from './expandable-text-
|
|
4
|
+
import { E as ExpandableText } from './stencil-expandable-text-957d599c.js';
|
|
5
5
|
import { P as ProductContext } from './stencil-product-template-decorators-0321cc1d.js';
|
|
6
6
|
import './dom-utils-f6086cd3.js';
|
|
7
7
|
import './event-utils-8de63ec3.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-product-description.entry.js","mappings":";;;;;;;;;;;;;;;AAAA,MAAM,2BAA2B,GAAG,wUAAwU,CAAC;AAC7W,uCAAe,2BAA2B;;;;;;;;;;;;MCuB7B,wBAAwB;IA+BnC;;QArBiB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;;;;QAQtB,kBAAa,GAAkB,GAAG,CAAC;;;;QAKnC,UAAK,GAAsC,cAAc,CAAC;;;;QAK1D,kBAAa,GAAG,IAAI,CAAC;0BAnBN,KAAK;2BACJ,KAAK;6BAQU,GAAG;qBAKS,cAAc;6BAKzC,IAAI;QAGjC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,IACE,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EACrE;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa;QACnB,IAAI,MAAM,CAAC;YACT,aAAa,EAAE,IAAI,WAAW,CAAC;gBAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C,CAAC;YACF,KAAK,EAAE,IAAI,WAAW,CAAC;gBACrB,WAAW,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;aAChD,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CACnD,kBAAkB,CACD,CAAC;QACpB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACnD;KACF;IAEO,cAAc,CAAC,CAAc;QACnC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,eAAe,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAEM,MAAM;QACX,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAE5D,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAO,EAAC,MAAM,OAAG,CAAC;SACnB;QAED,QACE,EAAC,cAAc,IACb,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,aAAa,IAEjC,2BAAqB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAwB,CAC/C,EACjB;KACH;;;AAjG4B;IAA5B,kBAAkB,EAAE;0DAAoC;AAC/B;IAAzB,cAAc,EAAE;yDAA2B;;;;;","names":[],"sources":["src/components/commerce/atomic-product-description/atomic-product-description.pcss?tag=atomic-product-description","src/components/commerce/atomic-product-description/atomic-product-description.tsx"],"sourcesContent":["@import '../../common/expandable-text/expandable-text.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {Product} from '@coveo/headless/commerce';\nimport {Component, State, h, Element, Prop} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n ExpandableText,\n TruncateAfter,\n} from '../../common/expandable-text/expandable-text';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {ProductContext} from '../product-template-component-utils/stencil-product-template-decorators';\n\n/**\n * @alpha\n * The `atomic-product-description` component renders the description of a product.\n */\n@Component({\n tag: 'atomic-product-description',\n styleUrl: 'atomic-product-description.pcss',\n shadow: false,\n})\nexport class AtomicProductDescription\n implements InitializableComponent<CommerceBindings>\n{\n @InitializeBindings() public bindings!: CommerceBindings;\n @ProductContext() private product!: Product;\n\n @Element() hostElement!: HTMLElement;\n\n public error!: Error;\n\n @State() private isExpanded = false;\n @State() private isTruncated = false;\n\n private descriptionText!: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The number of lines after which the product description should be truncated. A value of \"none\" will disable truncation.\n */\n @Prop() public truncateAfter: TruncateAfter = '2';\n\n /**\n * The name of the description field to use.\n */\n @Prop() public field: 'ec_description' | 'ec_shortdesc' = 'ec_shortdesc';\n\n /**\n * Whether the description should be collapsible after being expanded.\n */\n @Prop() public isCollapsible = true;\n\n constructor() {\n this.resizeObserver = new ResizeObserver(() => {\n if (\n this.descriptionText &&\n this.descriptionText.scrollHeight > this.descriptionText.clientHeight\n ) {\n this.isTruncated = true;\n } else {\n this.isTruncated = false;\n }\n });\n this.validateProps();\n }\n\n private validateProps() {\n new Schema({\n truncateAfter: new StringValue({\n constrainTo: ['none', '1', '2', '3', '4'],\n }),\n field: new StringValue({\n constrainTo: ['ec_shortdesc', 'ec_description'],\n }),\n }).validate({\n truncateAfter: this.truncateAfter,\n field: this.field,\n });\n }\n\n componentDidLoad() {\n this.descriptionText = this.hostElement.querySelector(\n '.expandable-text'\n ) as HTMLDivElement;\n if (this.descriptionText) {\n this.resizeObserver.observe(this.descriptionText);\n }\n }\n\n private onToggleExpand(e?: MouseEvent) {\n if (e) {\n e.stopPropagation();\n }\n\n this.isExpanded = !this.isExpanded;\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n public render() {\n const productDescription = this.product[this.field] ?? null;\n\n if (!productDescription) {\n return <Hidden />;\n }\n\n return (\n <ExpandableText\n isExpanded={this.isExpanded}\n isTruncated={this.isTruncated}\n truncateAfter={this.truncateAfter}\n onToggleExpand={(e) => this.onToggleExpand(e)}\n showMoreLabel={this.bindings.i18n.t('show-more')}\n showLessLabel={this.bindings.i18n.t('show-less')}\n isCollapsible={this.isCollapsible}\n >\n <atomic-product-text field={this.field}></atomic-product-text>\n </ExpandableText>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-product-description.entry.js","mappings":";;;;;;;;;;;;;;;AAAA,MAAM,2BAA2B,GAAG,wUAAwU,CAAC;AAC7W,uCAAe,2BAA2B;;;;;;;;;;;;MCuB7B,wBAAwB;IA+BnC;;QArBiB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;;;;QAQtB,kBAAa,GAAkB,GAAG,CAAC;;;;QAKnC,UAAK,GAAsC,cAAc,CAAC;;;;QAK1D,kBAAa,GAAG,IAAI,CAAC;0BAnBN,KAAK;2BACJ,KAAK;6BAQU,GAAG;qBAKS,cAAc;6BAKzC,IAAI;QAGjC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,IACE,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EACrE;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa;QACnB,IAAI,MAAM,CAAC;YACT,aAAa,EAAE,IAAI,WAAW,CAAC;gBAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C,CAAC;YACF,KAAK,EAAE,IAAI,WAAW,CAAC;gBACrB,WAAW,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;aAChD,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CACnD,kBAAkB,CACD,CAAC;QACpB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACnD;KACF;IAEO,cAAc,CAAC,CAAc;QACnC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,eAAe,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAEM,MAAM;QACX,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAE5D,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAO,EAAC,MAAM,OAAG,CAAC;SACnB;QAED,QACE,EAAC,cAAc,IACb,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,aAAa,IAEjC,2BAAqB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAwB,CAC/C,EACjB;KACH;;;AAjG4B;IAA5B,kBAAkB,EAAE;0DAAoC;AAC/B;IAAzB,cAAc,EAAE;yDAA2B;;;;;","names":[],"sources":["src/components/commerce/atomic-product-description/atomic-product-description.pcss?tag=atomic-product-description","src/components/commerce/atomic-product-description/atomic-product-description.tsx"],"sourcesContent":["@import '../../common/expandable-text/expandable-text.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {Product} from '@coveo/headless/commerce';\nimport {Component, State, h, Element, Prop} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n ExpandableText,\n TruncateAfter,\n} from '../../common/expandable-text/stencil-expandable-text';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {ProductContext} from '../product-template-component-utils/stencil-product-template-decorators';\n\n/**\n * @alpha\n * The `atomic-product-description` component renders the description of a product.\n */\n@Component({\n tag: 'atomic-product-description',\n styleUrl: 'atomic-product-description.pcss',\n shadow: false,\n})\nexport class AtomicProductDescription\n implements InitializableComponent<CommerceBindings>\n{\n @InitializeBindings() public bindings!: CommerceBindings;\n @ProductContext() private product!: Product;\n\n @Element() hostElement!: HTMLElement;\n\n public error!: Error;\n\n @State() private isExpanded = false;\n @State() private isTruncated = false;\n\n private descriptionText!: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The number of lines after which the product description should be truncated. A value of \"none\" will disable truncation.\n */\n @Prop() public truncateAfter: TruncateAfter = '2';\n\n /**\n * The name of the description field to use.\n */\n @Prop() public field: 'ec_description' | 'ec_shortdesc' = 'ec_shortdesc';\n\n /**\n * Whether the description should be collapsible after being expanded.\n */\n @Prop() public isCollapsible = true;\n\n constructor() {\n this.resizeObserver = new ResizeObserver(() => {\n if (\n this.descriptionText &&\n this.descriptionText.scrollHeight > this.descriptionText.clientHeight\n ) {\n this.isTruncated = true;\n } else {\n this.isTruncated = false;\n }\n });\n this.validateProps();\n }\n\n private validateProps() {\n new Schema({\n truncateAfter: new StringValue({\n constrainTo: ['none', '1', '2', '3', '4'],\n }),\n field: new StringValue({\n constrainTo: ['ec_shortdesc', 'ec_description'],\n }),\n }).validate({\n truncateAfter: this.truncateAfter,\n field: this.field,\n });\n }\n\n componentDidLoad() {\n this.descriptionText = this.hostElement.querySelector(\n '.expandable-text'\n ) as HTMLDivElement;\n if (this.descriptionText) {\n this.resizeObserver.observe(this.descriptionText);\n }\n }\n\n private onToggleExpand(e?: MouseEvent) {\n if (e) {\n e.stopPropagation();\n }\n\n this.isExpanded = !this.isExpanded;\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n public render() {\n const productDescription = this.product[this.field] ?? null;\n\n if (!productDescription) {\n return <Hidden />;\n }\n\n return (\n <ExpandableText\n isExpanded={this.isExpanded}\n isTruncated={this.isTruncated}\n truncateAfter={this.truncateAfter}\n onToggleExpand={(e) => this.onToggleExpand(e)}\n showMoreLabel={this.bindings.i18n.t('show-more')}\n showLessLabel={this.bindings.i18n.t('show-less')}\n isCollapsible={this.isCollapsible}\n >\n <atomic-product-text field={this.field}></atomic-product-text>\n </ExpandableText>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as registerInstance, h, g as getElement } from './index-3f35faca.js';
|
|
2
2
|
import { Schema, StringValue } from '@coveo/bueno';
|
|
3
3
|
import { I as InitializeBindings, H as Hidden } from './initialization-utils-ff3edf9a.js';
|
|
4
|
-
import { E as ExpandableText } from './expandable-text-
|
|
4
|
+
import { E as ExpandableText } from './stencil-expandable-text-957d599c.js';
|
|
5
5
|
import { P as ProductContext } from './stencil-product-template-decorators-0321cc1d.js';
|
|
6
6
|
import './dom-utils-f6086cd3.js';
|
|
7
7
|
import './event-utils-8de63ec3.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-product-excerpt.entry.js","mappings":";;;;;;;;;;;;;;;AAAA,MAAM,uBAAuB,GAAG,wUAAwU,CAAC;AACzW,mCAAe,uBAAuB;;;;;;;;;;;;MCuBzB,oBAAoB;IA0B/B;;QAhBiB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;;;;QAQtB,kBAAa,GAAkB,GAAG,CAAC;;;;QAKnC,kBAAa,GAAG,KAAK,CAAC;0BAdP,KAAK;2BACJ,KAAK;6BAQU,GAAG;6BAKlB,KAAK;QAGlC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,IACE,IAAI,CAAC,WAAW;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAC7D;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa;QACnB,IAAI,MAAM,CAAC;YACT,aAAa,EAAE,IAAI,WAAW,CAAC;gBAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/C,kBAAkB,CACD,CAAC;QACpB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/C;KACF;IAEO,cAAc,CAAC,CAAc;QACnC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,eAAe,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAEM,MAAM;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QAEvD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,EAAC,MAAM,OAAG,CAAC;SACnB;QAED,QACE,EAAC,cAAc,IACb,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,aAAa,IAEjC,2BAAqB,KAAK,EAAC,SAAS,GAAuB,CAC5C,EACjB;KACH;;;AAxF4B;IAA5B,kBAAkB,EAAE;sDAAoC;AAC/B;IAAzB,cAAc,EAAE;qDAA2B;;;;;","names":[],"sources":["src/components/commerce/atomic-product-excerpt/atomic-product-excerpt.pcss?tag=atomic-product-excerpt","src/components/commerce/atomic-product-excerpt/atomic-product-excerpt.tsx"],"sourcesContent":["@import '../../common/expandable-text/expandable-text.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {Product} from '@coveo/headless/commerce';\nimport {Component, State, h, Element, Prop} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n ExpandableText,\n TruncateAfter,\n} from '../../common/expandable-text/expandable-text';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {ProductContext} from '../product-template-component-utils/stencil-product-template-decorators';\n\n/**\n * @alpha\n * The `atomic-product-excerpt` component renders the excerpt of a product generated at query time.\n */\n@Component({\n tag: 'atomic-product-excerpt',\n styleUrl: 'atomic-product-excerpt.pcss',\n shadow: false,\n})\nexport class AtomicProductExcerpt\n implements InitializableComponent<CommerceBindings>\n{\n @InitializeBindings() public bindings!: CommerceBindings;\n @ProductContext() private product!: Product;\n\n @Element() hostElement!: HTMLElement;\n\n public error!: Error;\n\n @State() private isExpanded = false;\n @State() private isTruncated = false;\n\n private excerptText!: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The number of lines after which the product excerpt should be truncated. A value of \"none\" will disable truncation.\n */\n @Prop() public truncateAfter: TruncateAfter = '2';\n\n /**\n * Whether the excerpt should be collapsible after being expanded.\n */\n @Prop() public isCollapsible = false;\n\n constructor() {\n this.resizeObserver = new ResizeObserver(() => {\n if (\n this.excerptText &&\n this.excerptText.scrollHeight > this.excerptText.offsetHeight\n ) {\n this.isTruncated = true;\n } else {\n this.isTruncated = false;\n }\n });\n this.validateProps();\n }\n\n private validateProps() {\n new Schema({\n truncateAfter: new StringValue({\n constrainTo: ['none', '1', '2', '3', '4'],\n }),\n }).validate({\n truncateAfter: this.truncateAfter,\n });\n }\n\n componentDidLoad() {\n this.excerptText = this.hostElement.querySelector(\n '.expandable-text'\n ) as HTMLDivElement;\n if (this.excerptText) {\n this.resizeObserver.observe(this.excerptText);\n }\n }\n\n private onToggleExpand(e?: MouseEvent) {\n if (e) {\n e.stopPropagation();\n }\n\n this.isExpanded = !this.isExpanded;\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n public render() {\n const productExcerpt = this.product['excerpt'] ?? null;\n\n if (!productExcerpt) {\n return <Hidden />;\n }\n\n return (\n <ExpandableText\n isExpanded={this.isExpanded}\n isTruncated={this.isTruncated}\n truncateAfter={this.truncateAfter}\n onToggleExpand={(e) => this.onToggleExpand(e)}\n showMoreLabel={this.bindings.i18n.t('show-more')}\n showLessLabel={this.bindings.i18n.t('show-less')}\n isCollapsible={this.isCollapsible}\n >\n <atomic-product-text field=\"excerpt\"></atomic-product-text>\n </ExpandableText>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-product-excerpt.entry.js","mappings":";;;;;;;;;;;;;;;AAAA,MAAM,uBAAuB,GAAG,wUAAwU,CAAC;AACzW,mCAAe,uBAAuB;;;;;;;;;;;;MCuBzB,oBAAoB;IA0B/B;;QAhBiB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;;;;QAQtB,kBAAa,GAAkB,GAAG,CAAC;;;;QAKnC,kBAAa,GAAG,KAAK,CAAC;0BAdP,KAAK;2BACJ,KAAK;6BAQU,GAAG;6BAKlB,KAAK;QAGlC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,IACE,IAAI,CAAC,WAAW;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAC7D;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa;QACnB,IAAI,MAAM,CAAC;YACT,aAAa,EAAE,IAAI,WAAW,CAAC;gBAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/C,kBAAkB,CACD,CAAC;QACpB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/C;KACF;IAEO,cAAc,CAAC,CAAc;QACnC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,eAAe,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAEM,MAAM;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QAEvD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,EAAC,MAAM,OAAG,CAAC;SACnB;QAED,QACE,EAAC,cAAc,IACb,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,aAAa,IAEjC,2BAAqB,KAAK,EAAC,SAAS,GAAuB,CAC5C,EACjB;KACH;;;AAxF4B;IAA5B,kBAAkB,EAAE;sDAAoC;AAC/B;IAAzB,cAAc,EAAE;qDAA2B;;;;;","names":[],"sources":["src/components/commerce/atomic-product-excerpt/atomic-product-excerpt.pcss?tag=atomic-product-excerpt","src/components/commerce/atomic-product-excerpt/atomic-product-excerpt.tsx"],"sourcesContent":["@import '../../common/expandable-text/expandable-text.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {Product} from '@coveo/headless/commerce';\nimport {Component, State, h, Element, Prop} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n ExpandableText,\n TruncateAfter,\n} from '../../common/expandable-text/stencil-expandable-text';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {ProductContext} from '../product-template-component-utils/stencil-product-template-decorators';\n\n/**\n * @alpha\n * The `atomic-product-excerpt` component renders the excerpt of a product generated at query time.\n */\n@Component({\n tag: 'atomic-product-excerpt',\n styleUrl: 'atomic-product-excerpt.pcss',\n shadow: false,\n})\nexport class AtomicProductExcerpt\n implements InitializableComponent<CommerceBindings>\n{\n @InitializeBindings() public bindings!: CommerceBindings;\n @ProductContext() private product!: Product;\n\n @Element() hostElement!: HTMLElement;\n\n public error!: Error;\n\n @State() private isExpanded = false;\n @State() private isTruncated = false;\n\n private excerptText!: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The number of lines after which the product excerpt should be truncated. A value of \"none\" will disable truncation.\n */\n @Prop() public truncateAfter: TruncateAfter = '2';\n\n /**\n * Whether the excerpt should be collapsible after being expanded.\n */\n @Prop() public isCollapsible = false;\n\n constructor() {\n this.resizeObserver = new ResizeObserver(() => {\n if (\n this.excerptText &&\n this.excerptText.scrollHeight > this.excerptText.offsetHeight\n ) {\n this.isTruncated = true;\n } else {\n this.isTruncated = false;\n }\n });\n this.validateProps();\n }\n\n private validateProps() {\n new Schema({\n truncateAfter: new StringValue({\n constrainTo: ['none', '1', '2', '3', '4'],\n }),\n }).validate({\n truncateAfter: this.truncateAfter,\n });\n }\n\n componentDidLoad() {\n this.excerptText = this.hostElement.querySelector(\n '.expandable-text'\n ) as HTMLDivElement;\n if (this.excerptText) {\n this.resizeObserver.observe(this.excerptText);\n }\n }\n\n private onToggleExpand(e?: MouseEvent) {\n if (e) {\n e.stopPropagation();\n }\n\n this.isExpanded = !this.isExpanded;\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n public render() {\n const productExcerpt = this.product['excerpt'] ?? null;\n\n if (!productExcerpt) {\n return <Hidden />;\n }\n\n return (\n <ExpandableText\n isExpanded={this.isExpanded}\n isTruncated={this.isTruncated}\n truncateAfter={this.truncateAfter}\n onToggleExpand={(e) => this.onToggleExpand(e)}\n showMoreLabel={this.bindings.i18n.t('show-more')}\n showLessLabel={this.bindings.i18n.t('show-less')}\n isCollapsible={this.isCollapsible}\n >\n <atomic-product-text field=\"excerpt\"></atomic-product-text>\n </ExpandableText>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { r as registerInstance, s as setNonce, h, g as getElement } from './index-3f35faca.js';
|
|
2
2
|
import { m as markParentAsReady } from './init-queue-fbe942c3.js';
|
|
3
3
|
import { loadRecommendationActions, loadSearchConfigurationActions, EcommerceDefaultFieldsToInclude, loadFieldActions, buildRecommendationEngine } from '@coveo/headless/recommendation';
|
|
4
|
-
import { C as CommonAtomicInterfaceHelper, i as instance, m as mismatchedInterfaceAndEnginePropError } from './interface-common-stencil-
|
|
4
|
+
import { C as CommonAtomicInterfaceHelper, i as instance, m as mismatchedInterfaceAndEnginePropError } from './interface-common-stencil-4bb4d80c.js';
|
|
5
5
|
import { A as ArrayProp } from './props-utils-187abfd2.js';
|
|
6
|
-
import { g as getNextAnalyticsConfig, c as augmentAnalyticsConfigWithDocument, d as augmentAnalyticsConfigWithAtomicVersion, a as augmentWithExternalMiddleware, b as augmentAnalyticsWithAtomicVersion } from './analytics-config-
|
|
6
|
+
import { g as getNextAnalyticsConfig, c as augmentAnalyticsConfigWithDocument, d as augmentAnalyticsConfigWithAtomicVersion, a as augmentWithExternalMiddleware, b as augmentAnalyticsWithAtomicVersion } from './analytics-config-253004a0.js';
|
|
7
7
|
import { u as unsetLoadingFlag, s as setLoadingFlag, a as createBaseStore } from './store-9da184ac.js';
|
|
8
8
|
import '@coveo/headless';
|
|
9
9
|
import './dayjs.min-d04628c6.js';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { r as registerInstance, s as setNonce, h, g as getElement } from './index-3f35faca.js';
|
|
2
2
|
import { m as markParentAsReady } from './init-queue-fbe942c3.js';
|
|
3
3
|
import { loadSearchConfigurationActions, loadQueryActions, EcommerceDefaultFieldsToInclude, loadFieldActions, buildSearchEngine, buildUrlManager, buildSearchStatus } from '@coveo/headless';
|
|
4
|
-
import { C as CommonAtomicInterfaceHelper, i as instance, m as mismatchedInterfaceAndEnginePropError } from './interface-common-stencil-
|
|
4
|
+
import { C as CommonAtomicInterfaceHelper, i as instance, m as mismatchedInterfaceAndEnginePropError } from './interface-common-stencil-4bb4d80c.js';
|
|
5
5
|
import { a as StorageItems, S as SafeStorage } from './local-storage-utils-c8dbf1ef.js';
|
|
6
6
|
import { A as ArrayProp } from './props-utils-187abfd2.js';
|
|
7
7
|
import { m as makeDesktopQuery, n as noResultsSelector, e as errorSelector, f as firstSearchExecutedSelector } from './search-layout-1e3bd9fd.js';
|
|
8
|
-
import { g as getNextAnalyticsConfig, d as augmentAnalyticsConfigWithAtomicVersion, c as augmentAnalyticsConfigWithDocument, a as augmentWithExternalMiddleware, b as augmentAnalyticsWithAtomicVersion } from './analytics-config-
|
|
8
|
+
import { g as getNextAnalyticsConfig, d as augmentAnalyticsConfigWithAtomicVersion, c as augmentAnalyticsConfigWithDocument, a as augmentWithExternalMiddleware, b as augmentAnalyticsWithAtomicVersion } from './analytics-config-253004a0.js';
|
|
9
9
|
import { D as DEFAULT_MOBILE_BREAKPOINT } from './replace-breakpoint-213367f8.js';
|
|
10
10
|
import { u as unsetLoadingFlag, s as setLoadingFlag, r as registerFacet, g as getFacetElements, w as waitUntilAppLoaded, a as createBaseStore } from './store-9da184ac.js';
|
|
11
11
|
import './dayjs.min-d04628c6.js';
|
package/dist/esm/{interface-common-stencil-0c6e5ba8.js → interface-common-stencil-4bb4d80c.js}
RENAMED
|
@@ -2220,7 +2220,7 @@ function getWindow() {
|
|
|
2220
2220
|
}
|
|
2221
2221
|
function getAtomicEnvironment() {
|
|
2222
2222
|
return {
|
|
2223
|
-
version: "3.28.0-pre.
|
|
2223
|
+
version: "3.28.0-pre.df6c8a3eb3",
|
|
2224
2224
|
headlessVersion: VERSION,
|
|
2225
2225
|
};
|
|
2226
2226
|
}
|
|
@@ -2938,4 +2938,4 @@ class CommonAtomicInterfaceHelper {
|
|
|
2938
2938
|
|
|
2939
2939
|
export { CommonAtomicInterfaceHelper as C, getAtomicEnvironment as g, instance as i, mismatchedInterfaceAndEnginePropError as m };
|
|
2940
2940
|
|
|
2941
|
-
//# sourceMappingURL=interface-common-stencil-
|
|
2941
|
+
//# sourceMappingURL=interface-common-stencil-4bb4d80c.js.map
|