@depict-ai/ui 1.4.24 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ES10/index.cjs +232 -172
- package/ES10/index.d.ts +27 -31
- package/ES10/index.js +233 -173
- package/README.md +2 -1
- package/latest/index.cjs +221 -168
- package/latest/index.d.ts +27 -31
- package/latest/index.js +222 -169
- package/locales/require.js +1152 -0
- package/package.json +7 -7
- package/server/ES10/index.cjs +191 -141
- package/server/ES10/index.d.ts +27 -31
- package/server/ES10/index.js +192 -142
- package/server/latest/index.cjs +181 -133
- package/server/latest/index.d.ts +27 -31
- package/server/latest/index.js +182 -134
package/server/latest/index.cjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
var $5vyXB$depictaiutilishared = require("@depict-ai/utilishared/latest");
|
|
2
2
|
var $5vyXB$solidjsweb = require("solid-js/web");
|
|
3
3
|
var $5vyXB$solidjs = require("solid-js");
|
|
4
|
-
var $5vyXB$depictaiutilisharedlatest = require("@depict-ai/utilishared/latest/latest");
|
|
5
4
|
require("../../multi_import_deduplicator.cjs").register_es_version("ui", "latest");
|
|
6
5
|
function $parcel$export(e, n, v, s) {
|
|
7
6
|
Object.defineProperty(e, n, {
|
|
@@ -61,7 +60,7 @@ $parcel$export(module.exports, "defaultColsAtSize", () => $a3280f0aad997933$expo
|
|
|
61
60
|
$parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $a3280f0aad997933$export$7bf543b9d9be2c22);
|
|
62
61
|
$parcel$export(module.exports, "version", () => $b757f75811f3261f$export$83d89fbfd8236492);
|
|
63
62
|
/*! Depict.ai search and product listing SDK */
|
|
64
|
-
const $b757f75811f3261f$export$83d89fbfd8236492 = "
|
|
63
|
+
const $b757f75811f3261f$export$83d89fbfd8236492 = "2.0.0";
|
|
65
64
|
const $4e04be41243c3d80$var$transform_elements = sorted_cols_at_size => {
|
|
66
65
|
const cols_at_size = [];
|
|
67
66
|
for (let i = 0; i < sorted_cols_at_size.length; i++) {
|
|
@@ -120,7 +119,9 @@ function $ab7c6c7911bae2f5$export$ff7109b9b2b206ba(sdk_cols_at_size, min_width_f
|
|
|
120
119
|
}
|
|
121
120
|
function $fc23d7668ae0011d$export$a2cc176055f8f08() {
|
|
122
121
|
const text = "Please try setting `colsAtSize` on the `SearchPage`/`CategoryPage` components to change the grid before setting it with CSS. If you do with CSS, set `ColsAtSize` to an empty array to ensure no declarations created by the SDK leak through.";
|
|
123
|
-
return (0, $5vyXB$solidjsweb.isServer) ?
|
|
122
|
+
return (0, $5vyXB$solidjsweb.isServer) ? {
|
|
123
|
+
t: `<!-- ${text} -->`
|
|
124
|
+
} : document.createComment(text);
|
|
124
125
|
}
|
|
125
126
|
function $5f7d55c710fd1bc2$export$2f0cbfbb4354bb52(elements) {
|
|
126
127
|
// FYI this probably doesn't work on hugely deep nestings or large amount of elements
|
|
@@ -327,21 +328,32 @@ function $edafe91daf3091d7$export$b69d0d92862de18b(props) {
|
|
|
327
328
|
}
|
|
328
329
|
});
|
|
329
330
|
}
|
|
330
|
-
const $f48d0fbb00835aaa$var$_tmpl$ = ["<
|
|
331
|
-
$f48d0fbb00835aaa$var$_tmpl$2 = ["<
|
|
331
|
+
const $f48d0fbb00835aaa$var$_tmpl$ = ["<div", ' class="', '">', "</div>"],
|
|
332
|
+
$f48d0fbb00835aaa$var$_tmpl$2 = ["<style", ' type="text/css">', "</style>"];
|
|
332
333
|
function $f48d0fbb00835aaa$export$d21e32dfedac04be(props) {
|
|
333
|
-
const
|
|
334
|
+
const container_class = "x" + $5vyXB$solidjs.createUniqueId();
|
|
335
|
+
const container_element_ = $5vyXB$solidjsweb.ssrElement("div", () => ({
|
|
336
|
+
...props.element_attributes,
|
|
337
|
+
"classList": {
|
|
338
|
+
[container_class]: true
|
|
339
|
+
}
|
|
340
|
+
}), () => $5vyXB$solidjsweb.escape(props.children), true); // Don't want this in the error boundary below, it should only be for the actual layouting
|
|
334
341
|
return $5vyXB$solidjsweb.createComponent((0, $edafe91daf3091d7$export$b69d0d92862de18b), {
|
|
335
342
|
get message_() {
|
|
336
343
|
return "Failed calculating " + props.layout + " layout";
|
|
337
344
|
},
|
|
338
345
|
severity_: "error",
|
|
339
346
|
get children() {
|
|
340
|
-
return $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element_);
|
|
347
|
+
return $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element_, false, container_class);
|
|
341
348
|
}
|
|
342
349
|
});
|
|
343
350
|
}
|
|
344
|
-
function $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element, insert_after_container = false) {
|
|
351
|
+
function $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element, insert_after_container = false, container_class) {
|
|
352
|
+
if (!container_class) {
|
|
353
|
+
// only try to add if it wasn't provided, so that we have a code path without classList when doing SSR
|
|
354
|
+
container_class = $5vyXB$depictaiutilishared.make_random_classname();
|
|
355
|
+
container_element.classList.add(container_class);
|
|
356
|
+
}
|
|
345
357
|
// Copy of Layout from utilishared but using solid-js signals instead of async iterable IPNS
|
|
346
358
|
const show_all_rows = $5vyXB$solidjs.createMemo(() => props.rows === "all");
|
|
347
359
|
const rows_or_empty_object = $5vyXB$solidjs.createMemo(() => show_all_rows() ? {} : props.rows);
|
|
@@ -356,28 +368,27 @@ function $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element, ins
|
|
|
356
368
|
return !(!button || Array.isArray(button) && !button.length);
|
|
357
369
|
});
|
|
358
370
|
const [get_styling, set_styling] = $5vyXB$solidjs.createSignal();
|
|
359
|
-
const container_class = $5vyXB$depictaiutilishared.make_random_classname();
|
|
360
371
|
const selector_beginning = `.depict .${container_class}>`; // class so ppl can have id if needed
|
|
361
372
|
const [get_children_count, set_children_count] = $5vyXB$solidjs.createSignal(0);
|
|
362
|
-
const update_children_count = () => set_children_count(container_element.children.length);
|
|
373
|
+
const update_children_count = () => (0, $5vyXB$solidjsweb.isServer) ? 20 : set_children_count(container_element.children.length);
|
|
363
374
|
const col_styling = $5vyXB$solidjs.createMemo(() => $5vyXB$depictaiutilishared.n_col_styling_with_dist(selector_beginning, props.grid_spacing, props.cols_at_size, props.layout, props.override_vertical_spacing));
|
|
364
375
|
const default_currently_visible_signal = $5vyXB$solidjs.createSignal($5vyXB$solidjs.untrack(() => rows_or_empty_object().start_rows ?? 1)); // Keep this signal here, so it doesn't change when rows_or_empty_object and I think it's to be expected that the "internal default signal" stays the same
|
|
365
376
|
const rows_visible_signal = $5vyXB$solidjs.createMemo(() => rows_or_empty_object().currently_visible || default_currently_visible_signal);
|
|
366
377
|
const get_rows_visible = $5vyXB$solidjs.createMemo(() => rows_visible_signal()[0]());
|
|
367
378
|
const set_rows_visible = $5vyXB$solidjs.createMemo(() => rows_visible_signal()[1]);
|
|
368
|
-
const view_more_button_class = $5vyXB$
|
|
369
|
-
const view_less_button_class = $5vyXB$
|
|
370
|
-
const
|
|
371
|
-
const view_more_button_container = $5vyXB$solidjs.createMemo(() => have_a_view_more_button() && $5vyXB$solidjsweb.ssr($f48d0fbb00835aaa$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), `load-more-container ${$5vyXB$solidjsweb.escape(view_more_button_class, true)}`, $5vyXB$solidjsweb.escape(rows_or_empty_object().button)));
|
|
379
|
+
const view_more_button_class = "m" + $5vyXB$solidjs.createUniqueId();
|
|
380
|
+
const view_less_button_class = "l" + $5vyXB$solidjs.createUniqueId(); // https://github.com/solidjs/solid-docs/issues/263#issuecomment-1622388079
|
|
381
|
+
const view_more_button_container = $5vyXB$solidjs.createMemo(() => have_a_view_more_button() && $5vyXB$solidjsweb.ssr($f48d0fbb00835aaa$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), `load-more-container ${$5vyXB$solidjsweb.escape(view_more_button_class, true)}`, $5vyXB$solidjsweb.escape(rows_or_empty_object().button)));
|
|
372
382
|
// We need to have duplicate buttons because which ones is shown depends on the number of rows visible and therefore on the viewport size and therefore on the css media queries
|
|
373
|
-
const view_less_button_container = $5vyXB$solidjs.createMemo(() => have_a_view_less_button() && $5vyXB$solidjsweb.ssr($f48d0fbb00835aaa$var$_tmpl
|
|
374
|
-
|
|
383
|
+
const view_less_button_container = $5vyXB$solidjs.createMemo(() => have_a_view_less_button() && $5vyXB$solidjsweb.ssr($f48d0fbb00835aaa$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), `load-less-container ${$5vyXB$solidjsweb.escape(view_less_button_class, true)}`, $5vyXB$solidjsweb.escape(rows_or_empty_object().view_less_button)));
|
|
384
|
+
const [force_style_update, set_force_style_update] = $5vyXB$solidjs.createSignal("");
|
|
375
385
|
$5vyXB$solidjs.createComputed(() => {
|
|
376
386
|
// Make sure we don't have more rows visible than max_rows (this could happen by max_rows being decreased)
|
|
377
387
|
const rows_visible = get_rows_visible();
|
|
378
388
|
const max_rows = rows_or_empty_object().max_rows;
|
|
379
389
|
if (!isNaN(max_rows) && max_rows >= 0 && rows_visible > max_rows) set_rows_visible()(max_rows);
|
|
380
390
|
});
|
|
391
|
+
$5vyXB$solidjs.createEffect(() => set_force_style_update(" ")); // force style update after hydration due to https://discord.com/channels/722131463138705510/722167424186843267/1151544212517552168
|
|
381
392
|
$5vyXB$solidjs.createRenderEffect(() => {
|
|
382
393
|
// Be careful to only read show_all_rows in here (ofc doesn't apply to nested effects)
|
|
383
394
|
if (show_all_rows()) {
|
|
@@ -386,11 +397,13 @@ function $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element, ins
|
|
|
386
397
|
return;
|
|
387
398
|
}
|
|
388
399
|
update_children_count();
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
400
|
+
if (!(0, $5vyXB$solidjsweb.isServer)) {
|
|
401
|
+
const mutation_observer = new MutationObserver($5vyXB$depictaiutilishared.catchify(update_children_count));
|
|
402
|
+
mutation_observer.observe(container_element, {
|
|
403
|
+
childList: true
|
|
404
|
+
});
|
|
405
|
+
$5vyXB$solidjs.onCleanup(() => mutation_observer.disconnect());
|
|
406
|
+
}
|
|
394
407
|
set_styling(
|
|
395
408
|
// this is needed because solid will think that the memo-accessor is a setter function otherwise
|
|
396
409
|
() => $5vyXB$solidjs.createMemo(() => {
|
|
@@ -401,7 +414,7 @@ function $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element, ins
|
|
|
401
414
|
} = rows_or_empty_object();
|
|
402
415
|
const rows_visible = get_rows_visible();
|
|
403
416
|
const children_count = get_children_count();
|
|
404
|
-
return col_styling() + props.cols_at_size.map(options => {
|
|
417
|
+
return force_style_update() + col_styling() + props.cols_at_size.map(options => {
|
|
405
418
|
const [recs_per_row, min, max] = options;
|
|
406
419
|
let should_hide_view_more_button;
|
|
407
420
|
let visible_recs;
|
|
@@ -422,6 +435,7 @@ function $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element, ins
|
|
|
422
435
|
}).join("");
|
|
423
436
|
}));
|
|
424
437
|
});
|
|
438
|
+
const style_element = $5vyXB$solidjsweb.ssr($f48d0fbb00835aaa$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), get_styling); // need to create this after set_styling has been called or else there will be no styling in the SSR'd output
|
|
425
439
|
if (insert_after_container) container_element.after(style_element);
|
|
426
440
|
return [container_element, view_more_button_container(), view_less_button_container(), style_element];
|
|
427
441
|
}
|
|
@@ -435,12 +449,20 @@ function $a0e53f99354809d9$export$6649caad96ef8870({
|
|
|
435
449
|
slider_ref_: slider_ref_,
|
|
436
450
|
faded_opacity_ = 0.7,
|
|
437
451
|
mutation_plugins_ = [],
|
|
438
|
-
disable_fading_: disable_fading_
|
|
452
|
+
disable_fading_: disable_fading_,
|
|
453
|
+
arrow_width_: arrow_width_,
|
|
454
|
+
arrow_height_: arrow_height_
|
|
439
455
|
}) {
|
|
440
456
|
const slider = new (0, $5vyXB$depictaiutilishared.Amazing_Slider)({
|
|
441
457
|
button_contents: {
|
|
442
|
-
left: [$5vyXB$solidjsweb.ssr($a0e53f99354809d9$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $0f313083912e447a$export$8be2714ec7f169ee), {
|
|
443
|
-
|
|
458
|
+
left: [$5vyXB$solidjsweb.ssr($a0e53f99354809d9$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $0f313083912e447a$export$8be2714ec7f169ee), {
|
|
459
|
+
height_: arrow_height_,
|
|
460
|
+
width_: arrow_width_
|
|
461
|
+
})))],
|
|
462
|
+
right: [$5vyXB$solidjsweb.ssr($a0e53f99354809d9$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $0f313083912e447a$export$8be2714ec7f169ee), {
|
|
463
|
+
height_: arrow_height_,
|
|
464
|
+
width_: arrow_width_
|
|
465
|
+
})))]
|
|
444
466
|
},
|
|
445
467
|
constructor_plugins: [$5vyXB$depictaiutilishared.slider_snap_css().constructor_plugin],
|
|
446
468
|
mutation_plugins: [...(disable_fading_ ? [] : [$5vyXB$depictaiutilishared.slider_fading_factory({
|
|
@@ -463,6 +485,8 @@ function $363ce4d1d71041aa$export$d41d19e89346fa2({
|
|
|
463
485
|
const is_showing_something = $5vyXB$solidjs.createMemo(() => recommendations_resource_.loading || recommendations_resource_()?.length);
|
|
464
486
|
const num_placeholders_ = () => 20;
|
|
465
487
|
const slider = $5vyXB$solidjsweb.createComponent((0, $a0e53f99354809d9$export$6649caad96ef8870), {
|
|
488
|
+
arrow_height_: 25,
|
|
489
|
+
arrow_width_: 12.5,
|
|
466
490
|
disable_fading_: true,
|
|
467
491
|
slider_ref_: slider => {
|
|
468
492
|
const {
|
|
@@ -474,7 +498,7 @@ function $363ce4d1d71041aa$export$d41d19e89346fa2({
|
|
|
474
498
|
rows: "all",
|
|
475
499
|
layout: "slider"
|
|
476
500
|
}, layout_options_));
|
|
477
|
-
$5vyXB$
|
|
501
|
+
$5vyXB$depictaiutilishared.slider_fractional_factory(0, 0.75).constructor_plugin.call(slider, {}); // enable fractional scrolling
|
|
478
502
|
insert_here.before($fc23d7668ae0011d$export$a2cc176055f8f08());
|
|
479
503
|
},
|
|
480
504
|
get children() {
|
|
@@ -507,30 +531,62 @@ function $363ce4d1d71041aa$export$d41d19e89346fa2({
|
|
|
507
531
|
children: slider
|
|
508
532
|
});
|
|
509
533
|
}
|
|
534
|
+
function $95837413165cc2df$export$23fca46f3143581f(component, error_message) {
|
|
535
|
+
const component_in_error_boundary = do_with_elements => {
|
|
536
|
+
const error_boundary_wrapped = $edafe91daf3091d7$export$b69d0d92862de18b({
|
|
537
|
+
severity_: "error",
|
|
538
|
+
message_: error_message,
|
|
539
|
+
get children() {
|
|
540
|
+
const elements = component();
|
|
541
|
+
do_with_elements?.(elements);
|
|
542
|
+
return elements;
|
|
543
|
+
}
|
|
544
|
+
});
|
|
545
|
+
// This might return an accessor, in that case we need to "unwrap" it since our SDK consumers expect HTML elements or arrays thereof
|
|
546
|
+
if (typeof error_boundary_wrapped === "function")
|
|
547
|
+
// @ts-ignore
|
|
548
|
+
return error_boundary_wrapped();
|
|
549
|
+
// On the server it returns a string, so we just return that
|
|
550
|
+
return error_boundary_wrapped;
|
|
551
|
+
};
|
|
552
|
+
const owner = $5vyXB$solidjs.getOwner();
|
|
553
|
+
if (owner == null) return $5vyXB$solidjs.createRoot(dispose => {
|
|
554
|
+
// if we're not already run in a root, create a root and automatically dispose it when the first returned element is removed from the DOM
|
|
555
|
+
return component_in_error_boundary(elements => {
|
|
556
|
+
const have_multiple = Array.isArray(elements);
|
|
557
|
+
if (have_multiple ? !elements?.length : !elements) return;
|
|
558
|
+
(0, $5vyXB$depictaiutilishared.observer).onremoved(have_multiple ? elements[0] : elements, dispose);
|
|
559
|
+
});
|
|
560
|
+
});else
|
|
561
|
+
// we're already in a root so cleanups are handled
|
|
562
|
+
return component_in_error_boundary();
|
|
563
|
+
}
|
|
510
564
|
const $72f96c4782db0b1b$var$_tmpl$ = ["<div", ' class="depict recommendations">', "</div>"];
|
|
511
565
|
function $72f96c4782db0b1b$export$9574e176201e5e8d(props) {
|
|
512
|
-
|
|
513
|
-
const {
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
grid_spacing
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
566
|
+
return $95837413165cc2df$export$23fca46f3143581f(() => {
|
|
567
|
+
const grid_spacing_override = $5vyXB$solidjs.createMemo(() => {
|
|
568
|
+
const {
|
|
569
|
+
grid_spacing: grid_spacing
|
|
570
|
+
} = props; // can be reactive
|
|
571
|
+
return typeof grid_spacing === "string" ? {
|
|
572
|
+
grid_spacing: grid_spacing
|
|
573
|
+
} : {
|
|
574
|
+
override_vertical_spacing: grid_spacing.vertical,
|
|
575
|
+
grid_spacing: grid_spacing.horizontal
|
|
576
|
+
};
|
|
577
|
+
});
|
|
578
|
+
const [recommendations_resource_] = $5vyXB$solidjs.createResource(() => props.recommendations, recs => recs);
|
|
579
|
+
return $5vyXB$solidjsweb.ssr($72f96c4782db0b1b$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape($363ce4d1d71041aa$export$d41d19e89346fa2({
|
|
580
|
+
product_card_template_: (...args) => props.product_card_template(...args),
|
|
581
|
+
recommendations_resource_: recommendations_resource_,
|
|
582
|
+
market_: () => props.market,
|
|
583
|
+
merchant_: () => props.merchant,
|
|
584
|
+
layout_options_: $5vyXB$solidjs.createMemo(() => ({
|
|
585
|
+
cols_at_size: $4e04be41243c3d80$export$6daf8749b65a1b77($ab7c6c7911bae2f5$export$ff7109b9b2b206ba(props.cols_at_size)),
|
|
586
|
+
...grid_spacing_override()
|
|
587
|
+
}))
|
|
588
|
+
})));
|
|
589
|
+
}, "RecommendationSlider failed");
|
|
534
590
|
}
|
|
535
591
|
const $b8e79813f4f7ebe4$var$_tmpl$ = ["<div", ' class="recommendation-grid"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"];
|
|
536
592
|
function $b8e79813f4f7ebe4$export$7da560f849543dff({
|
|
@@ -586,38 +642,40 @@ function $b8e79813f4f7ebe4$export$7da560f849543dff({
|
|
|
586
642
|
const $1f8dbf7e28b3eff2$var$_tmpl$ = ["<button", ' class="show-more major" type="button">', "</button>"],
|
|
587
643
|
$1f8dbf7e28b3eff2$var$_tmpl$2 = ["<div", ' class="depict plp recommendations">', "</div>"];
|
|
588
644
|
function $1f8dbf7e28b3eff2$export$9756467d34d91cdb(props) {
|
|
589
|
-
|
|
590
|
-
const
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
const {
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
grid_spacing
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
645
|
+
return $95837413165cc2df$export$23fca46f3143581f(() => {
|
|
646
|
+
const rows_object_ = $5vyXB$solidjs.createMemo(() => {
|
|
647
|
+
const view_more_button = props.view_more_button;
|
|
648
|
+
if (!view_more_button) return "all";
|
|
649
|
+
return {
|
|
650
|
+
start_rows: view_more_button.start_rows,
|
|
651
|
+
rows_per_click: view_more_button.rows_per_click ?? 2,
|
|
652
|
+
button: $5vyXB$solidjsweb.ssr($1f8dbf7e28b3eff2$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape(view_more_button.text))
|
|
653
|
+
};
|
|
654
|
+
});
|
|
655
|
+
const grid_spacing_override = $5vyXB$solidjs.createMemo(() => {
|
|
656
|
+
const {
|
|
657
|
+
grid_spacing: grid_spacing
|
|
658
|
+
} = props; // can be reactive
|
|
659
|
+
return typeof grid_spacing === "string" ? {
|
|
660
|
+
grid_spacing: grid_spacing
|
|
661
|
+
} : {
|
|
662
|
+
override_vertical_spacing: grid_spacing.vertical,
|
|
663
|
+
grid_spacing: grid_spacing.horizontal
|
|
664
|
+
};
|
|
665
|
+
});
|
|
666
|
+
const [recommendations_resource_] = $5vyXB$solidjs.createResource(() => props.recommendations, recs => recs);
|
|
667
|
+
return $5vyXB$solidjsweb.ssr($1f8dbf7e28b3eff2$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape($b8e79813f4f7ebe4$export$7da560f849543dff({
|
|
668
|
+
rows_object_: rows_object_,
|
|
669
|
+
product_card_template_: (...args) => props.product_card_template(...args),
|
|
670
|
+
recommendations_resource_: recommendations_resource_,
|
|
671
|
+
market_: () => props.market,
|
|
672
|
+
merchant_: () => props.merchant,
|
|
673
|
+
layout_options_: $5vyXB$solidjs.createMemo(() => ({
|
|
674
|
+
cols_at_size: $4e04be41243c3d80$export$6daf8749b65a1b77($ab7c6c7911bae2f5$export$ff7109b9b2b206ba(props.cols_at_size)),
|
|
675
|
+
...grid_spacing_override()
|
|
676
|
+
}))
|
|
677
|
+
})));
|
|
678
|
+
}, "RecommendationGrid failed");
|
|
621
679
|
}
|
|
622
680
|
function $19950faaac026e09$export$e6fffe67d4cdd848(whatToWatch) {
|
|
623
681
|
const [size, setSize] = $5vyXB$solidjs.createSignal(0);
|
|
@@ -995,16 +1053,16 @@ function $235a2771a44e28e9$export$fecbb157621501bd({
|
|
|
995
1053
|
return outmost_element;
|
|
996
1054
|
}
|
|
997
1055
|
const $b3cf6ca8dc0e9998$var$_tmpl$ = ["<span", ' class="count">', "</span>"],
|
|
998
|
-
$b3cf6ca8dc0e9998$var$_tmpl$2 = ["<label", ' class="', '"', '><div class="left"><input type="checkbox"', "", '><span class="custom-indicator"></span><span class="text line-clamp">', "</span></div><!--#-->", "<!--/--></label>"];
|
|
1056
|
+
$b3cf6ca8dc0e9998$var$_tmpl$2 = ["<label", ' class="', '"', '><div class="left"><input type="checkbox"', "", "", '><span class="custom-indicator"></span><span class="text line-clamp">', "</span></div><!--#-->", "<!--/--></label>"];
|
|
999
1057
|
const $b3cf6ca8dc0e9998$export$48513f6b9f8ce62d = props => {
|
|
1000
1058
|
// It seems like there's no diffing without memos here (since we often just have computations in the getters above that update to the same result often because their dependencies change with unrelated changes often), so put memos here to avoid unneeded DOM changes
|
|
1001
1059
|
const count = $5vyXB$solidjs.createMemo(() => props.count_);
|
|
1002
1060
|
const label = $5vyXB$solidjs.createMemo(() => props.label_);
|
|
1003
1061
|
const checked = $5vyXB$solidjs.createMemo(() => props.checked_);
|
|
1004
1062
|
const value = $5vyXB$solidjs.createMemo(() => props.value_);
|
|
1005
|
-
const is_count_zero = $5vyXB$solidjs.createMemo(() => props.is_count_zero_);
|
|
1063
|
+
const is_count_zero = $5vyXB$solidjs.createMemo(() => props.is_count_zero_ || count() === 0);
|
|
1006
1064
|
const id = $5vyXB$depictaiutilishared.make_random_classname();
|
|
1007
|
-
return (/* We can't use actual margin because ExpandingContainer gets messed up */$5vyXB$solidjsweb.ssr($b3cf6ca8dc0e9998$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), `input-row ${is_count_zero()
|
|
1065
|
+
return (/* We can't use actual margin because ExpandingContainer gets messed up */$5vyXB$solidjsweb.ssr($b3cf6ca8dc0e9998$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), `input-row ${is_count_zero() ? "count-0" : ""}`, $5vyXB$solidjsweb.ssrAttribute("for", $5vyXB$solidjsweb.escape(id, true), false), $5vyXB$solidjsweb.ssrAttribute("name", $5vyXB$solidjsweb.escape(value(), true), false) + $5vyXB$solidjsweb.ssrAttribute("id", $5vyXB$solidjsweb.escape(id, true), false), $5vyXB$solidjsweb.ssrAttribute("checked", checked(), true), $5vyXB$solidjsweb.ssrAttribute("disabled", !checked() && is_count_zero(), true), $5vyXB$solidjsweb.escape(label()) || $5vyXB$solidjsweb.escape(value()), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Show), {
|
|
1008
1066
|
get when() {
|
|
1009
1067
|
return count() != undefined;
|
|
1010
1068
|
},
|
|
@@ -1381,7 +1439,7 @@ function $7567511a7c3e4bd7$export$e5c2828934226505({
|
|
|
1381
1439
|
const $3bdc00a1353c1150$var$_tmpl$ = ["<form", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></form>"],
|
|
1382
1440
|
$3bdc00a1353c1150$var$_tmpl$2 = ["<div", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
|
|
1383
1441
|
$3bdc00a1353c1150$var$_tmpl$3 = ["<details", "></details>"],
|
|
1384
|
-
$3bdc00a1353c1150$var$_tmpl$4 = ["<summary", ' class="category-parent"><div class="summary"><span class="
|
|
1442
|
+
$3bdc00a1353c1150$var$_tmpl$4 = ["<summary", ' class="category-parent"><div class="summary"><span class="', '">', "</span><!--#-->", "<!--/--></div></summary>"];
|
|
1385
1443
|
const $3bdc00a1353c1150$var$max_visible_without_collapsing = 15;
|
|
1386
1444
|
const $3bdc00a1353c1150$var$show_non_collapsible_when_collapsed = 4;
|
|
1387
1445
|
function $3bdc00a1353c1150$export$a32086fa6616eafd({
|
|
@@ -1583,7 +1641,7 @@ function $3bdc00a1353c1150$var$render_stuff(data, existing_filter, i18n_) {
|
|
|
1583
1641
|
return $5vyXB$solidjsweb.ssr($3bdc00a1353c1150$var$_tmpl$3, $5vyXB$solidjsweb.ssrHydrationKey());
|
|
1584
1642
|
},
|
|
1585
1643
|
get summary_() {
|
|
1586
|
-
return $5vyXB$solidjsweb.ssr($3bdc00a1353c1150$var$_tmpl$4, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape(value()?.count_), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $7567511a7c3e4bd7$export$e5c2828934226505), {
|
|
1644
|
+
return $5vyXB$solidjsweb.ssr($3bdc00a1353c1150$var$_tmpl$4, $5vyXB$solidjsweb.ssrHydrationKey(), `count ${value()?.count_ === 0 ? "count-0" : ""}`, $5vyXB$solidjsweb.escape(value()?.count_), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $7567511a7c3e4bd7$export$e5c2828934226505), {
|
|
1587
1645
|
i18n_: i18n_,
|
|
1588
1646
|
get expanded_() {
|
|
1589
1647
|
return $5vyXB$solidjs.createMemo(() => value()?.is_expanded_?.ui_should_show_expanded_?.() ?? false);
|
|
@@ -1775,7 +1833,8 @@ function $3bdc00a1353c1150$var$expand_until_choice(data_structure) {
|
|
|
1775
1833
|
});
|
|
1776
1834
|
}
|
|
1777
1835
|
const $0ef1681699140f1a$var$_tmpl$ = ["<div", ' class="checkbox-grid">', "</div>"],
|
|
1778
|
-
$0ef1681699140f1a$var$_tmpl$2 = ["<
|
|
1836
|
+
$0ef1681699140f1a$var$_tmpl$2 = ["<span", ' class="count-wrapper"><span class="count">', "</span></span>"],
|
|
1837
|
+
$0ef1681699140f1a$var$_tmpl$3 = ["<button", "", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></button>"];
|
|
1779
1838
|
const $0ef1681699140f1a$export$414f6a19d38e655c = ({
|
|
1780
1839
|
filter_: filter_,
|
|
1781
1840
|
selected_filters_: [get_selected_filters, set_selected_filters]
|
|
@@ -1804,7 +1863,14 @@ const $0ef1681699140f1a$export$414f6a19d38e655c = ({
|
|
|
1804
1863
|
},
|
|
1805
1864
|
children: value => {
|
|
1806
1865
|
const is_selected = $5vyXB$solidjs.createMemo(() => existing_filter()?.data?.includes(value().value_));
|
|
1807
|
-
return $5vyXB$solidjsweb.ssr($0ef1681699140f1a$var$_tmpl$
|
|
1866
|
+
return $5vyXB$solidjsweb.ssr($0ef1681699140f1a$var$_tmpl$3, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrAttribute("disabled", value().count_ === 0 && !is_selected(), true), `${!is_selected() ? "minor" : ""} ${is_selected() ? "major" : ""} major-minor-transition`, $5vyXB$solidjsweb.escape(value().value_), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Show), {
|
|
1867
|
+
get when() {
|
|
1868
|
+
return value().count_ != undefined;
|
|
1869
|
+
},
|
|
1870
|
+
get children() {
|
|
1871
|
+
return $5vyXB$solidjsweb.ssr($0ef1681699140f1a$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape(value().count_));
|
|
1872
|
+
}
|
|
1873
|
+
})));
|
|
1808
1874
|
}
|
|
1809
1875
|
})));
|
|
1810
1876
|
};
|
|
@@ -5068,35 +5134,6 @@ function $840d88a04b2d22a7$export$f7d2f673fc2f091d({
|
|
|
5068
5134
|
}
|
|
5069
5135
|
})))];
|
|
5070
5136
|
}
|
|
5071
|
-
function $95837413165cc2df$export$23fca46f3143581f(component, error_message) {
|
|
5072
|
-
const component_in_error_boundary = do_with_elements => {
|
|
5073
|
-
const error_boundary_wrapped = $edafe91daf3091d7$export$b69d0d92862de18b({
|
|
5074
|
-
severity_: "error",
|
|
5075
|
-
message_: error_message,
|
|
5076
|
-
get children() {
|
|
5077
|
-
const elements = component();
|
|
5078
|
-
do_with_elements?.(elements);
|
|
5079
|
-
return elements;
|
|
5080
|
-
}
|
|
5081
|
-
});
|
|
5082
|
-
// This might return an accessor, in that case we need to "unwrap" it since our SDK consumers expect HTML elements or arrays thereof
|
|
5083
|
-
if (typeof error_boundary_wrapped === "function")
|
|
5084
|
-
// @ts-ignore
|
|
5085
|
-
return error_boundary_wrapped();
|
|
5086
|
-
// On the server it returns a string, so we just return that
|
|
5087
|
-
return error_boundary_wrapped;
|
|
5088
|
-
};
|
|
5089
|
-
const owner = $5vyXB$solidjs.getOwner();
|
|
5090
|
-
if (owner == null) return $5vyXB$solidjs.createRoot(dispose => {
|
|
5091
|
-
// if we're not already run in a root, create a root and automatically dispose it when the first returned element is removed from the DOM
|
|
5092
|
-
return component_in_error_boundary(elements => {
|
|
5093
|
-
if (!elements?.length) return;
|
|
5094
|
-
(0, $5vyXB$depictaiutilishared.observer).onremoved(elements[0], dispose);
|
|
5095
|
-
});
|
|
5096
|
-
});else
|
|
5097
|
-
// we're already in a root so cleanups are handled
|
|
5098
|
-
return component_in_error_boundary();
|
|
5099
|
-
}
|
|
5100
5137
|
function $c79fd10a3ab7d6e0$export$477caf01aecaeb2a(options) {
|
|
5101
5138
|
const router_ = options.router_;
|
|
5102
5139
|
const search_query_url_param_name_ = "search_query_url_param_name_" in options ? options.search_query_url_param_name_ : undefined;
|
|
@@ -6392,7 +6429,7 @@ function $c0125412b4ea0c93$export$605674723bcc715c(props = {}) {
|
|
|
6392
6429
|
const $6b65ba8af12c5a26$var$_tmpl$ = ["<a", ' class="', '"', ">", "</a>"],
|
|
6393
6430
|
$6b65ba8af12c5a26$var$_tmpl$2 = ["<div", ' class="search-icon">', "</div>"],
|
|
6394
6431
|
$6b65ba8af12c5a26$var$_tmpl$3 = ["<span", ' class="type">', "</span>"],
|
|
6395
|
-
$6b65ba8af12c5a26$var$_tmpl$4 = ["<div", "><!--#-->
|
|
6432
|
+
$6b65ba8af12c5a26$var$_tmpl$4 = ["<div", ' class="with-parent-title"><!--#-->', '<!--/--><span class="value line-clamp">', "</span></div>"],
|
|
6396
6433
|
$6b65ba8af12c5a26$var$_tmpl$5 = ["<div", ' class="with-icon"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
|
|
6397
6434
|
$6b65ba8af12c5a26$var$_tmpl$6 = ["<h2", ' class="text">', "</h2>"],
|
|
6398
6435
|
$6b65ba8af12c5a26$var$_tmpl$7 = ["<div", ' class="suggestion-container query"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
|
|
@@ -7505,7 +7542,9 @@ function $76227de40be817e5$export$f631859cab12b342({
|
|
|
7505
7542
|
}
|
|
7506
7543
|
function $8781fcec27b20709$export$9ff751cd77687edc({
|
|
7507
7544
|
search_results_: search_results_,
|
|
7508
|
-
router_: router_
|
|
7545
|
+
router_: router_,
|
|
7546
|
+
queries_without_content_results_: queries_without_content_results_,
|
|
7547
|
+
get_search_query_: get_search_query_
|
|
7509
7548
|
}) {
|
|
7510
7549
|
const content_results = $5vyXB$solidjs.createMemo(() => search_results_()?.content_search_links);
|
|
7511
7550
|
const content_results_by_page_url = $5vyXB$solidjs.createMemo(() => {
|
|
@@ -7518,6 +7557,10 @@ function $8781fcec27b20709$export$9ff751cd77687edc({
|
|
|
7518
7557
|
}
|
|
7519
7558
|
return map;
|
|
7520
7559
|
});
|
|
7560
|
+
$5vyXB$solidjs.createEffect(() => {
|
|
7561
|
+
const results = content_results();
|
|
7562
|
+
if (Array.isArray(results) && results.length === 0) queries_without_content_results_.add($5vyXB$solidjs.untrack(get_search_query_));
|
|
7563
|
+
});
|
|
7521
7564
|
return $5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.For), {
|
|
7522
7565
|
get each() {
|
|
7523
7566
|
return [...content_results_by_page_url().keys()];
|
|
@@ -7550,7 +7593,7 @@ function $c2f92eb265a14529$export$4405d077f0a20494({
|
|
|
7550
7593
|
children: () => $5vyXB$solidjsweb.createComponent((0, $76227de40be817e5$export$f631859cab12b342), {})
|
|
7551
7594
|
});
|
|
7552
7595
|
}
|
|
7553
|
-
const $3716b8caf7f959e2$var$_tmpl$ = ["<div", ' class="
|
|
7596
|
+
const $3716b8caf7f959e2$var$_tmpl$ = ["<div", ' class="content-results" style="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
|
|
7554
7597
|
$3716b8caf7f959e2$var$_tmpl$2 = ["<button", ' class="view-more">', "</button>"],
|
|
7555
7598
|
$3716b8caf7f959e2$var$_tmpl$3 = ["<button", ' class="view-less">', "</button>"];
|
|
7556
7599
|
const $3716b8caf7f959e2$export$70ceae36059a1036 = 1;
|
|
@@ -7570,9 +7613,16 @@ function $3716b8caf7f959e2$export$6d0c9c22f6652669({
|
|
|
7570
7613
|
number_: num_results,
|
|
7571
7614
|
i18n_: i18n_
|
|
7572
7615
|
});
|
|
7573
|
-
const
|
|
7616
|
+
const queries_without_content_results_ = new (0, $5vyXB$depictaiutilishared.ListenableSet)();
|
|
7617
|
+
const [check_query, set_check_query] = $5vyXB$solidjs.createSignal(false);
|
|
7618
|
+
const placeholders_enabled = $5vyXB$solidjs.createMemo(() => {
|
|
7619
|
+
// don't show placeholders when the user toggles filters
|
|
7620
|
+
check_query();
|
|
7621
|
+
return !queries_without_content_results_.has(get_search_query_());
|
|
7622
|
+
});
|
|
7574
7623
|
const rows_object = $3716b8caf7f959e2$var$make_state_saved_rows(content_results_rows_, i18n_);
|
|
7575
|
-
|
|
7624
|
+
for (const ev of ["add", "delete"]) queries_without_content_results_.addEventListener(ev, () => set_check_query(prev => !prev));
|
|
7625
|
+
return $5vyXB$solidjsweb.ssr($3716b8caf7f959e2$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), "display:" + (is_loading_() && placeholders_enabled() || content_results()?.length > 0 ? "" : "none"), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $65a0c4b1c2eb5d0b$export$9dd50d35b9d94fdf), {
|
|
7576
7626
|
get_search_query_: get_search_query_,
|
|
7577
7627
|
i18n_: i18n_,
|
|
7578
7628
|
formatted_number_of_results_: formatted_number_of_results_,
|
|
@@ -7590,21 +7640,19 @@ function $3716b8caf7f959e2$export$6d0c9c22f6652669({
|
|
|
7590
7640
|
get children() {
|
|
7591
7641
|
return $5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Suspense), {
|
|
7592
7642
|
get fallback() {
|
|
7593
|
-
return (()
|
|
7594
|
-
|
|
7595
|
-
|
|
7596
|
-
|
|
7597
|
-
|
|
7598
|
-
|
|
7599
|
-
return $5vyXB$solidjs.createMemo(() => layout_options_().cols_at_size);
|
|
7600
|
-
}
|
|
7601
|
-
});
|
|
7602
|
-
})();
|
|
7643
|
+
return $5vyXB$solidjsweb.createComponent((0, $c2f92eb265a14529$export$4405d077f0a20494), {
|
|
7644
|
+
content_results_rows_: content_results_rows_,
|
|
7645
|
+
get cols_at_size_() {
|
|
7646
|
+
return $5vyXB$solidjs.createMemo(() => layout_options_().cols_at_size);
|
|
7647
|
+
}
|
|
7648
|
+
});
|
|
7603
7649
|
},
|
|
7604
7650
|
get children() {
|
|
7605
7651
|
return $5vyXB$solidjsweb.createComponent((0, $8781fcec27b20709$export$9ff751cd77687edc), {
|
|
7606
7652
|
router_: router_,
|
|
7607
|
-
search_results_: search_results_
|
|
7653
|
+
search_results_: search_results_,
|
|
7654
|
+
queries_without_content_results_: queries_without_content_results_,
|
|
7655
|
+
get_search_query_: get_search_query_
|
|
7608
7656
|
});
|
|
7609
7657
|
}
|
|
7610
7658
|
});
|
|
@@ -7993,7 +8041,7 @@ const $2c61e4cd8229c49a$var$_tmpl$ = ["<div", ' class="depict plp search">', "</
|
|
|
7993
8041
|
* 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.
|
|
7994
8042
|
*/
|
|
7995
8043
|
const $2c61e4cd8229c49a$var$privately_shared_properties = /*@__PURE__*/new WeakMap();
|
|
7996
|
-
const $2c61e4cd8229c49a$var$content_search_default =
|
|
8044
|
+
const $2c61e4cd8229c49a$var$content_search_default = true;
|
|
7997
8045
|
const $2c61e4cd8229c49a$var$min_products_to_fetch_ = 20;
|
|
7998
8046
|
const $2c61e4cd8229c49a$export$bde3eb976dfded9 = depict_search => $2c61e4cd8229c49a$var$privately_shared_properties.get(depict_search)?.search_query_updating_blocked_;
|
|
7999
8047
|
class $2c61e4cd8229c49a$export$ac6237957a15b3f0 {
|