@searchcraft/javascript-sdk 0.9.7 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/components/defineCustomElements.js +6 -6
- package/dist/components/index.d.ts +2514 -68
- package/dist/components/index.js +45 -14
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-e55a7970.js → p-1adf78b9.js} +2 -2
- package/dist/components/p-1adf78b9.js.map +1 -0
- package/dist/components/{p-60f05735.js → p-34a32648.js} +4 -4
- package/dist/components/p-34a32648.js.map +1 -0
- package/dist/components/p-39e70a00.js +67 -0
- package/dist/components/p-39e70a00.js.map +1 -0
- package/dist/components/{p-e41b0f43.js → p-3f63fa14.js} +14 -21
- package/dist/components/p-3f63fa14.js.map +1 -0
- package/dist/components/{p-bf6a086a.js → p-73db9122.js} +3 -10
- package/dist/components/p-73db9122.js.map +1 -0
- package/dist/components/p-810a7850.js +17 -0
- package/dist/components/p-810a7850.js.map +1 -0
- package/dist/components/{p-8f854dec.js → p-8aa0fff5.js} +4 -3
- package/dist/components/p-8aa0fff5.js.map +1 -0
- package/dist/components/{p-5fdaf1e6.js → p-a64b4cba.js} +2 -145
- package/dist/components/p-a64b4cba.js.map +1 -0
- package/dist/components/{p-71cc28c1.js → p-acf23bab.js} +2 -2
- package/dist/components/p-acf23bab.js.map +1 -0
- package/dist/components/{p-bb12ab5a.js → p-bc9e0e40.js} +4 -3
- package/dist/components/p-bc9e0e40.js.map +1 -0
- package/dist/components/{p-4df578e4.js → p-c317a36a.js} +7 -7
- package/dist/components/p-c317a36a.js.map +1 -0
- package/dist/components/{p-e27a0dab.js → p-d361b781.js} +5 -7
- package/dist/components/p-d361b781.js.map +1 -0
- package/dist/components/p-e72d0167.js +147 -0
- package/dist/components/p-e72d0167.js.map +1 -0
- package/dist/components/{p-0e393fe1.js → p-f2585cdf.js} +3 -9
- package/dist/components/p-f2585cdf.js.map +1 -0
- package/dist/components/{p-580c09dc.js → p-f8df3d49.js} +143 -143
- package/dist/components/p-f8df3d49.js.map +1 -0
- package/dist/components/searchcraft-ad.js +1 -1
- package/dist/components/searchcraft-button.js +1 -1
- package/dist/components/searchcraft-error-message.js +1 -1
- package/dist/components/searchcraft-facet-list.js +1 -1
- package/dist/components/searchcraft-filter-panel.js +6 -5
- package/dist/components/searchcraft-filter-panel.js.map +1 -1
- package/dist/components/searchcraft-input-form.js +2 -2
- package/dist/components/searchcraft-input-label.js +1 -1
- package/dist/components/searchcraft-pagination.js +3 -9
- package/dist/components/searchcraft-pagination.js.map +1 -1
- package/dist/components/searchcraft-popover-button.js +2 -2
- package/dist/components/searchcraft-popover-button.js.map +1 -1
- package/dist/components/searchcraft-popover-form.js +14 -15
- package/dist/components/searchcraft-popover-form.js.map +1 -1
- package/dist/components/searchcraft-popover-list-item.js +1 -1
- package/dist/components/searchcraft-popover-list-view.js +1 -1
- package/dist/components/searchcraft-results-info.js +15 -19
- package/dist/components/searchcraft-results-info.js.map +1 -1
- package/dist/components/searchcraft-search-result.d.ts +11 -0
- package/dist/components/searchcraft-search-result.js +8 -0
- package/dist/components/searchcraft-search-result.js.map +1 -0
- package/dist/components/searchcraft-search-results-per-page.js +3 -10
- package/dist/components/searchcraft-search-results-per-page.js.map +1 -1
- package/dist/components/searchcraft-search-results.d.ts +11 -0
- package/dist/components/{searchcraft-base-search-results.js → searchcraft-search-results.js} +25 -71
- package/dist/components/searchcraft-search-results.js.map +1 -0
- package/dist/components/searchcraft-select.js +1 -1
- package/dist/components/searchcraft-slider.js +1 -1
- package/dist/components/searchcraft-theme.js +4 -42
- package/dist/components/searchcraft-theme.js.map +1 -1
- package/dist/components/searchcraft-toggle-button.js +1 -1
- package/dist/hydrate/index.d.ts +242 -0
- package/dist/hydrate/index.js +23290 -0
- package/dist/hydrate/index.mjs +23282 -0
- package/dist/hydrate/package.json +12 -0
- package/dist/types/components/searchcraft-ad/searchcraft-ad.d.ts +2 -0
- package/dist/types/components/searchcraft-button/searchcraft-button.d.ts +3 -2
- package/dist/types/components/searchcraft-error-message/searchcraft-error-message.d.ts +6 -7
- package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +3 -1
- package/dist/types/components/searchcraft-filter-panel/searchcraft-filter-panel.d.ts +29 -1
- package/dist/types/components/searchcraft-input-form/searchcraft-input-form.d.ts +22 -14
- package/dist/types/components/searchcraft-input-label/searchcraft-input-label.d.ts +3 -2
- package/dist/types/components/searchcraft-pagination/searchcraft-pagination.d.ts +21 -8
- package/dist/types/components/searchcraft-popover-button/searchcraft-popover-button.d.ts +30 -0
- package/dist/types/components/searchcraft-popover-form/searchcraft-popover-form.d.ts +26 -15
- package/dist/types/components/searchcraft-popover-list-item/searchcraft-popover-list-item.d.ts +2 -0
- package/dist/types/components/searchcraft-popover-list-view/searchcraft-popover-list-view.d.ts +3 -2
- package/dist/types/components/searchcraft-results-info/searchcraft-results-info.d.ts +41 -15
- package/dist/types/components/searchcraft-search-result/searchcraft-search-result.d.ts +25 -0
- package/dist/types/components/searchcraft-search-results/searchcraft-search-results.d.ts +80 -0
- package/dist/types/components/searchcraft-search-results-per-page/searchcraft-search-results-per-page.d.ts +20 -5
- package/dist/types/components/searchcraft-select/searchcraft-select.d.ts +3 -5
- package/dist/types/components/searchcraft-slider/searchcraft-slider.d.ts +3 -3
- package/dist/types/components/searchcraft-theme/searchcraft-theme.d.ts +23 -16
- package/dist/types/components/searchcraft-toggle-button/searchcraft-toggle-button.d.ts +2 -1
- package/dist/types/components.d.ts +836 -612
- package/dist/types/index.d.ts +5 -4
- package/dist/types/utils/html.d.ts +6 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/package.json +9 -7
- package/dist/components/bundled.types.d.ts +0 -2275
- package/dist/components/p-0e393fe1.js.map +0 -1
- package/dist/components/p-19fe91f1.js +0 -136
- package/dist/components/p-19fe91f1.js.map +0 -1
- package/dist/components/p-4df578e4.js.map +0 -1
- package/dist/components/p-580c09dc.js.map +0 -1
- package/dist/components/p-5fdaf1e6.js.map +0 -1
- package/dist/components/p-60f05735.js.map +0 -1
- package/dist/components/p-71cc28c1.js.map +0 -1
- package/dist/components/p-8f854dec.js.map +0 -1
- package/dist/components/p-bb12ab5a.js.map +0 -1
- package/dist/components/p-bf6a086a.js.map +0 -1
- package/dist/components/p-d9551738.js +0 -25
- package/dist/components/p-d9551738.js.map +0 -1
- package/dist/components/p-e27a0dab.js.map +0 -1
- package/dist/components/p-e41b0f43.js.map +0 -1
- package/dist/components/p-e55a7970.js.map +0 -1
- package/dist/components/searchcraft-base-search-result.d.ts +0 -11
- package/dist/components/searchcraft-base-search-result.js +0 -8
- package/dist/components/searchcraft-base-search-result.js.map +0 -1
- package/dist/components/searchcraft-base-search-results.d.ts +0 -11
- package/dist/components/searchcraft-base-search-results.js.map +0 -1
- package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +0 -55
- package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +0 -89
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-0e393fe1.js","mappings":";;MAea,uBAAuB;;;;;;;;IAI1B,YAAY,CAAU;IAE9B,MAAM;QACJ,QACE,0DAAG,KAAK,EAAC,2BAA2B,IACjC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAC9C,EACJ;KACH;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-error-message/searchcraft-error-message.tsx"],"sourcesContent":["import { Component, Prop, h } from '@stencil/core';\n\n/**\n * This web component is designed to display a user-friendly error message when a search query fails, providing clear feedback to users and enhancing their experience when an issue arises during the search process.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-error-message error-message=\"No search results found for query\" />\n * ```\n */\n@Component({\n tag: 'searchcraft-error-message',\n shadow: false,\n})\nexport class SearchcraftErrorMessage {\n /**\n * The error message.\n */\n @Prop() errorMessage?: string;\n\n render() {\n return (\n <p class='searchcraft-error-message'>\n {this.errorMessage || 'Search term is required.'}\n </p>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { p as proxyCustomElement, H, h, F as Fragment } from './p-5365011f.js';
|
|
2
|
-
import { s as searchcraftStore } from './p-580c09dc.js';
|
|
3
|
-
import { a as getDocumentValueFromSearchResultMapping } from './p-6104fe5d.js';
|
|
4
|
-
|
|
5
|
-
const SearchcraftBaseSearchResult = /*@__PURE__*/ proxyCustomElement(class SearchcraftBaseSearchResult extends H {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.__registerHost();
|
|
9
|
-
}
|
|
10
|
-
item;
|
|
11
|
-
searchResultMappings;
|
|
12
|
-
/**
|
|
13
|
-
* Where to open the link for the containing element.
|
|
14
|
-
*/
|
|
15
|
-
containerTarget = '_blank';
|
|
16
|
-
/**
|
|
17
|
-
* The relationship between the current document and the link for the containing element.
|
|
18
|
-
*/
|
|
19
|
-
containerRel;
|
|
20
|
-
/**
|
|
21
|
-
* Where to open the link for the button rendered when containerHref is not present.
|
|
22
|
-
*/
|
|
23
|
-
buttonTarget = '_blank';
|
|
24
|
-
/**
|
|
25
|
-
* The relationship between the current document and the link for the button rendered when containerHref is not present.
|
|
26
|
-
*/
|
|
27
|
-
buttonRel;
|
|
28
|
-
/**
|
|
29
|
-
* The placement of the image.
|
|
30
|
-
*/
|
|
31
|
-
imagePlacement = 'right';
|
|
32
|
-
/**
|
|
33
|
-
* A custom styles object.
|
|
34
|
-
*/
|
|
35
|
-
customStyles;
|
|
36
|
-
/**
|
|
37
|
-
* The position in the document. Used with the "document_clicked" measure event.
|
|
38
|
-
*/
|
|
39
|
-
documentPosition = 0;
|
|
40
|
-
titleContent;
|
|
41
|
-
subtitleContent;
|
|
42
|
-
bodyContent;
|
|
43
|
-
footerContent;
|
|
44
|
-
buttonLabel;
|
|
45
|
-
buttonHref;
|
|
46
|
-
containerHref;
|
|
47
|
-
imageSrc;
|
|
48
|
-
imageAlt;
|
|
49
|
-
searchcraftStore = searchcraftStore.getState();
|
|
50
|
-
connectedCallback() {
|
|
51
|
-
if (this.item) {
|
|
52
|
-
this.mapValuesFromDocument(this.item.document);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
mapValuesFromDocument(document) {
|
|
56
|
-
this.titleContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.title);
|
|
57
|
-
this.subtitleContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.subtitle);
|
|
58
|
-
this.bodyContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.body);
|
|
59
|
-
this.containerHref = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.containerHref);
|
|
60
|
-
this.buttonHref = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.buttonHref);
|
|
61
|
-
this.imageSrc = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.imageSource);
|
|
62
|
-
this.footerContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.footer);
|
|
63
|
-
}
|
|
64
|
-
handleLinkClick = () => {
|
|
65
|
-
const searchcraft = this.searchcraftStore.getSearchcraftInstance();
|
|
66
|
-
if (searchcraft) {
|
|
67
|
-
const document_position = this.documentPosition;
|
|
68
|
-
const search_term = this.searchcraftStore.searchTerm;
|
|
69
|
-
const number_of_documents = this.searchcraftStore.searchClientResponseItems.length;
|
|
70
|
-
searchcraft.measureClient?.sendMeasureEvent('document_clicked', {
|
|
71
|
-
document_position,
|
|
72
|
-
number_of_documents,
|
|
73
|
-
search_term,
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
parseStyles = () => {
|
|
78
|
-
if (this.customStyles) {
|
|
79
|
-
try {
|
|
80
|
-
return JSON.parse(this.customStyles);
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
console.error('Error parsing custom styles:', error);
|
|
84
|
-
return {};
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return {};
|
|
88
|
-
};
|
|
89
|
-
render() {
|
|
90
|
-
const styles = this.parseStyles();
|
|
91
|
-
const imageContainer = this.imageSrc && (h("img", { alt: this.imageAlt, class: 'searchcraft-search-result-image', src: this.imageSrc, style: styles.image || {} }));
|
|
92
|
-
const contentContainer = (h(Fragment, null, this.imageSrc && this.imagePlacement === 'left' && imageContainer, h("div", { class: 'searchcraft-base-search-result-content-container' }, this.titleContent && (h("h2", { class: 'searchcraft-base-search-result-title', style: styles.title || {} }, this.titleContent)), this.subtitleContent && (h("h3", { class: 'searchcraft-base-search-result-subtitle', style: styles.subtitle || {} }, this.subtitleContent)), this.bodyContent && (h("p", { class: 'searchcraft-base-search-result-body-content', style: styles.primaryContent || {} }, this.bodyContent)), this.footerContent && (h("p", { class: 'searchcraft-base-search-result-footer-content', style: styles.secondaryContent || {} }, this.footerContent)), this.buttonHref && !this.containerHref && this.buttonLabel && (h("a", { class: 'searchcraft-search-result-button', href: this.buttonHref, style: styles.button || {}, target: this.buttonTarget, rel: this.buttonRel }, this.buttonLabel))), this.imageSrc && this.imagePlacement === 'right' && imageContainer));
|
|
93
|
-
/** Render as an anchor tag if the containerHref prop is present. */
|
|
94
|
-
if (this.containerHref) {
|
|
95
|
-
return (h("a", { class: 'searchcraft-search-result-container', onClick: this.handleLinkClick, href: this.containerHref, rel: this.containerRel, style: styles.container || {}, tabindex: '0', target: this.containerTarget }, contentContainer));
|
|
96
|
-
}
|
|
97
|
-
/** Render as a div if no href prop. */
|
|
98
|
-
return (h("div", { class: 'searchcraft-search-result-container', style: styles.container || {} }, contentContainer));
|
|
99
|
-
}
|
|
100
|
-
}, [0, "searchcraft-base-search-result", {
|
|
101
|
-
"item": [16],
|
|
102
|
-
"searchResultMappings": [16],
|
|
103
|
-
"containerTarget": [1, "container-target"],
|
|
104
|
-
"containerRel": [1, "container-rel"],
|
|
105
|
-
"buttonTarget": [1, "button-target"],
|
|
106
|
-
"buttonRel": [1, "button-rel"],
|
|
107
|
-
"imagePlacement": [1, "image-placement"],
|
|
108
|
-
"customStyles": [1, "custom-styles"],
|
|
109
|
-
"documentPosition": [2, "document-position"],
|
|
110
|
-
"titleContent": [32],
|
|
111
|
-
"subtitleContent": [32],
|
|
112
|
-
"bodyContent": [32],
|
|
113
|
-
"footerContent": [32],
|
|
114
|
-
"buttonLabel": [32],
|
|
115
|
-
"buttonHref": [32],
|
|
116
|
-
"containerHref": [32],
|
|
117
|
-
"imageSrc": [32],
|
|
118
|
-
"imageAlt": [32]
|
|
119
|
-
}]);
|
|
120
|
-
function defineCustomElement() {
|
|
121
|
-
if (typeof customElements === "undefined") {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
const components = ["searchcraft-base-search-result"];
|
|
125
|
-
components.forEach(tagName => { switch (tagName) {
|
|
126
|
-
case "searchcraft-base-search-result":
|
|
127
|
-
if (!customElements.get(tagName)) {
|
|
128
|
-
customElements.define(tagName, SearchcraftBaseSearchResult);
|
|
129
|
-
}
|
|
130
|
-
break;
|
|
131
|
-
} });
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
export { SearchcraftBaseSearchResult as S, defineCustomElement as d };
|
|
135
|
-
|
|
136
|
-
//# sourceMappingURL=p-19fe91f1.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-19fe91f1.js","mappings":"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","names":[],"sources":["src/components/searchcraft-base-search-result/searchcraft-base-search-result.tsx"],"sourcesContent":["import { searchcraftStore } from '@store';\nimport type {\n SearchClientResponseItem,\n SearchDocument,\n} from '@searchcraft/core';\nimport { Component, Fragment, h, Prop, State } from '@stencil/core';\nimport { getDocumentValueFromSearchResultMapping } from '@utils';\nimport type { SearchResultMappings } from '@searchcraft/core';\n\n/**\n * This web component is designed to display detailed information for a single search result.\n * Once a query is submitted, the component formats and presents the result.\n * It is consumed within the `searchcraft-base-search-results` component.\n */\n@Component({\n tag: 'searchcraft-base-search-result',\n shadow: false,\n})\nexport class SearchcraftBaseSearchResult {\n @Prop() item?: SearchClientResponseItem;\n @Prop() searchResultMappings?: SearchResultMappings;\n /**\n * Where to open the link for the containing element.\n */\n @Prop() containerTarget: '_blank' | '_self' | '_top' | '_parent' = '_blank';\n /**\n * The relationship between the current document and the link for the containing element.\n */\n @Prop() containerRel?: 'noreferrer' | 'noopener' | 'nofollow';\n /**\n * Where to open the link for the button rendered when containerHref is not present.\n */\n @Prop() buttonTarget: '_blank' | '_self' | '_top' | '_parent' = '_blank';\n /**\n * The relationship between the current document and the link for the button rendered when containerHref is not present.\n */\n @Prop() buttonRel?: 'noreferrer' | 'noopener' | 'nofollow';\n /**\n * The placement of the image.\n */\n @Prop() imagePlacement: 'left' | 'right' = 'right';\n /**\n * A custom styles object.\n */\n @Prop() customStyles?: string;\n /**\n * The position in the document. Used with the \"document_clicked\" measure event.\n */\n @Prop() documentPosition = 0;\n\n @State() titleContent: string | undefined;\n @State() subtitleContent: string | undefined;\n @State() bodyContent: string | undefined;\n @State() footerContent: string | undefined;\n @State() buttonLabel: string | undefined;\n @State() buttonHref: string | undefined;\n @State() containerHref: string | undefined;\n @State() imageSrc: string | undefined;\n @State() imageAlt: string | undefined;\n\n private searchcraftStore = searchcraftStore.getState();\n\n connectedCallback() {\n if (this.item) {\n this.mapValuesFromDocument(this.item.document);\n }\n }\n\n mapValuesFromDocument(document: SearchDocument) {\n this.titleContent = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.title,\n );\n this.subtitleContent = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.subtitle,\n );\n this.bodyContent = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.body,\n );\n this.containerHref = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.containerHref,\n );\n this.buttonHref = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.buttonHref,\n );\n this.imageSrc = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.imageSource,\n );\n this.footerContent = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.footer,\n );\n }\n\n private handleLinkClick = () => {\n const searchcraft = this.searchcraftStore.getSearchcraftInstance();\n\n if (searchcraft) {\n const document_position = this.documentPosition;\n const search_term = this.searchcraftStore.searchTerm;\n const number_of_documents =\n this.searchcraftStore.searchClientResponseItems.length;\n\n searchcraft.measureClient?.sendMeasureEvent('document_clicked', {\n document_position,\n number_of_documents,\n search_term,\n });\n }\n };\n\n private parseStyles = (): Record<string, { [key: string]: string }> => {\n if (this.customStyles) {\n try {\n return JSON.parse(this.customStyles);\n } catch (error) {\n console.error('Error parsing custom styles:', error);\n return {};\n }\n }\n return {};\n };\n\n render() {\n const styles = this.parseStyles();\n const imageContainer = this.imageSrc && (\n <img\n alt={this.imageAlt}\n class='searchcraft-search-result-image'\n src={this.imageSrc}\n style={styles.image || {}}\n />\n );\n\n const contentContainer = (\n <Fragment>\n {this.imageSrc && this.imagePlacement === 'left' && imageContainer}\n <div class='searchcraft-base-search-result-content-container'>\n {this.titleContent && (\n <h2\n class='searchcraft-base-search-result-title'\n style={styles.title || {}}\n >\n {this.titleContent}\n </h2>\n )}\n {this.subtitleContent && (\n <h3\n class='searchcraft-base-search-result-subtitle'\n style={styles.subtitle || {}}\n >\n {this.subtitleContent}\n </h3>\n )}\n {this.bodyContent && (\n <p\n class='searchcraft-base-search-result-body-content'\n style={styles.primaryContent || {}}\n >\n {this.bodyContent}\n </p>\n )}\n\n {this.footerContent && (\n <p\n class='searchcraft-base-search-result-footer-content'\n style={styles.secondaryContent || {}}\n >\n {this.footerContent}\n </p>\n )}\n {this.buttonHref && !this.containerHref && this.buttonLabel && (\n <a\n class='searchcraft-search-result-button'\n href={this.buttonHref}\n style={styles.button || {}}\n target={this.buttonTarget}\n rel={this.buttonRel}\n >\n {this.buttonLabel}\n </a>\n )}\n </div>\n {this.imageSrc && this.imagePlacement === 'right' && imageContainer}\n </Fragment>\n );\n\n /** Render as an anchor tag if the containerHref prop is present. */\n if (this.containerHref) {\n return (\n <a\n class='searchcraft-search-result-container'\n onClick={this.handleLinkClick}\n href={this.containerHref}\n rel={this.containerRel}\n style={styles.container || {}}\n tabindex='0'\n target={this.containerTarget}\n >\n {contentContainer}\n </a>\n );\n }\n\n /** Render as a div if no href prop. */\n return (\n <div\n class='searchcraft-search-result-container'\n style={styles.container || {}}\n >\n {contentContainer}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-4df578e4.js","mappings":"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","names":[],"sources":["src/utils/facets.ts","src/components/searchcraft-facet-list/searchcraft-facet-list.tsx"],"sourcesContent":["import type {\n FacetChild,\n FacetChildObject,\n FacetRoot,\n} from '@searchcraft/core';\n\nfunction deepMergeWithSpread(obj1, obj2) {\n const result = { ...obj1 };\n\n for (const key in obj2) {\n // biome-ignore lint/suspicious/noPrototypeBuiltins: <explanation>\n if (obj2.hasOwnProperty(key)) {\n if (obj2[key] instanceof Object && obj1[key] instanceof Object) {\n result[key] = deepMergeWithSpread(obj1[key], obj2[key]);\n } else {\n result[key] = obj2[key];\n }\n }\n }\n\n return result;\n}\n\n/**\n * Given an array of facet paths, removes parent facet paths.\n */\nexport function removeSubstringMatches(arr: string[]): string[] {\n return arr.filter(\n (entry, index, array) =>\n !array.some(\n (otherEntry, otherIndex) =>\n otherIndex !== index && otherEntry.includes(entry),\n ),\n );\n}\n\ntype FacetChildFragment = {\n count: number;\n path: string;\n};\n\nfunction facetToRecord(facet: FacetChild): Record<string, FacetChildFragment> {\n const records: Record<string, FacetChildFragment> = {};\n\n const traverseAndAddToFragments = (facetChild: FacetChild) => {\n records[facetChild.path] = {\n count: facetChild.count,\n path: facetChild.path,\n };\n\n facetChild.children?.forEach((child) => {\n traverseAndAddToFragments(child);\n });\n };\n\n traverseAndAddToFragments(facet);\n\n return records;\n}\n\nfunction recordToObject(\n record: Record<string, FacetChildFragment>,\n): FacetChildObject {\n const root: FacetChildObject = {\n count: 0,\n path: '/',\n children: {},\n };\n\n Object.keys(record).forEach((key) => {\n const fragment = record[key];\n if (!fragment) {\n return;\n }\n\n if (fragment.path === '/') {\n return;\n }\n const pathParts = fragment.path.substring(1).split('/');\n let currentRoot = root;\n let currentPath = '';\n\n pathParts.forEach((part, index) => {\n const nextPath = `${currentPath}/${part}`;\n if (!currentRoot.children[nextPath]) {\n currentRoot.children[nextPath] = {\n count: 0,\n path: nextPath,\n children: {},\n };\n }\n\n if (index === pathParts.length - 1) {\n currentRoot.children[nextPath].count = fragment.count;\n }\n\n currentPath = nextPath;\n currentRoot = currentRoot.children[nextPath];\n });\n });\n\n return root;\n}\n\nfunction objectToFacet(childObject: FacetChildObject): FacetChild {\n const transformed: FacetChild = {\n count: childObject.count,\n path: childObject.path,\n children: [],\n };\n\n if (Object.keys(childObject.children).length > 0) {\n transformed.children = Object.values(childObject.children).map(\n (subChildObject) => objectToFacet(subChildObject),\n );\n }\n\n return transformed;\n}\n\n/**\n * Filters records with the parent paths from record2 OUT of record1\n */\nfunction filterRecordByParentPaths(\n record1: Record<string, FacetChild>,\n record2: Record<string, FacetChild>,\n): Record<string, FacetChild> {\n // Extract all paths (keys) both records\n const paths1 = Object.keys(record1);\n const paths2 = Object.keys(record2);\n\n // Find all parent paths in record2\n const parentPaths = new Set(\n paths2\n .filter((path) => path.split('/').length > 2) // Only consider paths with more than one level\n .map((path) => path.substring(0, path.lastIndexOf('/'))),\n );\n\n // Filter out keys in record1 that share a parent path with any of the identified parent paths\n const filteredRecord = Object.fromEntries(\n paths1\n .filter(\n (path) => !parentPaths.has(path.substring(0, path.lastIndexOf('/'))),\n )\n .map((path) => [path, record1[path]]), // Reconstruct the key-value pairs\n );\n\n return filteredRecord as Record<string, FacetChild>;\n}\n\nexport function mergeFacetRoots(\n fieldName: string,\n currentRoot: FacetRoot,\n incomingRoot: FacetRoot,\n): FacetRoot {\n const currentArray = currentRoot[fieldName];\n const incomingArray = incomingRoot[fieldName];\n\n const currentRootFacetChild: FacetChild = {\n count: 0,\n path: '/',\n children: currentArray,\n };\n\n const incomingRootFacetChild: FacetChild = {\n count: 0,\n path: '/',\n children: incomingArray,\n };\n\n // Flatten them into records\n const currentRecord: Record<string, FacetChildFragment> = facetToRecord(\n currentRootFacetChild,\n );\n\n const incomingRecord: Record<string, FacetChildFragment> = facetToRecord(\n incomingRootFacetChild,\n );\n\n // Filter out the records from record1 (the current set of records)\n // that share a parent path with record2 (the incoming records)\n const filteredCurrentRecord = filterRecordByParentPaths(\n currentRecord,\n incomingRecord,\n );\n\n // Deep merge the records together\n const mergedRecord: Record<string, FacetChildFragment> = deepMergeWithSpread(\n filteredCurrentRecord,\n incomingRecord,\n );\n\n // Convert into a heirarchical object\n const mergedObject: FacetChildObject = recordToObject(mergedRecord);\n\n // Convert the heirarchical object back to the Facet child structure\n const mergedFacetChild = objectToFacet(mergedObject);\n\n return {\n [fieldName]: mergedFacetChild.children,\n } as FacetRoot;\n}\n","import {\n Component,\n h,\n State,\n Prop,\n Event,\n type EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport classNames from 'classnames';\n\nimport type { FacetChild, FacetRoot } from '@searchcraft/core';\n\nimport { searchcraftStore, type SearchcraftState } from '@store';\nimport { mergeFacetRoots, removeSubstringMatches } from '@utils';\n\n/**\n * This web component is designed to display facets in a search interface, allowing users to refine their search results by applying filters based on various attributes.\n * It is consumed within the `searchcraft-filter-panel`.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-facet-list field-name=\"title\" />\n * ```\n *\n * ```js\n * // index.js\n * const facetList = document.querySelector('searchcraft-facet-list');\n *\n * facetList.addEventListener('facetSelectionUpdated', () => {\n * console.log('Facet selection updated');\n * });\n * ```\n */\n@Component({\n tag: 'searchcraft-facet-list',\n shadow: false,\n})\nexport class SearchcraftFacetList {\n /**\n * The name of the field where facets are applied.\n */\n @Prop() fieldName = '';\n\n /**\n * When the facets are updated.\n */\n @Event() facetSelectionUpdated?: EventEmitter<{ paths: string[] }>;\n\n @State() baseFacetRoot: FacetRoot | undefined;\n @State() facetRoot: FacetRoot | undefined;\n @State() selectedPaths: Record<string, boolean> = {};\n @State() lastTimeTaken: number | undefined;\n @State() hasNewSearchTerm = false;\n\n @State() lastSearchTerm: string | undefined;\n @State() lastSearchMode: string | undefined;\n @State() lastSortType: string | undefined;\n\n @State() unsubscribe: (() => void) | undefined;\n\n private searchStore = searchcraftStore.getState();\n\n handleStateUpdate(state: SearchcraftState) {\n const facetPrime = state.searchResponseFacetPrime;\n const timeTaken = state.searchResponseTimeTaken;\n\n if (!this.fieldName) {\n return;\n }\n\n /** Things to do when the state's search term has changed, but before the response received */\n if (\n state.searchTerm !== this.lastSearchTerm ||\n state.searchMode !== this.lastSearchMode ||\n state.sortType !== this.lastSortType\n ) {\n this.selectedPaths = {};\n this.hasNewSearchTerm = true;\n }\n\n /** Things to do when a new response with a new facet prime has been received */\n if (timeTaken !== this.lastTimeTaken && facetPrime) {\n this.facetRoot = undefined;\n const incomingFacetRoot: FacetRoot | undefined = facetPrime.find(\n (facet) => this.fieldName === Object.keys(facet)[0],\n );\n\n /** Data is from a new search term: completely override our facets */\n if (this.hasNewSearchTerm) {\n this.baseFacetRoot = incomingFacetRoot;\n this.facetRoot = incomingFacetRoot;\n this.hasNewSearchTerm = false;\n } else if (this.baseFacetRoot && incomingFacetRoot) {\n /** Data is from an existing search term, merge the facets together */\n this.facetRoot = mergeFacetRoots(\n this.fieldName,\n this.baseFacetRoot,\n incomingFacetRoot,\n );\n }\n }\n\n this.lastSearchTerm = state.searchTerm;\n this.lastSearchMode = state.searchMode;\n this.lastSortType = state.sortType;\n this.lastTimeTaken = timeTaken;\n }\n\n connectedCallback() {\n this.handleStateUpdate(this.searchStore);\n\n this.unsubscribe = searchcraftStore.subscribe((state) => {\n this.handleStateUpdate(state);\n });\n }\n\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n\n handleCheckboxChange(path: string) {\n const isCheckboxChecked = !this.selectedPaths[path];\n\n if (isCheckboxChecked) {\n /**\n * Checkbox Checked: Add to the selectedPaths record\n * Uses spread operator here so UI updates.\n */\n this.selectedPaths = {\n ...this.selectedPaths,\n [path]: true,\n };\n } else {\n /**\n * Checkbox Uncheck: Remove any paths and sub-paths\n */\n const updatedPaths = Object.keys(this.selectedPaths).filter(\n (testPath) => !testPath.includes(path),\n );\n\n this.selectedPaths = updatedPaths.reduce(\n (acc, str) => {\n acc[str] = true;\n return acc;\n },\n {} as Record<string, boolean>,\n );\n }\n\n /**\n * Emit the paths array, with parent paths removed.\n */\n const paths = Object.keys(this.selectedPaths).filter(\n (path) => this.selectedPaths[path],\n );\n const pathsWithParentPathsRemoved = removeSubstringMatches(paths);\n\n this.facetSelectionUpdated?.emit({ paths: pathsWithParentPathsRemoved });\n }\n\n formatLabel = (facetChild: FacetChild): string => {\n const label = facetChild.path.replace(/^\\//, '');\n const count = facetChild.count;\n return `${label.replace(/-/g, ' ').replace(/\\b\\w/g, (char) => char.toUpperCase())} (${count})`;\n };\n\n formatSubLabel = (\n facetChild: FacetChild,\n facetChildAncestor: FacetChild,\n ): string => {\n const facetChildPath = facetChild.path.substring(\n facetChildAncestor.path.length,\n );\n const label = facetChildPath.replace(/^\\//, '');\n const count = facetChild.count;\n return `${label.replace(/-/g, ' ').replace(/\\b\\w/g, (char) => char.toUpperCase())} (${count})`;\n };\n\n render() {\n if (!this.fieldName) {\n return;\n }\n\n const firstFacet = this.facetRoot?.[this.fieldName];\n\n return (\n <div\n class={classNames(\n 'filtersListContainer',\n 'searchcraft-filters-list-container',\n )}\n >\n {!firstFacet && (\n <p class='searchcraft-facet-message'>\n Enter a search to view facets.\n </p>\n )}\n {firstFacet?.map((facetChild: FacetChild) => {\n const isChildSelected = facetChild.children\n ? facetChild.children?.some(\n (child) => this.selectedPaths[child.path],\n )\n : false;\n\n return (\n <div\n key={facetChild.path}\n class={classNames('searchcraft-filters-list-item')}\n >\n <label\n class={classNames(\n 'filterCheckboxLabel',\n 'searchcraft-filters-list-checkbox-label',\n )}\n >\n <input\n checked={this.selectedPaths[facetChild.path]}\n onChange={(_event: Event) =>\n this.handleCheckboxChange(facetChild.path)\n }\n type='checkbox'\n />\n {isChildSelected ? (\n <div\n class={classNames(\n 'dashContainer',\n 'searchcraft-filter-list-dash-container',\n )}\n >\n <svg width='14' height='3' viewBox='0 0 14 3' fill='none'>\n <title>Checkbox Dash</title>\n <line\n x1='1.5'\n y1='1.5'\n x2='12.5'\n y2='1.5'\n stroke='white'\n stroke-width='3'\n stroke-linecap='round'\n />\n </svg>\n </div>\n ) : (\n <div\n class={classNames(\n 'checkContainer',\n 'searchcraft-filter-list-check-container',\n )}\n >\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none'>\n <title>Checkbox Check</title>\n <path\n d='M13.9999 2L5.74988 10L1.99988 6.36364'\n stroke='white'\n stroke-width='3'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n </div>\n )}\n {this.formatLabel(facetChild)}\n </label>\n {facetChild.children && facetChild.children.length > 0 && (\n <Fragment>\n {facetChild.children.map((grandchild) => (\n <label\n key={grandchild.path}\n class={classNames(\n 'childFilterCheckboxLabel',\n 'searchcraft-child-filter-checkbox-label',\n )}\n style={{\n display: this.selectedPaths[facetChild.path]\n ? 'flex'\n : 'none',\n }}\n >\n <input\n checked={this.selectedPaths[grandchild.path]}\n onChange={(_event: Event) => {\n this.handleCheckboxChange(grandchild.path);\n }}\n type='checkbox'\n />\n <div\n class={classNames(\n 'checkContainer',\n 'searchcraft-filter-list-check-container',\n )}\n >\n <svg\n width='16'\n height='16'\n viewBox='0 0 16 16'\n fill='none'\n >\n <title>Checkbox Check</title>\n <path\n d='M13.9999 2L5.74988 10L1.99988 6.36364'\n stroke='white'\n stroke-width='3'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n </div>\n {this.formatSubLabel(grandchild, facetChild)}\n </label>\n ))}\n </Fragment>\n )}\n </div>\n );\n })}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-580c09dc.js","mappings":"AAAA,IAAI,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC;AAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/G,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAChE,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAClJ,MAAM,EAAE,CAAC;AACT,EAAE,WAAW,CAAC,CAAC,EAAE;AACjB,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACxB,IAAI,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAC5B,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC;AACjG,GAAG;AACH,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE;AACzB,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAgB,CAAC,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3E,GAAG;AACH,EAAE,KAAK,CAAC,CAAC,EAAE;AACX,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/D,GAAG;AACH,EAAE,IAAI,CAAC,CAAC,EAAE;AACV,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE,GAAG;AACH,EAAE,IAAI,CAAC,CAAC,EAAE;AACV,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE,GAAG;AACH,EAAE,KAAK,CAAC,CAAC,EAAE;AACX,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjE,GAAG;AACH,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE;AACZ,IAAI,QAAQ,CAAC;AACb,MAAM,KAAK,CAAC;AACZ,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtB,QAAQ,MAAM;AACd,MAAM,KAAK,CAAC;AACZ,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrB,QAAQ,MAAM;AACd,MAAM,KAAK,CAAC;AACZ,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrB,QAAQ,MAAM;AACd,MAAM,KAAK,CAAC;AACZ,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtB,QAAQ,MAAM;AACd,KAAK;AACL,GAAG;AACH,CAAC;AACD,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACvB,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE;AACjD,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;AAClB,MAAM,IAAI;AACV,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,OAAO,CAAC,OAAO,CAAC,EAAE;AAClB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,OAAO;AACP,KAAK;AACL,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;AAClB,MAAM,IAAI;AACV,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,OAAO,CAAC,OAAO,CAAC,EAAE;AAClB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,OAAO;AACP,KAAK;AACL,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;AAClB,MAAM,IAAI,CAAC,CAAC;AACZ,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE;AACjF,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrB,KAAK;AACL,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACnC,GAAG,CAAC,CAAC;AACL,CAAC;AACD,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;AACjB,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW;AACnD,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;AACzB,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,IAAI,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW;AACxH,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,CAAC,EAAE,CAAC,CAAC;AACR,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;AAChB,IAAI,OAAO,SAAS,CAAC,EAAE;AACvB,MAAM,OAAO,SAAS,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;AACtE,QAAQ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;AACvD,UAAU,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3J,UAAU,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7D,YAAY,KAAK,CAAC,CAAC;AACnB,YAAY,KAAK,CAAC;AAClB,cAAc,CAAC,GAAG,CAAC,CAAC;AACpB,cAAc,MAAM;AACpB,YAAY,KAAK,CAAC;AAClB,cAAc,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AAC1D,YAAY,KAAK,CAAC;AAClB,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3C,cAAc,SAAS;AACvB,YAAY,KAAK,CAAC;AAClB,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC5C,cAAc,SAAS;AACvB,YAAY;AACZ,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACpG,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACtB,gBAAgB,SAAS;AACzB,eAAe;AACf,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AACpE,gBAAgB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,gBAAgB,MAAM;AACtB,eAAe;AACf,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAChD,gBAAgB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACtC,gBAAgB,MAAM;AACtB,eAAe;AACf,cAAc,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AACvC,gBAAgB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9C,gBAAgB,MAAM;AACtB,eAAe;AACf,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAChD,cAAc,SAAS;AACvB,WAAW;AACX,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3B,SAAS,CAAC,OAAO,CAAC,EAAE;AACpB,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAC5B,SAAS,SAAS;AAClB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACpB,SAAS;AACT,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,QAAQ,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AACzD,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChB,KAAK,CAAC;AACN,GAAG;AACH,CAAC;AACD,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;AAC7E,EAAE,OAAO,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC,EAAE,CAAC,GAAG,WAAW;AAClB,EAAE,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;AACjE,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAChG,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACrB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/B,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF,SAAS,CAAC,CAAC,CAAC,EAAE;AACd,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACzH,CAAC;AACD,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AACxE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;AACjB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AACD,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;AACjB,EAAE,IAAI,CAAC,CAAC;AACR,EAAE,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,QAAQ,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,WAAW,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;AACxN,EAAE,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxC,EAAE,EAAC,SAAS,CAAC,EAAE,CAAC,EAAE;AAClB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7F,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7C,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CA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","names":["reactModule","require$$0","require$$1","createStore","Logger","LogLevel"],"sources":["../core-sdk/dist/index.js","../../node_modules/zustand/vanilla.js","../../node_modules/react/cjs/react.production.js","../../node_modules/react/index.js","../../node_modules/zustand/react.js","../../node_modules/zustand/index.js","src/store/SearchcraftStore.ts"],"sourcesContent":["var B = Object.defineProperty;\nvar q = (r, e, n) => e in r ? B(r, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : r[e] = n;\nvar h = (r, e, n) => q(r, typeof e != \"symbol\" ? e + \"\" : e, n);\nvar P = /* @__PURE__ */ ((r) => (r[r.DEBUG = 0] = \"DEBUG\", r[r.INFO = 1] = \"INFO\", r[r.WARN = 2] = \"WARN\", r[r.ERROR = 3] = \"ERROR\", r))(P || {});\nclass ge {\n constructor(e) {\n h(this, \"logLevel\");\n h(this, \"logFormatter\");\n this.logLevel = e.logLevel || 1, this.logFormatter = e.logFormatter || this.defaultFormatter;\n }\n defaultFormatter(e, n) {\n return `[${P[e]}] ${(/* @__PURE__ */ new Date()).toISOString()}: ${n}`;\n }\n debug(e) {\n this.logLevel <= 0 && console.log(this.logFormatter(0, e));\n }\n info(e) {\n this.logLevel <= 1 && console.info(this.logFormatter(1, e));\n }\n warn(e) {\n this.logLevel <= 2 && console.warn(this.logFormatter(2, e));\n }\n error(e) {\n this.logLevel <= 3 && console.error(this.logFormatter(3, e));\n }\n log(e, n) {\n switch (e) {\n case 0:\n this.debug(n);\n break;\n case 1:\n this.info(n);\n break;\n case 2:\n this.warn(n);\n break;\n case 3:\n this.error(n);\n break;\n }\n }\n}\nfunction w(r, e, n, o) {\n return new (n || (n = Promise))(function(i, a) {\n function t(c) {\n try {\n l(o.next(c));\n } catch (s) {\n a(s);\n }\n }\n function u(c) {\n try {\n l(o.throw(c));\n } catch (s) {\n a(s);\n }\n }\n function l(c) {\n var s;\n c.done ? i(c.value) : (s = c.value, s instanceof n ? s : new n(function(f) {\n f(s);\n })).then(t, u);\n }\n l((o = o.apply(r, [])).next());\n });\n}\nfunction y(r, e) {\n var n, o, i, a, t = { label: 0, sent: function() {\n if (1 & i[0]) throw i[1];\n return i[1];\n }, trys: [], ops: [] };\n return a = { next: u(0), throw: u(1), return: u(2) }, typeof Symbol == \"function\" && (a[Symbol.iterator] = function() {\n return this;\n }), a;\n function u(l) {\n return function(c) {\n return function(s) {\n if (n) throw new TypeError(\"Generator is already executing.\");\n for (; a && (a = 0, s[0] && (t = 0)), t; ) try {\n if (n = 1, o && (i = 2 & s[0] ? o.return : s[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, s[1])).done) return i;\n switch (o = 0, i && (s = [2 & s[0], i.value]), s[0]) {\n case 0:\n case 1:\n i = s;\n break;\n case 4:\n return t.label++, { value: s[1], done: !1 };\n case 5:\n t.label++, o = s[1], s = [0];\n continue;\n case 7:\n s = t.ops.pop(), t.trys.pop();\n continue;\n default:\n if (i = t.trys, !((i = i.length > 0 && i[i.length - 1]) || s[0] !== 6 && s[0] !== 2)) {\n t = 0;\n continue;\n }\n if (s[0] === 3 && (!i || s[1] > i[0] && s[1] < i[3])) {\n t.label = s[1];\n break;\n }\n if (s[0] === 6 && t.label < i[1]) {\n t.label = i[1], i = s;\n break;\n }\n if (i && t.label < i[2]) {\n t.label = i[2], t.ops.push(s);\n break;\n }\n i[2] && t.ops.pop(), t.trys.pop();\n continue;\n }\n s = e.call(r, t);\n } catch (f) {\n s = [6, f], o = 0;\n } finally {\n n = i = 0;\n }\n if (5 & s[0]) throw s[1];\n return { value: s[0] ? s[1] : void 0, done: !0 };\n }([l, c]);\n };\n }\n}\nvar b = { exclude: [] }, D = {}, N = { timeout: \"true\" }, v = function(r, e) {\n typeof window < \"u\" && (D[r] = e);\n}, j = function() {\n return Object.fromEntries(Object.entries(D).filter(function(r) {\n var e, n = r[0];\n return !(!((e = b == null ? void 0 : b.exclude) === null || e === void 0) && e.includes(n));\n }).map(function(r) {\n return [r[0], (0, r[1])()];\n }));\n};\nfunction C(r) {\n return r ^= r >>> 16, r = Math.imul(r, 2246822507), r ^= r >>> 13, r = Math.imul(r, 3266489909), (r ^= r >>> 16) >>> 0;\n}\nvar m = new Uint32Array([597399067, 2869860233, 951274213, 2716044179]);\nfunction g(r, e) {\n return r << e | r >>> 32 - e;\n}\nfunction M(r, e) {\n var n;\n if (e === void 0 && (e = 0), e = e ? 0 | e : 0, typeof r == \"string\" && (n = r, r = new TextEncoder().encode(n).buffer), !(r instanceof ArrayBuffer)) throw new TypeError(\"Expected key to be ArrayBuffer or string\");\n var o = new Uint32Array([e, e, e, e]);\n (function(a, t) {\n for (var u = a.byteLength / 16 | 0, l = new Uint32Array(a, 0, 4 * u), c = 0; c < u; c++) {\n var s = l.subarray(4 * c, 4 * (c + 1));\n s[0] = Math.imul(s[0], m[0]), s[0] = g(s[0], 15), s[0] = Math.imul(s[0], m[1]), t[0] = t[0] ^ s[0], t[0] = g(t[0], 19), t[0] = t[0] + t[1], t[0] = Math.imul(t[0], 5) + 1444728091, s[1] = Math.imul(s[1], m[1]), s[1] = g(s[1], 16), s[1] = Math.imul(s[1], m[2]), t[1] = t[1] ^ s[1], t[1] = g(t[1], 17), t[1] = t[1] + t[2], t[1] = Math.imul(t[1], 5) + 197830471, s[2] = Math.imul(s[2], m[2]), s[2] = g(s[2], 17), s[2] = Math.imul(s[2], m[3]), t[2] = t[2] ^ s[2], t[2] = g(t[2], 15), t[2] = t[2] + t[3], t[2] = Math.imul(t[2], 5) + 2530024501, s[3] = Math.imul(s[3], m[3]), s[3] = g(s[3], 18), s[3] = Math.imul(s[3], m[0]), t[3] = t[3] ^ s[3], t[3] = g(t[3], 13), t[3] = t[3] + t[0], t[3] = Math.imul(t[3], 5) + 850148119;\n }\n })(r, o), function(a, t) {\n var u = a.byteLength / 16 | 0, l = a.byteLength % 16, c = new Uint32Array(4), s = new Uint8Array(a, 16 * u, l);\n switch (l) {\n case 15:\n c[3] = c[3] ^ s[14] << 16;\n case 14:\n c[3] = c[3] ^ s[13] << 8;\n case 13:\n c[3] = c[3] ^ s[12] << 0, c[3] = Math.imul(c[3], m[3]), c[3] = g(c[3], 18), c[3] = Math.imul(c[3], m[0]), t[3] = t[3] ^ c[3];\n case 12:\n c[2] = c[2] ^ s[11] << 24;\n case 11:\n c[2] = c[2] ^ s[10] << 16;\n case 10:\n c[2] = c[2] ^ s[9] << 8;\n case 9:\n c[2] = c[2] ^ s[8] << 0, c[2] = Math.imul(c[2], m[2]), c[2] = g(c[2], 17), c[2] = Math.imul(c[2], m[3]), t[2] = t[2] ^ c[2];\n case 8:\n c[1] = c[1] ^ s[7] << 24;\n case 7:\n c[1] = c[1] ^ s[6] << 16;\n case 6:\n c[1] = c[1] ^ s[5] << 8;\n case 5:\n c[1] = c[1] ^ s[4] << 0, c[1] = Math.imul(c[1], m[1]), c[1] = g(c[1], 16), c[1] = Math.imul(c[1], m[2]), t[1] = t[1] ^ c[1];\n case 4:\n c[0] = c[0] ^ s[3] << 24;\n case 3:\n c[0] = c[0] ^ s[2] << 16;\n case 2:\n c[0] = c[0] ^ s[1] << 8;\n case 1:\n c[0] = c[0] ^ s[0] << 0, c[0] = Math.imul(c[0], m[0]), c[0] = g(c[0], 15), c[0] = Math.imul(c[0], m[1]), t[0] = t[0] ^ c[0];\n }\n }(r, o), function(a, t) {\n t[0] = t[0] ^ a.byteLength, t[1] = t[1] ^ a.byteLength, t[2] = t[2] ^ a.byteLength, t[3] = t[3] ^ a.byteLength, t[0] = t[0] + t[1] | 0, t[0] = t[0] + t[2] | 0, t[0] = t[0] + t[3] | 0, t[1] = t[1] + t[0] | 0, t[2] = t[2] + t[0] | 0, t[3] = t[3] + t[0] | 0, t[0] = C(t[0]), t[1] = C(t[1]), t[2] = C(t[2]), t[3] = C(t[3]), t[0] = t[0] + t[1] | 0, t[0] = t[0] + t[2] | 0, t[0] = t[0] + t[3] | 0, t[1] = t[1] + t[0] | 0, t[2] = t[2] + t[0] | 0, t[3] = t[3] + t[0] | 0;\n }(r, o);\n var i = new Uint8Array(o.buffer);\n return Array.from(i).map(function(a) {\n return a.toString(16).padStart(2, \"0\");\n }).join(\"\");\n}\nfunction G(r, e) {\n return new Promise(function(n) {\n setTimeout(function() {\n return n(e);\n }, r);\n });\n}\nfunction V(r, e, n) {\n return Promise.all(r.map(function(o) {\n return Promise.race([o, G(e, n)]);\n }));\n}\nfunction W() {\n return w(this, void 0, void 0, function() {\n var r, e, n, o, i;\n return y(this, function(a) {\n switch (a.label) {\n case 0:\n return a.trys.push([0, 2, , 3]), r = j(), e = Object.keys(r), [4, V(Object.values(r), (b == null ? void 0 : b.timeout) || 1e3, N)];\n case 1:\n return n = a.sent(), o = n.filter(function(t) {\n return t !== void 0;\n }), i = {}, o.forEach(function(t, u) {\n i[e[u]] = t;\n }), [2, O(i, b.exclude || [])];\n case 2:\n throw a.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction O(r, e) {\n var n = {}, o = function(a) {\n if (r.hasOwnProperty(a)) {\n var t = r[a];\n if (typeof t != \"object\" || Array.isArray(t)) e.includes(a) || (n[a] = t);\n else {\n var u = O(t, e.map(function(l) {\n return l.startsWith(a + \".\") ? l.slice(a.length + 1) : l;\n }));\n Object.keys(u).length > 0 && (n[a] = u);\n }\n }\n };\n for (var i in r) o(i);\n return n;\n}\nfunction $(r) {\n return w(this, void 0, void 0, function() {\n var e, n;\n return y(this, function(o) {\n switch (o.label) {\n case 0:\n return o.trys.push([0, 2, , 3]), [4, W()];\n case 1:\n return e = o.sent(), n = M(JSON.stringify(e)), [2, n.toString()];\n case 2:\n throw o.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction H(r) {\n for (var e = 0, n = 0; n < r.length; ++n) e += Math.abs(r[n]);\n return e;\n}\nfunction U(r, e, n) {\n for (var o = [], i = 0; i < r[0].data.length; i++) {\n for (var a = [], t = 0; t < r.length; t++) a.push(r[t].data[i]);\n o.push(Q(a));\n }\n var u = new Uint8ClampedArray(o);\n return new ImageData(u, e, n);\n}\nfunction Q(r) {\n if (r.length === 0) return 0;\n for (var e = {}, n = 0, o = r; n < o.length; n++)\n e[a = o[n]] = (e[a] || 0) + 1;\n var i = r[0];\n for (var a in e) e[a] > e[i] && (i = parseInt(a, 10));\n return i;\n}\nfunction E() {\n if (typeof navigator > \"u\") return { name: \"unknown\", version: \"unknown\" };\n for (var r = navigator.userAgent, e = { Edg: \"Edge\", OPR: \"Opera\" }, n = 0, o = [/(?<name>Edge|Edg)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>Safari)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>MSIE|Trident|IEMobile).+?(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>[A-Za-z]+)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>SamsungBrowser)\\/(?<version>\\d+(?:\\.\\d+)?)/]; n < o.length; n++) {\n var i = o[n], a = r.match(i);\n if (a && a.groups) return { name: e[a.groups.name] || a.groups.name, version: a.groups.version };\n }\n return { name: \"unknown\", version: \"unknown\" };\n}\nv(\"audio\", function() {\n return w(this, void 0, void 0, function() {\n return y(this, function(r) {\n return [2, new Promise(function(e, n) {\n try {\n var o = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), i = o.createBufferSource(), a = o.createOscillator();\n a.frequency.value = 1e3;\n var t, u = o.createDynamicsCompressor();\n u.threshold.value = -50, u.knee.value = 40, u.ratio.value = 12, u.attack.value = 0, u.release.value = 0.2, a.connect(u), u.connect(o.destination), a.start(), o.oncomplete = function(l) {\n t = l.renderedBuffer.getChannelData(0), e({ sampleHash: H(t), oscillator: a.type, maxChannels: o.destination.maxChannelCount, channelCountMode: i.channelCountMode });\n }, o.startRendering();\n } catch (l) {\n console.error(\"Error creating audio fingerprint:\", l), n(l);\n }\n })];\n });\n });\n});\nvar z = E().name !== \"SamsungBrowser\" ? 1 : 3, x = 280, F = 20;\nE().name != \"Firefox\" && v(\"canvas\", function() {\n return document.createElement(\"canvas\").getContext(\"2d\"), new Promise(function(r) {\n var e = Array.from({ length: z }, function() {\n return function() {\n var n = document.createElement(\"canvas\"), o = n.getContext(\"2d\");\n if (!o) return new ImageData(1, 1);\n n.width = x, n.height = F;\n var i = o.createLinearGradient(0, 0, n.width, n.height);\n i.addColorStop(0, \"red\"), i.addColorStop(0.16666666666666666, \"orange\"), i.addColorStop(0.3333333333333333, \"yellow\"), i.addColorStop(0.5, \"green\"), i.addColorStop(0.6666666666666666, \"blue\"), i.addColorStop(0.8333333333333334, \"indigo\"), i.addColorStop(1, \"violet\"), o.fillStyle = i, o.fillRect(0, 0, n.width, n.height);\n var a = \"Random Text WMwmil10Oo\";\n o.font = \"23.123px Arial\", o.fillStyle = \"black\", o.fillText(a, -5, 15), o.fillStyle = \"rgba(0, 0, 255, 0.5)\", o.fillText(a, -3.3, 17.7), o.beginPath(), o.moveTo(0, 0), o.lineTo(2 * n.width / 7, n.height), o.strokeStyle = \"white\", o.lineWidth = 2, o.stroke();\n var t = o.getImageData(0, 0, n.width, n.height);\n return t;\n }();\n });\n r({ commonImageDataHash: M(U(e, x, F).data.toString()).toString() });\n });\n});\nvar T, K = [\"Arial\", \"Arial Black\", \"Arial Narrow\", \"Arial Rounded MT\", \"Arimo\", \"Archivo\", \"Barlow\", \"Bebas Neue\", \"Bitter\", \"Bookman\", \"Calibri\", \"Cabin\", \"Candara\", \"Century\", \"Century Gothic\", \"Comic Sans MS\", \"Constantia\", \"Courier\", \"Courier New\", \"Crimson Text\", \"DM Mono\", \"DM Sans\", \"DM Serif Display\", \"DM Serif Text\", \"Dosis\", \"Droid Sans\", \"Exo\", \"Fira Code\", \"Fira Sans\", \"Franklin Gothic Medium\", \"Garamond\", \"Geneva\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Inconsolata\", \"Indie Flower\", \"Inter\", \"Josefin Sans\", \"Karla\", \"Lato\", \"Lexend\", \"Lucida Bright\", \"Lucida Console\", \"Lucida Sans Unicode\", \"Manrope\", \"Merriweather\", \"Merriweather Sans\", \"Montserrat\", \"Myriad\", \"Noto Sans\", \"Nunito\", \"Nunito Sans\", \"Open Sans\", \"Optima\", \"Orbitron\", \"Oswald\", \"Pacifico\", \"Palatino\", \"Perpetua\", \"PT Sans\", \"PT Serif\", \"Poppins\", \"Prompt\", \"Public Sans\", \"Quicksand\", \"Rajdhani\", \"Recursive\", \"Roboto\", \"Roboto Condensed\", \"Rockwell\", \"Rubik\", \"Segoe Print\", \"Segoe Script\", \"Segoe UI\", \"Sora\", \"Source Sans Pro\", \"Space Mono\", \"Tahoma\", \"Taviraj\", \"Times\", \"Times New Roman\", \"Titillium Web\", \"Trebuchet MS\", \"Ubuntu\", \"Varela Round\", \"Verdana\", \"Work Sans\"], Y = [\"monospace\", \"sans-serif\", \"serif\"];\nfunction k(r, e) {\n if (!r) throw new Error(\"Canvas context not supported\");\n return r.font, r.font = \"72px \".concat(e), r.measureText(\"WwMmLli0Oo\").width;\n}\nfunction J() {\n var r, e = document.createElement(\"canvas\"), n = (r = e.getContext(\"webgl\")) !== null && r !== void 0 ? r : e.getContext(\"experimental-webgl\");\n if (n && \"getParameter\" in n) try {\n var o = (n.getParameter(n.VENDOR) || \"\").toString(), i = (n.getParameter(n.RENDERER) || \"\").toString(), a = { vendor: o, renderer: i, version: (n.getParameter(n.VERSION) || \"\").toString(), shadingLanguageVersion: (n.getParameter(n.SHADING_LANGUAGE_VERSION) || \"\").toString() };\n if (!i.length || !o.length) {\n var t = n.getExtension(\"WEBGL_debug_renderer_info\");\n if (t) {\n var u = (n.getParameter(t.UNMASKED_VENDOR_WEBGL) || \"\").toString(), l = (n.getParameter(t.UNMASKED_RENDERER_WEBGL) || \"\").toString();\n u && (a.vendorUnmasked = u), l && (a.rendererUnmasked = l);\n }\n }\n return a;\n } catch {\n }\n return \"undefined\";\n}\nfunction X() {\n var r = new Float32Array(1), e = new Uint8Array(r.buffer);\n return r[0] = 1 / 0, r[0] = r[0] - r[0], e[3];\n}\nfunction Z(r, e) {\n var n = {};\n return e.forEach(function(o) {\n var i = function(a) {\n if (a.length === 0) return null;\n var t = {};\n a.forEach(function(c) {\n var s = String(c);\n t[s] = (t[s] || 0) + 1;\n });\n var u = a[0], l = 1;\n return Object.keys(t).forEach(function(c) {\n t[c] > l && (u = c, l = t[c]);\n }), u;\n }(r.map(function(a) {\n return o in a ? a[o] : void 0;\n }).filter(function(a) {\n return a !== void 0;\n }));\n i && (n[o] = i);\n }), n;\n}\nfunction ee() {\n var r = [], e = { \"prefers-contrast\": [\"high\", \"more\", \"low\", \"less\", \"forced\", \"no-preference\"], \"any-hover\": [\"hover\", \"none\"], \"any-pointer\": [\"none\", \"coarse\", \"fine\"], pointer: [\"none\", \"coarse\", \"fine\"], hover: [\"hover\", \"none\"], update: [\"fast\", \"slow\"], \"inverted-colors\": [\"inverted\", \"none\"], \"prefers-reduced-motion\": [\"reduce\", \"no-preference\"], \"prefers-reduced-transparency\": [\"reduce\", \"no-preference\"], scripting: [\"none\", \"initial-only\", \"enabled\"], \"forced-colors\": [\"active\", \"none\"] };\n return Object.keys(e).forEach(function(n) {\n e[n].forEach(function(o) {\n matchMedia(\"(\".concat(n, \": \").concat(o, \")\")).matches && r.push(\"\".concat(n, \": \").concat(o));\n });\n }), r;\n}\nfunction te() {\n if (window.location.protocol === \"https:\" && typeof window.ApplePaySession == \"function\") try {\n for (var r = window.ApplePaySession.supportsVersion, e = 15; e > 0; e--) if (r(e)) return e;\n } catch {\n return 0;\n }\n return 0;\n}\nE().name != \"Firefox\" && v(\"fonts\", function() {\n var r = this;\n return new Promise(function(e, n) {\n try {\n (function(o) {\n var i;\n w(this, void 0, void 0, function() {\n var a, t, u;\n return y(this, function(l) {\n switch (l.label) {\n case 0:\n return document.body ? [3, 2] : [4, (c = 50, new Promise(function(f) {\n return setTimeout(f, c, s);\n }))];\n case 1:\n return l.sent(), [3, 0];\n case 2:\n if ((a = document.createElement(\"iframe\")).setAttribute(\"frameBorder\", \"0\"), (t = a.style).setProperty(\"position\", \"fixed\"), t.setProperty(\"display\", \"block\", \"important\"), t.setProperty(\"visibility\", \"visible\"), t.setProperty(\"border\", \"0\"), t.setProperty(\"opacity\", \"0\"), a.src = \"about:blank\", document.body.appendChild(a), !(u = a.contentDocument || ((i = a.contentWindow) === null || i === void 0 ? void 0 : i.document))) throw new Error(\"Iframe document is not accessible\");\n return o({ iframe: u }), setTimeout(function() {\n document.body.removeChild(a);\n }, 0), [2];\n }\n var c, s;\n });\n });\n })(function(o) {\n var i = o.iframe;\n return w(r, void 0, void 0, function() {\n var a, t, u, l;\n return y(this, function(c) {\n return a = i.createElement(\"canvas\"), t = a.getContext(\"2d\"), u = Y.map(function(s) {\n return k(t, s);\n }), l = {}, K.forEach(function(s) {\n var f = k(t, s);\n u.includes(f) || (l[s] = f);\n }), e(l), [2];\n });\n });\n });\n } catch {\n n({ error: \"unsupported\" });\n }\n });\n}), v(\"hardware\", function() {\n return new Promise(function(r, e) {\n var n = navigator.deviceMemory !== void 0 ? navigator.deviceMemory : 0, o = window.performance && window.performance.memory ? window.performance.memory : 0;\n r({ videocard: J(), architecture: X(), deviceMemory: n.toString() || \"undefined\", jsHeapSizeLimit: o.jsHeapSizeLimit || 0 });\n });\n}), v(\"locales\", function() {\n return new Promise(function(r) {\n r({ languages: navigator.language, timezone: Intl.DateTimeFormat().resolvedOptions().timeZone });\n });\n}), v(\"permissions\", function() {\n return w(this, void 0, void 0, function() {\n var r;\n return y(this, function(e) {\n return T = (b == null ? void 0 : b.permissions_to_check) || [\"accelerometer\", \"accessibility\", \"accessibility-events\", \"ambient-light-sensor\", \"background-fetch\", \"background-sync\", \"bluetooth\", \"camera\", \"clipboard-read\", \"clipboard-write\", \"device-info\", \"display-capture\", \"gyroscope\", \"geolocation\", \"local-fonts\", \"magnetometer\", \"microphone\", \"midi\", \"nfc\", \"notifications\", \"payment-handler\", \"persistent-storage\", \"push\", \"speaker\", \"storage-access\", \"top-level-storage-access\", \"window-management\", \"query\"], r = Array.from({ length: (b == null ? void 0 : b.retries) || 3 }, function() {\n return function() {\n return w(this, void 0, void 0, function() {\n var n, o, i, a, t;\n return y(this, function(u) {\n switch (u.label) {\n case 0:\n n = {}, o = 0, i = T, u.label = 1;\n case 1:\n if (!(o < i.length)) return [3, 6];\n a = i[o], u.label = 2;\n case 2:\n return u.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: a })];\n case 3:\n return t = u.sent(), n[a] = t.state.toString(), [3, 5];\n case 4:\n return u.sent(), [3, 5];\n case 5:\n return o++, [3, 1];\n case 6:\n return [2, n];\n }\n });\n });\n }();\n }), [2, Promise.all(r).then(function(n) {\n return Z(n, T);\n })];\n });\n });\n}), v(\"plugins\", function() {\n var r = [];\n if (navigator.plugins) for (var e = 0; e < navigator.plugins.length; e++) {\n var n = navigator.plugins[e];\n r.push([n.name, n.filename, n.description].join(\"|\"));\n }\n return new Promise(function(o) {\n o({ plugins: r });\n });\n}), v(\"screen\", function() {\n return new Promise(function(r) {\n r({ is_touchscreen: navigator.maxTouchPoints > 0, maxTouchPoints: navigator.maxTouchPoints, colorDepth: screen.colorDepth, mediaMatches: ee() });\n });\n}), v(\"system\", function() {\n return new Promise(function(r) {\n var e = E();\n r({ platform: window.navigator.platform, cookieEnabled: window.navigator.cookieEnabled, productSub: navigator.productSub, product: navigator.product, useragent: navigator.userAgent, hardwareConcurrency: navigator.hardwareConcurrency, browser: { name: e.name, version: e.version }, applePayVersion: te() });\n });\n});\nvar p, ne = E().name !== \"SamsungBrowser\" ? 1 : 3, d = null;\nv(\"webgl\", function() {\n return w(this, void 0, void 0, function() {\n var r;\n return y(this, function(e) {\n typeof document < \"u\" && ((p = document.createElement(\"canvas\")).width = 200, p.height = 100, d = p.getContext(\"webgl\"));\n try {\n if (!d) throw new Error(\"WebGL not supported\");\n return r = Array.from({ length: ne }, function() {\n return function() {\n try {\n if (!d) throw new Error(\"WebGL not supported\");\n var n = `\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n `, o = `\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n `, i = d.createShader(d.VERTEX_SHADER), a = d.createShader(d.FRAGMENT_SHADER);\n if (!i || !a) throw new Error(\"Failed to create shaders\");\n if (d.shaderSource(i, n), d.shaderSource(a, o), d.compileShader(i), !d.getShaderParameter(i, d.COMPILE_STATUS)) throw new Error(\"Vertex shader compilation failed: \" + d.getShaderInfoLog(i));\n if (d.compileShader(a), !d.getShaderParameter(a, d.COMPILE_STATUS)) throw new Error(\"Fragment shader compilation failed: \" + d.getShaderInfoLog(a));\n var t = d.createProgram();\n if (!t) throw new Error(\"Failed to create shader program\");\n if (d.attachShader(t, i), d.attachShader(t, a), d.linkProgram(t), !d.getProgramParameter(t, d.LINK_STATUS)) throw new Error(\"Shader program linking failed: \" + d.getProgramInfoLog(t));\n d.useProgram(t);\n for (var u = 137, l = new Float32Array(4 * u), c = 2 * Math.PI / u, s = 0; s < u; s++) {\n var f = s * c;\n l[4 * s] = 0, l[4 * s + 1] = 0, l[4 * s + 2] = Math.cos(f) * (p.width / 2), l[4 * s + 3] = Math.sin(f) * (p.height / 2);\n }\n var L = d.createBuffer();\n d.bindBuffer(d.ARRAY_BUFFER, L), d.bufferData(d.ARRAY_BUFFER, l, d.STATIC_DRAW);\n var _ = d.getAttribLocation(t, \"position\");\n d.enableVertexAttribArray(_), d.vertexAttribPointer(_, 2, d.FLOAT, !1, 0, 0), d.viewport(0, 0, p.width, p.height), d.clearColor(0, 0, 0, 1), d.clear(d.COLOR_BUFFER_BIT), d.drawArrays(d.LINES, 0, 2 * u);\n var R = new Uint8ClampedArray(p.width * p.height * 4);\n return d.readPixels(0, 0, p.width, p.height, d.RGBA, d.UNSIGNED_BYTE, R), new ImageData(R, p.width, p.height);\n } catch {\n return new ImageData(1, 1);\n } finally {\n d && (d.bindBuffer(d.ARRAY_BUFFER, null), d.useProgram(null), d.viewport(0, 0, d.drawingBufferWidth, d.drawingBufferHeight), d.clearColor(0, 0, 0, 0));\n }\n }();\n }), [2, { commonImageHash: M(U(r, p.width, p.height).data.toString()).toString() }];\n } catch {\n return [2, { webgl: \"unsupported\" }];\n }\n return [2];\n });\n });\n});\nvar S = function(r, e, n, o) {\n for (var i = (n - e) / o, a = 0, t = 0; t < o; t++)\n a += r(e + (t + 0.5) * i);\n return a * i;\n};\nv(\"math\", function() {\n return w(void 0, void 0, void 0, function() {\n return y(this, function(r) {\n return [2, { acos: Math.acos(0.5), asin: S(Math.asin, -1, 1, 97), atan: S(Math.atan, -1, 1, 97), cos: S(Math.cos, 0, Math.PI, 97), cosh: Math.cosh(9 / 7), e: Math.E, largeCos: Math.cos(1e20), largeSin: Math.sin(1e20), largeTan: Math.tan(1e20), log: Math.log(1e3), pi: Math.PI, sin: S(Math.sin, -Math.PI, Math.PI, 97), sinh: S(Math.sinh, -9 / 7, 7 / 9, 97), sqrt: Math.sqrt(2), tan: S(Math.tan, 0, 2 * Math.PI, 97), tanh: S(Math.tanh, -9 / 7, 7 / 9, 97) }];\n });\n });\n});\nconst re = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet A = (r = 21) => {\n let e = \"\", n = crypto.getRandomValues(new Uint8Array(r |= 0));\n for (; r--; )\n e += re[n[r] & 63];\n return e;\n};\nclass I {\n constructor(e) {\n h(this, \"config\");\n this.config = e;\n }\n async getAdsForSearchParams(e) {\n return [];\n }\n async onQuerySubmitted(e) {\n }\n async onQueryFetched(e, n) {\n }\n async onInputCleared() {\n }\n async onAdContainerRendered(e) {\n }\n async onAdContainerViewed(e) {\n }\n}\nclass oe extends I {\n /**\n * Gets ads from the adMarketplace API based on the search term.\n */\n async getAdsForSearchParams(e) {\n if (!this.config.admSub)\n return console.error(\"No admSub specified in config.\"), [];\n const o = `https://demofeed.is.ampfeed.com/is?${new URLSearchParams({\n partner: \"demofeed\",\n sub1: this.config.admSub,\n qt: e.searchTerm,\n v: \"2.0\",\n rfr: \"searchcraft.io\",\n \"results-ta\": `${this.config.admTextAdQuantity || 0}`,\n \"results-pa\": `${this.config.admProductAdQuantity || 0}`\n }).toString()}`, a = await (await fetch(o, { method: \"GET\" })).json(), t = a.product_ads.map(\n (c) => ({\n id: A(),\n adSource: \"adMarketplace\",\n admAdType: \"adm-product-ad\",\n admAd: c\n })\n ), u = a.text_ads.map((c) => ({\n id: A(),\n adSource: \"adMarketplace\",\n admAdType: \"adm-text-ad\",\n admAd: c\n }));\n return t.concat(u);\n }\n async onAdContainerViewed(e) {\n var o;\n const n = e.adClientResponseItem;\n (o = n.admAd) != null && o.impression_url && fetch(n.admAd.impression_url);\n }\n}\nclass ae extends I {\n async getAdsForSearchParams(e) {\n return [];\n }\n}\nconst ie = 1e3;\nclass se extends I {\n constructor(n) {\n super(n);\n h(this, \"adCallTimeout\");\n this.addScriptTagToDocument();\n }\n async onQuerySubmitted(n) {\n this.addScriptTagToDocument();\n }\n async onQueryFetched(n, o) {\n var i;\n if ((((i = o.data.hits) == null ? void 0 : i.length) || 0) === 0) {\n this.removeScriptTagFromDocument();\n return;\n }\n this.performAdCall(ie);\n }\n async onInputCleared() {\n this.removeScriptTagFromDocument();\n }\n performAdCall(n) {\n this.adCallTimeout && clearTimeout(this.adCallTimeout), this.adCallTimeout = setTimeout(() => {\n this.addScriptTagToDocument();\n try {\n PostRelease == null || PostRelease.Start({ ptd: [this.config.nativoPlacementId] });\n } catch (o) {\n console.error(o);\n }\n }, n);\n }\n async getAdsForSearchParams(n) {\n return [];\n }\n addScriptTagToDocument() {\n if (!document.head.querySelector(\"#nativo-tag\")) {\n const n = document.createElement(\"script\");\n n.type = \"text/javascript\", n.src = \"https://s.ntv.io/serve/load.js\", n.id = \"nativo-tag\", n.setAttribute(\"data-ntv-set-no-auto-start\", \"true\"), document.head.appendChild(n);\n }\n }\n removeScriptTagFromDocument() {\n const n = document.head.querySelector(\"#nativo-tag\");\n n && document.head.removeChild(n);\n }\n}\nconst ce = 500;\nclass ue {\n constructor(e, n, o) {\n h(this, \"measureRequestTimeout\");\n h(this, \"measureRequestsBatched\", []);\n h(this, \"config\");\n h(this, \"sdkInfo\");\n h(this, \"userId\");\n h(this, \"sessionId\");\n /**\n * Sends a measure event to the `/measure/event` endpoint for analytics purposes.\n *\n * @param {MeasureEventName} eventName - Name of the event.\n * @param {Partial<MeasureRequestProperties>} properties - Additional properties to send with the event.\n * @param {Partial<MeasureRequestUser>} user - Additional user properites to send with the event.\n */\n h(this, \"sendMeasureEvent\", (e, n = {}, o = {}) => {\n const i = {\n event_name: e,\n properties: {\n searchcraft_index_names: this.config.index,\n session_id: this.sessionId,\n ...n\n },\n user: {\n ...this.measureRequestUser,\n ...o\n }\n };\n this.measureRequestsBatched.push(i), clearTimeout(this.measureRequestTimeout), this.measureRequestTimeout = setTimeout(async () => {\n const a = JSON.stringify({ items: this.measureRequestsBatched }), t = `${this.baseMeasureUrl}/batch`;\n try {\n const u = await fetch(t, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: this.config.readKey,\n \"X-Sc-User-Id\": this.userId\n },\n body: a,\n keepalive: !0\n });\n if (!u.ok)\n throw new Error(\n `Failed to send request: ${u.status} ${u.statusText}`\n );\n this.measureRequestsBatched = [];\n return;\n } catch (u) {\n throw console.error(\"Error sending MeasureRequest:\", u), u;\n }\n }, ce);\n });\n this.config = e, this.sdkInfo = n, this.userId = o, this.sessionId = A(), this.sendMeasureEvent(\"sdk_initialized\");\n }\n /**\n * Getter for the base url used by the /measure endpoints.\n */\n get baseMeasureUrl() {\n return `${this.config.endpointURL}/measure`;\n }\n /**\n * Getter for the measure request user. Uses config values + navigator values.\n */\n get measureRequestUser() {\n return {\n user_id: this.userId,\n locale: navigator.language || \"en-US\",\n os: navigator.userAgent.includes(\"Windows\") ? \"Windows\" : navigator.userAgent.includes(\"Mac\") ? \"Mac\" : navigator.userAgent.includes(\"Linux\") ? \"Linux\" : \"Unknown\",\n platform: navigator.platform || \"Unknown\",\n sdk_name: this.sdkInfo.sdkName,\n sdk_version: this.sdkInfo.sdkVersion,\n user_agent: navigator.userAgent || \"Unknown\"\n };\n }\n}\nfunction de(r) {\n const e = [];\n let n = \"should\";\n return r.facetPathsForIndexFields && Object.keys(r.facetPathsForIndexFields).forEach((o) => {\n var a;\n const i = (a = r.facetPathsForIndexFields) == null ? void 0 : a[o];\n i && (n = \"must\", e.push({\n occur: n,\n exact: {\n ctx: i.value\n }\n }));\n }), r.rangeValueForIndexFields && Object.keys(r.rangeValueForIndexFields).forEach((o) => {\n var a;\n const i = (a = r.rangeValueForIndexFields) == null ? void 0 : a[o];\n i && (n = \"must\", e.push({\n occur: n,\n exact: {\n ctx: i.value\n }\n }));\n }), r.sort === \"desc\" ? r.order_by = \"date_published\" : r.order_by = \"\", e.push({\n occur: n,\n // Valid, as 'occur' is a required property in QueryItem\n [r.mode]: { ctx: r.searchTerm }\n // Ensure dynamic mode is inside queryType\n }), e;\n}\nconst le = (r) => r.endsWith(\"/\") ? r.slice(0, -1) : r, he = (r) => {\n let e = \"\";\n if (e = r.trim(), e = e.replace(/[‘’“”]/g, (o) => ({\n \"‘\": \"'\",\n \"’\": \"'\",\n \"“\": '\"',\n \"”\": '\"'\n })[o] || o), (e.match(/\"/g) || []).length % 2 !== 0)\n throw new Error(\n \"The search term contains an uneven number of quote characters.\"\n );\n return e;\n};\nclass fe {\n constructor(e, n, o) {\n h(this, \"config\");\n h(this, \"userId\");\n h(this, \"parent\");\n /**\n * Performs a search operation.\n * @param {SearchParams} searchParams - The parameters for the search.\n */\n h(this, \"getSearchResponse\", async (e) => {\n var o, i, a, t, u;\n const n = he(e.searchTerm);\n (o = this.parent.measureClient) == null || o.sendMeasureEvent(\"search_requested\", {\n search_term: n\n }), this.parent.emitEvent(\"query_submitted\", {\n name: \"query_submitted\",\n data: {\n searchTerm: n\n }\n }), (i = this.parent.adClient) == null || i.onQuerySubmitted(e);\n try {\n const l = {\n query: de(e),\n offset: e.offset || 0,\n // Default to 0 (first page) if not provided\n limit: e.limit || this.config.searchResultsPerPage || 20\n // Default to 20 if not provided\n };\n e.order_by && (l.order_by = e.order_by, l.sort = e.sort === \"desc\" || e.sort === \"asc\" ? e.sort : \"asc\");\n const c = {\n method: \"POST\",\n headers: {\n Authorization: this.config.readKey,\n \"Content-Type\": \"application/json\",\n \"X-Sc-User-Id\": this.userId\n },\n body: JSON.stringify(l)\n }, s = await fetch(this.baseSearchUrl, c);\n if (!s.ok)\n throw new Error(\n `Error: ${s.statusText} (Status: ${s.status})`\n );\n const f = await s.json();\n return (a = this.parent.measureClient) == null || a.sendMeasureEvent(\"search_response_received\", {\n search_term: n,\n number_of_documents: f.data.count\n }), this.parent.emitEvent(\"query_fetched\", {\n name: \"query_fetched\",\n data: {\n searchTerm: n\n }\n }), (((t = f.data.hits) == null ? void 0 : t.length) || 0) === 0 && this.parent.emitEvent(\"no_results_returned\", {\n name: \"no_results_returned\"\n }), (u = this.parent.adClient) == null || u.onQueryFetched(e, f), f;\n } catch (l) {\n throw console.error(\"Error parsing response:\", l), l;\n }\n });\n this.parent = e, this.config = n, this.userId = o;\n }\n /**\n * Getter for the base url used by the /search endpoint.\n */\n get baseSearchUrl() {\n return `${this.config.endpointURL}/index/${this.config.index.join(\",\")}/search`;\n }\n}\nclass ve {\n constructor(e, n) {\n h(this, \"config\");\n h(this, \"measureClient\");\n h(this, \"searchClient\");\n h(this, \"adClient\");\n h(this, \"userId\");\n h(this, \"requestTimeout\");\n h(this, \"subscriptionEvents\", {});\n /**\n * Gets items from the SearchClient and the AdClient.\n */\n h(this, \"getItems\", (e, n, o) => {\n const i = async () => {\n (async () => {\n var u, l;\n const a = await ((u = this == null ? void 0 : this.searchClient) == null ? void 0 : u.getSearchResponse(e));\n if (!a)\n throw new Error(\"Search client was not initialized.\");\n const t = (l = a.data.hits || []) == null ? void 0 : l.map((c) => c.doc).filter((c) => !!c).map((c) => ({\n type: \"SearchDocument\",\n id: A(),\n document: c\n }));\n n(a, t);\n })(), (async () => {\n if (this.adClient) {\n const a = await this.adClient.getAdsForSearchParams(e);\n o(a);\n }\n })();\n };\n clearTimeout(this.requestTimeout), this.config.searchDebounceDelay ? this.requestTimeout = setTimeout(\n i,\n this.config.searchDebounceDelay\n ) : i();\n });\n if (!e.endpointURL || !e.index || !e.readKey)\n throw new Error(\n \"Endpoint URL, Index value(s), and Read Key must be provided\"\n );\n this.config = {\n ...e,\n // Strips off the trailing '/' from an endpointURL if one is accidentally added\n endpointURL: le(e.endpointURL)\n }, this.userId = \"\", this.initClients(this.config, n), this.initInputForms(), this.startObservingMutations();\n }\n initInputForms() {\n const e = document.querySelectorAll(\n \"searchcraft-input-form\"\n );\n setTimeout(() => {\n e.forEach((n) => {\n n.core = this;\n });\n }, 40);\n }\n /**\n * When changes happen in the DOM, we want to link any input forms found to the instance of the core.\n */\n startObservingMutations() {\n new MutationObserver((n, o) => {\n let i = !1;\n for (const a of n)\n a.type === \"childList\" && a.addedNodes.forEach((t) => {\n t.nodeType === 1 && t.className.toLowerCase() === \"searchcraft-input-form\" && (i = !0);\n });\n i && this.initInputForms();\n }).observe(document.body, { childList: !0, subtree: !0 });\n }\n initClients(e, n) {\n setTimeout(async () => {\n let o = this.config.userId;\n switch (o || (o = await $()), this.measureClient = new ue(e, n, o), this.searchClient = new fe(this, e, o), e.adSource) {\n case \"adMarketplace\":\n this.adClient = new oe(e);\n break;\n case \"Nativo\":\n this.adClient = new se(e);\n break;\n case \"Custom\":\n this.adClient = new ae(e);\n break;\n }\n }, 300);\n }\n emitEvent(e, n) {\n var o;\n (o = this.subscriptionEvents[e]) == null || o.forEach((i) => {\n i(n);\n });\n }\n subscribe(e, n) {\n return this.subscriptionEvents[e] || (this.subscriptionEvents[e] = []), this.subscriptionEvents[e].push(\n n\n ), () => {\n this.subscriptionEvents[e] = this.subscriptionEvents[e].filter((o) => o !== n);\n };\n }\n /**\n * Called when a `<searchcraft-ad>` component is rendered\n */\n handleAdContainerRendered(e) {\n var n;\n (n = this.adClient) == null || n.onAdContainerRendered(e), this.emitEvent(\"ad_container_rendered\", {\n name: \"ad_container_rendered\",\n data: {\n adContainerId: e.adContainerId,\n adSource: e.adSource,\n searchTerm: e.searchTerm\n }\n });\n }\n /**\n * Called when a `<searchcraft-ad>` is viewed\n */\n handleAdContainerViewed(e) {\n var n;\n (n = this.adClient) == null || n.onAdContainerViewed(e), this.emitEvent(\"ad_container_viewed\", {\n name: \"ad_container_viewed\",\n data: {\n adContainerId: e.adContainerId,\n adSource: e.adSource,\n searchTerm: e.searchTerm\n }\n });\n }\n /**\n * Perform various actions when the input is cleared\n */\n handleInputCleared() {\n var e;\n this.emitEvent(\"input_cleared\", {\n name: \"input_cleared\"\n }), (e = this.adClient) == null || e.onInputCleared();\n }\n}\nexport {\n P as LogLevel,\n ge as Logger,\n ve as SearchcraftCore\n};\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nconst createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nexports.createStore = createStore;\n","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== self ? self : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(\n oldElement.type,\n newKey,\n void 0,\n void 0,\n void 0,\n oldElement.props\n );\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction noop$1() {}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop$1, noop$1)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction noop() {}\nexports.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n};\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.act = function () {\n throw Error(\"act(...) is not supported in production builds of React.\");\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = void 0;\n if (null != config)\n for (propName in (void 0 !== config.ref && (owner = void 0),\n void 0 !== config.key && (key = \"\" + config.key),\n config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, void 0, void 0, owner, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, void 0, void 0, null, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.0.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nvar React = require('react');\nvar vanilla = require('zustand/vanilla');\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n () => selector(api.getState()),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = vanilla.createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\n\nexports.create = create;\nexports.useStore = useStore;\n","'use strict';\n\nvar vanilla = require('zustand/vanilla');\nvar react = require('zustand/react');\n\n\n\nObject.keys(vanilla).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return vanilla[k]; }\n\t});\n});\nObject.keys(react).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return react[k]; }\n\t});\n});\n","import { createStore } from 'zustand';\n\nimport {\n Logger,\n LogLevel,\n type FacetPathsForIndexField,\n type RangeValueForIndexField,\n type SearchcraftResponse,\n type SearchClientResponseItem,\n type AdClientResponseItem,\n type SearchcraftCore,\n} from '@searchcraft/core';\nimport type {\n SearchcraftState,\n SearchcraftStateFunctions,\n SearchcraftStateValues,\n} from './SearchcraftStore.types';\n\nconst initialSearchcraftStateValues: SearchcraftStateValues = {\n adClientResponseItems: [],\n core: undefined,\n logger: undefined,\n facetPathsForIndexFields: {},\n isPopoverVisible: false,\n isSearchInProgress: false,\n searchTerm: '',\n rangeValueForIndexFields: {},\n searchMode: 'fuzzy',\n searchClientResponseItems: [],\n searchResponseTimeTaken: undefined,\n searchResponseFacetPrime: undefined,\n searchResultsCount: 0,\n searchResultsPerPage: 20,\n searchResultsPage: 1,\n sortType: 'asc',\n};\n\nconst searchcraftStore = createStore<SearchcraftState>((set, get) => {\n const functions: SearchcraftStateFunctions = {\n addFacetPathsForIndexField: (data: FacetPathsForIndexField) =>\n set((state) => ({\n facetPathsForIndexFields: {\n ...state.facetPathsForIndexFields,\n [data.fieldName]: data,\n },\n })),\n addRangeValueForIndexField: (data: RangeValueForIndexField) =>\n set((state) => ({\n rangeValueForIndexFields: {\n ...state.rangeValueForIndexFields,\n [data.fieldName]: data,\n },\n })),\n getSearchcraftInstance: () => {\n const { core } = get();\n return core;\n },\n initialize: (searchcraftInstance, debug = false) => {\n const core = searchcraftInstance as SearchcraftCore;\n const logger = debug\n ? new Logger({ logLevel: LogLevel.DEBUG })\n : undefined;\n\n set({\n core,\n logger,\n searchResultsPerPage: core.config.searchResultsPerPage || 20,\n });\n },\n removeFacetPathsForIndexField: (fieldName: string) =>\n set((state) => {\n const currentPaths = state.facetPathsForIndexFields;\n delete currentPaths[fieldName];\n return {\n facetPathsForIndexFields: {\n ...currentPaths,\n },\n };\n }),\n removeRangeValueForIndexField: (fieldName: string) =>\n set((state) => {\n const currentValues = state.rangeValueForIndexFields;\n delete currentValues[fieldName];\n return {\n rangeValueForIndexFields: {\n ...currentValues,\n },\n };\n }),\n resetFacetPaths: () => {\n set({\n facetPathsForIndexFields: {},\n });\n },\n search: async () => {\n const state = get();\n state.logger?.log(\n LogLevel.INFO,\n `Starting search with search term: \"${state.searchTerm}\"`,\n );\n\n if (!state.core) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n\n if (!state.searchTerm.trim()) {\n state.logger?.log(\n LogLevel.INFO,\n 'No search request was made: search term was empty.',\n );\n set({\n searchClientResponseItems: [],\n searchResultsCount: 0,\n searchResultsPage: 1,\n searchTerm: '',\n });\n return;\n }\n\n set({ isSearchInProgress: true });\n\n const handleSearchcraftResponse = (\n response: SearchcraftResponse,\n items: SearchClientResponseItem[],\n ) => {\n const facetsFromResponse = response.data.facets;\n\n set((state) => {\n return {\n isSearchInProgress: false,\n searchClientResponseItems: items,\n searchResponseTimeTaken: response.data.time_taken || 0,\n searchResultsPage:\n // reset to first page when response count changes\n response.data.count === state.searchResultsCount\n ? state.searchResultsPage\n : 1,\n searchResultsCount: response.data.count || 0,\n };\n });\n\n if (facetsFromResponse) {\n set({ searchResponseFacetPrime: facetsFromResponse });\n }\n\n state.logger?.log(\n LogLevel.DEBUG,\n `Search results: ${JSON.stringify(items)}`,\n );\n state.logger?.log(\n LogLevel.DEBUG,\n `Facets from response: ${JSON.stringify(facetsFromResponse)}`,\n );\n };\n\n const handleAdResponse = (\n adClientResponseItems: AdClientResponseItem[],\n ) => {\n set({ adClientResponseItems });\n };\n\n state.core.getItems(\n {\n searchTerm: state.searchTerm,\n mode: state.searchMode,\n sort: state.sortType,\n facetPathsForIndexFields: state.facetPathsForIndexFields,\n rangeValueForIndexFields: state.rangeValueForIndexFields,\n offset: state.searchResultsPerPage\n ? state.searchResultsPerPage * (state.searchResultsPage - 1)\n : 0,\n limit: state.searchResultsPerPage,\n },\n handleSearchcraftResponse,\n handleAdResponse,\n );\n },\n setPopoverVisibility: (isVisible: boolean) => {\n set({\n isPopoverVisible: isVisible,\n });\n },\n setSearchMode: (mode) => set({ searchMode: mode }),\n setSortType: (type) => set({ sortType: type }),\n setSearchTerm: (searchTerm) => {\n const { core } = get();\n\n if (searchTerm.length === 0) {\n core?.handleInputCleared();\n }\n /**\n * When a new searchTerm is set, also reset the sort type, search mode, and facet paths.\n */\n set({\n searchTerm,\n facetPathsForIndexFields: {},\n ...(searchTerm.trim().length === 0 && {\n searchMode: 'fuzzy',\n sortType: 'asc',\n }),\n });\n },\n setSearchClientResponseItems: (items) =>\n set({ searchClientResponseItems: items }),\n setSearchResultsPage: async (page) => {\n set({ searchResultsPage: page });\n await functions.search();\n },\n setSearchResultsPerPage: async (perPage) => {\n set({ searchResultsPerPage: perPage });\n await functions.search();\n },\n };\n\n const stateObject: SearchcraftState = {\n ...initialSearchcraftStateValues,\n ...functions,\n };\n\n return stateObject;\n});\n\nexport { searchcraftStore };\n"],"version":3}
|