@depict-ai/ui 1.4.25 → 2.0.1
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 +240 -170
- package/ES10/index.d.ts +28 -31
- package/ES10/index.js +242 -172
- package/README.md +2 -1
- package/latest/index.cjs +229 -166
- package/latest/index.d.ts +28 -31
- package/latest/index.js +231 -168
- package/locales/require.js +1152 -0
- package/package.json +7 -7
- package/server/ES10/index.cjs +199 -139
- package/server/ES10/index.d.ts +28 -31
- package/server/ES10/index.js +201 -141
- package/server/latest/index.cjs +189 -131
- package/server/latest/index.d.ts +28 -31
- package/server/latest/index.js +191 -133
package/server/latest/index.cjs
CHANGED
|
@@ -60,7 +60,7 @@ $parcel$export(module.exports, "defaultColsAtSize", () => $a3280f0aad997933$expo
|
|
|
60
60
|
$parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $a3280f0aad997933$export$7bf543b9d9be2c22);
|
|
61
61
|
$parcel$export(module.exports, "version", () => $b757f75811f3261f$export$83d89fbfd8236492);
|
|
62
62
|
/*! Depict.ai search and product listing SDK */
|
|
63
|
-
const $b757f75811f3261f$export$83d89fbfd8236492 = "
|
|
63
|
+
const $b757f75811f3261f$export$83d89fbfd8236492 = "2.0.1";
|
|
64
64
|
const $4e04be41243c3d80$var$transform_elements = sorted_cols_at_size => {
|
|
65
65
|
const cols_at_size = [];
|
|
66
66
|
for (let i = 0; i < sorted_cols_at_size.length; i++) {
|
|
@@ -119,7 +119,9 @@ function $ab7c6c7911bae2f5$export$ff7109b9b2b206ba(sdk_cols_at_size, min_width_f
|
|
|
119
119
|
}
|
|
120
120
|
function $fc23d7668ae0011d$export$a2cc176055f8f08() {
|
|
121
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.";
|
|
122
|
-
return (0, $5vyXB$solidjsweb.isServer) ?
|
|
122
|
+
return (0, $5vyXB$solidjsweb.isServer) ? {
|
|
123
|
+
t: `<!-- ${text} -->`
|
|
124
|
+
} : document.createComment(text);
|
|
123
125
|
}
|
|
124
126
|
function $5f7d55c710fd1bc2$export$2f0cbfbb4354bb52(elements) {
|
|
125
127
|
// FYI this probably doesn't work on hugely deep nestings or large amount of elements
|
|
@@ -326,21 +328,32 @@ function $edafe91daf3091d7$export$b69d0d92862de18b(props) {
|
|
|
326
328
|
}
|
|
327
329
|
});
|
|
328
330
|
}
|
|
329
|
-
const $f48d0fbb00835aaa$var$_tmpl$ = ["<
|
|
330
|
-
$f48d0fbb00835aaa$var$_tmpl$2 = ["<
|
|
331
|
+
const $f48d0fbb00835aaa$var$_tmpl$ = ["<div", ' class="', '">', "</div>"],
|
|
332
|
+
$f48d0fbb00835aaa$var$_tmpl$2 = ["<style", ' type="text/css">', "</style>"];
|
|
331
333
|
function $f48d0fbb00835aaa$export$d21e32dfedac04be(props) {
|
|
332
|
-
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
|
|
333
341
|
return $5vyXB$solidjsweb.createComponent((0, $edafe91daf3091d7$export$b69d0d92862de18b), {
|
|
334
342
|
get message_() {
|
|
335
343
|
return "Failed calculating " + props.layout + " layout";
|
|
336
344
|
},
|
|
337
345
|
severity_: "error",
|
|
338
346
|
get children() {
|
|
339
|
-
return $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element_);
|
|
347
|
+
return $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element_, false, container_class);
|
|
340
348
|
}
|
|
341
349
|
});
|
|
342
350
|
}
|
|
343
|
-
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
|
+
}
|
|
344
357
|
// Copy of Layout from utilishared but using solid-js signals instead of async iterable IPNS
|
|
345
358
|
const show_all_rows = $5vyXB$solidjs.createMemo(() => props.rows === "all");
|
|
346
359
|
const rows_or_empty_object = $5vyXB$solidjs.createMemo(() => show_all_rows() ? {} : props.rows);
|
|
@@ -355,28 +368,27 @@ function $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element, ins
|
|
|
355
368
|
return !(!button || Array.isArray(button) && !button.length);
|
|
356
369
|
});
|
|
357
370
|
const [get_styling, set_styling] = $5vyXB$solidjs.createSignal();
|
|
358
|
-
const container_class = $5vyXB$depictaiutilishared.make_random_classname();
|
|
359
371
|
const selector_beginning = `.depict .${container_class}>`; // class so ppl can have id if needed
|
|
360
372
|
const [get_children_count, set_children_count] = $5vyXB$solidjs.createSignal(0);
|
|
361
|
-
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);
|
|
362
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));
|
|
363
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
|
|
364
376
|
const rows_visible_signal = $5vyXB$solidjs.createMemo(() => rows_or_empty_object().currently_visible || default_currently_visible_signal);
|
|
365
377
|
const get_rows_visible = $5vyXB$solidjs.createMemo(() => rows_visible_signal()[0]());
|
|
366
378
|
const set_rows_visible = $5vyXB$solidjs.createMemo(() => rows_visible_signal()[1]);
|
|
367
|
-
const view_more_button_class = $5vyXB$
|
|
368
|
-
const view_less_button_class = $5vyXB$
|
|
369
|
-
const
|
|
370
|
-
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)));
|
|
371
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
|
|
372
|
-
const view_less_button_container = $5vyXB$solidjs.createMemo(() => have_a_view_less_button() && $5vyXB$solidjsweb.ssr($f48d0fbb00835aaa$var$_tmpl
|
|
373
|
-
|
|
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("");
|
|
374
385
|
$5vyXB$solidjs.createComputed(() => {
|
|
375
386
|
// Make sure we don't have more rows visible than max_rows (this could happen by max_rows being decreased)
|
|
376
387
|
const rows_visible = get_rows_visible();
|
|
377
388
|
const max_rows = rows_or_empty_object().max_rows;
|
|
378
389
|
if (!isNaN(max_rows) && max_rows >= 0 && rows_visible > max_rows) set_rows_visible()(max_rows);
|
|
379
390
|
});
|
|
391
|
+
$5vyXB$solidjs.createEffect(() => set_force_style_update(" ")); // force style update after hydration due to https://discord.com/channels/722131463138705510/722167424186843267/1151544212517552168
|
|
380
392
|
$5vyXB$solidjs.createRenderEffect(() => {
|
|
381
393
|
// Be careful to only read show_all_rows in here (ofc doesn't apply to nested effects)
|
|
382
394
|
if (show_all_rows()) {
|
|
@@ -385,11 +397,13 @@ function $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element, ins
|
|
|
385
397
|
return;
|
|
386
398
|
}
|
|
387
399
|
update_children_count();
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
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
|
+
}
|
|
393
407
|
set_styling(
|
|
394
408
|
// this is needed because solid will think that the memo-accessor is a setter function otherwise
|
|
395
409
|
() => $5vyXB$solidjs.createMemo(() => {
|
|
@@ -400,7 +414,7 @@ function $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element, ins
|
|
|
400
414
|
} = rows_or_empty_object();
|
|
401
415
|
const rows_visible = get_rows_visible();
|
|
402
416
|
const children_count = get_children_count();
|
|
403
|
-
return col_styling() + props.cols_at_size.map(options => {
|
|
417
|
+
return force_style_update() + col_styling() + props.cols_at_size.map(options => {
|
|
404
418
|
const [recs_per_row, min, max] = options;
|
|
405
419
|
let should_hide_view_more_button;
|
|
406
420
|
let visible_recs;
|
|
@@ -421,6 +435,7 @@ function $f48d0fbb00835aaa$export$445d8d3f5f706a40(props, container_element, ins
|
|
|
421
435
|
}).join("");
|
|
422
436
|
}));
|
|
423
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
|
|
424
439
|
if (insert_after_container) container_element.after(style_element);
|
|
425
440
|
return [container_element, view_more_button_container(), view_less_button_container(), style_element];
|
|
426
441
|
}
|
|
@@ -434,12 +449,20 @@ function $a0e53f99354809d9$export$6649caad96ef8870({
|
|
|
434
449
|
slider_ref_: slider_ref_,
|
|
435
450
|
faded_opacity_ = 0.7,
|
|
436
451
|
mutation_plugins_ = [],
|
|
437
|
-
disable_fading_: disable_fading_
|
|
452
|
+
disable_fading_: disable_fading_,
|
|
453
|
+
arrow_width_: arrow_width_,
|
|
454
|
+
arrow_height_: arrow_height_
|
|
438
455
|
}) {
|
|
439
456
|
const slider = new (0, $5vyXB$depictaiutilishared.Amazing_Slider)({
|
|
440
457
|
button_contents: {
|
|
441
|
-
left: [$5vyXB$solidjsweb.ssr($a0e53f99354809d9$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $0f313083912e447a$export$8be2714ec7f169ee), {
|
|
442
|
-
|
|
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
|
+
})))]
|
|
443
466
|
},
|
|
444
467
|
constructor_plugins: [$5vyXB$depictaiutilishared.slider_snap_css().constructor_plugin],
|
|
445
468
|
mutation_plugins: [...(disable_fading_ ? [] : [$5vyXB$depictaiutilishared.slider_fading_factory({
|
|
@@ -462,6 +485,8 @@ function $363ce4d1d71041aa$export$d41d19e89346fa2({
|
|
|
462
485
|
const is_showing_something = $5vyXB$solidjs.createMemo(() => recommendations_resource_.loading || recommendations_resource_()?.length);
|
|
463
486
|
const num_placeholders_ = () => 20;
|
|
464
487
|
const slider = $5vyXB$solidjsweb.createComponent((0, $a0e53f99354809d9$export$6649caad96ef8870), {
|
|
488
|
+
arrow_height_: 25,
|
|
489
|
+
arrow_width_: 12.5,
|
|
465
490
|
disable_fading_: true,
|
|
466
491
|
slider_ref_: slider => {
|
|
467
492
|
const {
|
|
@@ -506,30 +531,62 @@ function $363ce4d1d71041aa$export$d41d19e89346fa2({
|
|
|
506
531
|
children: slider
|
|
507
532
|
});
|
|
508
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
|
+
}
|
|
509
564
|
const $72f96c4782db0b1b$var$_tmpl$ = ["<div", ' class="depict recommendations">', "</div>"];
|
|
510
565
|
function $72f96c4782db0b1b$export$9574e176201e5e8d(props) {
|
|
511
|
-
|
|
512
|
-
const {
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
grid_spacing
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
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");
|
|
533
590
|
}
|
|
534
591
|
const $b8e79813f4f7ebe4$var$_tmpl$ = ["<div", ' class="recommendation-grid"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"];
|
|
535
592
|
function $b8e79813f4f7ebe4$export$7da560f849543dff({
|
|
@@ -585,38 +642,49 @@ function $b8e79813f4f7ebe4$export$7da560f849543dff({
|
|
|
585
642
|
const $1f8dbf7e28b3eff2$var$_tmpl$ = ["<button", ' class="show-more major" type="button">', "</button>"],
|
|
586
643
|
$1f8dbf7e28b3eff2$var$_tmpl$2 = ["<div", ' class="depict plp recommendations">', "</div>"];
|
|
587
644
|
function $1f8dbf7e28b3eff2$export$9756467d34d91cdb(props) {
|
|
588
|
-
|
|
589
|
-
const
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
};
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
645
|
+
return $95837413165cc2df$export$23fca46f3143581f(() => {
|
|
646
|
+
const rows_object_ = $5vyXB$solidjs.createMemo(() => {
|
|
647
|
+
const {
|
|
648
|
+
view_more_button: view_more_button,
|
|
649
|
+
max_rows: max_rows
|
|
650
|
+
} = props;
|
|
651
|
+
if (!view_more_button) {
|
|
652
|
+
if (max_rows) return {
|
|
653
|
+
max_rows: max_rows
|
|
654
|
+
};
|
|
655
|
+
return "all";
|
|
656
|
+
}
|
|
657
|
+
return {
|
|
658
|
+
max_rows: max_rows,
|
|
659
|
+
start_rows: view_more_button.start_rows,
|
|
660
|
+
rows_per_click: view_more_button.rows_per_click ?? 2,
|
|
661
|
+
button: $5vyXB$solidjsweb.ssr($1f8dbf7e28b3eff2$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape(view_more_button.text))
|
|
662
|
+
};
|
|
663
|
+
});
|
|
664
|
+
const grid_spacing_override = $5vyXB$solidjs.createMemo(() => {
|
|
665
|
+
const {
|
|
666
|
+
grid_spacing: grid_spacing
|
|
667
|
+
} = props; // can be reactive
|
|
668
|
+
return typeof grid_spacing === "string" ? {
|
|
669
|
+
grid_spacing: grid_spacing
|
|
670
|
+
} : {
|
|
671
|
+
override_vertical_spacing: grid_spacing.vertical,
|
|
672
|
+
grid_spacing: grid_spacing.horizontal
|
|
673
|
+
};
|
|
674
|
+
});
|
|
675
|
+
const [recommendations_resource_] = $5vyXB$solidjs.createResource(() => props.recommendations, recs => recs);
|
|
676
|
+
return $5vyXB$solidjsweb.ssr($1f8dbf7e28b3eff2$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape($b8e79813f4f7ebe4$export$7da560f849543dff({
|
|
677
|
+
rows_object_: rows_object_,
|
|
678
|
+
product_card_template_: (...args) => props.product_card_template(...args),
|
|
679
|
+
recommendations_resource_: recommendations_resource_,
|
|
680
|
+
market_: () => props.market,
|
|
681
|
+
merchant_: () => props.merchant,
|
|
682
|
+
layout_options_: $5vyXB$solidjs.createMemo(() => ({
|
|
683
|
+
cols_at_size: $4e04be41243c3d80$export$6daf8749b65a1b77($ab7c6c7911bae2f5$export$ff7109b9b2b206ba(props.cols_at_size)),
|
|
684
|
+
...grid_spacing_override()
|
|
685
|
+
}))
|
|
686
|
+
})));
|
|
687
|
+
}, "RecommendationGrid failed");
|
|
620
688
|
}
|
|
621
689
|
function $19950faaac026e09$export$e6fffe67d4cdd848(whatToWatch) {
|
|
622
690
|
const [size, setSize] = $5vyXB$solidjs.createSignal(0);
|
|
@@ -994,16 +1062,16 @@ function $235a2771a44e28e9$export$fecbb157621501bd({
|
|
|
994
1062
|
return outmost_element;
|
|
995
1063
|
}
|
|
996
1064
|
const $b3cf6ca8dc0e9998$var$_tmpl$ = ["<span", ' class="count">', "</span>"],
|
|
997
|
-
$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>"];
|
|
1065
|
+
$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>"];
|
|
998
1066
|
const $b3cf6ca8dc0e9998$export$48513f6b9f8ce62d = props => {
|
|
999
1067
|
// 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
|
|
1000
1068
|
const count = $5vyXB$solidjs.createMemo(() => props.count_);
|
|
1001
1069
|
const label = $5vyXB$solidjs.createMemo(() => props.label_);
|
|
1002
1070
|
const checked = $5vyXB$solidjs.createMemo(() => props.checked_);
|
|
1003
1071
|
const value = $5vyXB$solidjs.createMemo(() => props.value_);
|
|
1004
|
-
const is_count_zero = $5vyXB$solidjs.createMemo(() => props.is_count_zero_);
|
|
1072
|
+
const is_count_zero = $5vyXB$solidjs.createMemo(() => props.is_count_zero_ || count() === 0);
|
|
1005
1073
|
const id = $5vyXB$depictaiutilishared.make_random_classname();
|
|
1006
|
-
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()
|
|
1074
|
+
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), {
|
|
1007
1075
|
get when() {
|
|
1008
1076
|
return count() != undefined;
|
|
1009
1077
|
},
|
|
@@ -1380,7 +1448,7 @@ function $7567511a7c3e4bd7$export$e5c2828934226505({
|
|
|
1380
1448
|
const $3bdc00a1353c1150$var$_tmpl$ = ["<form", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></form>"],
|
|
1381
1449
|
$3bdc00a1353c1150$var$_tmpl$2 = ["<div", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
|
|
1382
1450
|
$3bdc00a1353c1150$var$_tmpl$3 = ["<details", "></details>"],
|
|
1383
|
-
$3bdc00a1353c1150$var$_tmpl$4 = ["<summary", ' class="category-parent"><div class="summary"><span class="
|
|
1451
|
+
$3bdc00a1353c1150$var$_tmpl$4 = ["<summary", ' class="category-parent"><div class="summary"><span class="', '">', "</span><!--#-->", "<!--/--></div></summary>"];
|
|
1384
1452
|
const $3bdc00a1353c1150$var$max_visible_without_collapsing = 15;
|
|
1385
1453
|
const $3bdc00a1353c1150$var$show_non_collapsible_when_collapsed = 4;
|
|
1386
1454
|
function $3bdc00a1353c1150$export$a32086fa6616eafd({
|
|
@@ -1582,7 +1650,7 @@ function $3bdc00a1353c1150$var$render_stuff(data, existing_filter, i18n_) {
|
|
|
1582
1650
|
return $5vyXB$solidjsweb.ssr($3bdc00a1353c1150$var$_tmpl$3, $5vyXB$solidjsweb.ssrHydrationKey());
|
|
1583
1651
|
},
|
|
1584
1652
|
get summary_() {
|
|
1585
|
-
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), {
|
|
1653
|
+
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), {
|
|
1586
1654
|
i18n_: i18n_,
|
|
1587
1655
|
get expanded_() {
|
|
1588
1656
|
return $5vyXB$solidjs.createMemo(() => value()?.is_expanded_?.ui_should_show_expanded_?.() ?? false);
|
|
@@ -1774,7 +1842,8 @@ function $3bdc00a1353c1150$var$expand_until_choice(data_structure) {
|
|
|
1774
1842
|
});
|
|
1775
1843
|
}
|
|
1776
1844
|
const $0ef1681699140f1a$var$_tmpl$ = ["<div", ' class="checkbox-grid">', "</div>"],
|
|
1777
|
-
$0ef1681699140f1a$var$_tmpl$2 = ["<
|
|
1845
|
+
$0ef1681699140f1a$var$_tmpl$2 = ["<span", ' class="count-wrapper"><span class="count">', "</span></span>"],
|
|
1846
|
+
$0ef1681699140f1a$var$_tmpl$3 = ["<button", "", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></button>"];
|
|
1778
1847
|
const $0ef1681699140f1a$export$414f6a19d38e655c = ({
|
|
1779
1848
|
filter_: filter_,
|
|
1780
1849
|
selected_filters_: [get_selected_filters, set_selected_filters]
|
|
@@ -1803,7 +1872,14 @@ const $0ef1681699140f1a$export$414f6a19d38e655c = ({
|
|
|
1803
1872
|
},
|
|
1804
1873
|
children: value => {
|
|
1805
1874
|
const is_selected = $5vyXB$solidjs.createMemo(() => existing_filter()?.data?.includes(value().value_));
|
|
1806
|
-
return $5vyXB$solidjsweb.ssr($0ef1681699140f1a$var$_tmpl$
|
|
1875
|
+
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), {
|
|
1876
|
+
get when() {
|
|
1877
|
+
return value().count_ != undefined;
|
|
1878
|
+
},
|
|
1879
|
+
get children() {
|
|
1880
|
+
return $5vyXB$solidjsweb.ssr($0ef1681699140f1a$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape(value().count_));
|
|
1881
|
+
}
|
|
1882
|
+
})));
|
|
1807
1883
|
}
|
|
1808
1884
|
})));
|
|
1809
1885
|
};
|
|
@@ -5067,35 +5143,6 @@ function $840d88a04b2d22a7$export$f7d2f673fc2f091d({
|
|
|
5067
5143
|
}
|
|
5068
5144
|
})))];
|
|
5069
5145
|
}
|
|
5070
|
-
function $95837413165cc2df$export$23fca46f3143581f(component, error_message) {
|
|
5071
|
-
const component_in_error_boundary = do_with_elements => {
|
|
5072
|
-
const error_boundary_wrapped = $edafe91daf3091d7$export$b69d0d92862de18b({
|
|
5073
|
-
severity_: "error",
|
|
5074
|
-
message_: error_message,
|
|
5075
|
-
get children() {
|
|
5076
|
-
const elements = component();
|
|
5077
|
-
do_with_elements?.(elements);
|
|
5078
|
-
return elements;
|
|
5079
|
-
}
|
|
5080
|
-
});
|
|
5081
|
-
// This might return an accessor, in that case we need to "unwrap" it since our SDK consumers expect HTML elements or arrays thereof
|
|
5082
|
-
if (typeof error_boundary_wrapped === "function")
|
|
5083
|
-
// @ts-ignore
|
|
5084
|
-
return error_boundary_wrapped();
|
|
5085
|
-
// On the server it returns a string, so we just return that
|
|
5086
|
-
return error_boundary_wrapped;
|
|
5087
|
-
};
|
|
5088
|
-
const owner = $5vyXB$solidjs.getOwner();
|
|
5089
|
-
if (owner == null) return $5vyXB$solidjs.createRoot(dispose => {
|
|
5090
|
-
// 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
|
|
5091
|
-
return component_in_error_boundary(elements => {
|
|
5092
|
-
if (!elements?.length) return;
|
|
5093
|
-
(0, $5vyXB$depictaiutilishared.observer).onremoved(elements[0], dispose);
|
|
5094
|
-
});
|
|
5095
|
-
});else
|
|
5096
|
-
// we're already in a root so cleanups are handled
|
|
5097
|
-
return component_in_error_boundary();
|
|
5098
|
-
}
|
|
5099
5146
|
function $c79fd10a3ab7d6e0$export$477caf01aecaeb2a(options) {
|
|
5100
5147
|
const router_ = options.router_;
|
|
5101
5148
|
const search_query_url_param_name_ = "search_query_url_param_name_" in options ? options.search_query_url_param_name_ : undefined;
|
|
@@ -6391,7 +6438,7 @@ function $c0125412b4ea0c93$export$605674723bcc715c(props = {}) {
|
|
|
6391
6438
|
const $6b65ba8af12c5a26$var$_tmpl$ = ["<a", ' class="', '"', ">", "</a>"],
|
|
6392
6439
|
$6b65ba8af12c5a26$var$_tmpl$2 = ["<div", ' class="search-icon">', "</div>"],
|
|
6393
6440
|
$6b65ba8af12c5a26$var$_tmpl$3 = ["<span", ' class="type">', "</span>"],
|
|
6394
|
-
$6b65ba8af12c5a26$var$_tmpl$4 = ["<div", "><!--#-->
|
|
6441
|
+
$6b65ba8af12c5a26$var$_tmpl$4 = ["<div", ' class="with-parent-title"><!--#-->', '<!--/--><span class="value line-clamp">', "</span></div>"],
|
|
6395
6442
|
$6b65ba8af12c5a26$var$_tmpl$5 = ["<div", ' class="with-icon"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
|
|
6396
6443
|
$6b65ba8af12c5a26$var$_tmpl$6 = ["<h2", ' class="text">', "</h2>"],
|
|
6397
6444
|
$6b65ba8af12c5a26$var$_tmpl$7 = ["<div", ' class="suggestion-container query"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
|
|
@@ -7504,7 +7551,9 @@ function $76227de40be817e5$export$f631859cab12b342({
|
|
|
7504
7551
|
}
|
|
7505
7552
|
function $8781fcec27b20709$export$9ff751cd77687edc({
|
|
7506
7553
|
search_results_: search_results_,
|
|
7507
|
-
router_: router_
|
|
7554
|
+
router_: router_,
|
|
7555
|
+
queries_without_content_results_: queries_without_content_results_,
|
|
7556
|
+
get_search_query_: get_search_query_
|
|
7508
7557
|
}) {
|
|
7509
7558
|
const content_results = $5vyXB$solidjs.createMemo(() => search_results_()?.content_search_links);
|
|
7510
7559
|
const content_results_by_page_url = $5vyXB$solidjs.createMemo(() => {
|
|
@@ -7517,6 +7566,10 @@ function $8781fcec27b20709$export$9ff751cd77687edc({
|
|
|
7517
7566
|
}
|
|
7518
7567
|
return map;
|
|
7519
7568
|
});
|
|
7569
|
+
$5vyXB$solidjs.createEffect(() => {
|
|
7570
|
+
const results = content_results();
|
|
7571
|
+
if (Array.isArray(results) && results.length === 0) queries_without_content_results_.add($5vyXB$solidjs.untrack(get_search_query_));
|
|
7572
|
+
});
|
|
7520
7573
|
return $5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.For), {
|
|
7521
7574
|
get each() {
|
|
7522
7575
|
return [...content_results_by_page_url().keys()];
|
|
@@ -7549,7 +7602,7 @@ function $c2f92eb265a14529$export$4405d077f0a20494({
|
|
|
7549
7602
|
children: () => $5vyXB$solidjsweb.createComponent((0, $76227de40be817e5$export$f631859cab12b342), {})
|
|
7550
7603
|
});
|
|
7551
7604
|
}
|
|
7552
|
-
const $3716b8caf7f959e2$var$_tmpl$ = ["<div", ' class="
|
|
7605
|
+
const $3716b8caf7f959e2$var$_tmpl$ = ["<div", ' class="content-results" style="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
|
|
7553
7606
|
$3716b8caf7f959e2$var$_tmpl$2 = ["<button", ' class="view-more">', "</button>"],
|
|
7554
7607
|
$3716b8caf7f959e2$var$_tmpl$3 = ["<button", ' class="view-less">', "</button>"];
|
|
7555
7608
|
const $3716b8caf7f959e2$export$70ceae36059a1036 = 1;
|
|
@@ -7569,9 +7622,16 @@ function $3716b8caf7f959e2$export$6d0c9c22f6652669({
|
|
|
7569
7622
|
number_: num_results,
|
|
7570
7623
|
i18n_: i18n_
|
|
7571
7624
|
});
|
|
7572
|
-
const
|
|
7625
|
+
const queries_without_content_results_ = new (0, $5vyXB$depictaiutilishared.ListenableSet)();
|
|
7626
|
+
const [check_query, set_check_query] = $5vyXB$solidjs.createSignal(false);
|
|
7627
|
+
const placeholders_enabled = $5vyXB$solidjs.createMemo(() => {
|
|
7628
|
+
// don't show placeholders when the user toggles filters
|
|
7629
|
+
check_query();
|
|
7630
|
+
return !queries_without_content_results_.has(get_search_query_());
|
|
7631
|
+
});
|
|
7573
7632
|
const rows_object = $3716b8caf7f959e2$var$make_state_saved_rows(content_results_rows_, i18n_);
|
|
7574
|
-
|
|
7633
|
+
for (const ev of ["add", "delete"]) queries_without_content_results_.addEventListener(ev, () => set_check_query(prev => !prev));
|
|
7634
|
+
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), {
|
|
7575
7635
|
get_search_query_: get_search_query_,
|
|
7576
7636
|
i18n_: i18n_,
|
|
7577
7637
|
formatted_number_of_results_: formatted_number_of_results_,
|
|
@@ -7589,21 +7649,19 @@ function $3716b8caf7f959e2$export$6d0c9c22f6652669({
|
|
|
7589
7649
|
get children() {
|
|
7590
7650
|
return $5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Suspense), {
|
|
7591
7651
|
get fallback() {
|
|
7592
|
-
return (()
|
|
7593
|
-
|
|
7594
|
-
|
|
7595
|
-
|
|
7596
|
-
|
|
7597
|
-
|
|
7598
|
-
return $5vyXB$solidjs.createMemo(() => layout_options_().cols_at_size);
|
|
7599
|
-
}
|
|
7600
|
-
});
|
|
7601
|
-
})();
|
|
7652
|
+
return $5vyXB$solidjsweb.createComponent((0, $c2f92eb265a14529$export$4405d077f0a20494), {
|
|
7653
|
+
content_results_rows_: content_results_rows_,
|
|
7654
|
+
get cols_at_size_() {
|
|
7655
|
+
return $5vyXB$solidjs.createMemo(() => layout_options_().cols_at_size);
|
|
7656
|
+
}
|
|
7657
|
+
});
|
|
7602
7658
|
},
|
|
7603
7659
|
get children() {
|
|
7604
7660
|
return $5vyXB$solidjsweb.createComponent((0, $8781fcec27b20709$export$9ff751cd77687edc), {
|
|
7605
7661
|
router_: router_,
|
|
7606
|
-
search_results_: search_results_
|
|
7662
|
+
search_results_: search_results_,
|
|
7663
|
+
queries_without_content_results_: queries_without_content_results_,
|
|
7664
|
+
get_search_query_: get_search_query_
|
|
7607
7665
|
});
|
|
7608
7666
|
}
|
|
7609
7667
|
});
|
|
@@ -7992,7 +8050,7 @@ const $2c61e4cd8229c49a$var$_tmpl$ = ["<div", ' class="depict plp search">', "</
|
|
|
7992
8050
|
* 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.
|
|
7993
8051
|
*/
|
|
7994
8052
|
const $2c61e4cd8229c49a$var$privately_shared_properties = /*@__PURE__*/new WeakMap();
|
|
7995
|
-
const $2c61e4cd8229c49a$var$content_search_default =
|
|
8053
|
+
const $2c61e4cd8229c49a$var$content_search_default = true;
|
|
7996
8054
|
const $2c61e4cd8229c49a$var$min_products_to_fetch_ = 20;
|
|
7997
8055
|
const $2c61e4cd8229c49a$export$bde3eb976dfded9 = depict_search => $2c61e4cd8229c49a$var$privately_shared_properties.get(depict_search)?.search_query_updating_blocked_;
|
|
7998
8056
|
class $2c61e4cd8229c49a$export$ac6237957a15b3f0 {
|