@nosto/search-js 3.25.5 → 3.25.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AutocompletePageProvider-D48n1GB-.js +37 -0
- package/dist/AutocompletePageProvider-DzjwKsBp.cjs +1 -0
- package/dist/BaseElement-BnP6tQrH.cjs +1 -0
- package/dist/BaseElement-C25wjvSR.js +19 -0
- package/dist/CategoryPageProvider-B6w4FHhB.cjs +1 -0
- package/dist/CategoryPageProvider-BYw7KGoS.js +30 -0
- package/dist/ErrorBoundary-BtAe8lXu.cjs +1 -0
- package/dist/ErrorBoundary-Bxyssvki.js +11 -0
- package/dist/InfiniteScrollWithObserver-8imjYGGz.js +226 -0
- package/dist/InfiniteScrollWithObserver-k7oYk4f9.cjs +1 -0
- package/dist/SerpPageProvider-BgRZJNth.cjs +1 -0
- package/dist/SerpPageProvider-fg14kNV9.js +30 -0
- package/dist/baseConfig-Che6Adb6.js +50 -0
- package/dist/baseConfig-jLd7jchq.cjs +1 -0
- package/dist/cl-CYT5y6Dn.cjs +1 -0
- package/dist/cl-G5KK1qHD.js +6 -0
- package/dist/core/core.cjs.js +1 -1
- package/dist/core/core.es.js +7 -8
- package/dist/currencies/currencies.cjs.js +1 -1
- package/dist/currencies/currencies.es.js +61 -65
- package/dist/disableNativeAutocomplete-CcR_Ek_P.js +26 -0
- package/dist/disableNativeAutocomplete-CjBGhRWW.cjs +1 -0
- package/dist/eventBusDispatch-B6VswTu8.cjs +1 -0
- package/dist/eventBusDispatch-DnFmEqYe.js +15 -0
- package/dist/eventBusSubscribe-C6qT1aOO.js +22 -0
- package/dist/eventBusSubscribe-c9a_PP0j.cjs +1 -0
- package/dist/index.es-Ba4tuzxb.cjs +1 -0
- package/dist/index.es-jSYcbRvi.js +25 -0
- package/dist/{isBot-B05pQGIe.js → isBot-CPesLwHL.js} +18 -17
- package/dist/isBot-CkyQfegP.cjs +1 -0
- package/dist/jsxRuntime.module-BRdvPAre.js +30 -0
- package/dist/jsxRuntime.module-Ba9fccPy.cjs +1 -0
- package/dist/parseNumber-BH_92pM8.cjs +1 -0
- package/dist/parseNumber-DFsrGj64.js +9 -0
- package/dist/pick-0KNFTqKn.cjs +1 -0
- package/dist/pick-B8ymxJme.js +6 -0
- package/dist/preact/autocomplete/autocomplete.cjs.js +1 -1
- package/dist/preact/autocomplete/autocomplete.es.js +43 -42
- package/dist/preact/category/category.cjs.js +1 -1
- package/dist/preact/category/category.es.js +2 -4
- package/dist/preact/common/common.cjs.js +1 -1
- package/dist/preact/common/common.es.js +24 -31
- package/dist/preact/events/events.cjs.js +1 -1
- package/dist/preact/events/events.es.js +3 -8
- package/dist/preact/hooks/hooks.cjs.js +1 -1
- package/dist/preact/hooks/hooks.es.js +494 -508
- package/dist/preact/inject/inject.cjs.js +1 -1
- package/dist/preact/inject/inject.es.js +313 -301
- package/dist/preact/legacy/legacy.cjs.js +1 -1
- package/dist/preact/legacy/legacy.es.js +4 -10
- package/dist/preact/serp/serp.cjs.js +1 -1
- package/dist/preact/serp/serp.es.js +25 -18
- package/dist/search-BeFE0Ezr.cjs +1 -0
- package/dist/search-C2WGFf4C.js +155 -0
- package/dist/storage-B3FIcJQv.cjs +1 -0
- package/dist/storage-DeAo7M3s.js +115 -0
- package/dist/thumbnails/thumbnails.cjs.js +1 -1
- package/dist/thumbnails/thumbnails.es.js +93 -97
- package/dist/unique-BXFI_-3F.cjs +1 -0
- package/dist/unique-DSDxyj90.js +37 -0
- package/dist/useActions-BmWNZAES.js +182 -0
- package/dist/useActions-boQy-Vp0.cjs +1 -0
- package/dist/useHistory-BMkSr69f.js +24 -0
- package/dist/useHistory-GRnuHgQ5.cjs +1 -0
- package/dist/useLoadMore-B9LiuhfV.cjs +1 -0
- package/dist/useLoadMore-BkJV7F21.js +38 -0
- package/dist/utils/utils.cjs.js +1 -1
- package/dist/utils/utils.es.js +8 -28
- package/package.json +12 -12
- package/dist/AutocompletePageProvider-CFEbt11-.cjs +0 -1
- package/dist/AutocompletePageProvider-CQePqAhB.js +0 -35
- package/dist/BaseElement-CIHACCWd.cjs +0 -1
- package/dist/BaseElement-DD_4UwDm.js +0 -24
- package/dist/CategoryPageProvider-037sXEh9.cjs +0 -1
- package/dist/CategoryPageProvider-DVL9lsCU.js +0 -26
- package/dist/ErrorBoundary-DFs5vnv-.js +0 -11
- package/dist/ErrorBoundary-DNPL7EwP.cjs +0 -1
- package/dist/InfiniteScrollWithObserver-BliG4dEl.cjs +0 -1
- package/dist/InfiniteScrollWithObserver-DvkEUZUE.js +0 -205
- package/dist/SerpPageProvider-BzrNPc7g.js +0 -26
- package/dist/SerpPageProvider-CxqiX9Zo.cjs +0 -1
- package/dist/baseConfig-BOOw0mWW.cjs +0 -1
- package/dist/baseConfig-Cf28X268.js +0 -48
- package/dist/cl-B00bZ7jc.cjs +0 -1
- package/dist/cl-CcykAxZN.js +0 -6
- package/dist/disableNativeAutocomplete-Bkta_WR2.js +0 -27
- package/dist/disableNativeAutocomplete-DI6zaZII.cjs +0 -1
- package/dist/eventBusDispatch-BKQcSHAB.cjs +0 -1
- package/dist/eventBusDispatch-DPR2Vwd4.js +0 -20
- package/dist/eventBusSubscribe-B5E7dTzk.js +0 -26
- package/dist/eventBusSubscribe-C4H9Nv1Z.cjs +0 -1
- package/dist/index.es-Dp6Iaxz3.cjs +0 -1
- package/dist/index.es-XNBESE3P.js +0 -26
- package/dist/isBot-C-qPIZyF.cjs +0 -1
- package/dist/jsxRuntime.module-B3sGoTIU.cjs +0 -1
- package/dist/jsxRuntime.module-Bzuv3cXw.js +0 -13
- package/dist/parseNumber-FsZ8w61u.cjs +0 -1
- package/dist/parseNumber-QA48nJLp.js +0 -11
- package/dist/pick-DReBictn.js +0 -9
- package/dist/pick-rYi1lc2m.cjs +0 -1
- package/dist/search-BchLEATK.cjs +0 -1
- package/dist/search-D1jQPG6P.js +0 -156
- package/dist/storage-9KuhFI9v.cjs +0 -1
- package/dist/storage-B97DRj5i.js +0 -121
- package/dist/unique-C1G3v2Y8.cjs +0 -1
- package/dist/unique-CCu7ChUL.js +0 -39
- package/dist/useActions-BD6dgsX8.js +0 -260
- package/dist/useActions-DIlSparF.cjs +0 -1
- package/dist/useHistory-DLCyHMo1.cjs +0 -1
- package/dist/useHistory-sjFYeR68.js +0 -27
- package/dist/useLoadMore-BMOT8Dfn.js +0 -33
- package/dist/useLoadMore-vCpwy6JC.cjs +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//#region packages/utils/src/bindInput.ts
|
|
2
|
+
function e(e, { onClick: t, onFocus: n, onInput: r, onKeyDown: i, onSubmit: a }, { form: o = e.form ?? void 0, nativeSubmit: s } = {}) {
|
|
3
|
+
let c = [];
|
|
4
|
+
function l(e, t, n) {
|
|
5
|
+
e.addEventListener(t, n), c.push(() => e.removeEventListener(t, n));
|
|
6
|
+
}
|
|
7
|
+
return (i || a) && l(e, "keydown", (t) => {
|
|
8
|
+
let n = i?.(e.value, t.key);
|
|
9
|
+
i && (t.key === "ArrowDown" || t.key === "ArrowUp") ? t.preventDefault() : a && t.key === "Enter" && (e.value !== "" && !t.repeat && !n && a(e.value), s || t.preventDefault());
|
|
10
|
+
}), a && o && (l(o, "submit", (t) => {
|
|
11
|
+
s || t.preventDefault(), a(e.value);
|
|
12
|
+
}), o.querySelectorAll("[type=submit]").forEach((t) => {
|
|
13
|
+
l(t, "click", (t) => {
|
|
14
|
+
s || t.preventDefault(), a(e.value);
|
|
15
|
+
});
|
|
16
|
+
})), t && l(e, "click", () => t(e.value)), n && l(e, "focus", () => n(e.value)), r && l(e, "input", () => r(e.value)), { destroy() {
|
|
17
|
+
c.forEach((e) => e());
|
|
18
|
+
} };
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region packages/utils/src/disableNativeAutocomplete.ts
|
|
22
|
+
function t(e) {
|
|
23
|
+
e.setAttribute("autocomplete", "off");
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { e as n, t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,{onClick:t,onFocus:n,onInput:r,onKeyDown:i,onSubmit:a},{form:o=e.form??void 0,nativeSubmit:s}={}){let c=[];function l(e,t,n){e.addEventListener(t,n),c.push(()=>e.removeEventListener(t,n))}return(i||a)&&l(e,`keydown`,t=>{let n=i?.(e.value,t.key);i&&(t.key===`ArrowDown`||t.key===`ArrowUp`)?t.preventDefault():a&&t.key===`Enter`&&(e.value!==``&&!t.repeat&&!n&&a(e.value),s||t.preventDefault())}),a&&o&&(l(o,`submit`,t=>{s||t.preventDefault(),a(e.value)}),o.querySelectorAll(`[type=submit]`).forEach(t=>{l(t,`click`,t=>{s||t.preventDefault(),a(e.value)})})),t&&l(e,`click`,()=>t(e.value)),n&&l(e,`focus`,()=>n(e.value)),r&&l(e,`input`,()=>r(e.value)),{destroy(){c.forEach(e=>e())}}}function t(e){e.setAttribute(`autocomplete`,`off`)}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require(`preact/hooks`);function t({event:e,params:t}){window.dispatchEvent(new CustomEvent(`@nosto/search-js/${e}`,{detail:t}))}function n({event:n}){return(0,e.useCallback)(e=>{t({event:n,params:e})},[n])}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useCallback as e } from "preact/hooks";
|
|
2
|
+
//#region packages/preact/events/src/eventBusDispatch.ts
|
|
3
|
+
function t({ event: e, params: t }) {
|
|
4
|
+
window.dispatchEvent(new CustomEvent(`@nosto/search-js/${e}`, { detail: t }));
|
|
5
|
+
}
|
|
6
|
+
function n({ event: n }) {
|
|
7
|
+
return e((e) => {
|
|
8
|
+
t({
|
|
9
|
+
event: n,
|
|
10
|
+
params: e
|
|
11
|
+
});
|
|
12
|
+
}, [n]);
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { n, t };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useCallback as e, useEffect as t } from "preact/hooks";
|
|
2
|
+
//#region packages/preact/events/src/eventBusSubscribe.ts
|
|
3
|
+
function n({ event: e, callback: t }) {
|
|
4
|
+
let n = ((e) => {
|
|
5
|
+
let n = e.detail;
|
|
6
|
+
t(n);
|
|
7
|
+
});
|
|
8
|
+
return window.addEventListener(`@nosto/search-js/${e}`, n), () => {
|
|
9
|
+
window.removeEventListener(`@nosto/search-js/${e}`, n);
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
function r({ event: n, callback: r }) {
|
|
13
|
+
let i = e((e) => {
|
|
14
|
+
let t = e.detail;
|
|
15
|
+
r(t);
|
|
16
|
+
}, [r]);
|
|
17
|
+
t(() => (window.addEventListener(`@nosto/search-js/${n}`, i), () => {
|
|
18
|
+
window.removeEventListener(`@nosto/search-js/${n}`, i);
|
|
19
|
+
}), [n, i]);
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { r as n, n as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require(`preact/hooks`);function t({event:e,callback:t}){let n=(e=>{let n=e.detail;t(n)});return window.addEventListener(`@nosto/search-js/${e}`,n),()=>{window.removeEventListener(`@nosto/search-js/${e}`,n)}}function n({event:t,callback:n}){let r=(0,e.useCallback)(e=>{let t=e.detail;n(t)},[n]);(0,e.useEffect)(()=>(window.addEventListener(`@nosto/search-js/${t}`,r),()=>{window.removeEventListener(`@nosto/search-js/${t}`,r)}),[t,r])}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(){window.nostojs=window.nostojs??function(e){(window.nostojs.q=window.nostojs.q??[]).push(e)}}async function t(e){return window.nostojs(e)}var n=null;typeof window<`u`&&(e(),t(e=>{n=e.internal.getSettings()}));function r(){return n}async function i(e,t,n){if(!window.Nosto?.addSkuToCart)throw Error(`Nosto addSkuToCart function is not available`);await window.Nosto.addSkuToCart(e,t,n)}typeof window<`u`&&e(),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region node_modules/@nosto/nosto-js/dist/settings-DN0V2st5.js
|
|
2
|
+
function e() {
|
|
3
|
+
window.nostojs = window.nostojs ?? function(e) {
|
|
4
|
+
(window.nostojs.q = window.nostojs.q ?? []).push(e);
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
async function t(e) {
|
|
8
|
+
return window.nostojs(e);
|
|
9
|
+
}
|
|
10
|
+
var n = null;
|
|
11
|
+
typeof window < "u" && (e(), t((e) => {
|
|
12
|
+
n = e.internal.getSettings();
|
|
13
|
+
}));
|
|
14
|
+
function r() {
|
|
15
|
+
return n;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region node_modules/@nosto/nosto-js/dist/index.es.js
|
|
19
|
+
async function i(e, t, n) {
|
|
20
|
+
if (!window.Nosto?.addSkuToCart) throw Error("Nosto addSkuToCart function is not available");
|
|
21
|
+
await window.Nosto.addSkuToCart(e, t, n);
|
|
22
|
+
}
|
|
23
|
+
typeof window < "u" && e();
|
|
24
|
+
//#endregion
|
|
25
|
+
export { r as n, t as r, i as t };
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
//#region node_modules/isbot/index.mjs
|
|
2
|
+
var e = " daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! (?:channel/|google/))google(?!(app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!(?:lib))http|(?<!cam)scan|24x7|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\b\\w+\\.ai|\\bmanus-user/|\\bort/|\\bperl\\b|\\bsecurityheaders\\b|\\btime/|\\||^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[^ ]{50,}$|^\\d+\\b|^\\W|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$|^active|^ad muncher|^amaya|^apache/|^avsdevicesdk/|^azure|^biglotron|^bot|^bw/|^clamav[ /]|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^python|^rank|^read|^reed|^rest|^rss|^snapchat|^space bison|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|advisor|agent\\b|analyzer|archive|ask jeeves/teoma|audit|bit\\.ly/|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|convertify|crawl|cypress/|dareboost|datanyze|dejaclick|detect|dmbrowser|download|exaleadcloudview|feed|fetcher|firephp|functionize|grab|headless|httrack|hubspot marketing grader|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|mail\\.ru/|manager|measure|monitor\\b|neustar wpm|node\\b|nutch|offbyone|onetrust|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|powermarks|preview|proxy|ptst[ /]\\d|retriever|rexx;|rigor|rss\\b|scrape|server|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|tools|torrent|transcoder|url|validator|virtuoso|wappalyzer|webglance|webkit2png|whatcms/|xtate/", t = /bot|crawl|http|lighthouse|scan|search|spider/i, n;
|
|
3
|
+
function r() {
|
|
4
|
+
if (n instanceof RegExp) return n;
|
|
5
|
+
try {
|
|
6
|
+
n = new RegExp(e, "i");
|
|
7
|
+
} catch {
|
|
8
|
+
n = t;
|
|
9
|
+
}
|
|
10
|
+
return n;
|
|
11
11
|
}
|
|
12
|
-
function
|
|
13
|
-
|
|
12
|
+
function i(e) {
|
|
13
|
+
return !!e && r().test(e);
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region packages/utils/src/isBot.ts
|
|
17
|
+
function a() {
|
|
18
|
+
return i(navigator.userAgent);
|
|
17
19
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { a as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=` daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! (?:channel/|google/))google(?!(app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!(?:lib))http|(?<!cam)scan|24x7|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\b\\w+\\.ai|\\bmanus-user/|\\bort/|\\bperl\\b|\\bsecurityheaders\\b|\\btime/|\\||^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[^ ]{50,}$|^\\d+\\b|^\\W|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$|^active|^ad muncher|^amaya|^apache/|^avsdevicesdk/|^azure|^biglotron|^bot|^bw/|^clamav[ /]|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^python|^rank|^read|^reed|^rest|^rss|^snapchat|^space bison|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|advisor|agent\\b|analyzer|archive|ask jeeves/teoma|audit|bit\\.ly/|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|convertify|crawl|cypress/|dareboost|datanyze|dejaclick|detect|dmbrowser|download|exaleadcloudview|feed|fetcher|firephp|functionize|grab|headless|httrack|hubspot marketing grader|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|mail\\.ru/|manager|measure|monitor\\b|neustar wpm|node\\b|nutch|offbyone|onetrust|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|powermarks|preview|proxy|ptst[ /]\\d|retriever|rexx;|rigor|rss\\b|scrape|server|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|tools|torrent|transcoder|url|validator|virtuoso|wappalyzer|webglance|webkit2png|whatcms/|xtate/`,t=/bot|crawl|http|lighthouse|scan|search|spider/i,n;function r(){if(n instanceof RegExp)return n;try{n=new RegExp(e,`i`)}catch{n=t}return n}function i(e){return!!e&&r().test(e)}function a(){return i(navigator.userAgent)}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Fragment as e, options as t } from "preact";
|
|
2
|
+
//#region node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
|
|
3
|
+
var n = 0;
|
|
4
|
+
Array.isArray;
|
|
5
|
+
function r(e, r, i, a, o, s) {
|
|
6
|
+
r ||= {};
|
|
7
|
+
var c, l, u = r;
|
|
8
|
+
if ("ref" in u) for (l in u = {}, r) l == "ref" ? c = r[l] : u[l] = r[l];
|
|
9
|
+
var d = {
|
|
10
|
+
type: e,
|
|
11
|
+
props: u,
|
|
12
|
+
key: i,
|
|
13
|
+
ref: c,
|
|
14
|
+
__k: null,
|
|
15
|
+
__: null,
|
|
16
|
+
__b: 0,
|
|
17
|
+
__e: null,
|
|
18
|
+
__c: null,
|
|
19
|
+
constructor: void 0,
|
|
20
|
+
__v: --n,
|
|
21
|
+
__i: -1,
|
|
22
|
+
__u: 0,
|
|
23
|
+
__source: o,
|
|
24
|
+
__self: s
|
|
25
|
+
};
|
|
26
|
+
if (typeof e == "function" && (c = e.defaultProps)) for (l in c) u[l] === void 0 && (u[l] = c[l]);
|
|
27
|
+
return t.vnode && t.vnode(d), d;
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
export { r as n, e as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require(`preact`);var t=0;Array.isArray;function n(n,r,i,a,o,s){r||={};var c,l,u=r;if(`ref`in u)for(l in u={},r)l==`ref`?c=r[l]:u[l]=r[l];var d={type:n,props:u,key:i,ref:c,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--t,__i:-1,__u:0,__source:o,__self:s};if(typeof n==`function`&&(c=n.defaultProps))for(l in c)u[l]===void 0&&(u[l]=c[l]);return e.options.vnode&&e.options.vnode(d),d}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){if(typeof e==`number`)return e;if(typeof e!=`string`)return;let t=Number(e);return isNaN(t)?void 0:t}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return e}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,...t){return t.reduce((t,n)=>(t[n]=e[n],t),{})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return e}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../index.es-Ba4tuzxb.cjs`),t=require(`../../cl-CYT5y6Dn.cjs`),n=require(`../../AutocompletePageProvider-DzjwKsBp.cjs`),r=require(`../../jsxRuntime.module-Ba9fccPy.cjs`),i=require(`../../BaseElement-BnP6tQrH.cjs`);let a=require(`preact/hooks`);function o({children:t,hit:n,as:o,componentProps:s}){return r.t(i.t,{onClick:(0,a.useCallback)(()=>{n&&`productId`in n&&e.r(e=>e.recordSearchClick(`autocomplete`,n))},[n]),as:o,componentProps:s,className:`ns-autocomplete-element`,children:t})}function s({children:e,class:n,onSubmit:i}){return r.t(`div`,{className:t.t(`ns-autocomplete-element`,n),onClick:i,onKeyDown:e=>{e.key===`Enter`&&i()},children:e})}function c({as:e,componentProps:t,onSearchInput:n,children:i}){let a={...t,onInput:e=>{n(e.target)}},o=e??`input`;return e||(a.type=`search`),r.t(o,{...a,children:i})}exports.AutocompleteElement=o,exports.AutocompletePageProvider=n.t,exports.HistoryElement=s,exports.SearchInput=c;
|
|
@@ -1,45 +1,46 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { r as e } from "../../index.es-jSYcbRvi.js";
|
|
2
|
+
import { t } from "../../cl-G5KK1qHD.js";
|
|
3
|
+
import { t as n } from "../../AutocompletePageProvider-D48n1GB-.js";
|
|
4
|
+
import { n as r } from "../../jsxRuntime.module-BRdvPAre.js";
|
|
5
|
+
import { t as i } from "../../BaseElement-C25wjvSR.js";
|
|
6
|
+
import { useCallback as a } from "preact/hooks";
|
|
7
|
+
//#region packages/preact/autocomplete/src/components/AutocompleteElement.tsx
|
|
8
|
+
function o({ children: t, hit: n, as: o, componentProps: s }) {
|
|
9
|
+
return /* @__PURE__ */ r(i, {
|
|
10
|
+
onClick: a(() => {
|
|
11
|
+
n && "productId" in n && e((e) => e.recordSearchClick("autocomplete", n));
|
|
12
|
+
}, [n]),
|
|
13
|
+
as: o,
|
|
14
|
+
componentProps: s,
|
|
15
|
+
className: "ns-autocomplete-element",
|
|
16
|
+
children: t
|
|
17
|
+
});
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
);
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region packages/preact/autocomplete/src/components/HistoryElement.tsx
|
|
21
|
+
function s({ children: e, class: n, onSubmit: i }) {
|
|
22
|
+
return /* @__PURE__ */ r("div", {
|
|
23
|
+
className: t("ns-autocomplete-element", n),
|
|
24
|
+
onClick: i,
|
|
25
|
+
onKeyDown: (e) => {
|
|
26
|
+
e.key === "Enter" && i();
|
|
27
|
+
},
|
|
28
|
+
children: e
|
|
29
|
+
});
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region packages/preact/autocomplete/src/components/SearchInput.tsx
|
|
33
|
+
function c({ as: e, componentProps: t, onSearchInput: n, children: i }) {
|
|
34
|
+
let a = {
|
|
35
|
+
...t,
|
|
36
|
+
onInput: (e) => {
|
|
37
|
+
n(e.target);
|
|
38
|
+
}
|
|
39
|
+
}, o = e ?? "input";
|
|
40
|
+
return e || (a.type = "search"), /* @__PURE__ */ r(o, {
|
|
41
|
+
...a,
|
|
42
|
+
children: i
|
|
43
|
+
});
|
|
39
44
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
g as AutocompletePageProvider,
|
|
43
|
-
E as HistoryElement,
|
|
44
|
-
A as SearchInput
|
|
45
|
-
};
|
|
45
|
+
//#endregion
|
|
46
|
+
export { o as AutocompleteElement, n as AutocompletePageProvider, s as HistoryElement, c as SearchInput };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../CategoryPageProvider-B6w4FHhB.cjs`);exports.CategoryPageProvider=e.t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../isBot-CkyQfegP.cjs`),t=require(`../../pick-0KNFTqKn.cjs`),n=require(`../../useActions-boQy-Vp0.cjs`),r=require(`../../jsxRuntime.module-Ba9fccPy.cjs`),i=require(`../../ErrorBoundary-BtAe8lXu.cjs`),a=require(`../../useLoadMore-B9LiuhfV.cjs`),o=require(`../../InfiniteScrollWithObserver-k7oYk4f9.cjs`);let s=require(`preact`);function c({pageSize:e}){let{loadMore:t}=a.t(e);return r.t(`button`,{onClick:t,children:`More results`})}function l({children:e,loadMoreComponent:n,pageSize:i}){let{loading:l,query:u,response:d}=a.r(e=>t.t(e,`loading`,`query`,`response`));return r.t(s.Fragment,{children:[e,!l&&o.n(u,d)&&(n?r.t(n,{pageSize:i}):r.t(c,{pageSize:i}))]})}var u=!e.t()&&o.r()?o.t:l;exports.ErrorBoundary=i.t,exports.InfiniteScroll=u,exports.InfiniteScrollWithLink=l,exports.StoreContext=n.i,exports.createExtendableStore=n.s,exports.createStore=n.a,exports.defaultState=n.o,exports.useAutocompleteConfig=n.l,exports.useCategoryConfig=n.u,exports.useConfig=n.d,exports.useSerpConfig=n.f;
|
|
@@ -1,33 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { u as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { t as e } from "../../isBot-CPesLwHL.js";
|
|
2
|
+
import { t } from "../../pick-B8ymxJme.js";
|
|
3
|
+
import { a as n, d as r, f as i, i as a, l as o, o as s, s as c, u as l } from "../../useActions-BmWNZAES.js";
|
|
4
|
+
import { n as u, t as d } from "../../jsxRuntime.module-BRdvPAre.js";
|
|
5
|
+
import { t as f } from "../../ErrorBoundary-Bxyssvki.js";
|
|
6
|
+
import { r as p, t as m } from "../../useLoadMore-BkJV7F21.js";
|
|
7
|
+
import { n as h, r as g, t as _ } from "../../InfiniteScrollWithObserver-8imjYGGz.js";
|
|
8
|
+
//#region packages/preact/common/src/components/InfiniteScroll/LoadMoreLink.tsx
|
|
9
|
+
function v({ pageSize: e }) {
|
|
10
|
+
let { loadMore: t } = m(e);
|
|
11
|
+
return /* @__PURE__ */ u("button", {
|
|
12
|
+
onClick: t,
|
|
13
|
+
children: "More results"
|
|
14
|
+
});
|
|
12
15
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
] });
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region packages/preact/common/src/components/InfiniteScroll/InfiniteScrollWithLink.tsx
|
|
18
|
+
function y({ children: e, loadMoreComponent: n, pageSize: r }) {
|
|
19
|
+
let { loading: i, query: a, response: o } = p((e) => t(e, "loading", "query", "response"));
|
|
20
|
+
return /* @__PURE__ */ u(d, { children: [e, !i && h(a, o) && u(n || v, { pageSize: r })] });
|
|
19
21
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
B as StoreContext,
|
|
26
|
-
O as createExtendableStore,
|
|
27
|
-
W as createStore,
|
|
28
|
-
F as defaultState,
|
|
29
|
-
N as useAutocompleteConfig,
|
|
30
|
-
R as useCategoryConfig,
|
|
31
|
-
j as useConfig,
|
|
32
|
-
w as useSerpConfig
|
|
33
|
-
};
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region packages/preact/common/src/components/InfiniteScroll/InfiniteScroll.tsx
|
|
24
|
+
var b = !e() && g() ? _ : y;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { f as ErrorBoundary, b as InfiniteScroll, y as InfiniteScrollWithLink, a as StoreContext, c as createExtendableStore, n as createStore, s as defaultState, o as useAutocompleteConfig, l as useCategoryConfig, r as useConfig, i as useSerpConfig };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../eventBusSubscribe-c9a_PP0j.cjs`),t=require(`../../eventBusDispatch-B6VswTu8.cjs`);exports.dispatchNostoEvent=t.t,exports.subscribeToNostoEvent=e.t,exports.useEventBusDispatch=t.n,exports.useEventBusSubscribe=e.n;
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
4
|
-
t as dispatchNostoEvent,
|
|
5
|
-
a as subscribeToNostoEvent,
|
|
6
|
-
o as useEventBusDispatch,
|
|
7
|
-
r as useEventBusSubscribe
|
|
8
|
-
};
|
|
1
|
+
import { n as e, t } from "../../eventBusSubscribe-C6qT1aOO.js";
|
|
2
|
+
import { n, t as r } from "../../eventBusDispatch-DnFmEqYe.js";
|
|
3
|
+
export { r as dispatchNostoEvent, t as subscribeToNostoEvent, n as useEventBusDispatch, e as useEventBusSubscribe };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("../../useActions-DIlSparF.cjs"),q=require("../../storage-9KuhFI9v.cjs"),h=require("../../useLoadMore-vCpwy6JC.cjs"),L=require("../../eventBusSubscribe-C4H9Nv1Z.cjs"),l=require("preact/hooks"),M=require("../../useHistory-DLCyHMo1.cjs"),z=require("../../index.es-Dp6Iaxz3.cjs"),O=require("../../eventBusDispatch-BKQcSHAB.cjs"),F=require("../../parseNumber-FsZ8w61u.cjs");function X(e){const s=h.useNostoAppState(t=>t.response);return e&&Array.isArray(e)||e&&q.isPlainObject(e)?e:s}function E(e,s){const t=e.data?.filter(f=>f.selected).length??0,{active:o}={active:t>0,...s},[n,c]=l.useState(o),{toggleProductFilter:u}=A.useActions(),a=l.useCallback(()=>{c(!n)},[n]);return L.useEventBusSubscribe({event:"events/removeAllFilters",callback:()=>{c(!1)}}),{active:n,selectedFiltersCount:t,toggleActive:a,toggleProductFilter:u}}function j(){const{loading:e,facets:s}=h.useNostoAppState(t=>({loading:t.loading,facets:t.response?.products?.facets??[]}));return{loading:e,facets:s}}function V(e,s){const t=s-e;return!isNaN(t)&&t>0?new Array(s-e).fill(void 0).map((o,n)=>n+e):[]}function B(e){const{query:s,products:t}=h.useNostoAppState(o=>({query:o.query,products:o.response.products}));return l.useMemo(()=>{if(!t)return{totalPages:0,resultsFrom:0,resultsTo:0,pages:[]};const o=s.products?.from??0,n=e?.width??1/0,c=Math.max(Math.floor(n-1)/2,1),u=t.size>0?Math.floor(o/t.size)+1:1,a=t.size>0?Math.ceil(t.total/t.size):0,f=y=>y>=u-c&&y<=u+c,r=o+1,i=Math.min(o+t.total,t.total),d={from:o,page:u,current:!0},p=y=>({from:(y-1)*t.size,page:y,current:y===u}),S=u>1?p(u-1):void 0,v=u<a?p(u+1):void 0,m=u-c-1>1?p(1):void 0,g=u+c+1<a?p(a):void 0,b=V(1,a+1).filter(f).map(p);return!m&&b[0]?.page===2&&b.unshift(p(1)),!g&&b[b.length-1]?.page===a-1&&b.push(p(a)),{totalPages:a,resultsFrom:r,resultsTo:i,current:d,prev:S,next:v,first:m,last:g,pages:b}},[s,t,e?.width])}function D(){const[e,s]=l.useState([]),[t,o]=l.useState([]);return l.useEffect(()=>{z.s(async n=>{const{products:c,segments:u}=await n.getSearchSessionParams();s(u??[]),o(c?.personalizationBoost??[])})},[]),{segments:e,boost:t}}function $(){const{facets:e}=h.useNostoAppState(r=>({facets:r.response.products?.facets??[]})),{replaceFilter:s,toggleProductFilter:t}=A.useActions(),o=l.useCallback(r=>{const i=e?.find(d=>d.type==="stats"&&d.field===r);if(i&&"min"in i&&"max"in i)return i},[e]),n=l.useCallback(r=>e?.find(i=>i.field===r)?.name??r,[e]),c=l.useCallback(r=>"field"in r&&(r.value instanceof Array||r.range instanceof Array),[]),u=l.useCallback(r=>({...r,range:r.range?.map(i=>({gt:i.gt?Number(i.gt):i.gt,gte:i.gte?Number(i.gte):i.gte,lt:i.lt?Number(i.lt):i.lt,lte:i.lte?Number(i.lte):i.lte}))}),[]),a=l.useCallback(r=>(r.value??[]).map(d=>({value:d,field:r.field,name:n(r.field),filter:u(r),remove:()=>{t(r.field,d,!1)}})),[u,n,t]),f=l.useCallback(r=>(r.range??[]).map(d=>{const p=d.gte??d.gt??o(r.field)?.min,S=d.lte??d.lt??o(r.field)?.max;if(p!==void 0&&S!==void 0)return{value:`${p} - ${S}`,field:r.field,name:n(r.field),filter:u(r),remove:()=>{s(r.field,void 0)}}}).filter(Boolean),[u,o,n,s]);return{selectFilters:c,toValueFilter:a,toRangeFilter:f}}function T(){const{filter:e}=h.useNostoAppState(a=>({filter:a.query.products?.filter??[]})),{updateSearch:s}=A.useActions(),{selectFilters:t,toValueFilter:o,toRangeFilter:n}=$(),c=l.useMemo(()=>e?e.filter(t).flatMap(a=>"value"in a?o(a):"range"in a?n(a):[]).filter(Boolean):[],[e,t,n,o]),u=l.useCallback(()=>{s({products:{filter:[]}}),O.dispatchNostoEvent({event:"events/removeAllFilters",params:null})},[s]);return{filters:c,removeAll:u}}function x(e){const{replaceFilter:s}=A.useActions(),{query:t,products:o}=h.useNostoAppState(g=>({query:g.query,products:g.response.products})),n=o?.facets?.find(g=>g.id===e),c=t.products?.filter?.find(g=>g.field===n?.field),[u,a]=U(c),f=n&&"min"in n?Math.floor(n.min??0):0,r=n&&"max"in n?Math.ceil(n.max??0):0,i=l.useMemo(()=>[u??f,a??r],[u,a,f,r]),d=u!==void 0||a!==void 0,[p,S]=l.useState(d),v=l.useCallback(()=>{S(g=>!g)},[]),m=l.useCallback(([g,b])=>{if(!n)return;const y=_(g,b,f,r);s(n.field,y)},[f,r,s,n]);return L.useEventBusSubscribe({event:"events/removeAllFilters",callback:()=>{S(!1)}}),n?{min:f,max:r,range:i,updateRange:m,active:p,toggleActive:v}:H}const H={min:0,max:0,range:[0,0],active:!1,toggleActive:()=>{},updateRange:()=>{}};function U(e){const s=e?.range?.[0];return typeof s=="object"&&("gte"in s||"lte"in s)?[F.parseNumber(s.gte),F.parseNumber(s.lte)]:[void 0,void 0]}function _(e,s,t,o){const n=e!==void 0?Math.floor(e):void 0,c=s!==void 0?Math.ceil(s):void 0,u=n!==void 0,a=c!==void 0;if((t===n||!u)&&(o===c||!a))return;const f={};return u&&n!==t&&(f.gte=n.toString()),a&&c!==o&&(f.lte=c.toString()),Object.keys(f).length>0?f:void 0}function I(e,s){const{min:t,max:o,range:n,updateRange:c}=x(e),{filters:u}=T(),a=l.useMemo(()=>{const d=u.find(m=>m?.filter?.range);let p=null;if(d){const m=d.filter.range?.[0];p=[F.parseNumber(m?.gte),F.parseNumber(m?.lte)]}const S=[];let v=Math.floor(t/s)*s;for(;v<o;){const m=v+s,g=p&&p[0]===v&&p[1]===m;S.push({min:v,max:m,selected:g}),v=m}return S},[u,t,o,s]),f=l.useCallback(d=>{c([d,n[1]])},[n,c]),r=l.useCallback(d=>{c([n[0],d])},[n,c]),i=t!==n[0]||o!==n[1];return{min:t,max:o,range:n,updateRange:c,ranges:a,handleMinChange:f,handleMaxChange:r,isSelected:i}}function K(){const{products:e,keywords:s,popularSearches:t,categories:o}=h.useNostoAppState(n=>({products:n.response.products??w,keywords:n.response.keywords??w,popularSearches:n.response.popularSearches??w,categories:n.response.categories??w}));return{products:e,keywords:s,popularSearches:t,categories:o}}const w={hits:[],total:0};function Z(){const e=h.useNostoAppState(t=>t.query.products?.filter);return l.useMemo(()=>e?e.reduce((t,o)=>t+(Array.isArray(o.value)?o.value.length:1),0):0,[e])}const G=300*1e3,N=new Map;function J(e){const[s,t]=l.useState({product:null,loading:!0,error:null});return l.useEffect(()=>{if(!e){t({product:null,loading:!1,error:"Product handle is required"});return}t(n=>({...n,loading:!0,error:null}));const o=Y(e);if(o){t({product:o,loading:!1,error:null});return}W(e).then(n=>{ee(e,n),t({product:n,loading:!1,error:null})}).catch(n=>{t({product:null,loading:!1,error:n.message||"Failed to fetch product"})})},[e]),s}function Q(e){const s=window.Shopify?.routes?.root;return s?new URL(`${s}products/${e}`,window.location.href):e}async function W(e){const s=await fetch(Q(`/products/${e}.js`));if(!s.ok)throw new Error(`Failed to fetch product: ${s.status} ${s.statusText}`);return s.json()}function Y(e){const s=N.get(e);return s?Date.now()-s.created>G?(N.delete(e),null):s.product:null}function ee(e,s){N.set(e,{product:s,created:Date.now()})}function k(e){return e&&!Number.isNaN(e)?e:0}function te(e,s){const{from:t,size:o,total:n}=h.useNostoAppState(r=>({from:k(r.query.products?.from??0),size:k(r.response?.products?.size??s),total:k(r.response?.products?.total??0)})),{updateSearch:c}=A.useActions(),u=t+o,a=l.useMemo(()=>[...e].reverse().filter(r=>r<n),[e,n]),f=l.useCallback(r=>{c({products:{size:F.parseNumber(r)}})},[c]);return{from:t,to:u,total:n,size:o,sizeOptions:a,handleSizeChange:f}}function se(e,s){return e.length!==s.length?!1:e.every(t=>s.find(o=>t.field===o.field&&t.order===o.order))}function ne(e){const s=h.useNostoAppState(c=>c.query),{updateSearch:t}=A.useActions(),o=e.find(c=>se(c.value.sort,s.products?.sort||[]))?.id??e[0]?.id,n=l.useCallback(c=>{if(c===o)return;const u=e.find(a=>a.id===c);u&&t({products:{sort:u.value.sort}})},[e,t,o]);return{activeSort:o,setSort:n}}const C=window.SpeechRecognition||window.webkitSpeechRecognition,P=!!(C&&typeof C=="function");function oe(){return{listening:!1,startListening:()=>{},stopListening:()=>{}}}function re({language:e="en-US",interimResults:s=!1,onResult:t,onError:o}={}){const[n,c]=l.useState(!1),u=l.useRef(null),a=l.useCallback(()=>{const r=new C;r.lang=e,r.interimResults=s,r.onstart=()=>c(!0),t&&(r.onresult=i=>{const{transcript:d}=i.results?.[0]?.[0];t(d)}),o&&(r.onerror=i=>o(i.error)),r.onend=()=>c(!1),u.current=r,r.start()},[e,s,o,t]),f=l.useCallback(()=>{u.current?.stop()},[u]);return{listening:n,startListening:a,stopListening:f}}const ce=P?re:oe;function ue(e,s){if(!e.length||!s.length)return[];const t=s.reduce((o,n)=>(o[n]={},o),{});return e.forEach(o=>{o.customFields?.forEach(({key:n,value:c})=>{const u=n.toLowerCase();s.includes(u)&&(t[u][c]=t[u][c]||[],t[u][c].push(o))})}),Object.entries(t).filter(o=>Object.keys(o[1]).length).map(([o,n])=>({field:o,options:Object.entries(n).map(([c,u])=>({value:c,skus:u,unavailable:!1,selected:!1}))}))}function ie(e,s){return e.length?e.map(({field:t,options:o})=>({field:t,options:o.map(n=>{const c=!n.skus?.some(a=>Object.entries(s).every(([f,r])=>f===t?!0:a.customFields?.find(d=>d.key.toLowerCase()===f)?.value===r)),u=s[t]===n.value;return{...n,unavailable:c,selected:u}})})):[]}const R=["4XS","3XS","2XS","XXS","XS","S","M","L","XL","XXL","2XL","XXXL","3XL","4XL"];function ae(e){if(R.includes(e))return 1e3+R.indexOf(e);const s=parseFloat(e);return isNaN(s)?e:s}function le(e,s){return[...s].sort((t,o)=>{const[n,c]=[t.value,o.value].map(ae);return n<c?-1:1})}function de(e=[],s=[]){const[t,o]=l.useState({}),n=l.useMemo(()=>ue(e,s).map(({field:r,options:i})=>({field:r,options:le(r,i)})),[e,s]),c=l.useMemo(()=>ie(n,t),[n,t]),u=l.useCallback((f,r)=>{o(i=>{const d={...i};return d[f]===r?delete d[f]:d[f]=r,d})},[]),a=l.useMemo(()=>Object.keys(t).filter(i=>t[i]).length===0?[]:c.filter(({field:i})=>t[i]).map(({field:i,options:d})=>{const p=t[i];return d.find(v=>v.value===p)?.skus??[]}).reduce((i,d)=>i.filter(p=>d.includes(p))),[c,t]);return{swatches:c,toggleOption:u,matchedSkus:a}}exports.useActions=A.useActions;exports.useLoadMore=h.useLoadMore;exports.useNostoAppState=h.useNostoAppState;exports.addToHistory=M.addToHistory;exports.getSavedHistory=M.getSavedHistory;exports.useHistory=M.useHistory;exports.speechToTextSupported=P;exports.useDecoratedSearchResults=X;exports.useFacet=E;exports.useFacets=j;exports.usePagination=B;exports.usePersonalization=D;exports.useProductFilters=T;exports.useRange=x;exports.useRangeSelector=I;exports.useResponse=K;exports.useSelectedFiltersCount=Z;exports.useShopifyProduct=J;exports.useSizeOptions=te;exports.useSort=ne;exports.useSpeechToText=ce;exports.useSwatches=de;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../index.es-Ba4tuzxb.cjs`),t=require(`../../storage-B3FIcJQv.cjs`),n=require(`../../parseNumber-BH_92pM8.cjs`),r=require(`../../useActions-boQy-Vp0.cjs`),i=require(`../../eventBusSubscribe-c9a_PP0j.cjs`),a=require(`../../useHistory-GRnuHgQ5.cjs`),o=require(`../../useLoadMore-B9LiuhfV.cjs`),s=require(`../../eventBusDispatch-B6VswTu8.cjs`);let c=require(`preact/hooks`);function l(e){let n=o.r(e=>e.response);return e&&Array.isArray(e)||e&&t.l(e)?e:n}function u(e,t){let n=e.data?.filter(e=>e.selected).length??0,{active:a}={active:n>0,...t},[o,s]=(0,c.useState)(a),{toggleProductFilter:l}=r.t(),u=(0,c.useCallback)(()=>{s(!o)},[o]);return i.n({event:`events/removeAllFilters`,callback:()=>{s(!1)}}),{active:o,selectedFiltersCount:n,toggleActive:u,toggleProductFilter:l}}function d(){let{loading:e,facets:t}=o.r(e=>({loading:e.loading,facets:e.response?.products?.facets??[]}));return{loading:e,facets:t}}function f(e,t){let n=t-e;return!isNaN(n)&&n>0?Array(t-e).fill(void 0).map((t,n)=>n+e):[]}function p(e){let{query:t,products:n}=o.r(e=>({query:e.query,products:e.response.products}));return(0,c.useMemo)(()=>{if(!n)return{totalPages:0,resultsFrom:0,resultsTo:0,pages:[]};let r=t.products?.from??0,i=e?.width??1/0,a=Math.max(Math.floor(i-1)/2,1),o=n.size>0?Math.floor(r/n.size)+1:1,s=n.size>0?Math.ceil(n.total/n.size):0,c=e=>e>=o-a&&e<=o+a,l=r+1,u=Math.min(r+n.total,n.total),d={from:r,page:o,current:!0},p=e=>({from:(e-1)*n.size,page:e,current:e===o}),m=o>1?p(o-1):void 0,h=o<s?p(o+1):void 0,g=o-a-1>1?p(1):void 0,_=o+a+1<s?p(s):void 0,v=f(1,s+1).filter(c).map(p);return!g&&v[0]?.page===2&&v.unshift(p(1)),!_&&v[v.length-1]?.page===s-1&&v.push(p(s)),{totalPages:s,resultsFrom:l,resultsTo:u,current:d,prev:m,next:h,first:g,last:_,pages:v}},[t,n,e?.width])}function m(){let[t,n]=(0,c.useState)([]),[r,i]=(0,c.useState)([]);return(0,c.useEffect)(()=>{e.r(async e=>{let{products:t,segments:r}=await e.getSearchSessionParams();n(r??[]),i(t?.personalizationBoost??[])})},[]),{segments:t,boost:r}}function h(){let{facets:e}=o.r(e=>({facets:e.response.products?.facets??[]})),{replaceFilter:t,toggleProductFilter:n}=r.t(),i=(0,c.useCallback)(t=>{let n=e?.find(e=>e.type===`stats`&&e.field===t);if(n&&`min`in n&&`max`in n)return n},[e]),a=(0,c.useCallback)(t=>e?.find(e=>e.field===t)?.name??t,[e]),s=(0,c.useCallback)(e=>`field`in e&&(e.value instanceof Array||e.range instanceof Array),[]),l=(0,c.useCallback)(e=>({...e,range:e.range?.map(e=>({gt:e.gt?Number(e.gt):e.gt,gte:e.gte?Number(e.gte):e.gte,lt:e.lt?Number(e.lt):e.lt,lte:e.lte?Number(e.lte):e.lte}))}),[]);return{selectFilters:s,toValueFilter:(0,c.useCallback)(e=>(e.value??[]).map(t=>({value:t,field:e.field,name:a(e.field),filter:l(e),remove:()=>{n(e.field,t,!1)}})),[l,a,n]),toRangeFilter:(0,c.useCallback)(e=>(e.range??[]).map(n=>{let r=n.gte??n.gt??i(e.field)?.min,o=n.lte??n.lt??i(e.field)?.max;if(r!==void 0&&o!==void 0)return{value:`${r} - ${o}`,field:e.field,name:a(e.field),filter:l(e),remove:()=>{t(e.field,void 0)}}}).filter(Boolean),[l,i,a,t])}}function g(){let{filter:e}=o.r(e=>({filter:e.query.products?.filter??[]})),{updateSearch:t}=r.t(),{selectFilters:n,toValueFilter:i,toRangeFilter:a}=h();return{filters:(0,c.useMemo)(()=>e?e.filter(n).flatMap(e=>`value`in e?i(e):`range`in e?a(e):[]).filter(Boolean):[],[e,n,a,i]),removeAll:(0,c.useCallback)(()=>{t({products:{filter:[]}}),s.t({event:`events/removeAllFilters`,params:null})},[t])}}function _(e){let{replaceFilter:t}=r.t(),{query:n,products:a}=o.r(e=>({query:e.query,products:e.response.products})),s=a?.facets?.find(t=>t.id===e),l=n.products?.filter?.find(e=>e.field===s?.field),[u,d]=y(l),f=s&&`min`in s?Math.floor(s.min??0):0,p=s&&`max`in s?Math.ceil(s.max??0):0,m=(0,c.useMemo)(()=>[u??f,d??p],[u,d,f,p]),[h,g]=(0,c.useState)(u!==void 0||d!==void 0),_=(0,c.useCallback)(()=>{g(e=>!e)},[]),x=(0,c.useCallback)(([e,n])=>{if(!s)return;let r=b(e,n,f,p);t(s.field,r)},[f,p,t,s]);return i.n({event:`events/removeAllFilters`,callback:()=>{g(!1)}}),s?{min:f,max:p,range:m,updateRange:x,active:h,toggleActive:_}:v}var v={min:0,max:0,range:[0,0],active:!1,toggleActive:()=>{},updateRange:()=>{}};function y(e){let t=e?.range?.[0];return typeof t==`object`&&(`gte`in t||`lte`in t)?[n.t(t.gte),n.t(t.lte)]:[void 0,void 0]}function b(e,t,n,r){let i=e===void 0?void 0:Math.floor(e),a=t===void 0?void 0:Math.ceil(t),o=i!==void 0,s=a!==void 0;if((n===i||!o)&&(r===a||!s))return;let c={};return o&&i!==n&&(c.gte=i.toString()),s&&a!==r&&(c.lte=a.toString()),Object.keys(c).length>0?c:void 0}function x(e,t){let{min:r,max:i,range:a,updateRange:o}=_(e),{filters:s}=g();return{min:r,max:i,range:a,updateRange:o,ranges:(0,c.useMemo)(()=>{let e=s.find(e=>e?.filter?.range),a=null;if(e){let t=e.filter.range?.[0];a=[n.t(t?.gte),n.t(t?.lte)]}let o=[],c=Math.floor(r/t)*t;for(;c<i;){let e=c+t,n=a&&a[0]===c&&a[1]===e;o.push({min:c,max:e,selected:n}),c=e}return o},[s,r,i,t]),handleMinChange:(0,c.useCallback)(e=>{o([e,a[1]])},[a,o]),handleMaxChange:(0,c.useCallback)(e=>{o([a[0],e])},[a,o]),isSelected:r!==a[0]||i!==a[1]}}function S(){let{products:e,keywords:t,popularSearches:n,categories:r}=o.r(e=>({products:e.response.products??C,keywords:e.response.keywords??C,popularSearches:e.response.popularSearches??C,categories:e.response.categories??C}));return{products:e,keywords:t,popularSearches:n,categories:r}}var C={hits:[],total:0};function w(){let e=o.r(e=>e.query.products?.filter);return(0,c.useMemo)(()=>e?e.reduce((e,t)=>e+(Array.isArray(t.value)?t.value.length:1),0):0,[e])}var T=300*1e3,E=new Map;function D(e){let[t,n]=(0,c.useState)({product:null,loading:!0,error:null});return(0,c.useEffect)(()=>{if(!e){n({product:null,loading:!1,error:`Product handle is required`});return}n(e=>({...e,loading:!0,error:null}));let t=A(e);if(t){n({product:t,loading:!1,error:null});return}k(e).then(t=>{j(e,t),n({product:t,loading:!1,error:null})}).catch(e=>{n({product:null,loading:!1,error:e.message||`Failed to fetch product`})})},[e]),t}function O(e){let t=window.Shopify?.routes?.root;return t?new URL(`${t}products/${e}`,window.location.href):e}async function k(e){let t=await fetch(O(`/products/${e}.js`));if(!t.ok)throw Error(`Failed to fetch product: ${t.status} ${t.statusText}`);return t.json()}function A(e){let t=E.get(e);return t?Date.now()-t.created>T?(E.delete(e),null):t.product:null}function j(e,t){E.set(e,{product:t,created:Date.now()})}function M(e){return e&&!Number.isNaN(e)?e:0}function N(e,t){let{from:i,size:a,total:s}=o.r(e=>({from:M(e.query.products?.from??0),size:M(e.response?.products?.size??t),total:M(e.response?.products?.total??0)})),{updateSearch:l}=r.t();return{from:i,to:i+a,total:s,size:a,sizeOptions:(0,c.useMemo)(()=>[...e].reverse().filter(e=>e<s),[e,s]),handleSizeChange:(0,c.useCallback)(e=>{l({products:{size:n.t(e)}})},[l])}}function P(e,t){return e.length===t.length?e.every(e=>t.find(t=>e.field===t.field&&e.order===t.order)):!1}function F(e){let t=o.r(e=>e.query),{updateSearch:n}=r.t(),i=e.find(e=>P(e.value.sort,t.products?.sort||[]))?.id??e[0]?.id;return{activeSort:i,setSort:(0,c.useCallback)(t=>{if(t===i)return;let r=e.find(e=>e.id===t);r&&n({products:{sort:r.value.sort}})},[e,n,i])}}var I=window.SpeechRecognition||window.webkitSpeechRecognition,L=!!(I&&typeof I==`function`);function R(){return{listening:!1,startListening:()=>{},stopListening:()=>{}}}function z({language:e=`en-US`,interimResults:t=!1,onResult:n,onError:r}={}){let[i,a]=(0,c.useState)(!1),o=(0,c.useRef)(null);return{listening:i,startListening:(0,c.useCallback)(()=>{let i=new I;i.lang=e,i.interimResults=t,i.onstart=()=>a(!0),n&&(i.onresult=e=>{let{transcript:t}=e.results?.[0]?.[0];n(t)}),r&&(i.onerror=e=>r(e.error)),i.onend=()=>a(!1),o.current=i,i.start()},[e,t,r,n]),stopListening:(0,c.useCallback)(()=>{o.current?.stop()},[o])}}var B=L?z:R;function V(e,t){if(!e.length||!t.length)return[];let n=t.reduce((e,t)=>(e[t]={},e),{});return e.forEach(e=>{e.customFields?.forEach(({key:r,value:i})=>{let a=r.toLowerCase();t.includes(a)&&(n[a][i]=n[a][i]||[],n[a][i].push(e))})}),Object.entries(n).filter(e=>Object.keys(e[1]).length).map(([e,t])=>({field:e,options:Object.entries(t).map(([e,t])=>({value:e,skus:t,unavailable:!1,selected:!1}))}))}function H(e,t){return e.length?e.map(({field:e,options:n})=>({field:e,options:n.map(n=>{let r=!n.skus?.some(n=>Object.entries(t).every(([t,r])=>t===e?!0:n.customFields?.find(e=>e.key.toLowerCase()===t)?.value===r)),i=t[e]===n.value;return{...n,unavailable:r,selected:i}})})):[]}var U=[`4XS`,`3XS`,`2XS`,`XXS`,`XS`,`S`,`M`,`L`,`XL`,`XXL`,`2XL`,`XXXL`,`3XL`,`4XL`];function W(e){if(U.includes(e))return 1e3+U.indexOf(e);let t=parseFloat(e);return isNaN(t)?e:t}function G(e,t){return[...t].sort((e,t)=>{let[n,r]=[e.value,t.value].map(W);return n<r?-1:1})}function K(e=[],t=[]){let[n,r]=(0,c.useState)({}),i=(0,c.useMemo)(()=>V(e,t).map(({field:e,options:t})=>({field:e,options:G(e,t)})),[e,t]),a=(0,c.useMemo)(()=>H(i,n),[i,n]);return{swatches:a,toggleOption:(0,c.useCallback)((e,t)=>{r(n=>{let r={...n};return r[e]===t?delete r[e]:r[e]=t,r})},[]),matchedSkus:(0,c.useMemo)(()=>Object.keys(n).filter(e=>n[e]).length===0?[]:a.filter(({field:e})=>n[e]).map(({field:e,options:t})=>{let r=n[e];return t.find(e=>e.value===r)?.skus??[]}).reduce((e,t)=>e.filter(e=>t.includes(e))),[a,n])}}exports.addToHistory=a.t,exports.getSavedHistory=a.n,exports.speechToTextSupported=L,exports.useActions=r.t,exports.useDecoratedSearchResults=l,exports.useFacet=u,exports.useFacets=d,exports.useHistory=a.r,exports.useLoadMore=o.t,exports.useNostoAppState=o.r,exports.usePagination=p,exports.usePersonalization=m,exports.useProductFilters=g,exports.useRange=_,exports.useRangeSelector=x,exports.useResponse=S,exports.useSelectedFiltersCount=w,exports.useShopifyProduct=D,exports.useSizeOptions=N,exports.useSort=F,exports.useSpeechToText=B,exports.useSwatches=K;
|