@depict-ai/ui 1.1.0 → 1.1.2

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