@depict-ai/ui 4.10.12 → 4.10.14
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 +198 -61
- package/ES10/index.d.ts +1 -1
- package/ES10/index.js +198 -61
- package/latest/index.cjs +195 -61
- package/latest/index.d.ts +1 -1
- package/latest/index.js +195 -61
- package/package.json +4 -4
- package/server/ES10/index.cjs +113 -35
- package/server/ES10/index.d.ts +1 -1
- package/server/ES10/index.js +113 -35
- package/server/latest/index.cjs +113 -35
- package/server/latest/index.d.ts +1 -1
- package/server/latest/index.js +113 -35
package/server/latest/index.cjs
CHANGED
|
@@ -109,7 +109,7 @@ $parcel$export(module.exports, "BreadCrumbs", () => $1f4925833f07df29$export$5b7
|
|
|
109
109
|
$parcel$export(module.exports, "QuickLinks", () => $1f4925833f07df29$export$de035477d6fef996);
|
|
110
110
|
$parcel$export(module.exports, "CategoryPage", () => $14f289047713d67a$export$e2bf8ce7779e827e);
|
|
111
111
|
/*! Depict.ai search and product listing SDK */
|
|
112
|
-
const $b757f75811f3261f$export$83d89fbfd8236492 = "4.10.
|
|
112
|
+
const $b757f75811f3261f$export$83d89fbfd8236492 = "4.10.14";
|
|
113
113
|
function $b54e6192d0caa293$export$d9f36cf74e24d595(media_query) {
|
|
114
114
|
const signal = $5vyXB$solidjs.createSignal(false);
|
|
115
115
|
$5vyXB$solidjs.onCleanup($5vyXB$depictaiutilishared.javascript_media_query(media_query, ({
|
|
@@ -2210,12 +2210,14 @@ function $cc43b6428000c4bf$export$f21ab0717a89c77f(props) {
|
|
|
2210
2210
|
height: "12"
|
|
2211
2211
|
}), () => $5vyXB$solidjsweb.ssr($cc43b6428000c4bf$var$_tmpl$), true);
|
|
2212
2212
|
}
|
|
2213
|
-
var $0fe1e7efdf4200d6$var$_tmpl$ = ["<button", ' type="button" class="', '"
|
|
2213
|
+
var $0fe1e7efdf4200d6$var$_tmpl$ = ["<button", ' type="button" class="', '"', "><!--$-->", "<!--/--><span>", "</span></button>"];
|
|
2214
2214
|
function $0fe1e7efdf4200d6$export$ca21a16d65b3dd8({
|
|
2215
2215
|
show_extras_: [get_show_extras, set_show_extras],
|
|
2216
|
-
i18n_: i18n_
|
|
2216
|
+
i18n_: i18n_,
|
|
2217
|
+
expanding_container_element_: expanding_container_element_
|
|
2217
2218
|
}) {
|
|
2218
|
-
|
|
2219
|
+
let button;
|
|
2220
|
+
return $5vyXB$solidjsweb.ssr($0fe1e7efdf4200d6$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), `expand-filter ${get_show_extras() ? "expanded" : ""}`, $5vyXB$solidjsweb.ssrAttribute("aria-expanded", $5vyXB$solidjsweb.escape(get_show_extras(), true), false), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $cc43b6428000c4bf$export$f21ab0717a89c77f), {})), get_show_extras() ? $5vyXB$solidjsweb.escape(i18n_.view_less_()) : $5vyXB$solidjsweb.escape(i18n_.view_more_()));
|
|
2219
2221
|
}
|
|
2220
2222
|
var $d023ed916c84e75d$var$_tmpl$ = ["<span", ' class="highlighted-part">', "</span>"],
|
|
2221
2223
|
$d023ed916c84e75d$var$_tmpl$2 = ["<span", ' class="', '"', ">", "</span>"];
|
|
@@ -2367,7 +2369,8 @@ function $d94869c80e337a3d$export$dd948f91abc3a1c4({
|
|
|
2367
2369
|
$5vyXB$solidjs.createRenderEffect(() => {
|
|
2368
2370
|
set_view_more_button_below_group_(togglable_rest() ? $5vyXB$solidjsweb.createComponent((0, $0fe1e7efdf4200d6$export$ca21a16d65b3dd8), {
|
|
2369
2371
|
show_extras_: show_extras_signal,
|
|
2370
|
-
i18n_: i18n_
|
|
2372
|
+
i18n_: i18n_,
|
|
2373
|
+
expanding_container_element_: expanding_container_els
|
|
2371
2374
|
}) : []);
|
|
2372
2375
|
});
|
|
2373
2376
|
$5vyXB$solidjs.onCleanup(() => set_view_more_button_below_group_());
|
|
@@ -2446,7 +2449,7 @@ function $c1dc1554c1b94233$export$430444115f70a734({
|
|
|
2446
2449
|
}
|
|
2447
2450
|
})));
|
|
2448
2451
|
}
|
|
2449
|
-
var $0b7222ba8a8bb72f$var$_tmpl$ = ["<div", ' class="', '"><div class="input-group"><div class="field"><input', ' type="number"', '></div><div class="separator">-</div><div class="field"><input', ' type="number"', "></div></div><!--$-->", '<!--/--><div class="value-text"><span class="min"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", '<!--/--></span><span class="max"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></span></div></div>"],
|
|
2452
|
+
var $0b7222ba8a8bb72f$var$_tmpl$ = ["<div", ' class="', '"><div class="input-group"><div class="field"><input', ' type="number"', '></div><div class="separator" aria-hidden="true">-</div><div class="field"><input', ' type="number"', "></div></div><!--$-->", '<!--/--><div class="value-text"><span class="min"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", '<!--/--></span><span class="max"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></span></div></div>"],
|
|
2450
2453
|
$0b7222ba8a8bb72f$var$_tmpl$2 = ["<div", ' class="slider"><div class="progress" style="', '"></div></div>'],
|
|
2451
2454
|
$0b7222ba8a8bb72f$var$_tmpl$3 = ["<div", ' class="range-group"><input', ' type="range"', ' step="any"><input', ' type="range"', ' step="any"></div>'];
|
|
2452
2455
|
function $0b7222ba8a8bb72f$export$e0d834a0ad870cda({
|
|
@@ -2539,7 +2542,8 @@ function $0b7222ba8a8bb72f$var$RangeSelector({
|
|
|
2539
2542
|
min_: min_,
|
|
2540
2543
|
current_range_: current_range_,
|
|
2541
2544
|
i18n_: i18n_,
|
|
2542
|
-
should_be_disabled_: should_be_disabled_
|
|
2545
|
+
should_be_disabled_: should_be_disabled_,
|
|
2546
|
+
priceFormatting_: price_formatting_
|
|
2543
2547
|
})), $5vyXB$solidjsweb.escape(pre_price()), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $d659702496cb72ea$export$a71e92cfbb498adc), {
|
|
2544
2548
|
get price_() {
|
|
2545
2549
|
return min_();
|
|
@@ -2561,7 +2565,8 @@ function $0b7222ba8a8bb72f$var$ExponentialSlider({
|
|
|
2561
2565
|
min_: min_,
|
|
2562
2566
|
i18n_: i18n_,
|
|
2563
2567
|
max_: max_,
|
|
2564
|
-
should_be_disabled_: should_be_disabled_
|
|
2568
|
+
should_be_disabled_: should_be_disabled_,
|
|
2569
|
+
priceFormatting_: priceFormatting_
|
|
2565
2570
|
}) {
|
|
2566
2571
|
// inspired by https://observablehq.com/@mbostock/nonlinear-slider
|
|
2567
2572
|
const transform_linear_to_nonlinear = ([smaller, larger]) => [Math.sqrt(smaller), Math.sqrt(larger)];
|
|
@@ -2595,7 +2600,8 @@ function $0b7222ba8a8bb72f$var$ExponentialSlider({
|
|
|
2595
2600
|
max_: modified_max,
|
|
2596
2601
|
offset_value_calculator_: offset_value_calculator_,
|
|
2597
2602
|
i18n_: i18n_,
|
|
2598
|
-
should_be_disabled_: should_be_disabled_
|
|
2603
|
+
should_be_disabled_: should_be_disabled_,
|
|
2604
|
+
priceFormatting_: priceFormatting_
|
|
2599
2605
|
});
|
|
2600
2606
|
}
|
|
2601
2607
|
function $0b7222ba8a8bb72f$var$LinearSlider({
|
|
@@ -2604,12 +2610,17 @@ function $0b7222ba8a8bb72f$var$LinearSlider({
|
|
|
2604
2610
|
current_range_: current_range_,
|
|
2605
2611
|
offset_value_calculator_: offset_value_calculator_,
|
|
2606
2612
|
i18n_: i18n_,
|
|
2607
|
-
should_be_disabled_: should_be_disabled_
|
|
2613
|
+
should_be_disabled_: should_be_disabled_,
|
|
2614
|
+
priceFormatting_: priceFormatting_
|
|
2608
2615
|
}) {
|
|
2609
2616
|
let range_input_1;
|
|
2610
2617
|
let range_input_2;
|
|
2611
2618
|
let clickable_slider;
|
|
2612
2619
|
const [get_current_range, set_current_range] = current_range_;
|
|
2620
|
+
const formatRealPrice = value => {
|
|
2621
|
+
const priceFormatting = priceFormatting_();
|
|
2622
|
+
return priceFormatting.pre_ + $5vyXB$depictaiutilishared.standard_price_format(value, priceFormatting.places_after_comma_, priceFormatting.decimal_places_delimiter_, priceFormatting.thousands_delimiter_) + priceFormatting.post_;
|
|
2623
|
+
};
|
|
2613
2624
|
const progress_styling = $5vyXB$solidjs.createMemo(() => {
|
|
2614
2625
|
const min = min_();
|
|
2615
2626
|
const span = max_() - min;
|
|
@@ -2628,13 +2639,13 @@ function $0b7222ba8a8bb72f$var$LinearSlider({
|
|
|
2628
2639
|
el.value = get_current_range()[index];
|
|
2629
2640
|
});
|
|
2630
2641
|
};
|
|
2631
|
-
return [$5vyXB$solidjsweb.ssr($0b7222ba8a8bb72f$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrStyle(progress_styling())), $5vyXB$solidjsweb.ssr($0b7222ba8a8bb72f$var$_tmpl$3, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrAttribute("disabled", should_be_disabled_(), true), $5vyXB$solidjsweb.ssrAttribute("aria-label", $5vyXB$solidjsweb.escape(i18n_.range_filter_low_point_aria_label_(), true), false) + $5vyXB$solidjsweb.ssrAttribute("min", $5vyXB$solidjsweb.escape(min_(), true), false) + $5vyXB$solidjsweb.ssrAttribute("max", $5vyXB$solidjsweb.escape(max_(), true), false) + $5vyXB$solidjsweb.ssrAttribute("value", $5vyXB$solidjsweb.escape($5vyXB$solidjs.createMemo(() => {
|
|
2642
|
+
return [$5vyXB$solidjsweb.ssr($0b7222ba8a8bb72f$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrStyle(progress_styling())), $5vyXB$solidjsweb.ssr($0b7222ba8a8bb72f$var$_tmpl$3, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrAttribute("disabled", should_be_disabled_(), true), $5vyXB$solidjsweb.ssrAttribute("aria-label", $5vyXB$solidjsweb.escape(i18n_.range_filter_low_point_aria_label_(), true), false) + $5vyXB$solidjsweb.ssrAttribute("aria-valuetext", $5vyXB$solidjsweb.escape(formatRealPrice(get_current_range()[0]), true), false) + $5vyXB$solidjsweb.ssrAttribute("min", $5vyXB$solidjsweb.escape(min_(), true), false) + $5vyXB$solidjsweb.ssrAttribute("max", $5vyXB$solidjsweb.escape(max_(), true), false) + $5vyXB$solidjsweb.ssrAttribute("value", $5vyXB$solidjsweb.escape($5vyXB$solidjs.createMemo(() => {
|
|
2632
2643
|
min_();
|
|
2633
2644
|
max_();
|
|
2634
2645
|
return get_current_range()[0];
|
|
2635
2646
|
}, undefined, {
|
|
2636
2647
|
equals: false
|
|
2637
|
-
})(), true), false), $5vyXB$solidjsweb.ssrAttribute("disabled", should_be_disabled_(), true) + $5vyXB$solidjsweb.ssrAttribute("aria-label", $5vyXB$solidjsweb.escape(i18n_.range_filter_high_point_aria_label_(), true), false), $5vyXB$solidjsweb.ssrAttribute("min", $5vyXB$solidjsweb.escape(min_(), true), false) + $5vyXB$solidjsweb.ssrAttribute("max", $5vyXB$solidjsweb.escape(max_(), true), false))];
|
|
2648
|
+
})(), true), false), $5vyXB$solidjsweb.ssrAttribute("disabled", should_be_disabled_(), true) + $5vyXB$solidjsweb.ssrAttribute("aria-label", $5vyXB$solidjsweb.escape(i18n_.range_filter_high_point_aria_label_(), true), false) + $5vyXB$solidjsweb.ssrAttribute("aria-valuetext", $5vyXB$solidjsweb.escape(formatRealPrice(get_current_range()[1]), true), false), $5vyXB$solidjsweb.ssrAttribute("min", $5vyXB$solidjsweb.escape(min_(), true), false) + $5vyXB$solidjsweb.ssrAttribute("max", $5vyXB$solidjsweb.escape(max_(), true), false))];
|
|
2638
2649
|
}
|
|
2639
2650
|
function $0b7222ba8a8bb72f$var$set_range_with_sanitation(min_, max_, current_range_signal, index, target_el, get_offset_value = (value, how_many) => value + how_many) {
|
|
2640
2651
|
let value_as_number = +target_el.value;
|
|
@@ -3036,7 +3047,8 @@ function $3bdc00a1353c1150$export$a32086fa6616eafd({
|
|
|
3036
3047
|
$5vyXB$solidjs.createRenderEffect(() => {
|
|
3037
3048
|
set_view_more_button_below_group(some_top_level_are_hidden() ? $5vyXB$solidjsweb.createComponent((0, $0fe1e7efdf4200d6$export$ca21a16d65b3dd8), {
|
|
3038
3049
|
show_extras_: show_extras,
|
|
3039
|
-
i18n_: i18n_
|
|
3050
|
+
i18n_: i18n_,
|
|
3051
|
+
expanding_container_element_: expanding_container_els
|
|
3040
3052
|
}) : []);
|
|
3041
3053
|
});
|
|
3042
3054
|
$5vyXB$solidjs.onCleanup(() => set_view_more_button_below_group());
|
|
@@ -3430,6 +3442,13 @@ const $0ef1681699140f1a$export$414f6a19d38e655c = ({
|
|
|
3430
3442
|
const label = $5vyXB$solidjs.createMemo(() => value().name_ || value().value_ + "");
|
|
3431
3443
|
const count_zero = $5vyXB$solidjs.createMemo(() => value().count_ === 0);
|
|
3432
3444
|
return $5vyXB$solidjsweb.ssrElement("button", $5vyXB$solidjsweb.mergeProps(attributes, {
|
|
3445
|
+
type: "button",
|
|
3446
|
+
get ["aria-pressed"]() {
|
|
3447
|
+
return is_selected();
|
|
3448
|
+
},
|
|
3449
|
+
get ["aria-label"]() {
|
|
3450
|
+
return value().count_ != undefined ? `${label()}, ${value().count_}` : label();
|
|
3451
|
+
},
|
|
3433
3452
|
get disabled() {
|
|
3434
3453
|
return count_zero() && !is_selected();
|
|
3435
3454
|
},
|
|
@@ -3600,7 +3619,14 @@ function $b51a2b8b9355e66c$export$82ed4b28ecb67608({
|
|
|
3600
3619
|
return !!data?.some(item => $daa394359b026187$export$325f75597868c4f0(item) === value);
|
|
3601
3620
|
});
|
|
3602
3621
|
const value = $5vyXB$solidjs.createMemo(() => checkbox().value_);
|
|
3603
|
-
const label_text = $5vyXB$solidjs.createMemo(() =>
|
|
3622
|
+
const label_text = $5vyXB$solidjs.createMemo(() => {
|
|
3623
|
+
const name = checkbox().name_;
|
|
3624
|
+
if (name) return name;
|
|
3625
|
+
const value_string = value() + "";
|
|
3626
|
+
if (backendFilterV2()) return value_string;
|
|
3627
|
+
// Legacy values are "Name;#hex" - split is used to get the name so that screen readers don't announce the hex code
|
|
3628
|
+
return value_string.split(";")[0] || value_string;
|
|
3629
|
+
});
|
|
3604
3630
|
const count = $5vyXB$solidjs.createMemo(() => checkbox().count_);
|
|
3605
3631
|
const colorNameDatasetValue = $5vyXB$solidjs.createMemo(() => {
|
|
3606
3632
|
if (backendFilterV2()) return label_text();
|
|
@@ -3687,7 +3713,8 @@ function $b51a2b8b9355e66c$export$82ed4b28ecb67608({
|
|
|
3687
3713
|
$5vyXB$solidjs.createRenderEffect(() => {
|
|
3688
3714
|
set_view_more_button_below_group_(togglable_rest() ? $5vyXB$solidjsweb.createComponent((0, $0fe1e7efdf4200d6$export$ca21a16d65b3dd8), {
|
|
3689
3715
|
show_extras_: show_extras_signal,
|
|
3690
|
-
i18n_: i18n_
|
|
3716
|
+
i18n_: i18n_,
|
|
3717
|
+
expanding_container_element_: expanding_container_els
|
|
3691
3718
|
}) : []);
|
|
3692
3719
|
});
|
|
3693
3720
|
$5vyXB$solidjs.onCleanup(() => set_view_more_button_below_group_());
|
|
@@ -4011,9 +4038,9 @@ function $47d8681015b71901$var$find_str_arr_in_str_arr_arr(operation, haystack,
|
|
|
4011
4038
|
var $aff9a96d30ed3563$var$_tmpl$ = ["<div", ' class="filter-collapsible">', "</div>"],
|
|
4012
4039
|
$aff9a96d30ed3563$var$_tmpl$2 = ["<button", ' class="clear-group"><!--$-->', "<!--/--><span>", "</span></button>"],
|
|
4013
4040
|
$aff9a96d30ed3563$var$_tmpl$3 = ["<div", ' class="view-more-clear"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"],
|
|
4014
|
-
$aff9a96d30ed3563$var$_tmpl$4 = ["<div", ' class="filter-collapsible-body"><
|
|
4041
|
+
$aff9a96d30ed3563$var$_tmpl$4 = ["<div", ' class="filter-collapsible-body"><fieldset class="filter-part"', "><!--$-->", "<!--/--><!--$-->", "<!--/--></fieldset><!--$-->", "<!--/--></div>"],
|
|
4015
4042
|
$aff9a96d30ed3563$var$_tmpl$5 = ["<details", ' class="filter-collapsible"', "></details>"],
|
|
4016
|
-
$aff9a96d30ed3563$var$_tmpl$6 = ["<summary", ' class="filter-group-summary"><div class="summary"><span
|
|
4043
|
+
$aff9a96d30ed3563$var$_tmpl$6 = ["<summary", ' class="filter-group-summary"><div class="summary"><span', ">", '</span><div class="selected-w-sign"><!--$-->', "<!--/--><!--$-->", "<!--/--></div></div></summary>"],
|
|
4017
4044
|
$aff9a96d30ed3563$var$_tmpl$7 = ["<div", ' class="ungrouped">', "</div>"],
|
|
4018
4045
|
$aff9a96d30ed3563$var$_tmpl$8 = ["<button", ' class="clear-all-filters major">', "</button>"];
|
|
4019
4046
|
function $aff9a96d30ed3563$export$3f1a388cc0d8fed7(props) {
|
|
@@ -4097,13 +4124,14 @@ function $aff9a96d30ed3563$var$ActualFilterBody(props) {
|
|
|
4097
4124
|
const a_filter_is_selected = $5vyXB$solidjs.createMemo(() => selected_filters_in_group().size);
|
|
4098
4125
|
const [get_details_width, set_get_details_width] = $5vyXB$solidjs.createSignal();
|
|
4099
4126
|
const details_element_width_ = $5vyXB$solidjs.createMemo(() => get_details_width?.()?.());
|
|
4127
|
+
const title_id = $5vyXB$depictaiutilishared.make_random_classname();
|
|
4100
4128
|
return $5vyXB$solidjsweb.createComponent((0, $a69e505a12a77874$export$6c6d7a51fa9aa15d), {
|
|
4101
4129
|
is_open_: is_open,
|
|
4102
4130
|
get details_() {
|
|
4103
4131
|
return $5vyXB$solidjsweb.ssr($aff9a96d30ed3563$var$_tmpl$5, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrAttribute("data-group-title", $5vyXB$solidjsweb.escape(section_, true), false));
|
|
4104
4132
|
},
|
|
4105
4133
|
get summary_() {
|
|
4106
|
-
return $5vyXB$solidjsweb.ssr($aff9a96d30ed3563$var$_tmpl$6, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape(section_), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Show), {
|
|
4134
|
+
return $5vyXB$solidjsweb.ssr($aff9a96d30ed3563$var$_tmpl$6, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrAttribute("id", $5vyXB$solidjsweb.escape(title_id, true), false), $5vyXB$solidjsweb.escape(section_), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Show), {
|
|
4107
4135
|
get when() {
|
|
4108
4136
|
return a_filter_is_selected();
|
|
4109
4137
|
},
|
|
@@ -4125,7 +4153,7 @@ function $aff9a96d30ed3563$var$ActualFilterBody(props) {
|
|
|
4125
4153
|
})));
|
|
4126
4154
|
},
|
|
4127
4155
|
get children() {
|
|
4128
|
-
return $5vyXB$solidjsweb.ssr($aff9a96d30ed3563$var$_tmpl$4, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent(SearchThisFilterGroup_, {})), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Index), {
|
|
4156
|
+
return $5vyXB$solidjsweb.ssr($aff9a96d30ed3563$var$_tmpl$4, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrAttribute("aria-labelledby", $5vyXB$solidjsweb.escape(title_id, true), false), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent(SearchThisFilterGroup_, {})), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Index), {
|
|
4129
4157
|
get each() {
|
|
4130
4158
|
return searched_filter_array_();
|
|
4131
4159
|
},
|
|
@@ -4685,8 +4713,8 @@ var $f49857214f7675b1$var$_tmpl$ = ["<svg", ' xmlns="http://www.w3.org/2000/svg"
|
|
|
4685
4713
|
function $f49857214f7675b1$export$cb808a3c41736d8e() {
|
|
4686
4714
|
return $5vyXB$solidjsweb.ssr($f49857214f7675b1$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey());
|
|
4687
4715
|
}
|
|
4688
|
-
var $f8f64d05c525825b$var$_tmpl$ = ["<
|
|
4689
|
-
$f8f64d05c525825b$var$_tmpl$2 = ["<
|
|
4716
|
+
var $f8f64d05c525825b$var$_tmpl$ = ["<section", ' class="filters"', '><div class="body">', "</div></section>"],
|
|
4717
|
+
$f8f64d05c525825b$var$_tmpl$2 = ["<section", ' class="sorting"', '><div class="body">', "</div></section>"],
|
|
4690
4718
|
$f8f64d05c525825b$var$_tmpl$3 = ["<div", ' class="sort-and-filter-buttons"><div class="outer"><div class="inner"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div></div></div>"],
|
|
4691
4719
|
$f8f64d05c525825b$var$_tmpl$4 = ["<span", ' class="num-filters" style="', '">', "</span>"],
|
|
4692
4720
|
$f8f64d05c525825b$var$_tmpl$5 = ["<div", ' class="open-filters-button-container" style="', '"><!--$-->', "<!--/--><button", ' class="', '" type="button"', ' style="', '"><!--$-->', "<!--/--><span>", "</span></button></div>"],
|
|
@@ -4755,6 +4783,27 @@ function $f8f64d05c525825b$export$d7841e452f2e59a8({
|
|
|
4755
4783
|
available_sortings_: available_sortings_,
|
|
4756
4784
|
meta_of_currently_selected_sorting_: meta_of_currently_selected_sorting_
|
|
4757
4785
|
};
|
|
4786
|
+
// Keyboard accessibility for the desktop panels (rendered after the product grid in the DOM): when the user
|
|
4787
|
+
// opens a panel we move focus into it, and restore focus to the toggle button on close. Intent is tracked with
|
|
4788
|
+
// a plain flag set in the buttons' click handlers - `filters_open`/`sorting_open` also change programmatically
|
|
4789
|
+
// (undo toast, history-state restore, SDK consumers), and those must not steal focus.
|
|
4790
|
+
let user_opened_panel = false;
|
|
4791
|
+
let filter_toggle_button;
|
|
4792
|
+
let sort_toggle_button;
|
|
4793
|
+
let current_panel;
|
|
4794
|
+
let current_panel_toggle_button;
|
|
4795
|
+
const focus_panel_when_in_dom = panel => $5vyXB$depictaiutilishared.catchify(async () => {
|
|
4796
|
+
// Bounded wait: if the panel never lands in the DOM (e.g. it's superseded by a rapid re-render before
|
|
4797
|
+
// insertion), the timeout lets this promise resolve instead of keeping `panel` - and the observer
|
|
4798
|
+
// listener it registers - referenced forever.
|
|
4799
|
+
await (0, $5vyXB$depictaiutilishared.observer).wait_for_element(panel, 4000);
|
|
4800
|
+
if (panel.isConnected) panel.focus();
|
|
4801
|
+
})();
|
|
4802
|
+
const register_desktop_panel = (el, toggle_button, should_focus) => {
|
|
4803
|
+
current_panel = el;
|
|
4804
|
+
current_panel_toggle_button = toggle_button;
|
|
4805
|
+
if (should_focus) focus_panel_when_in_dom(el);
|
|
4806
|
+
};
|
|
4758
4807
|
const make_open_filters_button = (adhere_to_width = false, is_tabbable = false) => $5vyXB$solidjsweb.createComponent($f8f64d05c525825b$var$OpenFiltersButton, {
|
|
4759
4808
|
tabindex_: is_tabbable ? 0 : -1,
|
|
4760
4809
|
i18n_: i18n_,
|
|
@@ -4762,7 +4811,9 @@ function $f8f64d05c525825b$export$d7841e452f2e59a8({
|
|
|
4762
4811
|
search_sorting_open_: search_sorting_open_,
|
|
4763
4812
|
number_of_rendered_selected_filters_items_: number_of_rendered_selected_filters_items_,
|
|
4764
4813
|
filter_button_width_: adhere_to_width ? filter_button_width_ : undefined,
|
|
4765
|
-
hide_button_: hide_filters
|
|
4814
|
+
hide_button_: hide_filters,
|
|
4815
|
+
on_user_open_: () => user_opened_panel = true,
|
|
4816
|
+
button_ref_: is_tabbable ? el => filter_toggle_button = el : undefined
|
|
4766
4817
|
});
|
|
4767
4818
|
const make_open_sorting_button = (adhere_to_width = false, is_tabbable = false) => $5vyXB$solidjsweb.createComponent($f8f64d05c525825b$var$OpenSortingButton, {
|
|
4768
4819
|
tabindex_: is_tabbable ? 0 : -1,
|
|
@@ -4772,7 +4823,9 @@ function $f8f64d05c525825b$export$d7841e452f2e59a8({
|
|
|
4772
4823
|
search_sorting_open_: search_sorting_open_,
|
|
4773
4824
|
available_sortings_: available_sortings_,
|
|
4774
4825
|
sort_button_width_: adhere_to_width ? sort_button_width_ : undefined,
|
|
4775
|
-
meta_of_currently_selected_sorting_: meta_of_currently_selected_sorting_
|
|
4826
|
+
meta_of_currently_selected_sorting_: meta_of_currently_selected_sorting_,
|
|
4827
|
+
on_user_open_: () => user_opened_panel = true,
|
|
4828
|
+
button_ref_: is_tabbable ? el => sort_toggle_button = el : undefined
|
|
4776
4829
|
});
|
|
4777
4830
|
let open_modal_;
|
|
4778
4831
|
let close_modal_;
|
|
@@ -4791,9 +4844,34 @@ function $f8f64d05c525825b$export$d7841e452f2e59a8({
|
|
|
4791
4844
|
grid_is_in_original_state = true;
|
|
4792
4845
|
}
|
|
4793
4846
|
});
|
|
4847
|
+
// Restore focus to the relevant toggle button when a desktop panel is torn down while focus is still inside it.
|
|
4848
|
+
const restore_focus_to_toggle_on_close = () => {
|
|
4849
|
+
const button_to_restore = current_panel_toggle_button;
|
|
4850
|
+
const focus_was_in_panel = !!current_panel && current_panel.contains(document.activeElement);
|
|
4851
|
+
current_panel = undefined;
|
|
4852
|
+
current_panel_toggle_button = undefined;
|
|
4853
|
+
if (focus_was_in_panel) button_to_restore?.focus();
|
|
4854
|
+
};
|
|
4855
|
+
// `<section>` + `aria-label` so the panel announces itself ("Filters"/"Sort") when we move focus to it; the bare
|
|
4856
|
+
// tabindex=-1 container would otherwise give screen readers nothing to read on focus. A semantic <section> avoids
|
|
4857
|
+
// an ARIA role and the UA styling pitfalls of <fieldset>; the existing CSS targets the `.filters`/`.sorting` class.
|
|
4858
|
+
const FiltersPanel = should_focus => $5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Show), {
|
|
4859
|
+
get when() {
|
|
4860
|
+
return !hide_filters();
|
|
4861
|
+
},
|
|
4862
|
+
get children() {
|
|
4863
|
+
return $5vyXB$solidjsweb.ssr($f8f64d05c525825b$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrAttribute("tabindex", -1, false) + $5vyXB$solidjsweb.ssrAttribute("aria-label", $5vyXB$solidjsweb.escape(i18n_.filters_(), true), false), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $aff9a96d30ed3563$export$3f1a388cc0d8fed7), filter_options)));
|
|
4864
|
+
}
|
|
4865
|
+
});
|
|
4866
|
+
const SortingPanel = should_focus => $5vyXB$solidjsweb.ssr($f8f64d05c525825b$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrAttribute("tabindex", -1, false) + $5vyXB$solidjsweb.ssrAttribute("aria-label", $5vyXB$solidjsweb.escape(i18n_.sorting_text_(), true), false), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $be89be42ce9ea60f$export$1f1775a58da589b5), sorting_options)));
|
|
4794
4867
|
$5vyXB$solidjs.createEffect(() => {
|
|
4868
|
+
// Consume the user-intent flag once per run, in every branch, so a stale flag can't leak into a later
|
|
4869
|
+
// resize-triggered re-render and steal focus.
|
|
4870
|
+
const should_focus_panel = user_opened_panel;
|
|
4871
|
+
user_opened_panel = false;
|
|
4795
4872
|
if (!filters_open() && !sorting_open()) {
|
|
4796
4873
|
close_modal_?.();
|
|
4874
|
+
restore_focus_to_toggle_on_close();
|
|
4797
4875
|
set_extra_els_in_results_container_("");
|
|
4798
4876
|
} else if (isSmall()()) {
|
|
4799
4877
|
if ($5vyXB$solidjs.untrack(() => input_modal_open_?.())) {
|
|
@@ -4802,18 +4880,14 @@ function $f8f64d05c525825b$export$d7841e452f2e59a8({
|
|
|
4802
4880
|
set_sorting_open(false);
|
|
4803
4881
|
return;
|
|
4804
4882
|
}
|
|
4883
|
+
// The modal manages its own focus; just drop the desktop panel reference.
|
|
4884
|
+
current_panel = undefined;
|
|
4885
|
+
current_panel_toggle_button = undefined;
|
|
4805
4886
|
open_modal_?.();
|
|
4806
4887
|
set_extra_els_in_results_container_("");
|
|
4807
4888
|
} else {
|
|
4808
4889
|
close_modal_?.();
|
|
4809
|
-
if (filters_open()) set_extra_els_in_results_container_(() =>
|
|
4810
|
-
get when() {
|
|
4811
|
-
return !hide_filters();
|
|
4812
|
-
},
|
|
4813
|
-
get children() {
|
|
4814
|
-
return $5vyXB$solidjsweb.ssr($f8f64d05c525825b$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $aff9a96d30ed3563$export$3f1a388cc0d8fed7), filter_options)));
|
|
4815
|
-
}
|
|
4816
|
-
}));else set_extra_els_in_results_container_($5vyXB$solidjsweb.ssr($f8f64d05c525825b$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $be89be42ce9ea60f$export$1f1775a58da589b5), sorting_options))));
|
|
4890
|
+
if (filters_open()) set_extra_els_in_results_container_(() => FiltersPanel(should_focus_panel));else set_extra_els_in_results_container_(SortingPanel(should_focus_panel));
|
|
4817
4891
|
}
|
|
4818
4892
|
});
|
|
4819
4893
|
$5vyXB$depictaiutilishared.catchify(async () => {
|
|
@@ -4863,7 +4937,9 @@ function $f8f64d05c525825b$var$OpenFiltersButton({
|
|
|
4863
4937
|
filter_button_width_: filter_button_width_,
|
|
4864
4938
|
tabindex_: tabindex_,
|
|
4865
4939
|
number_of_rendered_selected_filters_items_: [num_selected_filters],
|
|
4866
|
-
hide_button_: hide_button_
|
|
4940
|
+
hide_button_: hide_button_,
|
|
4941
|
+
on_user_open_: on_user_open_,
|
|
4942
|
+
button_ref_: button_ref_
|
|
4867
4943
|
}) {
|
|
4868
4944
|
const filters_closed = $5vyXB$solidjs.createMemo(() => !search_filters_open_[0]());
|
|
4869
4945
|
// We assume in embedded_num_products that this is a single HTMLElement so pls change there if you change it here
|
|
@@ -4876,7 +4952,7 @@ function $f8f64d05c525825b$var$OpenFiltersButton({
|
|
|
4876
4952
|
get children() {
|
|
4877
4953
|
return $5vyXB$solidjsweb.ssr($f8f64d05c525825b$var$_tmpl$4, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrStyle(filters_closed() ? `` : `opacity:0`), $5vyXB$solidjsweb.escape(num_selected_filters()));
|
|
4878
4954
|
}
|
|
4879
|
-
})), $5vyXB$solidjsweb.ssrAttribute("tabindex", $5vyXB$solidjsweb.escape(tabindex_, true), false), `${!filters_closed() ? "major" : ""} ${filters_closed() ? "minor" : ""} ${"filter toggle-button major-minor-transition" + ((0, $5vyXB$solidjsweb.isServer) ? " minor" : "")}`, $5vyXB$solidjsweb.ssrAttribute("aria-label", $5vyXB$solidjsweb.escape((filters_closed() ? i18n_.open_filters_ : i18n_.close_filters_)(), true), false), $5vyXB$solidjsweb.ssrStyle(filter_button_width_?.() ? {
|
|
4955
|
+
})), $5vyXB$solidjsweb.ssrAttribute("tabindex", $5vyXB$solidjsweb.escape(tabindex_, true), false), `${!filters_closed() ? "major" : ""} ${filters_closed() ? "minor" : ""} ${"filter toggle-button major-minor-transition" + ((0, $5vyXB$solidjsweb.isServer) ? " minor" : "")}`, $5vyXB$solidjsweb.ssrAttribute("aria-label", $5vyXB$solidjsweb.escape((filters_closed() ? i18n_.open_filters_ : i18n_.close_filters_)(), true), false) + $5vyXB$solidjsweb.ssrAttribute("aria-expanded", !filters_closed(), false), $5vyXB$solidjsweb.ssrStyle(filter_button_width_?.() ? {
|
|
4880
4956
|
width: filter_button_width_() + "px"
|
|
4881
4957
|
} : {}), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Show), {
|
|
4882
4958
|
get when() {
|
|
@@ -4898,11 +4974,13 @@ function $f8f64d05c525825b$var$OpenSortingButton({
|
|
|
4898
4974
|
search_sorting_open_: search_sorting_open_,
|
|
4899
4975
|
sort_button_width_: sort_button_width_,
|
|
4900
4976
|
tabindex_: tabindex_,
|
|
4901
|
-
meta_of_currently_selected_sorting_: meta_of_currently_selected_sorting_
|
|
4977
|
+
meta_of_currently_selected_sorting_: meta_of_currently_selected_sorting_,
|
|
4978
|
+
on_user_open_: on_user_open_,
|
|
4979
|
+
button_ref_: button_ref_
|
|
4902
4980
|
}) {
|
|
4903
4981
|
const sorting_closed = $5vyXB$solidjs.createMemo(() => !search_sorting_open_[0]());
|
|
4904
4982
|
// We assume in embedded_num_products that this is a single HTMLElement so pls change there if you change it here
|
|
4905
|
-
return $5vyXB$solidjsweb.ssr($f8f64d05c525825b$var$_tmpl$6, $5vyXB$solidjsweb.ssrHydrationKey(), `${!sorting_closed() ? "major" : ""} ${sorting_closed() ? "minor" : ""} toggle-button for-sorting major-minor-transition`, $5vyXB$solidjsweb.ssrAttribute("tabindex", $5vyXB$solidjsweb.escape(tabindex_, true), false) + $5vyXB$solidjsweb.ssrAttribute("aria-label", $5vyXB$solidjsweb.escape((sorting_closed() ? i18n_.open_sorting_ : i18n_.close_sorting_)(), true), false), $5vyXB$solidjsweb.ssrStyle(sort_button_width_?.() ? {
|
|
4983
|
+
return $5vyXB$solidjsweb.ssr($f8f64d05c525825b$var$_tmpl$6, $5vyXB$solidjsweb.ssrHydrationKey(), `${!sorting_closed() ? "major" : ""} ${sorting_closed() ? "minor" : ""} toggle-button for-sorting major-minor-transition`, $5vyXB$solidjsweb.ssrAttribute("tabindex", $5vyXB$solidjsweb.escape(tabindex_, true), false) + $5vyXB$solidjsweb.ssrAttribute("aria-label", $5vyXB$solidjsweb.escape((sorting_closed() ? i18n_.open_sorting_ : i18n_.close_sorting_)(), true), false) + $5vyXB$solidjsweb.ssrAttribute("aria-expanded", !sorting_closed(), false), $5vyXB$solidjsweb.ssrStyle(sort_button_width_?.() ? {
|
|
4906
4984
|
width: sort_button_width_() + "px"
|
|
4907
4985
|
} : {}),
|
|
4908
4986
|
// Show the title of the currently selected sorting when the sorting is closed, if there's currently a sorting selected
|
package/server/latest/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ import { GetListingRequest } from "@depict-ai/types/api/GetListingRequest";
|
|
|
11
11
|
import { BaseSearchRequestV3 } from "@depict-ai/types/api/BaseSearchRequestV3";
|
|
12
12
|
import { FeaturedInDisplay } from "@depict-ai/types/api/FeaturedInResponseV3";
|
|
13
13
|
import { SearchFilter as _SearchFilter3 } from "@depict-ai/types/api/SearchRequestV2";
|
|
14
|
-
export const version = "4.10.
|
|
14
|
+
export const version = "4.10.14";
|
|
15
15
|
/**
|
|
16
16
|
* Use `javascript_media_query` but return a reactive accessor instead of taking a callback function
|
|
17
17
|
*/
|