@coveo/atomic 3.33.8-pre.f26e1593fa → 3.33.8-pre.f62f2d7753
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 +2 -2
- package/dist/atomic/components/_index.js +1 -1
- package/dist/atomic/components/analytics-config.js +1 -1
- package/dist/atomic/components/atomic-insight-history-toggle.js +2 -2
- package/dist/atomic/components/atomic-insight-history-toggle.js.map +1 -1
- package/dist/atomic/components/atomic-insight-search-box.js +29 -2
- package/dist/atomic/components/atomic-insight-search-box.js.map +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-toggle.js +2 -2
- package/dist/atomic/components/atomic-insight-user-actions-toggle.js.map +1 -1
- package/dist/atomic/components/atomic-search-box-recent-queries.d.ts +11 -0
- package/dist/atomic/components/atomic-search-box-recent-queries.js +8 -0
- package/dist/atomic/components/atomic-search-box-recent-queries.js.map +1 -0
- package/dist/atomic/components/atomic-search-box-recent-queries2.js +183 -0
- package/dist/atomic/components/atomic-search-box-recent-queries2.js.map +1 -0
- package/dist/atomic/components/atomic-search-box.js +3 -3
- package/dist/atomic/components/clock.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +11 -18
- package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +7 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.js +10 -19
- package/dist/atomic/components/components/search/atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.js +111 -0
- package/dist/atomic/components/components/search/index.js +1 -1
- package/dist/atomic/components/components/search/lazy-index.js +1 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/{p-ba4bf29f.entry.js → p-6329ff94.entry.js} +2 -2
- package/dist/atomic/{p-7383fd32.entry.js → p-6e6d686e.entry.js} +2 -2
- package/dist/atomic/p-7a06a356.entry.js +2 -0
- package/dist/atomic/p-7a06a356.entry.js.map +1 -0
- package/dist/atomic/{p-02a26509.entry.js → p-9d6b988d.entry.js} +2 -2
- package/dist/atomic/{p-8c5cd9e9.entry.js → p-b24d432b.entry.js} +2 -2
- package/dist/atomic/{p-d6faddc7.js → p-b87dbae7.js} +2 -2
- package/dist/atomic/{p-e1cc5150.js → p-c280cd05.js} +1 -1
- package/dist/atomic/p-d2b14ff1.entry.js +2 -0
- package/dist/atomic/p-d2b14ff1.entry.js.map +1 -0
- package/dist/atomic/{p-49438035.entry.js → p-e5352270.entry.js} +2 -2
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/{analytics-config-8de7a0b5.js → analytics-config-de93a689.js} +2 -2
- package/dist/cjs/{analytics-config-8de7a0b5.js.map → analytics-config-de93a689.js.map} +1 -1
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js +30 -4
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-search-box-recent-queries.cjs.entry.js +171 -0
- package/dist/cjs/atomic-search-box-recent-queries.cjs.entry.js.map +1 -0
- package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic.cjs.js +1 -1
- package/dist/cjs/clock-f03ff827.js +7 -0
- package/dist/cjs/clock-f03ff827.js.map +1 -0
- package/dist/cjs/index-757bc886.js +2 -2
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/{analytics-config-1973be4e.js → analytics-config-018337bf.js} +2 -2
- package/dist/esm/{analytics-config-1973be4e.js.map → analytics-config-018337bf.js.map} +1 -1
- package/dist/esm/atomic-insight-history-toggle.entry.js +2 -2
- package/dist/esm/atomic-insight-history-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +1 -1
- package/dist/esm/atomic-insight-search-box.entry.js +29 -3
- package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -2
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-search-box-recent-queries.entry.js +167 -0
- package/dist/esm/atomic-search-box-recent-queries.entry.js.map +1 -0
- package/dist/esm/atomic-search-interface.entry.js +1 -1
- package/dist/esm/atomic.js +1 -1
- package/dist/esm/clock-add3e9a5.js +5 -0
- package/dist/esm/clock-add3e9a5.js.map +1 -0
- package/dist/esm/index-3f35faca.js +2 -2
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +1 -2
- package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +1 -0
- package/dist/types/components/commerce/atomic-commerce-layout/atomic-commerce-layout.d.ts +3 -3
- package/dist/types/components/search/{atomic-search-box-recent-queries/atomic-search-box-recent-queries.d.ts → atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.d.ts} +7 -14
- package/dist/types/components/search/index.d.ts +1 -1
- package/dist/types/components/search/search-box-suggestions/{atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.d.ts → atomic-search-box-recent-queries/atomic-search-box-recent-queries.d.ts} +11 -3
- package/dist/types/components.d.ts +14 -14
- package/docs/atomic-docs.json +11 -13
- package/package.json +3 -3
- package/dist/atomic/components/atomic-search-box-query-suggestions.d.ts +0 -11
- package/dist/atomic/components/atomic-search-box-query-suggestions.js +0 -8
- package/dist/atomic/components/atomic-search-box-query-suggestions.js.map +0 -1
- package/dist/atomic/components/atomic-search-box-query-suggestions2.js +0 -89
- package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +0 -1
- package/dist/atomic/components/components/common/layout/layout-styles-controller.js +0 -40
- package/dist/atomic/components/components/common/layout/mobile-breakpoint-controller.js +0 -26
- package/dist/atomic/components/components/search/atomic-search-box-recent-queries/atomic-search-box-recent-queries.js +0 -137
- package/dist/atomic/components/stencil-query-suggestions.js +0 -33
- package/dist/atomic/components/stencil-query-suggestions.js.map +0 -1
- package/dist/atomic/p-26a51a77.entry.js +0 -2
- package/dist/atomic/p-26a51a77.entry.js.map +0 -1
- package/dist/atomic/p-2e9db4ca.entry.js +0 -2
- package/dist/atomic/p-2e9db4ca.entry.js.map +0 -1
- package/dist/atomic/p-af93b44c.js +0 -2
- package/dist/atomic/p-af93b44c.js.map +0 -1
- package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +0 -76
- package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js.map +0 -1
- package/dist/cjs/clock-7aeb19d0.js +0 -7
- package/dist/cjs/clock-7aeb19d0.js.map +0 -1
- package/dist/cjs/stencil-query-suggestions-03268ecc.js +0 -38
- package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +0 -1
- package/dist/esm/atomic-search-box-query-suggestions.entry.js +0 -72
- package/dist/esm/atomic-search-box-query-suggestions.entry.js.map +0 -1
- package/dist/esm/clock-b1f5d7f7.js +0 -5
- package/dist/esm/clock-b1f5d7f7.js.map +0 -1
- package/dist/esm/stencil-query-suggestions-5d6a46d7.js +0 -33
- package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +0 -1
- package/dist/types/components/common/layout/layout-styles-controller.d.ts +0 -22
- package/dist/types/components/common/layout/mobile-breakpoint-controller.d.ts +0 -18
- /package/dist/atomic/{p-ba4bf29f.entry.js.map → p-6329ff94.entry.js.map} +0 -0
- /package/dist/atomic/{p-7383fd32.entry.js.map → p-6e6d686e.entry.js.map} +0 -0
- /package/dist/atomic/{p-02a26509.entry.js.map → p-9d6b988d.entry.js.map} +0 -0
- /package/dist/atomic/{p-8c5cd9e9.entry.js.map → p-b24d432b.entry.js.map} +0 -0
- /package/dist/atomic/{p-d6faddc7.js.map → p-b87dbae7.js.map} +0 -0
- /package/dist/atomic/{p-e1cc5150.js.map → p-c280cd05.js.map} +0 -0
- /package/dist/atomic/{p-49438035.entry.js.map → p-e5352270.entry.js.map} +0 -0
package/docs/atomic-docs.json
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"timestamp": "2025-09-
|
2
|
+
"timestamp": "2025-09-24T20:06:28",
|
3
3
|
"compiler": {
|
4
4
|
"name": "@stencil/core",
|
5
5
|
"version": "4.20.0",
|
@@ -12480,12 +12480,12 @@
|
|
12480
12480
|
"dependents": [],
|
12481
12481
|
"dependencies": [
|
12482
12482
|
"atomic-suggestion-renderer",
|
12483
|
-
"atomic-search-box-
|
12483
|
+
"atomic-search-box-recent-queries"
|
12484
12484
|
],
|
12485
12485
|
"dependencyGraph": {
|
12486
12486
|
"atomic-search-box": [
|
12487
12487
|
"atomic-suggestion-renderer",
|
12488
|
-
"atomic-search-box-
|
12488
|
+
"atomic-search-box-recent-queries"
|
12489
12489
|
]
|
12490
12490
|
}
|
12491
12491
|
},
|
@@ -12707,10 +12707,10 @@
|
|
12707
12707
|
}
|
12708
12708
|
},
|
12709
12709
|
{
|
12710
|
-
"filePath": "src/components/search/search-box-suggestions/atomic-search-box-
|
12710
|
+
"filePath": "src/components/search/search-box-suggestions/atomic-search-box-recent-queries/atomic-search-box-recent-queries.tsx",
|
12711
12711
|
"encapsulation": "shadow",
|
12712
|
-
"tag": "atomic-search-box-
|
12713
|
-
"docs": "The `atomic-search-box-
|
12712
|
+
"tag": "atomic-search-box-recent-queries",
|
12713
|
+
"docs": "The `atomic-search-box-recent-queries` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of recent query suggestions.",
|
12714
12714
|
"docsTags": [],
|
12715
12715
|
"usage": {},
|
12716
12716
|
"props": [
|
@@ -12740,10 +12740,10 @@
|
|
12740
12740
|
},
|
12741
12741
|
{
|
12742
12742
|
"name": "maxWithQuery",
|
12743
|
-
"type": "number
|
12743
|
+
"type": "number",
|
12744
12744
|
"complexType": {
|
12745
12745
|
"original": "number",
|
12746
|
-
"resolved": "number
|
12746
|
+
"resolved": "number",
|
12747
12747
|
"references": {}
|
12748
12748
|
},
|
12749
12749
|
"mutable": false,
|
@@ -12751,15 +12751,13 @@
|
|
12751
12751
|
"reflectToAttr": true,
|
12752
12752
|
"docs": "The maximum number of suggestions that will be displayed if the user has typed something into the input field.",
|
12753
12753
|
"docsTags": [],
|
12754
|
+
"default": "3",
|
12754
12755
|
"values": [
|
12755
12756
|
{
|
12756
12757
|
"type": "number"
|
12757
|
-
},
|
12758
|
-
{
|
12759
|
-
"type": "undefined"
|
12760
12758
|
}
|
12761
12759
|
],
|
12762
|
-
"optional":
|
12760
|
+
"optional": false,
|
12763
12761
|
"required": false
|
12764
12762
|
},
|
12765
12763
|
{
|
@@ -12799,7 +12797,7 @@
|
|
12799
12797
|
"dependencies": [],
|
12800
12798
|
"dependencyGraph": {
|
12801
12799
|
"atomic-search-box": [
|
12802
|
-
"atomic-search-box-
|
12800
|
+
"atomic-search-box-recent-queries"
|
12803
12801
|
]
|
12804
12802
|
}
|
12805
12803
|
},
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@coveo/atomic",
|
3
3
|
"type": "module",
|
4
|
-
"version": "3.33.8-pre.
|
4
|
+
"version": "3.33.8-pre.f62f2d7753",
|
5
5
|
"description": "A web-component library for building modern UIs interfacing with the Coveo platform",
|
6
6
|
"homepage": "https://docs.coveo.com/en/atomic/latest/",
|
7
7
|
"repository": {
|
@@ -81,7 +81,7 @@
|
|
81
81
|
},
|
82
82
|
"dependencies": {
|
83
83
|
"@coveo/bueno": "1.1.2",
|
84
|
-
"@coveo/headless": "3.31.1-pre.
|
84
|
+
"@coveo/headless": "3.31.1-pre.f62f2d7753",
|
85
85
|
"@lit/context": "1.1.6",
|
86
86
|
"@open-wc/lit-helpers": "0.7.0",
|
87
87
|
"@popperjs/core": "2.11.8",
|
@@ -153,7 +153,7 @@
|
|
153
153
|
},
|
154
154
|
"peerDependencies": {
|
155
155
|
"@coveo/bueno": "1.1.2",
|
156
|
-
"@coveo/headless": "3.31.1-pre.
|
156
|
+
"@coveo/headless": "3.31.1-pre.f62f2d7753",
|
157
157
|
"typescript": ">=5.0.0"
|
158
158
|
},
|
159
159
|
"peerDependenciesMeta": {
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import type { Components, JSX } from "../../types/components";
|
2
|
-
|
3
|
-
interface AtomicSearchBoxQuerySuggestions extends Components.AtomicSearchBoxQuerySuggestions, HTMLElement {}
|
4
|
-
export const AtomicSearchBoxQuerySuggestions: {
|
5
|
-
prototype: AtomicSearchBoxQuerySuggestions;
|
6
|
-
new (): AtomicSearchBoxQuerySuggestions;
|
7
|
-
};
|
8
|
-
/**
|
9
|
-
* Used to define this component and all nested components recursively.
|
10
|
-
*/
|
11
|
-
export const defineCustomElement: () => void;
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import { A as AtomicSearchBoxQuerySuggestions$1, d as defineCustomElement$1 } from './atomic-search-box-query-suggestions2.js';
|
2
|
-
|
3
|
-
const AtomicSearchBoxQuerySuggestions = AtomicSearchBoxQuerySuggestions$1;
|
4
|
-
const defineCustomElement = defineCustomElement$1;
|
5
|
-
|
6
|
-
export { AtomicSearchBoxQuerySuggestions, defineCustomElement };
|
7
|
-
|
8
|
-
//# sourceMappingURL=atomic-search-box-query-suggestions.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"file":"atomic-search-box-query-suggestions.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
@@ -1,89 +0,0 @@
|
|
1
|
-
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
2
|
-
import { loadQuerySuggestActions } from '@coveo/headless';
|
3
|
-
import { S as SearchIcon } from './search.js';
|
4
|
-
import { g as getPartialSearchBoxSuggestionElement, Q as QuerySuggestionContainer, a as QuerySuggestionIcon, b as QuerySuggestionText } from './stencil-query-suggestions.js';
|
5
|
-
import { d as dispatchSearchBoxSuggestionsEvent } from './suggestions-events.js';
|
6
|
-
|
7
|
-
const AtomicSearchBoxQuerySuggestions = /*@__PURE__*/ proxyCustomElement(class AtomicSearchBoxQuerySuggestions extends HTMLElement {
|
8
|
-
constructor() {
|
9
|
-
super();
|
10
|
-
this.__registerHost();
|
11
|
-
this.__attachShadow();
|
12
|
-
this.error = undefined;
|
13
|
-
this.icon = undefined;
|
14
|
-
this.maxWithQuery = undefined;
|
15
|
-
this.maxWithoutQuery = undefined;
|
16
|
-
}
|
17
|
-
componentWillLoad() {
|
18
|
-
try {
|
19
|
-
dispatchSearchBoxSuggestionsEvent((bindings) => {
|
20
|
-
this.bindings = bindings;
|
21
|
-
return this.initialize();
|
22
|
-
}, this.host, ['atomic-search-box']);
|
23
|
-
}
|
24
|
-
catch (error) {
|
25
|
-
this.error = error;
|
26
|
-
}
|
27
|
-
}
|
28
|
-
initialize() {
|
29
|
-
const engine = this.bindings.engine;
|
30
|
-
const { registerQuerySuggest, fetchQuerySuggestions } = loadQuerySuggestActions(engine);
|
31
|
-
engine.dispatch(registerQuerySuggest({
|
32
|
-
id: this.bindings.id,
|
33
|
-
count: this.bindings.numberOfQueries,
|
34
|
-
}));
|
35
|
-
return {
|
36
|
-
position: Array.from(this.host.parentNode.children).indexOf(this.host),
|
37
|
-
onInput: () => engine.dispatch(fetchQuerySuggestions({
|
38
|
-
id: this.bindings.id,
|
39
|
-
})),
|
40
|
-
renderItems: () => this.renderItems(),
|
41
|
-
};
|
42
|
-
}
|
43
|
-
renderItems() {
|
44
|
-
const hasQuery = this.bindings.searchBoxController.state.value !== '';
|
45
|
-
const max = hasQuery ? this.maxWithQuery : this.maxWithoutQuery;
|
46
|
-
return this.bindings.searchBoxController.state.suggestions
|
47
|
-
.slice(0, max)
|
48
|
-
.map((suggestion) => this.renderItem(suggestion));
|
49
|
-
}
|
50
|
-
renderItem(suggestion) {
|
51
|
-
const hasQuery = this.bindings.searchBoxController.state.value !== '';
|
52
|
-
const partialItem = getPartialSearchBoxSuggestionElement(suggestion, this.bindings.i18n);
|
53
|
-
return {
|
54
|
-
...partialItem,
|
55
|
-
content: (h(QuerySuggestionContainer, null, h(QuerySuggestionIcon, { icon: this.icon || SearchIcon, hasSuggestion: this.bindings.getSuggestions().length > 1 }), h(QuerySuggestionText, { suggestion: suggestion, hasQuery: hasQuery }))),
|
56
|
-
onSelect: () => {
|
57
|
-
this.bindings.searchBoxController.selectSuggestion(suggestion.rawValue);
|
58
|
-
},
|
59
|
-
};
|
60
|
-
}
|
61
|
-
render() {
|
62
|
-
if (this.error) {
|
63
|
-
return (h("atomic-component-error", { key: '818ed7b1734a6f2cbf721b1eb3fd03d020791e9e', element: this.host, error: this.error }));
|
64
|
-
}
|
65
|
-
}
|
66
|
-
get host() { return this; }
|
67
|
-
}, [1, "atomic-search-box-query-suggestions", {
|
68
|
-
"icon": [1],
|
69
|
-
"maxWithQuery": [514, "max-with-query"],
|
70
|
-
"maxWithoutQuery": [514, "max-without-query"],
|
71
|
-
"error": [32]
|
72
|
-
}]);
|
73
|
-
function defineCustomElement() {
|
74
|
-
if (typeof customElements === "undefined") {
|
75
|
-
return;
|
76
|
-
}
|
77
|
-
const components = ["atomic-search-box-query-suggestions"];
|
78
|
-
components.forEach(tagName => { switch (tagName) {
|
79
|
-
case "atomic-search-box-query-suggestions":
|
80
|
-
if (!customElements.get(tagName)) {
|
81
|
-
customElements.define(tagName, AtomicSearchBoxQuerySuggestions);
|
82
|
-
}
|
83
|
-
break;
|
84
|
-
} });
|
85
|
-
}
|
86
|
-
|
87
|
-
export { AtomicSearchBoxQuerySuggestions as A, defineCustomElement as d };
|
88
|
-
|
89
|
-
//# sourceMappingURL=atomic-search-box-query-suggestions2.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"file":"atomic-search-box-query-suggestions2.js","mappings":";;;;;;MA8Ba,+BAA+B;;;;;;;;;;IAwB1C,iBAAiB;QACf,IAAI;YACF,iCAAiC,CAC/B,CAAC,QAAQ;gBACP,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;aAC1B,EACD,IAAI,CAAC,IAAI,EACT,CAAC,mBAAmB,CAAC,CACtB,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,KAAc,CAAC;SAC7B;KACF;IAEO,UAAU;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAG3B,CAAC;QACH,MAAM,EAAC,oBAAoB,EAAE,qBAAqB,EAAC,GACjD,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,CAAC,QAAQ,CACb,oBAAoB,CAAC;YACnB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YACpB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe;SACrC,CAAC,CACH,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACvE,OAAO,EAAE,MACP,MAAM,CAAC,QAAQ,CACb,qBAAqB,CAAC;gBACpB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;aACrB,CAAC,CACH;YACH,WAAW,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE;SACtC,CAAC;KACH;IAEO,WAAW;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;QACtE,MAAM,GAAG,GAAG,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC;QAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW;aACvD,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;aACb,GAAG,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;KACrD;IAEO,UAAU,CAAC,UAAsB;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;QACtE,MAAM,WAAW,GAAG,oCAAoC,CACtD,UAAU,EACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CACnB,CAAC;QAEF,OAAO;YACL,GAAG,WAAW;YACd,OAAO,GACL,EAAC,wBAAwB,QACvB,EAAC,mBAAmB,IAClB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,UAAU,EAC7B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,GACxD,EAEF,EAAC,mBAAmB,IAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC1C,CAC5B;YACD,QAAQ,EAAE;gBACR,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;aACzE;SACF,CAAC;KACH;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,QACE,+EACE,OAAO,EAAE,IAAI,CAAC,IAAI,EAClB,KAAK,EAAE,IAAI,CAAC,KAAK,GACO,EAC1B;SACH;KACF;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/search/search-box-suggestions/atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.tsx"],"sourcesContent":["import {\n loadQuerySuggestActions,\n SearchBox,\n SearchEngine,\n Suggestion,\n} from '@coveo/headless';\nimport {Component, Element, Prop, State, h} from '@stencil/core';\nimport SearchIcon from '../../../../images/search.svg';\nimport {\n getPartialSearchBoxSuggestionElement,\n QuerySuggestionContainer,\n QuerySuggestionIcon,\n QuerySuggestionText,\n} from '../../../common/suggestions/stencil-query-suggestions';\nimport {\n dispatchSearchBoxSuggestionsEvent,\n} from '../../../common/suggestions/suggestions-events';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestions,\n SearchBoxSuggestionsBindings,\n} from '../../../common/suggestions/suggestions-types';\n\n/**\n * The `atomic-search-box-query-suggestions` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of query suggestion behavior.\n */\n@Component({\n tag: 'atomic-search-box-query-suggestions',\n shadow: true,\n})\nexport class AtomicSearchBoxQuerySuggestions {\n private bindings!: SearchBoxSuggestionsBindings<SearchBox>;\n @Element() private host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The SVG icon to display.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly.\n */\n @Prop() public icon?: string;\n\n /**\n * The maximum number of suggestions that will be displayed if the user has typed something into the input field.\n */\n @Prop({reflect: true}) public maxWithQuery?: number;\n /**\n * The maximum number of suggestions that will be displayed initially when the input field is empty.\n */\n @Prop({reflect: true}) public maxWithoutQuery?: number;\n\n componentWillLoad() {\n try {\n dispatchSearchBoxSuggestionsEvent<SearchBox>(\n (bindings) => {\n this.bindings = bindings;\n return this.initialize();\n },\n this.host,\n ['atomic-search-box']\n );\n } catch (error) {\n this.error = error as Error;\n }\n }\n\n private initialize(): SearchBoxSuggestions {\n const engine = this.bindings.engine as SearchEngine<{\n querySet: string;\n querySuggest: string;\n }>;\n const {registerQuerySuggest, fetchQuerySuggestions} =\n loadQuerySuggestActions(engine);\n\n engine.dispatch(\n registerQuerySuggest({\n id: this.bindings.id,\n count: this.bindings.numberOfQueries,\n })\n );\n\n return {\n position: Array.from(this.host.parentNode!.children).indexOf(this.host),\n onInput: () =>\n engine.dispatch(\n fetchQuerySuggestions({\n id: this.bindings.id,\n })\n ),\n renderItems: () => this.renderItems(),\n };\n }\n\n private renderItems(): SearchBoxSuggestionElement[] {\n const hasQuery = this.bindings.searchBoxController.state.value !== '';\n const max = hasQuery ? this.maxWithQuery : this.maxWithoutQuery;\n return this.bindings.searchBoxController.state.suggestions\n .slice(0, max)\n .map((suggestion) => this.renderItem(suggestion));\n }\n\n private renderItem(suggestion: Suggestion) {\n const hasQuery = this.bindings.searchBoxController.state.value !== '';\n const partialItem = getPartialSearchBoxSuggestionElement(\n suggestion,\n this.bindings.i18n\n );\n\n return {\n ...partialItem,\n content: (\n <QuerySuggestionContainer>\n <QuerySuggestionIcon\n icon={this.icon || SearchIcon}\n hasSuggestion={this.bindings.getSuggestions().length > 1}\n />\n\n <QuerySuggestionText suggestion={suggestion} hasQuery={hasQuery} />\n </QuerySuggestionContainer>\n ),\n onSelect: () => {\n this.bindings.searchBoxController.selectSuggestion(suggestion.rawValue);\n },\n };\n }\n\n public render() {\n if (this.error) {\n return (\n <atomic-component-error\n element={this.host}\n error={this.error}\n ></atomic-component-error>\n );\n }\n }\n}\n"],"version":3}
|
@@ -1,40 +0,0 @@
|
|
1
|
-
import { randomID } from "../../../utils/utils";
|
2
|
-
/**
|
3
|
-
* A reactive controller that manages dynamic layout styles.
|
4
|
-
*/
|
5
|
-
export class LayoutStylesController {
|
6
|
-
constructor(host, stylesBuilder, componentPrefix) {
|
7
|
-
this.dynamicStyleSheet = null;
|
8
|
-
this.host = host;
|
9
|
-
this.stylesBuilder = stylesBuilder;
|
10
|
-
this.componentPrefix = componentPrefix;
|
11
|
-
this.host.addController(this);
|
12
|
-
}
|
13
|
-
hostConnected() {
|
14
|
-
if (!this.host.id) {
|
15
|
-
this.host.id = randomID(this.componentPrefix);
|
16
|
-
}
|
17
|
-
this.host.updateComplete.then(() => this.updateStyles());
|
18
|
-
}
|
19
|
-
/**
|
20
|
-
* Updates the dynamic styles based on the current mobile breakpoint
|
21
|
-
*/
|
22
|
-
updateStyles() {
|
23
|
-
const parent = this.host.getRootNode();
|
24
|
-
const isDocumentOrShadowRoot = parent instanceof Document || parent instanceof ShadowRoot;
|
25
|
-
if (!isDocumentOrShadowRoot) {
|
26
|
-
return;
|
27
|
-
}
|
28
|
-
const newStylesCSS = this.stylesBuilder(this.host, this.host.mobileBreakpoint);
|
29
|
-
if (!this.dynamicStyleSheet) {
|
30
|
-
this.dynamicStyleSheet = new CSSStyleSheet();
|
31
|
-
this.dynamicStyleSheet.replaceSync(newStylesCSS);
|
32
|
-
parent.adoptedStyleSheets = [
|
33
|
-
...parent.adoptedStyleSheets,
|
34
|
-
this.dynamicStyleSheet,
|
35
|
-
];
|
36
|
-
return;
|
37
|
-
}
|
38
|
-
this.dynamicStyleSheet.replaceSync(newStylesCSS);
|
39
|
-
}
|
40
|
-
}
|
@@ -1,26 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* A reactive controller that manages mobile breakpoint changes through event communication.
|
3
|
-
* This controller listens for 'atomic-layout-breakpoint-change' events and updates a store
|
4
|
-
* with the new breakpoint value.
|
5
|
-
*/
|
6
|
-
export class MobileBreakpointController {
|
7
|
-
constructor(host, store) {
|
8
|
-
this.host = host;
|
9
|
-
this.store = store;
|
10
|
-
this.eventListener = this.handleBreakpointChange.bind(this);
|
11
|
-
this.host.addController(this);
|
12
|
-
}
|
13
|
-
hostConnected() {
|
14
|
-
this.host.addEventListener('atomic-layout-breakpoint-change', this.eventListener);
|
15
|
-
}
|
16
|
-
hostDisconnected() {
|
17
|
-
this.host.removeEventListener('atomic-layout-breakpoint-change', this.eventListener);
|
18
|
-
}
|
19
|
-
handleBreakpointChange(e) {
|
20
|
-
const customEvent = e;
|
21
|
-
const newBreakpoint = customEvent.detail?.breakpoint;
|
22
|
-
if (newBreakpoint && this.store.state.mobileBreakpoint !== newBreakpoint) {
|
23
|
-
this.store.state.mobileBreakpoint = newBreakpoint;
|
24
|
-
}
|
25
|
-
}
|
26
|
-
}
|
@@ -1,137 +0,0 @@
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
6
|
-
};
|
7
|
-
import { buildRecentQueriesList, } from '@coveo/headless';
|
8
|
-
import { html, LitElement, nothing } from 'lit';
|
9
|
-
import { customElement, property, state } from 'lit/decorators.js';
|
10
|
-
import { errorGuard } from "../../../decorators/error-guard";
|
11
|
-
import { SafeStorage, StorageItems } from "../../../utils/local-storage-utils";
|
12
|
-
import { once } from "../../../utils/utils";
|
13
|
-
const Clock = "<svg fill=\"none\" stroke=\"currentColor\" stroke-linejoin=\"round\" stroke-linecap=\"round\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"8\" cy=\"8\" r=\"7.5\"/><path d=\"m8.5 4.5v4\"/><path d=\"m10.3066 10.1387-1.80932-1.5768\"/></svg>";
|
14
|
-
import { getPartialRecentQueryClearElement, getPartialRecentQueryElement, renderRecentQuery, renderRecentQueryClear, } from '../../common/suggestions/recent-queries';
|
15
|
-
import { dispatchSearchBoxSuggestionsEvent } from '../../common/suggestions/suggestions-events';
|
16
|
-
/**
|
17
|
-
* The `atomic-search-box-recent-queries` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of recent query suggestions.
|
18
|
-
*/
|
19
|
-
let AtomicSearchBoxRecentQueries = class AtomicSearchBoxRecentQueries extends LitElement {
|
20
|
-
constructor() {
|
21
|
-
super(...arguments);
|
22
|
-
/**
|
23
|
-
* The maximum number of suggestions that will be displayed if the user has typed something into the input field.
|
24
|
-
*/
|
25
|
-
this.maxWithQuery = 3;
|
26
|
-
this.warnUser = once(() => this.bindings.engine.logger.warn('Because analytics are disabled, the recent queries feature is deactivated.'));
|
27
|
-
}
|
28
|
-
connectedCallback() {
|
29
|
-
super.connectedCallback();
|
30
|
-
try {
|
31
|
-
dispatchSearchBoxSuggestionsEvent((bindings) => {
|
32
|
-
this.bindings = bindings;
|
33
|
-
return this.initialize();
|
34
|
-
}, this, ['atomic-search-box']);
|
35
|
-
}
|
36
|
-
catch (error) {
|
37
|
-
this.error = error;
|
38
|
-
}
|
39
|
-
}
|
40
|
-
initialize() {
|
41
|
-
this.storage = new SafeStorage();
|
42
|
-
this.recentQueriesList = buildRecentQueriesList(this.bindings.engine, {
|
43
|
-
initialState: { queries: this.retrieveLocalStorage() },
|
44
|
-
options: {
|
45
|
-
maxLength: 1000,
|
46
|
-
clearFilters: this.bindings.clearFilters,
|
47
|
-
},
|
48
|
-
});
|
49
|
-
this.recentQueriesList.subscribe(() => this.updateLocalStorage());
|
50
|
-
return {
|
51
|
-
position: Array.from(this.parentNode.children).indexOf(this),
|
52
|
-
renderItems: () => this.renderItems(),
|
53
|
-
};
|
54
|
-
}
|
55
|
-
retrieveLocalStorage() {
|
56
|
-
return this.storage.getParsedJSON(StorageItems.RECENT_QUERIES, []);
|
57
|
-
}
|
58
|
-
updateLocalStorage() {
|
59
|
-
if (!this.recentQueriesList.state.analyticsEnabled) {
|
60
|
-
return this.disableFeature();
|
61
|
-
}
|
62
|
-
return this.storage.setJSON(StorageItems.RECENT_QUERIES, this.recentQueriesList.state.queries);
|
63
|
-
}
|
64
|
-
disableFeature() {
|
65
|
-
this.warnUser();
|
66
|
-
this.storage.removeItem(StorageItems.RECENT_QUERIES);
|
67
|
-
}
|
68
|
-
renderItems() {
|
69
|
-
if (!this.recentQueriesList.state.analyticsEnabled) {
|
70
|
-
return [];
|
71
|
-
}
|
72
|
-
const query = this.bindings.searchBoxController.state.value;
|
73
|
-
const hasQuery = query !== '';
|
74
|
-
const max = hasQuery ? this.maxWithQuery : this.maxWithoutQuery;
|
75
|
-
const filteredQueries = this.recentQueriesList.state.queries
|
76
|
-
.filter((recentQuery) => recentQuery.toLowerCase().startsWith(query.toLowerCase()))
|
77
|
-
.slice(0, max);
|
78
|
-
const suggestionElements = filteredQueries.map((value) => this.renderItem(value));
|
79
|
-
if (suggestionElements.length) {
|
80
|
-
suggestionElements.unshift(this.renderClear());
|
81
|
-
}
|
82
|
-
return suggestionElements;
|
83
|
-
}
|
84
|
-
renderClear() {
|
85
|
-
const partialItem = getPartialRecentQueryClearElement(this.bindings.i18n);
|
86
|
-
return {
|
87
|
-
...partialItem,
|
88
|
-
content: renderRecentQueryClear({ i18n: this.bindings.i18n }),
|
89
|
-
onSelect: () => {
|
90
|
-
this.recentQueriesList.clear();
|
91
|
-
this.bindings.triggerSuggestions();
|
92
|
-
},
|
93
|
-
};
|
94
|
-
}
|
95
|
-
renderItem(value) {
|
96
|
-
const query = this.bindings.searchBoxController.state.value;
|
97
|
-
const partialItem = getPartialRecentQueryElement(value, this.bindings.i18n);
|
98
|
-
return {
|
99
|
-
...partialItem,
|
100
|
-
content: renderRecentQuery({
|
101
|
-
icon: this.icon || Clock,
|
102
|
-
query,
|
103
|
-
value,
|
104
|
-
}),
|
105
|
-
onSelect: () => {
|
106
|
-
if (this.bindings.isStandalone) {
|
107
|
-
this.bindings.searchBoxController.updateText(value);
|
108
|
-
this.bindings.searchBoxController.submit();
|
109
|
-
return;
|
110
|
-
}
|
111
|
-
this.recentQueriesList.executeRecentQuery(this.recentQueriesList.state.queries.indexOf(value));
|
112
|
-
},
|
113
|
-
};
|
114
|
-
}
|
115
|
-
render() {
|
116
|
-
return html `${nothing}`;
|
117
|
-
}
|
118
|
-
};
|
119
|
-
__decorate([
|
120
|
-
state()
|
121
|
-
], AtomicSearchBoxRecentQueries.prototype, "error", void 0);
|
122
|
-
__decorate([
|
123
|
-
property()
|
124
|
-
], AtomicSearchBoxRecentQueries.prototype, "icon", void 0);
|
125
|
-
__decorate([
|
126
|
-
property({ type: Number, attribute: 'max-with-query' })
|
127
|
-
], AtomicSearchBoxRecentQueries.prototype, "maxWithQuery", void 0);
|
128
|
-
__decorate([
|
129
|
-
property({ type: Number, attribute: 'max-without-query' })
|
130
|
-
], AtomicSearchBoxRecentQueries.prototype, "maxWithoutQuery", void 0);
|
131
|
-
__decorate([
|
132
|
-
errorGuard()
|
133
|
-
], AtomicSearchBoxRecentQueries.prototype, "render", null);
|
134
|
-
AtomicSearchBoxRecentQueries = __decorate([
|
135
|
-
customElement('atomic-search-box-recent-queries')
|
136
|
-
], AtomicSearchBoxRecentQueries);
|
137
|
-
export { AtomicSearchBoxRecentQueries };
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import { h } from '@stencil/core/internal/client';
|
2
|
-
import { e as encodeForDomAttribute } from './string-utils.js';
|
3
|
-
|
4
|
-
const getPartialSearchBoxSuggestionElement = (suggestion, i18n) => {
|
5
|
-
return {
|
6
|
-
part: 'query-suggestion-item',
|
7
|
-
key: `qs-${encodeForDomAttribute(suggestion.rawValue)}`,
|
8
|
-
query: suggestion.rawValue,
|
9
|
-
ariaLabel: i18n.t('query-suggestion-label', {
|
10
|
-
query: suggestion.rawValue,
|
11
|
-
interpolation: { escapeValue: false },
|
12
|
-
}),
|
13
|
-
};
|
14
|
-
};
|
15
|
-
const QuerySuggestionContainer = (_, children) => {
|
16
|
-
return (h("div", { part: "query-suggestion-content", class: "flex items-center" }, children));
|
17
|
-
};
|
18
|
-
const QuerySuggestionIcon = ({ icon, hasSuggestion }) => {
|
19
|
-
if (!hasSuggestion) {
|
20
|
-
return;
|
21
|
-
}
|
22
|
-
return (h("atomic-icon", { part: "query-suggestion-icon", icon: icon, class: "mr-2 h-4 w-4 shrink-0" }));
|
23
|
-
};
|
24
|
-
const QuerySuggestionText = ({ suggestion, hasQuery }) => {
|
25
|
-
if (hasQuery) {
|
26
|
-
return (h("span", { part: "query-suggestion-text", class: "line-clamp-2 break-all", innerHTML: suggestion.highlightedValue }));
|
27
|
-
}
|
28
|
-
return (h("span", { part: "query-suggestion-text", class: "line-clamp-2 break-all" }, suggestion.rawValue));
|
29
|
-
};
|
30
|
-
|
31
|
-
export { QuerySuggestionContainer as Q, QuerySuggestionIcon as a, QuerySuggestionText as b, getPartialSearchBoxSuggestionElement as g };
|
32
|
-
|
33
|
-
//# sourceMappingURL=stencil-query-suggestions.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"file":"stencil-query-suggestions.js","mappings":";;;MAUa,oCAAoC,GAAG,CAClD,UAAsB,EACtB,IAAU;IAEV,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,GAAG,EAAE,MAAM,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QACvD,KAAK,EAAE,UAAU,CAAC,QAAQ;QAC1B,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,wBAAwB,EAAE;YAC1C,KAAK,EAAE,UAAU,CAAC,QAAQ;YAC1B,aAAa,EAAE,EAAC,WAAW,EAAE,KAAK,EAAC;SACpC,CAAC;KACH,CAAC;AACJ,EAAE;MAEW,wBAAwB,GAAwB,CAAC,CAAC,EAAE,QAAQ;IACvE,QACE,WAAK,IAAI,EAAC,0BAA0B,EAAC,KAAK,EAAC,mBAAmB,IAC3D,QAAQ,CACL,EACN;AACJ,EAAE;MAOW,mBAAmB,GAE5B,CAAC,EAAC,IAAI,EAAE,aAAa,EAAC;IACxB,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO;KACR;IAED,QACE,mBACE,IAAI,EAAC,uBAAuB,EAC5B,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,uBAAuB,GAChB,EACf;AACJ,EAAE;MAOW,mBAAmB,GAE5B,CAAC,EAAC,UAAU,EAAE,QAAQ,EAAC;IACzB,IAAI,QAAQ,EAAE;QACZ,QACE,YACE,IAAI,EAAC,uBAAuB,EAC5B,KAAK,EAAC,wBAAwB,EAC9B,SAAS,EAAE,UAAU,CAAC,gBAAgB,GAChC,EACR;KACH;IAED,QACE,YAAM,IAAI,EAAC,uBAAuB,EAAC,KAAK,EAAC,wBAAwB,IAC9D,UAAU,CAAC,QAAQ,CACf,EACP;AACJ;;;;","names":[],"sources":["src/components/common/suggestions/stencil-query-suggestions.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {encodeForDomAttribute} from '../../../utils/string-utils.js';\nimport {SearchBoxSuggestionElement} from './suggestions-types.js';\n\ninterface Suggestion {\n highlightedValue: string;\n rawValue: string;\n}\n\nexport const getPartialSearchBoxSuggestionElement = (\n suggestion: Suggestion,\n i18n: i18n\n): Pick<SearchBoxSuggestionElement, 'ariaLabel' | 'key' | 'query' | 'part'> => {\n return {\n part: 'query-suggestion-item',\n key: `qs-${encodeForDomAttribute(suggestion.rawValue)}`,\n query: suggestion.rawValue,\n ariaLabel: i18n.t('query-suggestion-label', {\n query: suggestion.rawValue,\n interpolation: {escapeValue: false},\n }),\n };\n};\n\nexport const QuerySuggestionContainer: FunctionalComponent = (_, children) => {\n return (\n <div part=\"query-suggestion-content\" class=\"flex items-center\">\n {children}\n </div>\n );\n};\n\ninterface QuerySuggestionIconProps {\n icon: string;\n hasSuggestion: boolean;\n}\n\nexport const QuerySuggestionIcon: FunctionalComponent<\n QuerySuggestionIconProps\n> = ({icon, hasSuggestion}) => {\n if (!hasSuggestion) {\n return;\n }\n\n return (\n <atomic-icon\n part=\"query-suggestion-icon\"\n icon={icon}\n class=\"mr-2 h-4 w-4 shrink-0\"\n ></atomic-icon>\n );\n};\n\ninterface QuerySuggestionTextProps {\n suggestion: Suggestion;\n hasQuery: boolean;\n}\n\nexport const QuerySuggestionText: FunctionalComponent<\n QuerySuggestionTextProps\n> = ({suggestion, hasQuery}) => {\n if (hasQuery) {\n return (\n <span\n part=\"query-suggestion-text\"\n class=\"line-clamp-2 break-all\"\n innerHTML={suggestion.highlightedValue}\n ></span>\n );\n }\n\n return (\n <span part=\"query-suggestion-text\" class=\"line-clamp-2 break-all\">\n {suggestion.rawValue}\n </span>\n );\n};\n"],"version":3}
|