@depict-ai/ui 1.1.1 → 1.1.3
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/client/main.js +6 -2
- package/dist/client/module.js +6 -2
- package/dist/index.d.ts +2 -2
- package/dist/main.js +126 -169
- package/dist/module.js +131 -259
- package/dist/server/main.js +6 -2
- package/dist/server/module.js +6 -2
- package/package.json +4 -4
package/dist/client/main.js
CHANGED
|
@@ -43,7 +43,7 @@ $parcel$export(module.exports, "defaultGridSpacing", () => $a3280f0aad997933$exp
|
|
|
43
43
|
$parcel$export(module.exports, "defaultColsAtSize", () => $a3280f0aad997933$export$c3834fa86c616831);
|
|
44
44
|
$parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $a3280f0aad997933$export$7bf543b9d9be2c22);
|
|
45
45
|
$parcel$export(module.exports, "version", () => $b757f75811f3261f$export$83d89fbfd8236492);
|
|
46
|
-
/*! Depict.ai search and product listing SDK */ const $b757f75811f3261f$export$83d89fbfd8236492 = "1.1.
|
|
46
|
+
/*! Depict.ai search and product listing SDK */ const $b757f75811f3261f$export$83d89fbfd8236492 = "1.1.3";
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
@@ -6290,9 +6290,13 @@ async function $7b4bc889571cc67b$var$download_categories(tenant, market, type) {
|
|
|
6290
6290
|
});
|
|
6291
6291
|
if (!fetched) return [];
|
|
6292
6292
|
try {
|
|
6293
|
+
if (fetched.status !== 200) {
|
|
6294
|
+
(0, $57o7A$depictaiutilishared.dlog)("failed to fetch queries, server responded with", fetched.status, fetched, await fetched.text());
|
|
6295
|
+
return [];
|
|
6296
|
+
}
|
|
6293
6297
|
return (await fetched.json())?.query_ids;
|
|
6294
6298
|
} catch (e) {
|
|
6295
|
-
(0, $57o7A$depictaiutilishared.dlog)("failed to decode queries json", e);
|
|
6299
|
+
(0, $57o7A$depictaiutilishared.dlog)("failed to decode queries json", fetched, e);
|
|
6296
6300
|
return [];
|
|
6297
6301
|
}
|
|
6298
6302
|
}
|
package/dist/client/module.js
CHANGED
|
@@ -2,7 +2,7 @@ import {add_to_version_info as $gco9i$add_to_version_info, observer as $gco9i$ob
|
|
|
2
2
|
import {createRoot as $gco9i$createRoot, createSignal as $gco9i$createSignal, getOwner as $gco9i$getOwner, runWithOwner as $gco9i$runWithOwner, onCleanup as $gco9i$onCleanup, createComputed as $gco9i$createComputed, createRenderEffect as $gco9i$createRenderEffect, createEffect as $gco9i$createEffect, untrack as $gco9i$untrack, batch as $gco9i$batch, createResource as $gco9i$createResource, createMemo as $gco9i$createMemo, Show as $gco9i$Show, createReaction as $gco9i$createReaction, Suspense as $gco9i$Suspense, on as $gco9i$on, ErrorBoundary as $gco9i$ErrorBoundary, For as $gco9i$For, Index as $gco9i$Index} from "solid-js";
|
|
3
3
|
import {template as $gco9i$template, getNextElement as $gco9i$getNextElement, spread as $gco9i$spread, mergeProps as $gco9i$mergeProps, runHydrationEvents as $gco9i$runHydrationEvents, effect as $gco9i$effect, setAttribute as $gco9i$setAttribute, insert as $gco9i$insert, isServer as $gco9i$isServer, createComponent as $gco9i$createComponent, getNextMarker as $gco9i$getNextMarker, use as $gco9i$use, memo as $gco9i$memo, addEventListener as $gco9i$addEventListener, delegateEvents as $gco9i$delegateEvents, classList as $gco9i$classList, style as $gco9i$style, className as $gco9i$className, Dynamic as $gco9i$Dynamic} from "solid-js/web";
|
|
4
4
|
|
|
5
|
-
/*! Depict.ai search and product listing SDK */ const $ec291e0010116877$export$83d89fbfd8236492 = "1.1.
|
|
5
|
+
/*! Depict.ai search and product listing SDK */ const $ec291e0010116877$export$83d89fbfd8236492 = "1.1.3";
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -6249,9 +6249,13 @@ async function $5c5f95951393e5d1$var$download_categories(tenant, market, type) {
|
|
|
6249
6249
|
});
|
|
6250
6250
|
if (!fetched) return [];
|
|
6251
6251
|
try {
|
|
6252
|
+
if (fetched.status !== 200) {
|
|
6253
|
+
(0, $gco9i$dlog)("failed to fetch queries, server responded with", fetched.status, fetched, await fetched.text());
|
|
6254
|
+
return [];
|
|
6255
|
+
}
|
|
6252
6256
|
return (await fetched.json())?.query_ids;
|
|
6253
6257
|
} catch (e) {
|
|
6254
|
-
(0, $gco9i$dlog)("failed to decode queries json", e);
|
|
6258
|
+
(0, $gco9i$dlog)("failed to decode queries json", fetched, e);
|
|
6255
6259
|
return [];
|
|
6256
6260
|
}
|
|
6257
6261
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { SearchSuggestionsResponse, CategorySuggestion } from "@depict-ai/types/
|
|
|
7
7
|
import { SearchSuggestionsRequest } from "@depict-ai/types/api/SearchSuggestionsRequest";
|
|
8
8
|
import { ProductListingRequest } from "@depict-ai/types/api/ProductListingRequest";
|
|
9
9
|
import { ProductListingResponse } from "@depict-ai/types/api/ProductListingResponse";
|
|
10
|
-
export const version = "1.1.
|
|
10
|
+
export const version = "1.1.3";
|
|
11
11
|
/**
|
|
12
12
|
* Basically allows you to use SearchModal
|
|
13
13
|
* So the idea is to have a modal. It should either be rendered and exist, in which case it is in the foreground and open, or it's completely gone. This makes things easier.
|
|
@@ -381,7 +381,7 @@ export interface BaseCategoryPageConfig extends BaseProductListingConfig {
|
|
|
381
381
|
* Will be sent to backend to indicate whether the query_id_ is for a collection or category.
|
|
382
382
|
* Backend defaults to category if not specified.
|
|
383
383
|
*/
|
|
384
|
-
type ListingType = "collection" | "category";
|
|
384
|
+
export type ListingType = "collection" | "category";
|
|
385
385
|
type DepictCategoryConstructorOptions = {
|
|
386
386
|
market: string;
|
|
387
387
|
merchant: string;
|
package/dist/main.js
CHANGED
|
@@ -32,15 +32,12 @@ $parcel$export(module.exports, "setup_fast_leave", () => $08e7f10b1831645f$expor
|
|
|
32
32
|
$parcel$export(module.exports, "show_toast", () => $ee498ec5e7dc2bba$export$5196e4c01fa56fcb);
|
|
33
33
|
$parcel$export(module.exports, "SolidFormatPrice", () => $d659702496cb72ea$export$a71e92cfbb498adc);
|
|
34
34
|
$parcel$export(module.exports, "connect_search_field_height_to_aligner_height", () => $d8e94ea381ab57fa$export$828dcdd425fd3231);
|
|
35
|
-
$parcel$export(module.exports, "BasePlaceholder", () => $9fe9883b1d8ecccc$export$acb3eaade4b23afd);
|
|
36
|
-
$parcel$export(module.exports, "TextPlaceholder", () => $061ff5b4c3d36171$export$89c6019e4baa40b1);
|
|
37
|
-
$parcel$export(module.exports, "ImagePlaceholder", () => $3bc4a89b971a3af5$export$3f37af283f8fb843);
|
|
38
35
|
$parcel$export(module.exports, "PageReplacer", () => $0a6acf31d1eae57c$export$3ccaa27d81dd8556);
|
|
39
36
|
$parcel$export(module.exports, "defaultGridSpacing", () => $a3280f0aad997933$export$864d304a0bc46829);
|
|
40
37
|
$parcel$export(module.exports, "defaultColsAtSize", () => $a3280f0aad997933$export$c3834fa86c616831);
|
|
41
38
|
$parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $a3280f0aad997933$export$7bf543b9d9be2c22);
|
|
42
39
|
$parcel$export(module.exports, "version", () => $b757f75811f3261f$export$83d89fbfd8236492);
|
|
43
|
-
/*! Depict.ai search and product listing SDK */ const $b757f75811f3261f$export$83d89fbfd8236492 = "1.0
|
|
40
|
+
/*! Depict.ai search and product listing SDK */ const $b757f75811f3261f$export$83d89fbfd8236492 = "1.1.0";
|
|
44
41
|
|
|
45
42
|
|
|
46
43
|
|
|
@@ -182,10 +179,23 @@ class $e1d6c0f3d89d531c$export$e015ed2f2950f2e3 {
|
|
|
182
179
|
let resolve_in_progress;
|
|
183
180
|
cache_obj.in_progress_[body] = new Promise((r)=>resolve_in_progress = r);
|
|
184
181
|
try {
|
|
185
|
-
|
|
182
|
+
let search_results = await (0, $iBTHO$depictaiutilishared.fetch_retry)((0, $iBTHO$depictaiutilishared.add_version_query_params)(endpoint1), {
|
|
186
183
|
method: "POST",
|
|
187
184
|
body: body
|
|
188
185
|
});
|
|
186
|
+
if ("query_id" in request && request.type === "collection") // FIXME: Remove. Backwards compatibility layer
|
|
187
|
+
// This will retry the request without the collection type if the first request fails
|
|
188
|
+
{
|
|
189
|
+
if (!search_results || search_results?.status === 404) {
|
|
190
|
+
(0, $iBTHO$depictaiutilishared.dlog)("Fallback request for collections due to failure");
|
|
191
|
+
const fallback_body = JSON.parse(body);
|
|
192
|
+
delete fallback_body.type;
|
|
193
|
+
search_results = await (0, $iBTHO$depictaiutilishared.fetch_retry)((0, $iBTHO$depictaiutilishared.add_version_query_params)(endpoint1), {
|
|
194
|
+
method: "POST",
|
|
195
|
+
body: JSON.stringify(fallback_body)
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
}
|
|
189
199
|
if (!search_results || search_results.status !== 200) {
|
|
190
200
|
const retval = fallback_response(input_req);
|
|
191
201
|
resolve_in_progress(retval);
|
|
@@ -998,22 +1008,17 @@ function $a73063cc642f3e5f$export$43f0fb951fcb0c54({ displays_by_key_: displays_
|
|
|
998
1008
|
];
|
|
999
1009
|
},
|
|
1000
1010
|
children: (product_id, index)=>{
|
|
1001
|
-
// We're using `untrack` here since we don't want to react in here to displays_by_key changing
|
|
1002
|
-
// As long as our key stays the same we assume that the display hasn't changed, so we don't want to rerender
|
|
1003
|
-
// If the key gets removed, <For> will remove us
|
|
1004
1011
|
const owner = (0, $iBTHO$solidjs.getOwner)();
|
|
1005
1012
|
const display_accessor = (0, $iBTHO$solidjs.createMemo)(()=>displays_by_key_().get(product_id));
|
|
1006
|
-
const [product_card_resource] = (0, $iBTHO$solidjs.createResource)(
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
]), // re-render when merchant or market changes
|
|
1010
|
-
([merchant, market])=>{
|
|
1013
|
+
const [product_card_resource] = (0, $iBTHO$solidjs.createResource)(display_accessor, // re-render when the reference to the display object changes
|
|
1014
|
+
// this should only be the case when the merchant or market changes and the new request has completed
|
|
1015
|
+
(display)=>{
|
|
1011
1016
|
// get display in the function that re-runs when merchant or market have changed, since the display may have changed but product_id not
|
|
1012
|
-
const display = (0, $iBTHO$solidjs.untrack)(display_accessor);
|
|
1013
1017
|
return product_card_template_(display, {
|
|
1014
1018
|
set_on_index_change: (fn)=>(0, $iBTHO$solidjs.runWithOwner)(owner, ()=>(0, $iBTHO$solidjs.createEffect)(()=>fn(index()))),
|
|
1015
|
-
merchant:
|
|
1016
|
-
market
|
|
1019
|
+
merchant: (0, $iBTHO$solidjs.untrack)(merchant_),
|
|
1020
|
+
// this means that the merchant and market provided to the template is wrong while we do another fetch, but I don't see how anyone would need to know the correct market there
|
|
1021
|
+
market: (0, $iBTHO$solidjs.untrack)(market_)
|
|
1017
1022
|
});
|
|
1018
1023
|
});
|
|
1019
1024
|
const node_accessor = (0, $5f7d55c710fd1bc2$export$2f0cbfbb4354bb52)(product_card_resource);
|
|
@@ -3190,52 +3195,6 @@ function $8c939a05b87fbbbc$export$ab34afce88557c0e(props) {
|
|
|
3190
3195
|
|
|
3191
3196
|
|
|
3192
3197
|
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
const $9fe9883b1d8ecccc$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<span></span>`, 2);
|
|
3199
|
-
function $9fe9883b1d8ecccc$export$acb3eaade4b23afd(props) {
|
|
3200
|
-
return (()=>{
|
|
3201
|
-
const _el$ = $9fe9883b1d8ecccc$var$_tmpl$.cloneNode(true);
|
|
3202
|
-
(0, $iBTHO$solidjsweb.effect)((_p$)=>{
|
|
3203
|
-
const _v$ = `depict-placeholder ${props.class || ""}`, _v$2 = props.style;
|
|
3204
|
-
_v$ !== _p$._v$ && (0, $iBTHO$solidjsweb.className)(_el$, _p$._v$ = _v$);
|
|
3205
|
-
_p$._v$2 = (0, $iBTHO$solidjsweb.style)(_el$, _v$2, _p$._v$2);
|
|
3206
|
-
return _p$;
|
|
3207
|
-
}, {
|
|
3208
|
-
_v$: undefined,
|
|
3209
|
-
_v$2: undefined
|
|
3210
|
-
});
|
|
3211
|
-
return _el$;
|
|
3212
|
-
})();
|
|
3213
|
-
}
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
function $061ff5b4c3d36171$export$89c6019e4baa40b1(props) {
|
|
3218
|
-
const style = (0, $iBTHO$solidjs.createMemo)(()=>{
|
|
3219
|
-
const { style: style , height: height , width: width } = props;
|
|
3220
|
-
return {
|
|
3221
|
-
...style || {},
|
|
3222
|
-
height: height ?? "1em",
|
|
3223
|
-
...width && {
|
|
3224
|
-
width: width
|
|
3225
|
-
}
|
|
3226
|
-
};
|
|
3227
|
-
});
|
|
3228
|
-
return (0, $iBTHO$solidjsweb.createComponent)((0, $9fe9883b1d8ecccc$export$acb3eaade4b23afd), {
|
|
3229
|
-
get style () {
|
|
3230
|
-
return style();
|
|
3231
|
-
},
|
|
3232
|
-
get ["class"] () {
|
|
3233
|
-
return props.class;
|
|
3234
|
-
}
|
|
3235
|
-
});
|
|
3236
|
-
}
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
3198
|
const $aff9a96d30ed3563$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="filter-collapsible"></div>`, 2), $aff9a96d30ed3563$var$_tmpl$2 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<button class="clear-group"><span></span></button>`, 4), $aff9a96d30ed3563$var$_tmpl$3 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="view-more-clear"></div>`, 2), $aff9a96d30ed3563$var$_tmpl$4 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="filter-collapsible-body"><div class="filter-part"></div></div>`, 4), $aff9a96d30ed3563$var$_tmpl$5 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<details class="filter-collapsible"></details>`, 2), $aff9a96d30ed3563$var$_tmpl$6 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<summary class="filter-group-summary"><div class="summary"><span></span><div class="selected-w-sign"></div></div></summary>`, 8), $aff9a96d30ed3563$var$_tmpl$7 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="ungrouped"></div>`, 2), $aff9a96d30ed3563$var$_tmpl$8 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<button class="clear-all-filters major"></button>`, 2);
|
|
3240
3199
|
function $aff9a96d30ed3563$export$3f1a388cc0d8fed7(props) {
|
|
3241
3200
|
// Split like this to make placeholder wrapping more visible & this component is exported and used in MobileModal
|
|
@@ -3248,7 +3207,7 @@ function $aff9a96d30ed3563$export$3f1a388cc0d8fed7(props) {
|
|
|
3248
3207
|
length: 5
|
|
3249
3208
|
}).map(()=>(()=>{
|
|
3250
3209
|
const _el$ = $aff9a96d30ed3563$var$_tmpl$.cloneNode(true);
|
|
3251
|
-
(0, $iBTHO$solidjsweb.insert)(_el$, (0, $iBTHO$solidjsweb.createComponent)((0, $
|
|
3210
|
+
(0, $iBTHO$solidjsweb.insert)(_el$, (0, $iBTHO$solidjsweb.createComponent)((0, $iBTHO$depictaiutilishared.Placeholder), {
|
|
3252
3211
|
width: "100%",
|
|
3253
3212
|
height: "50px"
|
|
3254
3213
|
}));
|
|
@@ -3478,7 +3437,6 @@ function $aff9a96d30ed3563$var$ActualFilterBody(props) {
|
|
|
3478
3437
|
|
|
3479
3438
|
|
|
3480
3439
|
|
|
3481
|
-
|
|
3482
3440
|
const $be89be42ce9ea60f$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="sorting-attributes"></div>`, 2), $be89be42ce9ea60f$var$_tmpl$2 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="sorting-direction"></div>`, 2), $be89be42ce9ea60f$var$_tmpl$3 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div><div class="input-row"><input type="radio"><span class="custom-indicator"></span></div></div>`, 7), $be89be42ce9ea60f$var$_tmpl$4 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div><label class="input-row"><input type="radio"><span class="custom-indicator"></span></label></div>`, 7);
|
|
3483
3441
|
function $be89be42ce9ea60f$export$1f1775a58da589b5({ available_sortings_: available_sortings_ , current_sorting_: [get_current_sorting, set_current_sorting] , meta_of_currently_selected_sorting_: meta_of_currently_selected_sorting_ }) {
|
|
3484
3442
|
const title_radio_name = (0, $iBTHO$depictaiutilishared.make_random_classname)();
|
|
@@ -3495,7 +3453,7 @@ function $be89be42ce9ea60f$export$1f1775a58da589b5({ available_sortings_: availa
|
|
|
3495
3453
|
}).map(()=>(()=>{
|
|
3496
3454
|
const _el$4 = $be89be42ce9ea60f$var$_tmpl$3.cloneNode(true), _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
|
|
3497
3455
|
_el$6.disabled = true;
|
|
3498
|
-
(0, $iBTHO$solidjsweb.insert)(_el$5, (0, $iBTHO$solidjsweb.createComponent)((0, $
|
|
3456
|
+
(0, $iBTHO$solidjsweb.insert)(_el$5, (0, $iBTHO$solidjsweb.createComponent)((0, $iBTHO$depictaiutilishared.Placeholder), {
|
|
3499
3457
|
height: "1.2em",
|
|
3500
3458
|
width: "100%"
|
|
3501
3459
|
}), null);
|
|
@@ -4576,7 +4534,6 @@ function $1ab22f2cd39b3061$export$43cd1e747fecd42e(to_url, set_clearing_flag, fr
|
|
|
4576
4534
|
}
|
|
4577
4535
|
|
|
4578
4536
|
|
|
4579
|
-
|
|
4580
4537
|
const $e53b2e7e632ac4cb$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<nav class="crumbs"></nav>`, 2), $e53b2e7e632ac4cb$var$_tmpl$2 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<a class="crumb"></a>`, 2), $e53b2e7e632ac4cb$var$_tmpl$3 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<span class="separator"></span>`, 2);
|
|
4581
4538
|
function $e53b2e7e632ac4cb$export$5646050d516e06bc({ crumb_data_: get_api_crumb_data , router_: router_ , i18n_: i18n_ }) {
|
|
4582
4539
|
const placeholder_crumb_data = [
|
|
@@ -4602,7 +4559,7 @@ function $e53b2e7e632ac4cb$export$5646050d516e06bc({ crumb_data_: get_api_crumb_
|
|
|
4602
4559
|
return display_accessor();
|
|
4603
4560
|
},
|
|
4604
4561
|
get fallback () {
|
|
4605
|
-
return (0, $iBTHO$solidjsweb.createComponent)((0, $
|
|
4562
|
+
return (0, $iBTHO$solidjsweb.createComponent)((0, $iBTHO$depictaiutilishared.Placeholder), {
|
|
4606
4563
|
height: "calc(1em + 1px)",
|
|
4607
4564
|
width: "10ch"
|
|
4608
4565
|
});
|
|
@@ -4655,7 +4612,6 @@ function $e53b2e7e632ac4cb$export$5646050d516e06bc({ crumb_data_: get_api_crumb_
|
|
|
4655
4612
|
|
|
4656
4613
|
|
|
4657
4614
|
|
|
4658
|
-
|
|
4659
4615
|
const $8cceb1d3a967f369$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<nav class="quicklinks"></nav>`, 2), $8cceb1d3a967f369$var$_tmpl$2 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div>QuickLinks failed</div>`, 2), $8cceb1d3a967f369$var$_tmpl$3 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<a class="quicklink"></a>`, 2);
|
|
4660
4616
|
function $8cceb1d3a967f369$export$466cdc317043f6cb({ quicklinks_data_: quicklinks_data_ , router_: router_ , current_query_id_: current_query_id_ , slider_arrow_button_: slider_arrow_button_ , breadcrumb_data_: breadcrumb_data_ , i18n_: i18n_ }) {
|
|
4661
4617
|
let scrolling_logic_ran_for_query_id = false;
|
|
@@ -4808,7 +4764,7 @@ function $8cceb1d3a967f369$export$466cdc317043f6cb({ quicklinks_data_: quicklink
|
|
|
4808
4764
|
category_query_id_: display_accessor()?.query_id
|
|
4809
4765
|
});
|
|
4810
4766
|
}), true);
|
|
4811
|
-
(0, $iBTHO$solidjsweb.insert)(_el$3, ()=>display_accessor()?.title || (0, $iBTHO$solidjsweb.createComponent)((0, $
|
|
4767
|
+
(0, $iBTHO$solidjsweb.insert)(_el$3, ()=>display_accessor()?.title || (0, $iBTHO$solidjsweb.createComponent)((0, $iBTHO$depictaiutilishared.Placeholder), {
|
|
4812
4768
|
height: "1em",
|
|
4813
4769
|
width: "10ch"
|
|
4814
4770
|
}));
|
|
@@ -5062,9 +5018,8 @@ function $cafad5eca9f09cb5$export$d4fc5c0e68a52116(el, query_id_, i18n_) {
|
|
|
5062
5018
|
]);
|
|
5063
5019
|
|
|
5064
5020
|
|
|
5065
|
-
|
|
5066
5021
|
const $840d88a04b2d22a7$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="product-count"> </div>`, 2), $840d88a04b2d22a7$var$_tmpl$2 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div></div>`, 2), $840d88a04b2d22a7$var$_tmpl$3 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="filter-results-for-one-row"></div>`, 2), $840d88a04b2d22a7$var$_tmpl$4 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="depict plp category"><div class="listing-page"></div></div>`, 4);
|
|
5067
|
-
function $840d88a04b2d22a7$export$f7d2f673fc2f091d({ depict_api_: depict_api_ , query_id_: query_id_ , current_sorting_: current_sorting_ , min_products_to_fetch_: min_products_to_fetch_ , category_filters_open_: category_filters_open_ , category_sorting_open_: category_sorting_open_ , expanded_filters_: expanded_filters_ , selected_filters_: selected_filters_ , get_quicklinks_accessor_: get_quicklinks_accessor_ , i18n_: incoming_i18n , get_breadcrumb_accessor_: get_breadcrumb_accessor_ , slider_arrow_button_: slider_arrow_button_ , expanded_hierarchical_filters_: expanded_hierarchical_filters_ , local_filter_cache_: local_filter_cache_ , tenant_: tenant_ , market_: market_ , router_: router_ , show_quicklinks_: show_quicklinks_ , category_title_: category_title_ , show_breadcrumbs_: show_breadcrumbs_ , layout_options_: layout_options_ , scroll_restoration_data_: scroll_restoration_data_ , product_card_template_: product_card_template_ , sideways_filter_clearing_flag_: sideways_filter_clearing_flag_ }) {
|
|
5022
|
+
function $840d88a04b2d22a7$export$f7d2f673fc2f091d({ depict_api_: depict_api_ , query_id_: query_id_ , listing_type_: listing_type_ , current_sorting_: current_sorting_ , min_products_to_fetch_: min_products_to_fetch_ , category_filters_open_: category_filters_open_ , category_sorting_open_: category_sorting_open_ , expanded_filters_: expanded_filters_ , selected_filters_: selected_filters_ , get_quicklinks_accessor_: get_quicklinks_accessor_ , i18n_: incoming_i18n , get_breadcrumb_accessor_: get_breadcrumb_accessor_ , slider_arrow_button_: slider_arrow_button_ , expanded_hierarchical_filters_: expanded_hierarchical_filters_ , local_filter_cache_: local_filter_cache_ , tenant_: tenant_ , market_: market_ , router_: router_ , show_quicklinks_: show_quicklinks_ , category_title_: category_title_ , show_breadcrumbs_: show_breadcrumbs_ , layout_options_: layout_options_ , scroll_restoration_data_: scroll_restoration_data_ , product_card_template_: product_card_template_ , sideways_filter_clearing_flag_: sideways_filter_clearing_flag_ }) {
|
|
5068
5023
|
let results_for;
|
|
5069
5024
|
let only_show_filters_opener_;
|
|
5070
5025
|
let middle_elements_;
|
|
@@ -5089,6 +5044,7 @@ function $840d88a04b2d22a7$export$f7d2f673fc2f091d({ depict_api_: depict_api_ ,
|
|
|
5089
5044
|
tenant: tenant_(),
|
|
5090
5045
|
market: market_(),
|
|
5091
5046
|
query_id: query_id_(),
|
|
5047
|
+
type: listing_type_(),
|
|
5092
5048
|
...f.length ? {
|
|
5093
5049
|
filters: f
|
|
5094
5050
|
} : {},
|
|
@@ -5139,7 +5095,7 @@ function $840d88a04b2d22a7$export$f7d2f673fc2f091d({ depict_api_: depict_api_ ,
|
|
|
5139
5095
|
get children () {
|
|
5140
5096
|
return [
|
|
5141
5097
|
" ",
|
|
5142
|
-
(0, $iBTHO$solidjsweb.createComponent)((0, $
|
|
5098
|
+
(0, $iBTHO$solidjsweb.createComponent)((0, $iBTHO$depictaiutilishared.Placeholder), {
|
|
5143
5099
|
height: "1em",
|
|
5144
5100
|
width: "3ch"
|
|
5145
5101
|
})
|
|
@@ -5590,7 +5546,8 @@ function $c79fd10a3ab7d6e0$export$477caf01aecaeb2a(options) {
|
|
|
5590
5546
|
router_.navigate_.go_to_({
|
|
5591
5547
|
is_replace_: true,
|
|
5592
5548
|
new_url_: url_object.href,
|
|
5593
|
-
force_spa_navigation_: true
|
|
5549
|
+
force_spa_navigation_: true,
|
|
5550
|
+
scroll: false
|
|
5594
5551
|
});
|
|
5595
5552
|
}, {
|
|
5596
5553
|
defer: true
|
|
@@ -5650,7 +5607,7 @@ class $e96dd13889871fc0$export$7e1297a3a19f10d8 {
|
|
|
5650
5607
|
* @param force_spa_navigation_ if you want to force SPA navigation even if on_navigation_ is set to "hard_navigation". You should only set this to true for inter-SDK-page navigations
|
|
5651
5608
|
* @param is_replace_ if you want to replace the current URL in history instead of pushing a new one
|
|
5652
5609
|
* @param category_query_id_ If you are navigating to a category and know the query_id of, please provide it. This is for making a better devEx in js-ui
|
|
5653
|
-
*/ go_to_: (0, $iBTHO$depictaiutilishared.catchify)(async ({ new_url_: raw_new_url , event_: event_ , force_spa_navigation_: force_spa_navigation_ , is_replace_: is_replace_ , category_query_id_: category_query_id_ })=>{
|
|
5610
|
+
*/ go_to_: (0, $iBTHO$depictaiutilishared.catchify)(async ({ new_url_: raw_new_url , event_: event_ , force_spa_navigation_: force_spa_navigation_ , is_replace_: is_replace_ , category_query_id_: category_query_id_ , scroll: scroll = true })=>{
|
|
5654
5611
|
const new_url_ = raw_new_url instanceof URL ? raw_new_url : new URL(raw_new_url, location.origin);
|
|
5655
5612
|
const wants_hard_navigation = this.on_navigation_ === "hard_navigation";
|
|
5656
5613
|
if (this.#dont_attempt_navigation(event_)) return;
|
|
@@ -5672,7 +5629,8 @@ class $e96dd13889871fc0$export$7e1297a3a19f10d8 {
|
|
|
5672
5629
|
history[is_replace_ ? "replaceState" : "pushState"](new_state, "", new_url_);
|
|
5673
5630
|
} else this.#throwing_on_navigation.call(this, {
|
|
5674
5631
|
is_replace: is_replace_,
|
|
5675
|
-
new_url: new_url_ instanceof URL ? new_url_ : new URL(new_url_, location.origin)
|
|
5632
|
+
new_url: new_url_ instanceof URL ? new_url_ : new URL(new_url_, location.origin),
|
|
5633
|
+
scroll: scroll
|
|
5676
5634
|
});
|
|
5677
5635
|
await promise;
|
|
5678
5636
|
})
|
|
@@ -5698,6 +5656,7 @@ class $48567ac5b39bac56$export$f34314aa9505732e {
|
|
|
5698
5656
|
#merchant_signal = (0, $iBTHO$solidjs.createSignal)();
|
|
5699
5657
|
#market_signal = (0, $iBTHO$solidjs.createSignal)();
|
|
5700
5658
|
#query_id_signal = (0, $iBTHO$solidjs.createSignal)("");
|
|
5659
|
+
#listing_type_signal = (0, $iBTHO$solidjs.createSignal)();
|
|
5701
5660
|
static #has_been_constructed = false;
|
|
5702
5661
|
get localization() {
|
|
5703
5662
|
// allow reactive access
|
|
@@ -5724,6 +5683,12 @@ class $48567ac5b39bac56$export$f34314aa9505732e {
|
|
|
5724
5683
|
set market(market) {
|
|
5725
5684
|
this.#market_signal[1](market);
|
|
5726
5685
|
}
|
|
5686
|
+
get listing_type() {
|
|
5687
|
+
return this.#listing_type_signal[0]();
|
|
5688
|
+
}
|
|
5689
|
+
set listing_type(listing_type) {
|
|
5690
|
+
this.#listing_type_signal[1](listing_type);
|
|
5691
|
+
}
|
|
5727
5692
|
get on_navigation() {
|
|
5728
5693
|
// The only non-reactive public property on the class (I don't see it making sense to have it reactive)
|
|
5729
5694
|
return this.#router.on_navigation_;
|
|
@@ -5789,6 +5754,7 @@ function $48567ac5b39bac56$export$e2bf8ce7779e827e({ depict_category: depict_cat
|
|
|
5789
5754
|
min_products_to_fetch_: $48567ac5b39bac56$var$min_products_to_fetch_,
|
|
5790
5755
|
local_filter_cache_: local_filter_cache_,
|
|
5791
5756
|
query_id_: ()=>depict_category.category_id,
|
|
5757
|
+
listing_type_: ()=>depict_category.listing_type,
|
|
5792
5758
|
i18n_: i18n_,
|
|
5793
5759
|
show_quicklinks_: show_quicklinks,
|
|
5794
5760
|
category_title_: category_title,
|
|
@@ -5857,7 +5823,7 @@ const $0b23bfd073d9a4e8$export$b91cec6bdc6b32a1 = /*@__PURE__*/ (()=>{
|
|
|
5857
5823
|
const actual_function = ({ category_title_: category_title_ , product_count_: product_count_ })=>{
|
|
5858
5824
|
return (()=>{
|
|
5859
5825
|
const _el$ = $0b23bfd073d9a4e8$var$_tmpl$.cloneNode(true), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild;
|
|
5860
|
-
(0, $iBTHO$solidjsweb.insert)(_el$2, ()=>category_title_() || (0, $iBTHO$solidjsweb.createComponent)((0, $
|
|
5826
|
+
(0, $iBTHO$solidjsweb.insert)(_el$2, ()=>category_title_() || (0, $iBTHO$solidjsweb.createComponent)((0, $iBTHO$depictaiutilishared.Placeholder), {
|
|
5861
5827
|
height: "1em",
|
|
5862
5828
|
width: "10ch"
|
|
5863
5829
|
}));
|
|
@@ -6035,45 +6001,14 @@ async function $7b4bc889571cc67b$var$download_categories(tenant, market) {
|
|
|
6035
6001
|
|
|
6036
6002
|
|
|
6037
6003
|
|
|
6038
|
-
|
|
6039
|
-
|
|
6040
|
-
function $3bc4a89b971a3af5$export$3f37af283f8fb843(props) {
|
|
6041
|
-
const style = (0, $iBTHO$solidjs.createMemo)(()=>{
|
|
6042
|
-
const { style: style , height: height , width: width , aspectRatio: aspectRatio } = props;
|
|
6043
|
-
const is_image = aspectRatio != undefined;
|
|
6044
|
-
const size_data = is_image ? {
|
|
6045
|
-
width: "100%",
|
|
6046
|
-
"padding-bottom": 1 / aspectRatio * 100 + "%"
|
|
6047
|
-
} : {
|
|
6048
|
-
width: width,
|
|
6049
|
-
height: height
|
|
6050
|
-
};
|
|
6051
|
-
return {
|
|
6052
|
-
display: "block",
|
|
6053
|
-
...style || {},
|
|
6054
|
-
...size_data
|
|
6055
|
-
};
|
|
6056
|
-
});
|
|
6057
|
-
return (0, $iBTHO$solidjsweb.createComponent)((0, $9fe9883b1d8ecccc$export$acb3eaade4b23afd), {
|
|
6058
|
-
get style () {
|
|
6059
|
-
return style();
|
|
6060
|
-
},
|
|
6061
|
-
get ["class"] () {
|
|
6062
|
-
return props.class;
|
|
6063
|
-
}
|
|
6064
|
-
});
|
|
6065
|
-
}
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
|
|
6069
6004
|
const $6f604560873e4f69$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="instant-card"><div class="img-part"></div><div class="right-part"><div class="title-brand-tagline"><span class="title"></span></div></div></div>`, 10);
|
|
6070
6005
|
function $6f604560873e4f69$export$ee1733d9a8495996() {
|
|
6071
6006
|
return (()=>{
|
|
6072
6007
|
const _el$ = $6f604560873e4f69$var$_tmpl$.cloneNode(true), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild;
|
|
6073
|
-
(0, $iBTHO$solidjsweb.insert)(_el$2, (0, $iBTHO$solidjsweb.createComponent)((0, $
|
|
6074
|
-
|
|
6008
|
+
(0, $iBTHO$solidjsweb.insert)(_el$2, (0, $iBTHO$solidjsweb.createComponent)((0, $iBTHO$depictaiutilishared.ContainedPlaceholderImage), {
|
|
6009
|
+
aspect_ratio: 1
|
|
6075
6010
|
}));
|
|
6076
|
-
(0, $iBTHO$solidjsweb.insert)(_el$5, (0, $iBTHO$solidjsweb.createComponent)((0, $
|
|
6011
|
+
(0, $iBTHO$solidjsweb.insert)(_el$5, (0, $iBTHO$solidjsweb.createComponent)((0, $iBTHO$depictaiutilishared.Placeholder), {
|
|
6077
6012
|
width: "20ch",
|
|
6078
6013
|
height: "1em"
|
|
6079
6014
|
}));
|
|
@@ -6541,7 +6476,8 @@ const $6ae613870d3380fc$export$b05c0ae390cf3e06 = (display_or_variant_container,
|
|
|
6541
6476
|
sizes: "0px"
|
|
6542
6477
|
}));
|
|
6543
6478
|
const is_sale = (0, $iBTHO$solidjs.createMemo)(()=>display().sale_price !== display().original_price);
|
|
6544
|
-
|
|
6479
|
+
// localized_page_url currently only used by MayaDelorez, but potentially more. Convenience to avoid requireing full frontend URL transformation.
|
|
6480
|
+
const href = (0, $iBTHO$solidjs.createMemo)(()=>display().localized_page_url || display().page_url);
|
|
6545
6481
|
return (()=>{
|
|
6546
6482
|
const _el$ = $6ae613870d3380fc$var$_tmpl$2.cloneNode(true), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling, _el$7 = _el$4.nextSibling, _el$9 = _el$7.firstChild;
|
|
6547
6483
|
(0, $iBTHO$solidjsweb.addEventListener)(_el$, "click", (0, $iBTHO$depictaiutilishared.catchify)((event_)=>router_.navigate_.go_to_({
|
|
@@ -7656,7 +7592,7 @@ function $04048c1bef16c249$export$c05a196222ba1302({ suggestions_: suggestions_
|
|
|
7656
7592
|
get fallback () {
|
|
7657
7593
|
return (()=>{
|
|
7658
7594
|
const _el$2 = $04048c1bef16c249$var$_tmpl$2.cloneNode(true);
|
|
7659
|
-
(0, $iBTHO$solidjsweb.insert)(_el$2, (0, $iBTHO$solidjsweb.createComponent)((0, $
|
|
7595
|
+
(0, $iBTHO$solidjsweb.insert)(_el$2, (0, $iBTHO$solidjsweb.createComponent)((0, $iBTHO$depictaiutilishared.Placeholder), {
|
|
7660
7596
|
height: "19px",
|
|
7661
7597
|
width: "133px"
|
|
7662
7598
|
}));
|
|
@@ -7718,9 +7654,28 @@ function $65a0c4b1c2eb5d0b$export$9dd50d35b9d94fdf({ get_search_query_: get_sear
|
|
|
7718
7654
|
|
|
7719
7655
|
|
|
7720
7656
|
|
|
7657
|
+
|
|
7658
|
+
|
|
7659
|
+
function $2005eec80e40088f$export$41b4894022a3580f({ style_props_: style_props_ = (0, $iBTHO$solidjs.createSignal)({}) } = {}) {
|
|
7660
|
+
const [, set_style_props] = style_props_;
|
|
7661
|
+
const supports_hover = (0, $b54e6192d0caa293$export$d9f36cf74e24d595)("(hover: hover) and (pointer: fine)");
|
|
7662
|
+
const desktop_short = (0, $b54e6192d0caa293$export$d9f36cf74e24d595)("(max-height: 790px)");
|
|
7663
|
+
const mobile_short = (0, $b54e6192d0caa293$export$d9f36cf74e24d595)("(max-height: 1000px)");
|
|
7664
|
+
const transform_y = (0, $iBTHO$solidjs.createMemo)(()=>supports_hover() ? !desktop_short() : !mobile_short());
|
|
7665
|
+
set_style_props({
|
|
7666
|
+
position: "fixed",
|
|
7667
|
+
top: "50%"
|
|
7668
|
+
});
|
|
7669
|
+
(0, $iBTHO$solidjs.createComputed)(()=>set_style_props((old_value)=>({
|
|
7670
|
+
...old_value,
|
|
7671
|
+
transform: transform_y() ? "translateY(-50%)" : "unset"
|
|
7672
|
+
})));
|
|
7673
|
+
return style_props_;
|
|
7674
|
+
}
|
|
7675
|
+
|
|
7676
|
+
|
|
7721
7677
|
const $f1d7cb69f839a526$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="filter-results-for-one-row"></div>`, 2), $f1d7cb69f839a526$var$_tmpl$2 = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="depict plp search"><div class="listing-page"></div></div>`, 4);
|
|
7722
|
-
function $f1d7cb69f839a526$export$a54ec244c8863715(
|
|
7723
|
-
const { depict_api_: depict_api_ , search_field_value_: search_field_value_ , get_search_query_: get_search_query_ , open_modal_: open_modal_ , submit_query_: submit_query_ , current_sorting_: current_sorting_ , min_products_to_fetch_: min_products_to_fetch_ , search_filters_open_: search_filters_open_ , search_sorting_open_: search_sorting_open_ , expanded_filters_: expanded_filters_ , input_modal_open_: input_modal_open_ , selected_filters_: selected_filters_ , i18n_: i18n_ , slider_arrow_button_: slider_arrow_button_ , make_category_suggestion_card_: make_category_suggestion_card_ , expanded_hierarchical_filters_: expanded_hierarchical_filters_ , clear_filters_on_next_submit_: clear_filters_on_next_submit_ , local_filter_cache_: local_filter_cache_ , include_input_field_: include_input_field_ , tenant_: tenant_ , market_: market_ , showing_recommendation_rows_: showing_recommendation_rows_ , search_recs_view_more_: search_recs_view_more_ , disable_search_recommendations_: disable_search_recommendations_ , layout_options_: layout_options_ , recommendations_layout_options_: recommendations_layout_options_ = layout_options_ , scroll_restoration_data_: scroll_restoration_data_ , product_card_template_: product_card_template_ } = opts;
|
|
7678
|
+
function $f1d7cb69f839a526$export$a54ec244c8863715({ depict_api_: depict_api_ , search_field_value_: search_field_value_ , get_search_query_: get_search_query_ , open_modal_: open_modal_ , submit_query_: submit_query_ , current_sorting_: current_sorting_ , min_products_to_fetch_: min_products_to_fetch_ , search_filters_open_: search_filters_open_ , search_sorting_open_: search_sorting_open_ , expanded_filters_: expanded_filters_ , input_modal_open_: input_modal_open_ , selected_filters_: selected_filters_ , i18n_: i18n_ , slider_arrow_button_: slider_arrow_button_ , make_category_suggestion_card_: make_category_suggestion_card_ , expanded_hierarchical_filters_: expanded_hierarchical_filters_ , clear_filters_on_next_submit_: clear_filters_on_next_submit_ , local_filter_cache_: local_filter_cache_ , include_input_field_: include_input_field_ , tenant_: tenant_ , market_: market_ , showing_recommendation_rows_: showing_recommendation_rows_ , search_recs_view_more_: search_recs_view_more_ , disable_search_recommendations_: disable_search_recommendations_ , layout_options_: layout_options_ , recommendations_layout_options_: recommendations_layout_options_ = layout_options_ , scroll_restoration_data_: scroll_restoration_data_ , product_card_template_: product_card_template_ , modal_body_style_ref_: modal_body_style_ref_ }) {
|
|
7724
7679
|
const [get_sorting] = current_sorting_;
|
|
7725
7680
|
const all_products_loaded_ = (0, $iBTHO$solidjs.createSignal)(false);
|
|
7726
7681
|
const [get_all_products_loaded, set_all_products_loaded] = all_products_loaded_;
|
|
@@ -7773,42 +7728,8 @@ function $f1d7cb69f839a526$export$a54ec244c8863715(opts) {
|
|
|
7773
7728
|
})));
|
|
7774
7729
|
const available_filters_ = (0, $iBTHO$solidjs.createMemo)(()=>search_results_()?.filters);
|
|
7775
7730
|
const modal_body_style = (0, $iBTHO$solidjs.createSignal)({});
|
|
7776
|
-
|
|
7777
|
-
|
|
7778
|
-
const SafeSearchField = (0, $iBTHO$depictaiutilishared.catchify)((0, $66b8b9a9613c141d$export$b94867ecbd698f21));
|
|
7779
|
-
let input_element;
|
|
7780
|
-
let div_with_field_class;
|
|
7781
|
-
search_field = SafeSearchField({
|
|
7782
|
-
i18n_: i18n_,
|
|
7783
|
-
search_field_value_: search_field_value_,
|
|
7784
|
-
submit_query_: submit_query_,
|
|
7785
|
-
clear_filters_: clear_filters_on_next_submit_,
|
|
7786
|
-
input_field_ref_: (el)=>input_element = el,
|
|
7787
|
-
field_element_ref_: (el)=>div_with_field_class = el,
|
|
7788
|
-
disabled_: true
|
|
7789
|
-
});
|
|
7790
|
-
if (search_field) {
|
|
7791
|
-
opts?.modal_body_style_ref_?.(modal_body_style);
|
|
7792
|
-
const align_position = (0, $iBTHO$depictaiutilishared.catchify)((0, $fd463ff0edb29915$export$b3ad617e9036868))(modal_body_style, search_field, undefined, true);
|
|
7793
|
-
div_with_field_class.addEventListener("click", (0, $iBTHO$depictaiutilishared.catchify)((e)=>{
|
|
7794
|
-
const target = e.target;
|
|
7795
|
-
const sel = ".submit";
|
|
7796
|
-
if (target?.matches?.(sel) || target?.closest?.(sel)) // the search button is just decor, don't do anything when clicked
|
|
7797
|
-
return;
|
|
7798
|
-
// When selecting text in the SearchField that's in the page we want the same selection to persist. It doesn't by itself, since the SearchModal has an entirely different SearchField. Therefore, we manually copy the selection over.
|
|
7799
|
-
const selected_text_range_ = [
|
|
7800
|
-
input_element.selectionStart,
|
|
7801
|
-
input_element.selectionEnd
|
|
7802
|
-
];
|
|
7803
|
-
align_position?.();
|
|
7804
|
-
open_modal_({
|
|
7805
|
-
style_props_: modal_body_style,
|
|
7806
|
-
selected_text_range_: selected_text_range_
|
|
7807
|
-
}, ()=>include_input_field_?.on_close_?.());
|
|
7808
|
-
include_input_field_?.on_open_?.();
|
|
7809
|
-
}));
|
|
7810
|
-
}
|
|
7811
|
-
}
|
|
7731
|
+
const [get_search_field_elements, set_search_field_elements] = (0, $iBTHO$solidjs.createSignal)();
|
|
7732
|
+
const SafeSearchField = (0, $iBTHO$depictaiutilishared.catchify)((0, $66b8b9a9613c141d$export$b94867ecbd698f21));
|
|
7812
7733
|
const [sort_or_filter_open_, set_sort_or_filter_open_] = (0, $iBTHO$solidjs.createSignal)(false);
|
|
7813
7734
|
const [desktop_filter_elements_, set_desktop_filter_elements] = (0, $iBTHO$solidjs.createSignal)();
|
|
7814
7735
|
const formatted_number_of_results_ = (0, $0f400c3f7248d5f1$export$92f2da32c6e7e7ee)({
|
|
@@ -7872,11 +7793,60 @@ function $f1d7cb69f839a526$export$a54ec244c8863715(opts) {
|
|
|
7872
7793
|
get_search_query_();
|
|
7873
7794
|
(0, $341a019928b8b91e$export$c7e181728ad525f)(location);
|
|
7874
7795
|
});
|
|
7796
|
+
(0, $iBTHO$solidjs.createEffect)(()=>{
|
|
7797
|
+
// reactive include_input_field
|
|
7798
|
+
// this uses ~7 variables from outer scope which is why I didn't refactor it into a function
|
|
7799
|
+
add_input_field: {
|
|
7800
|
+
const input_field_accessor_value = include_input_field_?.() ?? true; // default to showing input field
|
|
7801
|
+
if (!input_field_accessor_value) break add_input_field;
|
|
7802
|
+
let input_element;
|
|
7803
|
+
let div_with_field_class;
|
|
7804
|
+
const search_field = SafeSearchField({
|
|
7805
|
+
i18n_: i18n_,
|
|
7806
|
+
search_field_value_: search_field_value_,
|
|
7807
|
+
submit_query_: submit_query_,
|
|
7808
|
+
clear_filters_: clear_filters_on_next_submit_,
|
|
7809
|
+
input_field_ref_: (el)=>input_element = el,
|
|
7810
|
+
field_element_ref_: (el)=>div_with_field_class = el,
|
|
7811
|
+
disabled_: true
|
|
7812
|
+
});
|
|
7813
|
+
if (!search_field) break add_input_field;
|
|
7814
|
+
modal_body_style[1]({});
|
|
7815
|
+
modal_body_style_ref_?.(modal_body_style);
|
|
7816
|
+
const align_position = (0, $iBTHO$depictaiutilishared.catchify)((0, $fd463ff0edb29915$export$b3ad617e9036868))(modal_body_style, search_field, undefined, true);
|
|
7817
|
+
div_with_field_class.addEventListener("click", (0, $iBTHO$depictaiutilishared.catchify)((e)=>{
|
|
7818
|
+
const target = e.target;
|
|
7819
|
+
const sel = ".submit";
|
|
7820
|
+
if (target?.matches?.(sel) || target?.closest?.(sel)) // the search button is just decor, don't do anything when clicked
|
|
7821
|
+
return;
|
|
7822
|
+
// When selecting text in the SearchField that's in the page we want the same selection to persist. It doesn't by itself, since the SearchModal has an entirely different SearchField. Therefore, we manually copy the selection over.
|
|
7823
|
+
const selected_text_range_ = [
|
|
7824
|
+
input_element.selectionStart,
|
|
7825
|
+
input_element.selectionEnd
|
|
7826
|
+
];
|
|
7827
|
+
align_position?.();
|
|
7828
|
+
open_modal_({
|
|
7829
|
+
style_props_: modal_body_style,
|
|
7830
|
+
selected_text_range_: selected_text_range_
|
|
7831
|
+
}, ()=>input_field_accessor_value?.on_close_?.());
|
|
7832
|
+
input_field_accessor_value?.on_open_?.();
|
|
7833
|
+
}));
|
|
7834
|
+
set_search_field_elements(search_field);
|
|
7835
|
+
return;
|
|
7836
|
+
}
|
|
7837
|
+
// We bailed out of adding the input field
|
|
7838
|
+
set_search_field_elements();
|
|
7839
|
+
// There *might* still be a modal open, either from depict_search.modal_open = true or clicking the SearchField which existed here. Said modal now doesn't have anything to align to anymore - it will still try to align to the style_props_ which it got through the modal_body_style_ref_ which are now no longer updated.
|
|
7840
|
+
// In that case, we write what's needed to center the modal to the modal_body_style for the lifetime of this effect function call to make sure the modal is centered and the UI doesn't look "botched".
|
|
7841
|
+
(0, $2005eec80e40088f$export$41b4894022a3580f)({
|
|
7842
|
+
style_props_: modal_body_style
|
|
7843
|
+
});
|
|
7844
|
+
});
|
|
7875
7845
|
return [
|
|
7876
7846
|
document.createComment("Search page based on Depict SDK"),
|
|
7877
7847
|
(()=>{
|
|
7878
7848
|
const _el$2 = $f1d7cb69f839a526$var$_tmpl$2.cloneNode(true), _el$3 = _el$2.firstChild;
|
|
7879
|
-
(0, $iBTHO$solidjsweb.insert)(_el$3,
|
|
7849
|
+
(0, $iBTHO$solidjsweb.insert)(_el$3, get_search_field_elements, null);
|
|
7880
7850
|
(0, $iBTHO$solidjsweb.insert)(_el$3, make_category_suggestion_card_ ? (0, $iBTHO$solidjsweb.createComponent)((0, $edafe91daf3091d7$export$b69d0d92862de18b), {
|
|
7881
7851
|
severity_: "error",
|
|
7882
7852
|
message_: "Category suggestions failed",
|
|
@@ -8004,7 +7974,6 @@ function $f1d7cb69f839a526$export$a54ec244c8863715(opts) {
|
|
|
8004
7974
|
|
|
8005
7975
|
|
|
8006
7976
|
|
|
8007
|
-
|
|
8008
7977
|
function $d8e94ea381ab57fa$export$828dcdd425fd3231(aligner) {
|
|
8009
7978
|
const style_element = document.createElement("style");
|
|
8010
7979
|
document.head.append(style_element);
|
|
@@ -8029,6 +7998,7 @@ function $d8e94ea381ab57fa$export$828dcdd425fd3231(aligner) {
|
|
|
8029
7998
|
|
|
8030
7999
|
|
|
8031
8000
|
|
|
8001
|
+
|
|
8032
8002
|
const $2c61e4cd8229c49a$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$iBTHO$solidjsweb.template)(`<div class="depict plp search"></div>`, 2);
|
|
8033
8003
|
/**
|
|
8034
8004
|
* Type for the private properties that are shared between the different exported search SDK wrapper functions. SDK users are not allowed to change/access these, they're an internal implementation detail.
|
|
@@ -8171,18 +8141,7 @@ class $2c61e4cd8229c49a$export$ac6237957a15b3f0 {
|
|
|
8171
8141
|
return;
|
|
8172
8142
|
}
|
|
8173
8143
|
// Open centered modal
|
|
8174
|
-
const
|
|
8175
|
-
const desktop_short = (0, $b54e6192d0caa293$export$d9f36cf74e24d595)("(max-height: 790px)");
|
|
8176
|
-
const mobile_short = (0, $b54e6192d0caa293$export$d9f36cf74e24d595)("(max-height: 1000px)");
|
|
8177
|
-
const transform_y = (0, $iBTHO$solidjs.createMemo)(()=>supports_hover() ? !desktop_short() : !mobile_short());
|
|
8178
|
-
const style_props_ = (0, $iBTHO$solidjs.createSignal)({
|
|
8179
|
-
position: "fixed",
|
|
8180
|
-
top: "50%"
|
|
8181
|
-
});
|
|
8182
|
-
(0, $iBTHO$solidjs.createComputed)(()=>style_props_[1]((old_value)=>({
|
|
8183
|
-
...old_value,
|
|
8184
|
-
transform: transform_y() ? "translateY(-50%)" : "unset"
|
|
8185
|
-
})));
|
|
8144
|
+
const style_props_ = (0, $2005eec80e40088f$export$41b4894022a3580f)();
|
|
8186
8145
|
if (signal_value_is_options) {
|
|
8187
8146
|
const [options_arg, ...rest] = open_signal_value;
|
|
8188
8147
|
open_modal_({
|
|
@@ -8250,7 +8209,8 @@ function $2c61e4cd8229c49a$var$get_shared_properties(depict_search) {
|
|
|
8250
8209
|
if (!shared_properties) throw new Error("Can't connect to provided DepictSearch instance");
|
|
8251
8210
|
return shared_properties;
|
|
8252
8211
|
}
|
|
8253
|
-
function $2c61e4cd8229c49a$export$f2dc7e4e4aa11abb(
|
|
8212
|
+
function $2c61e4cd8229c49a$export$f2dc7e4e4aa11abb(props) {
|
|
8213
|
+
const { depict_search: depict_search , grid_spacing: grid_spacing , cols_at_size: cols_at_size , product_card_template: product_card_template , extra_depict_options: extra_depict_options } = props;
|
|
8254
8214
|
const shared_properties = $2c61e4cd8229c49a$var$get_shared_properties(depict_search);
|
|
8255
8215
|
const grid_spacing_override = typeof grid_spacing === "string" ? {
|
|
8256
8216
|
grid_spacing: grid_spacing
|
|
@@ -8304,7 +8264,7 @@ function $2c61e4cd8229c49a$export$f2dc7e4e4aa11abb({ depict_search: depict_searc
|
|
|
8304
8264
|
selected_filters_: shared_properties.selected_filters_,
|
|
8305
8265
|
showing_recommendation_rows_: state_.search_showing_recommendation_rows,
|
|
8306
8266
|
scroll_restoration_data_: state_.search_scroll_restoration_data,
|
|
8307
|
-
include_input_field_: include_input_field,
|
|
8267
|
+
include_input_field_: ()=>props.include_input_field,
|
|
8308
8268
|
layout_options_: {
|
|
8309
8269
|
cols_at_size: (0, $4e04be41243c3d80$export$6daf8749b65a1b77)(cols_at_size),
|
|
8310
8270
|
...grid_spacing_override
|
|
@@ -8509,9 +8469,6 @@ function $08e7f10b1831645f$export$689e204eadb33baf(pr) {
|
|
|
8509
8469
|
|
|
8510
8470
|
|
|
8511
8471
|
|
|
8512
|
-
|
|
8513
|
-
|
|
8514
|
-
|
|
8515
8472
|
class $0a6acf31d1eae57c$export$3ccaa27d81dd8556 extends EventTarget {
|
|
8516
8473
|
#stop_listening;
|
|
8517
8474
|
#disconnect_observer;
|