@coveo/atomic 3.28.0-pre.df6c8a3eb3 → 3.28.0-pre.e87aa33543
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/atomic.esm.js.map +1 -1
- package/dist/atomic/components/_index.d.ts +0 -6
- package/dist/atomic/components/_index.js +0 -3
- package/dist/atomic/components/atomic-product-children.js +1 -7
- package/dist/atomic/components/atomic-product-children.js.map +1 -1
- package/dist/atomic/components/atomic-product-description.js +1 -13
- package/dist/atomic/components/atomic-product-description.js.map +1 -1
- package/dist/atomic/components/atomic-product-excerpt.js +1 -13
- package/dist/atomic/components/atomic-product-excerpt.js.map +1 -1
- package/dist/atomic/components/atomic-product-link.js +1 -13
- package/dist/atomic/components/atomic-product-link.js.map +1 -1
- package/dist/atomic/components/atomic-result-text2.js +45 -2
- package/dist/atomic/components/atomic-result-text2.js.map +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-text/atomic-commerce-text.js +54 -0
- package/dist/atomic/components/components/commerce/atomic-product-template/atomic-product-template.js +2 -0
- package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +135 -0
- package/dist/atomic/components/components/commerce/index.js +2 -0
- package/dist/atomic/components/components/commerce/lazy-index.js +2 -0
- package/dist/atomic/components/components/commerce/product-template-component-utils/error.js +6 -0
- package/dist/atomic/components/components/commerce/product-template-component-utils/product-utils.js +35 -0
- package/dist/atomic/components/components/common/atomic-layout-section/atomic-layout-section.js +31 -0
- package/dist/atomic/components/components/common/index.js +1 -0
- package/dist/atomic/components/components/common/item-text/field-warning.js +6 -0
- package/dist/atomic/components/components/common/item-text/item-text-fallback.js +15 -0
- package/dist/atomic/components/components/common/item-text/item-text-highlighted.js +17 -0
- package/dist/atomic/components/components/common/item-text/render-highlights.js +13 -0
- package/dist/atomic/components/components/common/lazy-index.js +1 -0
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/index.js.map +1 -1
- package/dist/atomic/components/interface-common-stencil.js +1 -1
- package/dist/atomic/components/product-utils.js +1 -8
- package/dist/atomic/components/product-utils.js.map +1 -1
- package/dist/atomic/components/sections.js.map +1 -1
- package/dist/atomic/components/utils/object-utils.js +13 -0
- package/dist/atomic/{p-c0b3720d.entry.js → p-191ac0fe.entry.js} +2 -2
- package/dist/atomic/{p-3195fa42.entry.js → p-545f7fb1.entry.js} +2 -2
- package/dist/atomic/{p-e46517e9.entry.js → p-8a3f0405.entry.js} +2 -2
- package/dist/atomic/{p-f68cee5d.entry.js → p-8f1ab6ff.entry.js} +2 -2
- package/dist/atomic/{p-5e73a3e8.js → p-8fa5129d.js} +2 -2
- package/dist/atomic/p-9c7dbbdf.js.map +1 -1
- package/dist/atomic/p-a1c4ac09.js +2 -0
- package/dist/atomic/p-a1c4ac09.js.map +1 -0
- package/dist/atomic/{p-7ed31f46.js → p-b64f4619.js} +2 -2
- package/dist/atomic/p-d76c5232.entry.js +2 -0
- package/dist/atomic/{p-22a0d1b9.entry.js → p-ea5d2736.entry.js} +2 -2
- package/dist/atomic/p-f1bbe060.entry.js +2 -0
- package/dist/atomic/p-f1bbe060.entry.js.map +1 -0
- package/dist/atomic/{p-3cc601ad.entry.js → p-f67a6ad6.entry.js} +2 -2
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/{analytics-config-f82932e2.js → analytics-config-f331427b.js} +2 -2
- package/dist/cjs/{analytics-config-f82932e2.js.map → analytics-config-f331427b.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-link.cjs.entry.js +1 -1
- package/dist/cjs/atomic-product-numeric-field-value.cjs.entry.js +1 -1
- package/dist/cjs/atomic-product-price.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-text_2.cjs.entry.js +46 -4
- package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-search-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic.cjs.js +1 -1
- package/dist/cjs/index-757bc886.js +0 -8
- package/dist/cjs/{interface-common-stencil-98f073f6.js → interface-common-stencil-c2474e53.js} +2 -2
- package/dist/cjs/{interface-common-stencil-98f073f6.js.map → interface-common-stencil-c2474e53.js.map} +1 -1
- package/dist/cjs/{product-utils-9507462c.js → product-utils-f6c780e3.js} +1 -9
- package/dist/cjs/product-utils-f6c780e3.js.map +1 -0
- package/dist/cjs/sections-4b4af2f8.js.map +1 -1
- package/dist/cjs/version.cjs.js +1 -1
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/{analytics-config-253004a0.js → analytics-config-6dc04e7b.js} +2 -2
- package/dist/esm/{analytics-config-253004a0.js.map → analytics-config-6dc04e7b.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-link.entry.js +1 -1
- package/dist/esm/atomic-product-numeric-field-value.entry.js +1 -1
- package/dist/esm/atomic-product-price.entry.js +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +2 -2
- package/dist/esm/atomic-result-text_2.entry.js +45 -3
- package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
- package/dist/esm/atomic-search-interface.entry.js +2 -2
- package/dist/esm/atomic.js +1 -1
- package/dist/esm/index-3f35faca.js +0 -8
- package/dist/esm/{interface-common-stencil-4bb4d80c.js → interface-common-stencil-185b53eb.js} +2 -2
- package/dist/esm/{interface-common-stencil-4bb4d80c.js.map → interface-common-stencil-185b53eb.js.map} +1 -1
- package/dist/esm/{product-utils-8348689f.js → product-utils-85109d2e.js} +2 -9
- package/dist/esm/product-utils-85109d2e.js.map +1 -0
- package/dist/esm/sections-ae00b53a.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/commerce/atomic-commerce-text/atomic-commerce-text.d.ts +13 -5
- package/dist/types/components/commerce/atomic-product-template/atomic-product-template.d.ts +2 -0
- package/dist/types/components/commerce/atomic-product-text/atomic-product-text.d.ts +29 -15
- package/dist/types/components/commerce/index.d.ts +2 -0
- package/dist/types/components/common/atomic-layout-section/atomic-layout-section.d.ts +11 -2
- package/dist/types/components/common/atomic-layout-section/sections.d.ts +2 -1
- package/dist/types/components/common/index.d.ts +1 -0
- package/dist/types/components.d.ts +0 -143
- package/docs/atomic-docs.json +9 -364
- package/package.json +1 -1
- package/dist/atomic/components/atomic-commerce-text.d.ts +0 -11
- package/dist/atomic/components/atomic-commerce-text.js +0 -8
- package/dist/atomic/components/atomic-commerce-text.js.map +0 -1
- package/dist/atomic/components/atomic-commerce-text2.js +0 -60
- package/dist/atomic/components/atomic-commerce-text2.js.map +0 -1
- package/dist/atomic/components/atomic-layout-section.d.ts +0 -11
- package/dist/atomic/components/atomic-layout-section.js +0 -35
- package/dist/atomic/components/atomic-layout-section.js.map +0 -1
- package/dist/atomic/components/atomic-product-text.d.ts +0 -11
- package/dist/atomic/components/atomic-product-text.js +0 -8
- package/dist/atomic/components/atomic-product-text.js.map +0 -1
- package/dist/atomic/components/atomic-product-text2.js +0 -83
- package/dist/atomic/components/atomic-product-text2.js.map +0 -1
- package/dist/atomic/components/stencil-item-text-highlighted.js +0 -49
- package/dist/atomic/components/stencil-item-text-highlighted.js.map +0 -1
- package/dist/atomic/p-39223a2a.entry.js +0 -2
- package/dist/atomic/p-39223a2a.entry.js.map +0 -1
- package/dist/atomic/p-5cf5bb98.entry.js +0 -2
- package/dist/atomic/p-67ef14ac.entry.js +0 -2
- package/dist/atomic/p-67ef14ac.entry.js.map +0 -1
- package/dist/atomic/p-733252f1.entry.js +0 -2
- package/dist/atomic/p-733252f1.entry.js.map +0 -1
- package/dist/atomic/p-b1a7d837.js +0 -2
- package/dist/atomic/p-b1a7d837.js.map +0 -1
- package/dist/atomic/p-bb081d4e.js +0 -2
- package/dist/atomic/p-bb081d4e.js.map +0 -1
- package/dist/cjs/atomic-commerce-text_2.cjs.entry.js +0 -106
- package/dist/cjs/atomic-commerce-text_2.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-layout-section.cjs.entry.js +0 -18
- package/dist/cjs/atomic-layout-section.cjs.entry.js.map +0 -1
- package/dist/cjs/product-utils-9507462c.js.map +0 -1
- package/dist/cjs/stencil-item-text-highlighted-91fd0fe8.js +0 -52
- package/dist/cjs/stencil-item-text-highlighted-91fd0fe8.js.map +0 -1
- package/dist/esm/atomic-commerce-text_2.entry.js +0 -101
- package/dist/esm/atomic-commerce-text_2.entry.js.map +0 -1
- package/dist/esm/atomic-layout-section.entry.js +0 -14
- package/dist/esm/atomic-layout-section.entry.js.map +0 -1
- package/dist/esm/product-utils-8348689f.js.map +0 -1
- package/dist/esm/stencil-item-text-highlighted-0e1c6c08.js +0 -49
- package/dist/esm/stencil-item-text-highlighted-0e1c6c08.js.map +0 -1
- /package/dist/atomic/{p-c0b3720d.entry.js.map → p-191ac0fe.entry.js.map} +0 -0
- /package/dist/atomic/{p-3195fa42.entry.js.map → p-545f7fb1.entry.js.map} +0 -0
- /package/dist/atomic/{p-e46517e9.entry.js.map → p-8a3f0405.entry.js.map} +0 -0
- /package/dist/atomic/{p-f68cee5d.entry.js.map → p-8f1ab6ff.entry.js.map} +0 -0
- /package/dist/atomic/{p-5e73a3e8.js.map → p-8fa5129d.js.map} +0 -0
- /package/dist/atomic/{p-7ed31f46.js.map → p-b64f4619.js.map} +0 -0
- /package/dist/atomic/{p-5cf5bb98.entry.js.map → p-d76c5232.entry.js.map} +0 -0
- /package/dist/atomic/{p-22a0d1b9.entry.js.map → p-ea5d2736.entry.js.map} +0 -0
- /package/dist/atomic/{p-3cc601ad.entry.js.map → p-f67a6ad6.entry.js.map} +0 -0
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance } from './index-3f35faca.js';
|
|
2
|
-
|
|
3
|
-
const AtomicLayoutSection = class {
|
|
4
|
-
constructor(hostRef) {
|
|
5
|
-
registerInstance(this, hostRef);
|
|
6
|
-
this.section = undefined;
|
|
7
|
-
this.minWidth = undefined;
|
|
8
|
-
this.maxWidth = undefined;
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export { AtomicLayoutSection as atomic_layout_section };
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=atomic-layout-section.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"atomic-layout-section.entry.js","mappings":";;MAUa,mBAAmB;;;;;;;;;;;","names":[],"sources":["src/components/common/atomic-layout-section/atomic-layout-section.tsx"],"sourcesContent":["import {Component, Prop} from '@stencil/core';\nimport {Section} from './sections';\n\n/**\n * The `atomic-layout-section` lets you identify various sections for the related `atomic-layout` component.\n */\n@Component({\n tag: 'atomic-layout-section',\n shadow: false,\n})\nexport class AtomicLayoutSection {\n /**\n * The name of the layout section.\n */\n @Prop({reflect: true}) public section!: Section;\n /**\n * For column sections, the minimum horizontal space it should take.\n * E.g. '300px'\n */\n @Prop({reflect: true}) public minWidth?: string;\n /**\n * For column sections, the maximum horizontal space it should take.\n * E.g. '300px'\n */\n @Prop({reflect: true}) public maxWidth?: string;\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"product-utils-8348689f.js","mappings":";;;;SAKgB,UAAU,CAAC,OAAgB,EAAE,KAAa;IACxD,MAAM,KAAK,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzE,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IACD,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;QAC/B,MAAM,IAAI,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC9C;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;SAEe,+BAA+B,CAC7C,OAAgB,EAChB,KAAa;IAEb,MAAM,KAAK,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEzE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpD,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC;SAEe,8BAA8B,CAC5C,QAAgB,EAChB,OAAgB,EAChB,QAA0B;IAE1B,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAa;QAClD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAC9C,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACzB,GAAG,GAAG,6DAA6D,OAAO,CAAC,WAAW,+CAA+C,CACtI,CAAC;YACF,OAAO,EAAE,CAAC;SACX;QAED,OAAO,QAAQ,CAAC;KACjB,CAAC,CAAC;AACL;;;;","names":[],"sources":["src/components/commerce/product-template-component-utils/product-utils.ts"],"sourcesContent":["import {readFromObject} from '@/src/utils/object-utils';\nimport {Product, ProductTemplatesHelpers} from '@coveo/headless/commerce';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {FieldValueIsNaNError} from './error';\n\nexport function parseValue(product: Product, field: string) {\n const value = ProductTemplatesHelpers.getProductProperty(product, field);\n if (value === null) {\n return null;\n }\n const valueAsNumber = parseFloat(`${value}`);\n if (Number.isNaN(valueAsNumber)) {\n throw new FieldValueIsNaNError(field, value);\n }\n return valueAsNumber;\n}\n\nexport function getStringValueFromProductOrNull(\n product: Product,\n field: string\n) {\n const value = ProductTemplatesHelpers.getProductProperty(product, field);\n\n if (typeof value !== 'string' || value.trim() === '') {\n return null;\n }\n\n return value;\n}\n\nexport function buildStringTemplateFromProduct(\n template: string,\n product: Product,\n bindings: CommerceBindings\n) {\n return template.replace(/\\${(.*?)}/g, (value: string) => {\n const key = value.substring(2, value.length - 1);\n let newValue = readFromObject(product, key);\n if (!newValue && typeof window !== 'undefined') {\n newValue = readFromObject(window, key);\n }\n\n if (!newValue) {\n bindings.engine.logger.warn(\n `${key} used in the href template is undefined for this product: ${product.permanentid} and could not be found in the window object.`\n );\n return '';\n }\n\n return newValue;\n });\n}\n"],"version":3}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { isArray, isUndefined } from '@coveo/bueno';
|
|
2
|
-
import { h, F as Fragment, H as Host } from './index-3f35faca.js';
|
|
3
|
-
|
|
4
|
-
function possiblyWarnOnBadFieldType(field, itemValueRaw, host, logger) {
|
|
5
|
-
if (isArray(itemValueRaw)) {
|
|
6
|
-
logger.error(`${host.nodeName.toLowerCase()} cannot be used with multi value field "${field}" with values "${itemValueRaw}".`, host);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const ItemTextFallback = ({ field, host, logger, defaultValue, item, getProperty }, children) => {
|
|
11
|
-
const raw = getProperty(item, field);
|
|
12
|
-
possiblyWarnOnBadFieldType(field, raw, host, logger);
|
|
13
|
-
if (isUndefined(defaultValue)) {
|
|
14
|
-
host.remove();
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
return h(Fragment, null, children);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
function renderWithHighlights(value, highlights, highlightString) {
|
|
23
|
-
const openingDelimiter = '_openingDelimiter_';
|
|
24
|
-
const closingDelimiter = '_closingDelimiter_';
|
|
25
|
-
const highlightedValue = highlightString({
|
|
26
|
-
content: value,
|
|
27
|
-
openingDelimiter,
|
|
28
|
-
closingDelimiter,
|
|
29
|
-
highlights,
|
|
30
|
-
});
|
|
31
|
-
return highlightedValue
|
|
32
|
-
.replace(new RegExp(openingDelimiter, 'g'), '<b>')
|
|
33
|
-
.replace(new RegExp(closingDelimiter, 'g'), '</b>');
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const ItemTextHighlighted = ({ highlightKeywords, highlightString, onError, textValue }) => {
|
|
37
|
-
try {
|
|
38
|
-
const highlightedValue = renderWithHighlights(textValue, highlightKeywords, highlightString);
|
|
39
|
-
// deepcode ignore ReactSetInnerHtml: This is not React code
|
|
40
|
-
return h(Host, { innerHTML: highlightedValue });
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
onError(error);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export { ItemTextFallback as I, ItemTextHighlighted as a };
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=stencil-item-text-highlighted-0e1c6c08.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"stencil-item-text-highlighted-0e1c6c08.js","mappings":";;;SAEgB,0BAA0B,CACxC,KAAa,EACb,YAAqB,EACrB,IAAiB,EACjB,MAA8B;IAE9B,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;QACzB,MAAM,CAAC,KAAK,CACV,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,2CAA2C,KAAK,kBAAkB,YAAY,IAAI,EAChH,IAAI,CACL,CAAC;KACH;AACH;;MCDa,gBAAgB,GAAG,CAC9B,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAmB,EACxE,QAAiB;IAEjB,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,0BAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAErD,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAO,EAAC,QAAQ,QAAE,QAAQ,CAAY,CAAC;KACxC;AACH;;SCdgB,oBAAoB,CAClC,KAAa,EACb,UAA+B,EAC/B,eAAgC;IAEhC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;IAC9C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;IAC9C,MAAM,gBAAgB,GAAG,eAAe,CAAC;QACvC,OAAO,EAAE,KAAK;QACd,gBAAgB;QAChB,gBAAgB;QAChB,UAAU;KACX,CAAC,CAAC;IACH,OAAO,gBAAgB;SACpB,OAAO,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC;SACjD,OAAO,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AACxD;;MCda,mBAAmB,GAE5B,CAAC,EAAC,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAC;IAC3D,IAAI;QACF,MAAM,gBAAgB,GAAG,oBAAoB,CAC3C,SAAS,EACT,iBAAiB,EACjB,eAAe,CAChB,CAAC;;QAGF,OAAO,EAAC,IAAI,IAAC,SAAS,EAAE,gBAAgB,GAAS,CAAC;KACnD;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAc,CAAC,CAAC;KACzB;AACH;;;;","names":[],"sources":["src/components/common/item-text/field-warning.ts","src/components/common/item-text/stencil-item-text-fallback.tsx","src/components/common/item-text/render-highlights.ts","src/components/common/item-text/stencil-item-text-highlighted.tsx"],"sourcesContent":["import {isArray} from '@coveo/bueno';\n\nexport function possiblyWarnOnBadFieldType(\n field: string,\n itemValueRaw: unknown,\n host: HTMLElement,\n logger: Pick<Console, 'error'>\n) {\n if (isArray(itemValueRaw)) {\n logger.error(\n `${host.nodeName.toLowerCase()} cannot be used with multi value field \"${field}\" with values \"${itemValueRaw}\".`,\n host\n );\n }\n}\n","import {isUndefined} from '@coveo/bueno';\nimport {Fragment, FunctionalComponent, VNode, h} from '@stencil/core';\nimport {possiblyWarnOnBadFieldType} from './field-warning';\n\nexport interface ItemTextProps<T> {\n logger: Pick<Console, 'error'>;\n host: HTMLElement;\n defaultValue: string | undefined;\n field: string;\n item: T;\n getProperty: (result: T, property: string) => unknown;\n}\n\nexport const ItemTextFallback = <T,>(\n {field, host, logger, defaultValue, item, getProperty}: ItemTextProps<T>,\n children: VNode[]\n): FunctionalComponent<ItemTextProps<T>> | null => {\n const raw = getProperty(item, field);\n possiblyWarnOnBadFieldType(field, raw, host, logger);\n\n if (isUndefined(defaultValue)) {\n host.remove();\n return null;\n } else {\n return <Fragment>{children}</Fragment>;\n }\n};\n","export type HighlightKeywords = {\n offset: number;\n length: number;\n};\n\nexport type HighlightString = (params: {\n content: string;\n openingDelimiter: string;\n closingDelimiter: string;\n highlights: HighlightKeywords[];\n}) => string;\n\nexport function renderWithHighlights(\n value: string,\n highlights: HighlightKeywords[],\n highlightString: HighlightString\n) {\n const openingDelimiter = '_openingDelimiter_';\n const closingDelimiter = '_closingDelimiter_';\n const highlightedValue = highlightString({\n content: value,\n openingDelimiter,\n closingDelimiter,\n highlights,\n });\n return highlightedValue\n .replace(new RegExp(openingDelimiter, 'g'), '<b>')\n .replace(new RegExp(closingDelimiter, 'g'), '</b>');\n}\n","import {FunctionalComponent, h, Host} from '@stencil/core';\nimport {\n HighlightKeywords,\n HighlightString,\n renderWithHighlights,\n} from './render-highlights';\n\nexport interface ItemTextHighlightedProps {\n textValue: string;\n highlightKeywords: HighlightKeywords[];\n onError: (error: Error) => void;\n highlightString: HighlightString;\n}\n\nexport const ItemTextHighlighted: FunctionalComponent<\n ItemTextHighlightedProps\n> = ({highlightKeywords, highlightString, onError, textValue}) => {\n try {\n const highlightedValue = renderWithHighlights(\n textValue,\n highlightKeywords,\n highlightString\n );\n\n // deepcode ignore ReactSetInnerHtml: This is not React code\n return <Host innerHTML={highlightedValue}></Host>;\n } catch (error) {\n onError(error as Error);\n }\n};\n"],"version":3}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|