@depict-ai/ui 1.4.25 → 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 +231 -170
- package/ES10/index.d.ts +27 -31
- package/ES10/index.js +233 -172
- package/README.md +2 -1
- package/latest/index.cjs +220 -166
- package/latest/index.d.ts +27 -31
- package/latest/index.js +222 -168
- package/locales/require.js +1152 -0
- package/package.json +7 -7
- package/server/ES10/index.cjs +190 -139
- package/server/ES10/index.d.ts +27 -31
- package/server/ES10/index.js +192 -141
- package/server/latest/index.cjs +180 -131
- package/server/latest/index.d.ts +27 -31
- package/server/latest/index.js +182 -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.0";
|
|
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,40 @@ 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
|
-
const {
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
grid_spacing
|
|
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 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");
|
|
620
679
|
}
|
|
621
680
|
function $19950faaac026e09$export$e6fffe67d4cdd848(whatToWatch) {
|
|
622
681
|
const [size, setSize] = $5vyXB$solidjs.createSignal(0);
|
|
@@ -994,16 +1053,16 @@ function $235a2771a44e28e9$export$fecbb157621501bd({
|
|
|
994
1053
|
return outmost_element;
|
|
995
1054
|
}
|
|
996
1055
|
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>"];
|
|
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>"];
|
|
998
1057
|
const $b3cf6ca8dc0e9998$export$48513f6b9f8ce62d = props => {
|
|
999
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
|
|
1000
1059
|
const count = $5vyXB$solidjs.createMemo(() => props.count_);
|
|
1001
1060
|
const label = $5vyXB$solidjs.createMemo(() => props.label_);
|
|
1002
1061
|
const checked = $5vyXB$solidjs.createMemo(() => props.checked_);
|
|
1003
1062
|
const value = $5vyXB$solidjs.createMemo(() => props.value_);
|
|
1004
|
-
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);
|
|
1005
1064
|
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()
|
|
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), {
|
|
1007
1066
|
get when() {
|
|
1008
1067
|
return count() != undefined;
|
|
1009
1068
|
},
|
|
@@ -1380,7 +1439,7 @@ function $7567511a7c3e4bd7$export$e5c2828934226505({
|
|
|
1380
1439
|
const $3bdc00a1353c1150$var$_tmpl$ = ["<form", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></form>"],
|
|
1381
1440
|
$3bdc00a1353c1150$var$_tmpl$2 = ["<div", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
|
|
1382
1441
|
$3bdc00a1353c1150$var$_tmpl$3 = ["<details", "></details>"],
|
|
1383
|
-
$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>"];
|
|
1384
1443
|
const $3bdc00a1353c1150$var$max_visible_without_collapsing = 15;
|
|
1385
1444
|
const $3bdc00a1353c1150$var$show_non_collapsible_when_collapsed = 4;
|
|
1386
1445
|
function $3bdc00a1353c1150$export$a32086fa6616eafd({
|
|
@@ -1582,7 +1641,7 @@ function $3bdc00a1353c1150$var$render_stuff(data, existing_filter, i18n_) {
|
|
|
1582
1641
|
return $5vyXB$solidjsweb.ssr($3bdc00a1353c1150$var$_tmpl$3, $5vyXB$solidjsweb.ssrHydrationKey());
|
|
1583
1642
|
},
|
|
1584
1643
|
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), {
|
|
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), {
|
|
1586
1645
|
i18n_: i18n_,
|
|
1587
1646
|
get expanded_() {
|
|
1588
1647
|
return $5vyXB$solidjs.createMemo(() => value()?.is_expanded_?.ui_should_show_expanded_?.() ?? false);
|
|
@@ -1774,7 +1833,8 @@ function $3bdc00a1353c1150$var$expand_until_choice(data_structure) {
|
|
|
1774
1833
|
});
|
|
1775
1834
|
}
|
|
1776
1835
|
const $0ef1681699140f1a$var$_tmpl$ = ["<div", ' class="checkbox-grid">', "</div>"],
|
|
1777
|
-
$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>"];
|
|
1778
1838
|
const $0ef1681699140f1a$export$414f6a19d38e655c = ({
|
|
1779
1839
|
filter_: filter_,
|
|
1780
1840
|
selected_filters_: [get_selected_filters, set_selected_filters]
|
|
@@ -1803,7 +1863,14 @@ const $0ef1681699140f1a$export$414f6a19d38e655c = ({
|
|
|
1803
1863
|
},
|
|
1804
1864
|
children: value => {
|
|
1805
1865
|
const is_selected = $5vyXB$solidjs.createMemo(() => existing_filter()?.data?.includes(value().value_));
|
|
1806
|
-
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
|
+
})));
|
|
1807
1874
|
}
|
|
1808
1875
|
})));
|
|
1809
1876
|
};
|
|
@@ -5067,35 +5134,6 @@ function $840d88a04b2d22a7$export$f7d2f673fc2f091d({
|
|
|
5067
5134
|
}
|
|
5068
5135
|
})))];
|
|
5069
5136
|
}
|
|
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
5137
|
function $c79fd10a3ab7d6e0$export$477caf01aecaeb2a(options) {
|
|
5100
5138
|
const router_ = options.router_;
|
|
5101
5139
|
const search_query_url_param_name_ = "search_query_url_param_name_" in options ? options.search_query_url_param_name_ : undefined;
|
|
@@ -6391,7 +6429,7 @@ function $c0125412b4ea0c93$export$605674723bcc715c(props = {}) {
|
|
|
6391
6429
|
const $6b65ba8af12c5a26$var$_tmpl$ = ["<a", ' class="', '"', ">", "</a>"],
|
|
6392
6430
|
$6b65ba8af12c5a26$var$_tmpl$2 = ["<div", ' class="search-icon">', "</div>"],
|
|
6393
6431
|
$6b65ba8af12c5a26$var$_tmpl$3 = ["<span", ' class="type">', "</span>"],
|
|
6394
|
-
$6b65ba8af12c5a26$var$_tmpl$4 = ["<div", "><!--#-->
|
|
6432
|
+
$6b65ba8af12c5a26$var$_tmpl$4 = ["<div", ' class="with-parent-title"><!--#-->', '<!--/--><span class="value line-clamp">', "</span></div>"],
|
|
6395
6433
|
$6b65ba8af12c5a26$var$_tmpl$5 = ["<div", ' class="with-icon"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
|
|
6396
6434
|
$6b65ba8af12c5a26$var$_tmpl$6 = ["<h2", ' class="text">', "</h2>"],
|
|
6397
6435
|
$6b65ba8af12c5a26$var$_tmpl$7 = ["<div", ' class="suggestion-container query"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
|
|
@@ -7504,7 +7542,9 @@ function $76227de40be817e5$export$f631859cab12b342({
|
|
|
7504
7542
|
}
|
|
7505
7543
|
function $8781fcec27b20709$export$9ff751cd77687edc({
|
|
7506
7544
|
search_results_: search_results_,
|
|
7507
|
-
router_: router_
|
|
7545
|
+
router_: router_,
|
|
7546
|
+
queries_without_content_results_: queries_without_content_results_,
|
|
7547
|
+
get_search_query_: get_search_query_
|
|
7508
7548
|
}) {
|
|
7509
7549
|
const content_results = $5vyXB$solidjs.createMemo(() => search_results_()?.content_search_links);
|
|
7510
7550
|
const content_results_by_page_url = $5vyXB$solidjs.createMemo(() => {
|
|
@@ -7517,6 +7557,10 @@ function $8781fcec27b20709$export$9ff751cd77687edc({
|
|
|
7517
7557
|
}
|
|
7518
7558
|
return map;
|
|
7519
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
|
+
});
|
|
7520
7564
|
return $5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.For), {
|
|
7521
7565
|
get each() {
|
|
7522
7566
|
return [...content_results_by_page_url().keys()];
|
|
@@ -7549,7 +7593,7 @@ function $c2f92eb265a14529$export$4405d077f0a20494({
|
|
|
7549
7593
|
children: () => $5vyXB$solidjsweb.createComponent((0, $76227de40be817e5$export$f631859cab12b342), {})
|
|
7550
7594
|
});
|
|
7551
7595
|
}
|
|
7552
|
-
const $3716b8caf7f959e2$var$_tmpl$ = ["<div", ' class="
|
|
7596
|
+
const $3716b8caf7f959e2$var$_tmpl$ = ["<div", ' class="content-results" style="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
|
|
7553
7597
|
$3716b8caf7f959e2$var$_tmpl$2 = ["<button", ' class="view-more">', "</button>"],
|
|
7554
7598
|
$3716b8caf7f959e2$var$_tmpl$3 = ["<button", ' class="view-less">', "</button>"];
|
|
7555
7599
|
const $3716b8caf7f959e2$export$70ceae36059a1036 = 1;
|
|
@@ -7569,9 +7613,16 @@ function $3716b8caf7f959e2$export$6d0c9c22f6652669({
|
|
|
7569
7613
|
number_: num_results,
|
|
7570
7614
|
i18n_: i18n_
|
|
7571
7615
|
});
|
|
7572
|
-
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
|
+
});
|
|
7573
7623
|
const rows_object = $3716b8caf7f959e2$var$make_state_saved_rows(content_results_rows_, i18n_);
|
|
7574
|
-
|
|
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), {
|
|
7575
7626
|
get_search_query_: get_search_query_,
|
|
7576
7627
|
i18n_: i18n_,
|
|
7577
7628
|
formatted_number_of_results_: formatted_number_of_results_,
|
|
@@ -7589,21 +7640,19 @@ function $3716b8caf7f959e2$export$6d0c9c22f6652669({
|
|
|
7589
7640
|
get children() {
|
|
7590
7641
|
return $5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Suspense), {
|
|
7591
7642
|
get fallback() {
|
|
7592
|
-
return (()
|
|
7593
|
-
|
|
7594
|
-
|
|
7595
|
-
|
|
7596
|
-
|
|
7597
|
-
|
|
7598
|
-
return $5vyXB$solidjs.createMemo(() => layout_options_().cols_at_size);
|
|
7599
|
-
}
|
|
7600
|
-
});
|
|
7601
|
-
})();
|
|
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
|
+
});
|
|
7602
7649
|
},
|
|
7603
7650
|
get children() {
|
|
7604
7651
|
return $5vyXB$solidjsweb.createComponent((0, $8781fcec27b20709$export$9ff751cd77687edc), {
|
|
7605
7652
|
router_: router_,
|
|
7606
|
-
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_
|
|
7607
7656
|
});
|
|
7608
7657
|
}
|
|
7609
7658
|
});
|
|
@@ -7992,7 +8041,7 @@ const $2c61e4cd8229c49a$var$_tmpl$ = ["<div", ' class="depict plp search">', "</
|
|
|
7992
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.
|
|
7993
8042
|
*/
|
|
7994
8043
|
const $2c61e4cd8229c49a$var$privately_shared_properties = /*@__PURE__*/new WeakMap();
|
|
7995
|
-
const $2c61e4cd8229c49a$var$content_search_default =
|
|
8044
|
+
const $2c61e4cd8229c49a$var$content_search_default = true;
|
|
7996
8045
|
const $2c61e4cd8229c49a$var$min_products_to_fetch_ = 20;
|
|
7997
8046
|
const $2c61e4cd8229c49a$export$bde3eb976dfded9 = depict_search => $2c61e4cd8229c49a$var$privately_shared_properties.get(depict_search)?.search_query_updating_blocked_;
|
|
7998
8047
|
class $2c61e4cd8229c49a$export$ac6237957a15b3f0 {
|