@depict-ai/ui 3.0.1 → 3.0.3

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.js CHANGED
@@ -10,7 +10,7 @@ import { createStore as $8tj43$createStore, reconcile as $8tj43$reconcile } from
10
10
  /*! Depict.ai search and product listing SDK */
11
11
  import { register_es_version } from "../multi_import_deduplicator.mjs";
12
12
  register_es_version("ui", "ES10");
13
- const $8db9a15135765c11$export$83d89fbfd8236492 = "3.0.1";
13
+ const $8db9a15135765c11$export$83d89fbfd8236492 = "3.0.3";
14
14
  const $ca6ab5f08bd28bca$var$_tmpl$ = /*#__PURE__*/$8tj43$template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 14 26"><path d="M2 24.656c-.078 0-.156-.016-.234-.047s-.133-.066-.187-.129c-.117-.117-.176-.258-.176-.422s.059-.305.176-.422l10.371-10.371L1.578 2.883c-.117-.117-.176-.258-.176-.422s.059-.305.176-.422.258-.176.422-.176.305.059.422.176l10.805 10.793a.59.59 0 0 1 .176.434c0 .172-.059.305-.176.422L2.422 24.48a.42.42 0 0 1-.199.129.54.54 0 0 1-.223.047zm0 0"fill=#0f0f0f>`);
15
15
  function $ca6ab5f08bd28bca$export$8be2714ec7f169ee() {
16
16
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -5780,7 +5780,6 @@ var $284849364a6ef73a$var$_get_cache_obj_for_endpoint = /*#__PURE__*/new WeakSet
5780
5780
  var $284849364a6ef73a$var$_add_ids_to_request = /*#__PURE__*/new WeakMap();
5781
5781
  var $284849364a6ef73a$var$_get_metadata = /*#__PURE__*/new WeakMap();
5782
5782
  var $284849364a6ef73a$var$_get_session_id = /*#__PURE__*/new WeakMap();
5783
- var $284849364a6ef73a$var$_guard_url_creator_length = /*#__PURE__*/new WeakSet();
5784
5783
  var $284849364a6ef73a$var$_run_url_creator_for_suggest = /*#__PURE__*/new WeakSet();
5785
5784
  var $284849364a6ef73a$var$_run_display_transformers_for_rest = /*#__PURE__*/new WeakSet();
5786
5785
  var $284849364a6ef73a$var$_cached_request = /*#__PURE__*/new WeakSet();
@@ -5789,9 +5788,7 @@ class $284849364a6ef73a$export$e015ed2f2950f2e3 {
5789
5788
  $284849364a6ef73a$var$_classPrivateMethodInitSpec(this, $284849364a6ef73a$var$_cached_request);
5790
5789
  $284849364a6ef73a$var$_classPrivateMethodInitSpec(this, $284849364a6ef73a$var$_run_display_transformers_for_rest);
5791
5790
  $284849364a6ef73a$var$_classPrivateMethodInitSpec(this, $284849364a6ef73a$var$_run_url_creator_for_suggest);
5792
- $284849364a6ef73a$var$_classPrivateMethodInitSpec(this, $284849364a6ef73a$var$_guard_url_creator_length);
5793
5791
  $284849364a6ef73a$var$_classPrivateMethodInitSpec(this, $284849364a6ef73a$var$_get_cache_obj_for_endpoint);
5794
- $8tj43$babelruntimehelpersdefineProperty(this, "page_url_creator", void 0);
5795
5792
  $8tj43$babelruntimehelpersdefineProperty(this, "display_transformers", void 0);
5796
5793
  $284849364a6ef73a$var$_classPrivateFieldInitSpec(this, $284849364a6ef73a$var$_supports_finalization_registry, {
5797
5794
  writable: true,
@@ -5823,18 +5820,15 @@ class $284849364a6ef73a$export$e015ed2f2950f2e3 {
5823
5820
  const {
5824
5821
  get_metadata: get_metadata,
5825
5822
  get_session_id: _get_session_id2,
5826
- page_url_creator: _page_url_creator,
5827
5823
  display_transformers: _display_transformers
5828
5824
  } = options !== null && options !== void 0 ? options : {};
5829
5825
  $8tj43$babelruntimehelpersclassPrivateFieldSet(this, $284849364a6ef73a$var$_get_metadata, get_metadata);
5830
5826
  $8tj43$babelruntimehelpersclassPrivateFieldSet(this, $284849364a6ef73a$var$_get_session_id, _get_session_id2);
5831
- this.page_url_creator = _page_url_creator;
5832
5827
  this.display_transformers = _display_transformers;
5833
5828
  }
5834
5829
  async suggest(input_req) {
5835
5830
  var _classPrivateFieldGet3;
5836
5831
  const with_ids = $8tj43$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_add_ids_to_request).call(this, input_req);
5837
- const owner = $8tj43$getOwner();
5838
5832
  const metaData = await ((_classPrivateFieldGet3 = $8tj43$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_get_metadata)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.call(this));
5839
5833
  const request = metaData ? Object.assign(with_ids, {
5840
5834
  metadata: JSON.stringify(metaData)
@@ -5846,7 +5840,7 @@ class $284849364a6ef73a$export$e015ed2f2950f2e3 {
5846
5840
  const decoded_json = await results.json();
5847
5841
  if (!Array.isArray(decoded_json === null || decoded_json === void 0 ? void 0 : decoded_json.suggestions)) break attempt_to_return_api_response;
5848
5842
  try {
5849
- return await $8tj43$runWithOwner(owner, () => $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_run_url_creator_for_suggest, $284849364a6ef73a$var$_run_url_creator_for_suggest2).call(this, input_req.merchant, input_req.market, decoded_json));
5843
+ return await $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_run_url_creator_for_suggest, $284849364a6ef73a$var$_run_url_creator_for_suggest2).call(this, input_req.merchant, input_req.market, decoded_json);
5850
5844
  } catch (e) {
5851
5845
  $8tj43$dwarn("displayTransformer failed", e);
5852
5846
  }
@@ -5933,101 +5927,55 @@ function $284849364a6ef73a$var$_get_cache_obj_for_endpoint2(endpoint) {
5933
5927
  })) : undefined
5934
5928
  });
5935
5929
  }
5936
- function $284849364a6ef73a$var$_guard_url_creator_length2(expected, received) {
5937
- if (expected.length !== received.length) {
5938
- const e = new Error("displayTransformer returned wrong number of page URLs, got " + received.length + ", expected " + expected.length);
5939
- queueMicrotask(() => {
5940
- throw e;
5941
- });
5942
- throw e;
5943
- }
5944
- }
5945
5930
  async function $284849364a6ef73a$var$_run_url_creator_for_suggest2(merchant, market, response) {
5946
5931
  var _this$display_transfo;
5947
- const page_url_creator = this.page_url_creator;
5948
5932
  const category_transformer = (_this$display_transfo = this.display_transformers) === null || _this$display_transfo === void 0 ? void 0 : _this$display_transfo.categories;
5949
- if (!page_url_creator && !category_transformer) return response;
5933
+ if (!category_transformer) return response;
5950
5934
  // find category suggestions, run thing with them, and then replace them
5951
5935
  const category_suggestions = response.suggestions.filter(suggestion => suggestion.type === "category");
5952
- const page_urls = await (page_url_creator || category_transformer)({
5936
+ const transformed_category_suggestions = await category_transformer({
5953
5937
  market: market,
5954
5938
  merchant: merchant,
5955
- data: [...category_suggestions],
5956
- ...(page_url_creator ? {
5957
- type: "categories"
5958
- } : {})
5939
+ data: [...category_suggestions]
5959
5940
  });
5960
- $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_guard_url_creator_length, $284849364a6ef73a$var$_guard_url_creator_length2).call(this, category_suggestions, page_urls);
5961
- while (page_urls.length)
5962
- // Copy over getters so we sneakily can make this reactive
5963
- Object.defineProperties(category_suggestions.pop(), Object.getOwnPropertyDescriptors(page_urls.pop()));
5941
+ response.suggestions = transformed_category_suggestions;
5964
5942
  return response;
5965
5943
  }
5966
5944
  async function $284849364a6ef73a$var$_run_display_transformers_for_rest2(merchant, market, input_data) {
5967
5945
  const {
5968
- page_url_creator: page_url_creator,
5969
5946
  display_transformers: display_transformers
5970
5947
  } = this;
5971
- if (!page_url_creator && !display_transformers) return input_data;
5948
+ if (!display_transformers) return input_data;
5972
5949
  const product_transformer = display_transformers === null || display_transformers === void 0 ? void 0 : display_transformers.products;
5973
5950
  const category_transformer = display_transformers === null || display_transformers === void 0 ? void 0 : display_transformers.categories;
5974
5951
  const content_result_transformer = display_transformers === null || display_transformers === void 0 ? void 0 : display_transformers.contentResults;
5975
5952
  const displays = input_data.displays;
5976
- const owner = $8tj43$getOwner();
5977
5953
  const {
5978
- breadcrumbs: breadcrumbs,
5979
- quick_links: quick_links,
5980
5954
  content_search_links: content_search_links
5981
5955
  } = input_data;
5982
- if (displays && (page_url_creator || product_transformer)) {
5983
- const page_urls = await (page_url_creator || product_transformer)({
5956
+ if (displays && product_transformer) {
5957
+ const transformed_displays = await product_transformer({
5984
5958
  merchant: merchant,
5985
5959
  market: market,
5986
- displays: [...input_data.displays],
5987
- ...(page_url_creator ? {
5988
- type: "products"
5989
- } : {})
5960
+ displays: [...displays]
5990
5961
  });
5991
- $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_guard_url_creator_length, $284849364a6ef73a$var$_guard_url_creator_length2).call(this, displays, page_urls);
5992
- for (let i = 0; i < displays.length; i++) {
5993
- const new_display_or_page_url = page_urls[i];
5994
- const old_display = displays[i];
5995
- if ("page_url" in new_display_or_page_url && Object.keys(new_display_or_page_url).length === 1) {
5996
- // they only returned page_url, let's put it into the display
5997
- const old_display_was_modern = ("variant_index" in old_display);
5998
- if (old_display_was_modern) {
5999
- const variant_displays = old_display.variant_displays;
6000
- for (let i = 0; i < variant_displays.length; i++) variant_displays[i].page_url = new_display_or_page_url.page_url;
6001
- } else old_display.page_url = new_display_or_page_url.page_url;
6002
- } else
6003
- // We got a whole new display, let's replace it
6004
- displays[i] = new_display_or_page_url;
6005
- }
5962
+ input_data.displays = transformed_displays;
6006
5963
  }
6007
- if (page_url_creator || category_transformer) for (const category_display_array of [breadcrumbs, quick_links]) {
5964
+ if (category_transformer) for (const key of ["breadcrumbs", "quick_links"]) {
5965
+ const category_display_array = input_data[key];
6008
5966
  if (!category_display_array) continue;
6009
- const page_urls = await $8tj43$runWithOwner(owner, () => (page_url_creator || category_transformer)({
6010
- merchant: merchant,
6011
- market: market,
6012
- data: [...category_display_array],
6013
- ...(page_url_creator ? {
6014
- type: "categories"
6015
- } : {})
6016
- }));
6017
- $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_guard_url_creator_length, $284849364a6ef73a$var$_guard_url_creator_length2).call(this, category_display_array, page_urls);
6018
- for (let i = 0; i < category_display_array.length; i++)
6019
- // Copy over getters so we sneakily can make this reactive
6020
- Object.defineProperties(category_display_array[i], Object.getOwnPropertyDescriptors(page_urls[i]));
6021
- }
6022
- if (content_search_links !== null && content_search_links !== void 0 && content_search_links.length && content_result_transformer) {
6023
- const result = await $8tj43$runWithOwner(owner, () => content_result_transformer({
5967
+ const transformed_category_displays = await category_transformer({
6024
5968
  merchant: merchant,
6025
5969
  market: market,
6026
- data: [...content_search_links]
6027
- }));
6028
- $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_guard_url_creator_length, $284849364a6ef73a$var$_guard_url_creator_length2).call(this, content_search_links, result);
6029
- input_data.content_search_links = result;
5970
+ data: [...category_display_array]
5971
+ });
5972
+ input_data[key] = transformed_category_displays;
6030
5973
  }
5974
+ if (content_search_links !== null && content_search_links !== void 0 && content_search_links.length && content_result_transformer) input_data.content_search_links = await content_result_transformer({
5975
+ merchant: merchant,
5976
+ market: market,
5977
+ data: [...content_search_links]
5978
+ });
6031
5979
  return input_data;
6032
5980
  }
6033
5981
  async function $284849364a6ef73a$var$_cached_request2(_ref) {
@@ -6041,7 +5989,6 @@ async function $284849364a6ef73a$var$_cached_request2(_ref) {
6041
5989
  } = _ref;
6042
5990
  const cache_obj = $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_get_cache_obj_for_endpoint, $284849364a6ef73a$var$_get_cache_obj_for_endpoint2).call(this, endpoint_);
6043
5991
  const with_ids = $8tj43$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_add_ids_to_request).call(this, input_req_);
6044
- const owner = $8tj43$getOwner();
6045
5992
  const metaData = await ((_classPrivateFieldGet5 = $8tj43$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_get_metadata)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.call(this));
6046
5993
  const request = metaData ? Object.assign(with_ids, {
6047
5994
  metadata: metaData
@@ -6069,7 +6016,7 @@ async function $284849364a6ef73a$var$_cached_request2(_ref) {
6069
6016
  let result;
6070
6017
  try {
6071
6018
  const unmodified_result = await api_response.json();
6072
- result = await $8tj43$runWithOwner(owner, () => $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_run_display_transformers_for_rest, $284849364a6ef73a$var$_run_display_transformers_for_rest2).call(this, input_req_.merchant, input_req_.market, unmodified_result));
6019
+ result = await $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_run_display_transformers_for_rest, $284849364a6ef73a$var$_run_display_transformers_for_rest2).call(this, input_req_.merchant, input_req_.market, unmodified_result);
6073
6020
  } catch (e) {
6074
6021
  $8tj43$dwarn("displayTransformer or json decoding failed", e);
6075
6022
  break return_successfully;
@@ -9389,7 +9336,6 @@ class $f5f54892fd0c7d9f$export$f34314aa9505732e {
9389
9336
  let {
9390
9337
  api: api,
9391
9338
  on_navigation: on_navigation,
9392
- page_url_creator: page_url_creator,
9393
9339
  display_transformers: display_transformers,
9394
9340
  unique_instance_key_for_state = "",
9395
9341
  listing_id_state_key: listing_id_state_key,
@@ -9468,7 +9414,6 @@ class $f5f54892fd0c7d9f$export$f34314aa9505732e {
9468
9414
  reset_history_state_: reset_history_state_,
9469
9415
  // @ts-ignore
9470
9416
  depict_api_: api !== null && api !== void 0 ? api : new (0, $284849364a6ef73a$export$e015ed2f2950f2e3)({
9471
- page_url_creator: page_url_creator,
9472
9417
  display_transformers: display_transformers
9473
9418
  }),
9474
9419
  router_: $8tj43$babelruntimehelpersclassPrivateFieldGet(this, $f5f54892fd0c7d9f$var$_router),
@@ -9823,6 +9768,10 @@ function $dea31647b99a443b$export$d757d54550ebfb3d(_ref) {
9823
9768
  category_suggestion_: category_suggestion_,
9824
9769
  router_: router_
9825
9770
  } = _ref;
9771
+ const parentTitle = $8tj43$createMemo(() => {
9772
+ var _category_suggestion_;
9773
+ return (_category_suggestion_ = category_suggestion_().breadcrumbs.at(-1)) === null || _category_suggestion_ === void 0 ? void 0 : _category_suggestion_.title;
9774
+ });
9826
9775
  return (() => {
9827
9776
  const _el$ = $8tj43$getNextElement($dea31647b99a443b$var$_tmpl$2),
9828
9777
  _el$2 = _el$.firstChild,
@@ -9838,11 +9787,11 @@ function $dea31647b99a443b$export$d757d54550ebfb3d(_ref) {
9838
9787
  $8tj43$insert(_el$2, () => category_suggestion_().title);
9839
9788
  $8tj43$insert(_el$, $8tj43$createComponent((0, $8tj43$Show), {
9840
9789
  get when() {
9841
- return typeof category_suggestion_().parent_title === "string";
9790
+ return parentTitle();
9842
9791
  },
9843
9792
  get children() {
9844
9793
  const _el$3 = $8tj43$getNextElement($dea31647b99a443b$var$_tmpl$);
9845
- $8tj43$insert(_el$3, () => category_suggestion_().parent_title);
9794
+ $8tj43$insert(_el$3, parentTitle);
9846
9795
  return _el$3;
9847
9796
  }
9848
9797
  }), _el$5, _co$);
@@ -10711,6 +10660,12 @@ function $40dd3f46f55d62ba$export$e872e2339fb04a7f(_ref) {
10711
10660
  var _read_selected_index_, _read_selected_index_2;
10712
10661
  return ((_read_selected_index_ = read_selected_index_()) === null || _read_selected_index_ === void 0 ? void 0 : _read_selected_index_[0]) === autocomplete_data_index && ((_read_selected_index_2 = read_selected_index_()) === null || _read_selected_index_2 === void 0 ? void 0 : _read_selected_index_2[1]) === index;
10713
10662
  });
10663
+ const parent_title_if_exists = $8tj43$createMemo(() => {
10664
+ var _item$breadcrumbs$at;
10665
+ const item = input_obj();
10666
+ if (!("breadcrumbs" in item)) return;
10667
+ return (_item$breadcrumbs$at = item.breadcrumbs.at(-1)) === null || _item$breadcrumbs$at === void 0 ? void 0 : _item$breadcrumbs$at.title;
10668
+ });
10714
10669
  return (() => {
10715
10670
  const _el$ = $8tj43$getNextElement($40dd3f46f55d62ba$var$_tmpl$);
10716
10671
  $8tj43$use(element => element.addEventListener("click", $8tj43$catchify1(ev => {
@@ -10752,7 +10707,7 @@ function $40dd3f46f55d62ba$export$e872e2339fb04a7f(_ref) {
10752
10707
  },
10753
10708
  searching_for_value_: searching_for_value_
10754
10709
  })] : [$8tj43$memo((() => {
10755
- const _c$2 = $8tj43$memo(() => typeof input_obj() /* this is a harmless lie */.parent_title === "string");
10710
+ const _c$2 = $8tj43$memo(() => !!parent_title_if_exists());
10756
10711
  return () => _c$2() ? (() => {
10757
10712
  const _el$4 = $8tj43$getNextElement($40dd3f46f55d62ba$var$_tmpl$4),
10758
10713
  _el$6 = _el$4.firstChild,
@@ -10765,7 +10720,7 @@ function $40dd3f46f55d62ba$export$e872e2339fb04a7f(_ref) {
10765
10720
  },
10766
10721
  searching_for_value_: searching_for_value_
10767
10722
  }), _el$7, _co$);
10768
- $8tj43$insert(_el$5, () => input_obj().parent_title);
10723
+ $8tj43$insert(_el$5, parent_title_if_exists);
10769
10724
  return _el$4;
10770
10725
  })() : (() => {
10771
10726
  const _c$3 = $8tj43$memo(() => input_obj().type === "content");
@@ -10799,7 +10754,7 @@ function $40dd3f46f55d62ba$export$e872e2339fb04a7f(_ref) {
10799
10754
  const _el$3 = $8tj43$getNextElement($40dd3f46f55d62ba$var$_tmpl$3);
10800
10755
  $8tj43$insert(_el$3, $8tj43$createMemo(() => {
10801
10756
  if (input_obj().type === "content") return i18n_.content_();
10802
- if (input_obj().category_type === "BRAND") return i18n_.brand_();
10757
+ if (input_obj().category_type === "brand") return i18n_.brand_();
10803
10758
  return i18n_.category_();
10804
10759
  }));
10805
10760
  return _el$3;
@@ -12523,7 +12478,6 @@ class $eb064bc3350276c1$export$ac6237957a15b3f0 {
12523
12478
  url_transformer: url_transformer,
12524
12479
  on_navigation: on_navigation,
12525
12480
  enable_category_suggestions = true,
12526
- page_url_creator: page_url_creator,
12527
12481
  display_transformers: display_transformers,
12528
12482
  api: api,
12529
12483
  // Stuff needed for non-standard customer deployments that we shouldn't actually expose
@@ -12602,7 +12556,6 @@ class $eb064bc3350276c1$export$ac6237957a15b3f0 {
12602
12556
  });
12603
12557
  // @ts-ignore
12604
12558
  const depict_api_ = api !== null && api !== void 0 ? api : new (0, $284849364a6ef73a$export$e015ed2f2950f2e3)({
12605
- page_url_creator: page_url_creator,
12606
12559
  display_transformers: display_transformers
12607
12560
  });
12608
12561
  const previous_searches = $07d90b8270ece8de$export$84bba84a7b837187(get_search_query_);
package/latest/index.cjs CHANGED
@@ -77,7 +77,7 @@ $parcel$export(module.exports, "defaultColsAtSize", () => $a3280f0aad997933$expo
77
77
  $parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $a3280f0aad997933$export$7bf543b9d9be2c22);
78
78
  $parcel$export(module.exports, "version", () => $b757f75811f3261f$export$83d89fbfd8236492);
79
79
  /*! Depict.ai search and product listing SDK */
80
- const $b757f75811f3261f$export$83d89fbfd8236492 = "3.0.1";
80
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "3.0.3";
81
81
  const $0f313083912e447a$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 14 26"><path d="M2 24.656c-.078 0-.156-.016-.234-.047s-.133-.066-.187-.129c-.117-.117-.176-.258-.176-.422s.059-.305.176-.422l10.371-10.371L1.578 2.883c-.117-.117-.176-.258-.176-.422s.059-.305.176-.422.258-.176.422-.176.305.059.422.176l10.805 10.793a.59.59 0 0 1 .176.434c0 .172-.059.305-.176.422L2.422 24.48a.42.42 0 0 1-.199.129.54.54 0 0 1-.223.047zm0 0"fill=#0f0f0f>`);
82
82
  function $0f313083912e447a$export$8be2714ec7f169ee(props = {}) {
83
83
  return (() => {
@@ -5517,100 +5517,54 @@ class $e1d6c0f3d89d531c$export$e015ed2f2950f2e3 {
5517
5517
  };
5518
5518
  #get_metadata;
5519
5519
  #get_session_id;
5520
- #guard_url_creator_length(expected, received) {
5521
- if (expected.length !== received.length) {
5522
- const e = new Error("displayTransformer returned wrong number of page URLs, got " + received.length + ", expected " + expected.length);
5523
- queueMicrotask(() => {
5524
- throw e;
5525
- });
5526
- throw e;
5527
- }
5528
- }
5529
5520
  async #run_url_creator_for_suggest(merchant, market, response) {
5530
- const page_url_creator = this.page_url_creator;
5531
5521
  const category_transformer = this.display_transformers?.categories;
5532
- if (!page_url_creator && !category_transformer) return response;
5522
+ if (!category_transformer) return response;
5533
5523
  // find category suggestions, run thing with them, and then replace them
5534
5524
  const category_suggestions = response.suggestions.filter(suggestion => suggestion.type === "category");
5535
- const page_urls = await (page_url_creator || category_transformer)({
5525
+ const transformed_category_suggestions = await category_transformer({
5536
5526
  market: market,
5537
5527
  merchant: merchant,
5538
- data: [...category_suggestions],
5539
- ...(page_url_creator ? {
5540
- type: "categories"
5541
- } : {})
5528
+ data: [...category_suggestions]
5542
5529
  });
5543
- this.#guard_url_creator_length(category_suggestions, page_urls);
5544
- while (page_urls.length)
5545
- // Copy over getters so we sneakily can make this reactive
5546
- Object.defineProperties(category_suggestions.pop(), Object.getOwnPropertyDescriptors(page_urls.pop()));
5530
+ response.suggestions = transformed_category_suggestions;
5547
5531
  return response;
5548
5532
  }
5549
5533
  async #run_display_transformers_for_rest(merchant, market, input_data) {
5550
5534
  const {
5551
- page_url_creator: page_url_creator,
5552
5535
  display_transformers: display_transformers
5553
5536
  } = this;
5554
- if (!page_url_creator && !display_transformers) return input_data;
5537
+ if (!display_transformers) return input_data;
5555
5538
  const product_transformer = display_transformers?.products;
5556
5539
  const category_transformer = display_transformers?.categories;
5557
5540
  const content_result_transformer = display_transformers?.contentResults;
5558
5541
  const displays = input_data.displays;
5559
- const owner = $gVhhF$solidjs.getOwner();
5560
5542
  const {
5561
- breadcrumbs: breadcrumbs,
5562
- quick_links: quick_links,
5563
5543
  content_search_links: content_search_links
5564
5544
  } = input_data;
5565
- if (displays && (page_url_creator || product_transformer)) {
5566
- const page_urls = await (page_url_creator || product_transformer)({
5545
+ if (displays && product_transformer) {
5546
+ const transformed_displays = await product_transformer({
5567
5547
  merchant: merchant,
5568
5548
  market: market,
5569
- displays: [...input_data.displays],
5570
- ...(page_url_creator ? {
5571
- type: "products"
5572
- } : {})
5549
+ displays: [...displays]
5573
5550
  });
5574
- this.#guard_url_creator_length(displays, page_urls);
5575
- for (let i = 0; i < displays.length; i++) {
5576
- const new_display_or_page_url = page_urls[i];
5577
- const old_display = displays[i];
5578
- if ("page_url" in new_display_or_page_url && Object.keys(new_display_or_page_url).length === 1) {
5579
- // they only returned page_url, let's put it into the display
5580
- const old_display_was_modern = ("variant_index" in old_display);
5581
- if (old_display_was_modern) {
5582
- const variant_displays = old_display.variant_displays;
5583
- for (let i = 0; i < variant_displays.length; i++) variant_displays[i].page_url = new_display_or_page_url.page_url;
5584
- } else old_display.page_url = new_display_or_page_url.page_url;
5585
- } else
5586
- // We got a whole new display, let's replace it
5587
- displays[i] = new_display_or_page_url;
5588
- }
5551
+ input_data.displays = transformed_displays;
5589
5552
  }
5590
- if (page_url_creator || category_transformer) for (const category_display_array of [breadcrumbs, quick_links]) {
5553
+ if (category_transformer) for (const key of ["breadcrumbs", "quick_links"]) {
5554
+ const category_display_array = input_data[key];
5591
5555
  if (!category_display_array) continue;
5592
- const page_urls = await $gVhhF$solidjs.runWithOwner(owner, () => (page_url_creator || category_transformer)({
5593
- merchant: merchant,
5594
- market: market,
5595
- data: [...category_display_array],
5596
- ...(page_url_creator ? {
5597
- type: "categories"
5598
- } : {})
5599
- }));
5600
- this.#guard_url_creator_length(category_display_array, page_urls);
5601
- for (let i = 0; i < category_display_array.length; i++)
5602
- // Copy over getters so we sneakily can make this reactive
5603
- Object.defineProperties(category_display_array[i], Object.getOwnPropertyDescriptors(page_urls[i]));
5604
- }
5605
- if (content_search_links?.length && content_result_transformer) {
5606
- const result = await $gVhhF$solidjs.runWithOwner(owner, () => content_result_transformer({
5556
+ const transformed_category_displays = await category_transformer({
5607
5557
  merchant: merchant,
5608
5558
  market: market,
5609
- data: [...content_search_links]
5610
- }));
5611
- this.#guard_url_creator_length(content_search_links, result);
5612
- input_data.content_search_links = result;
5559
+ data: [...category_display_array]
5560
+ });
5561
+ input_data[key] = transformed_category_displays;
5613
5562
  }
5563
+ if (content_search_links?.length && content_result_transformer) input_data.content_search_links = await content_result_transformer({
5564
+ merchant: merchant,
5565
+ market: market,
5566
+ data: [...content_search_links]
5567
+ });
5614
5568
  return input_data;
5615
5569
  }
5616
5570
  async #cached_request({
@@ -5622,7 +5576,6 @@ class $e1d6c0f3d89d531c$export$e015ed2f2950f2e3 {
5622
5576
  }) {
5623
5577
  const cache_obj = this.#get_cache_obj_for_endpoint(endpoint_);
5624
5578
  const with_ids = this.#add_ids_to_request(input_req_);
5625
- const owner = $gVhhF$solidjs.getOwner();
5626
5579
  const metaData = await this.#get_metadata?.();
5627
5580
  const request = metaData ? Object.assign(with_ids, {
5628
5581
  metadata: metaData
@@ -5650,7 +5603,7 @@ class $e1d6c0f3d89d531c$export$e015ed2f2950f2e3 {
5650
5603
  let result;
5651
5604
  try {
5652
5605
  const unmodified_result = await api_response.json();
5653
- result = await $gVhhF$solidjs.runWithOwner(owner, () => this.#run_display_transformers_for_rest(input_req_.merchant, input_req_.market, unmodified_result));
5606
+ result = await this.#run_display_transformers_for_rest(input_req_.merchant, input_req_.market, unmodified_result);
5654
5607
  } catch (e) {
5655
5608
  $gVhhF$depictaiutilishared.dwarn("displayTransformer or json decoding failed", e);
5656
5609
  break return_successfully;
@@ -5681,17 +5634,14 @@ class $e1d6c0f3d89d531c$export$e015ed2f2950f2e3 {
5681
5634
  const {
5682
5635
  get_metadata: get_metadata,
5683
5636
  get_session_id: get_session_id,
5684
- page_url_creator: page_url_creator,
5685
5637
  display_transformers: display_transformers
5686
5638
  } = options ?? {};
5687
5639
  this.#get_metadata = get_metadata;
5688
5640
  this.#get_session_id = get_session_id;
5689
- this.page_url_creator = page_url_creator;
5690
5641
  this.display_transformers = display_transformers;
5691
5642
  }
5692
5643
  async suggest(input_req) {
5693
5644
  const with_ids = this.#add_ids_to_request(input_req);
5694
- const owner = $gVhhF$solidjs.getOwner();
5695
5645
  const metaData = await this.#get_metadata?.();
5696
5646
  const request = metaData ? Object.assign(with_ids, {
5697
5647
  metadata: JSON.stringify(metaData)
@@ -5703,7 +5653,7 @@ class $e1d6c0f3d89d531c$export$e015ed2f2950f2e3 {
5703
5653
  const decoded_json = await results.json();
5704
5654
  if (!Array.isArray(decoded_json?.suggestions)) break attempt_to_return_api_response;
5705
5655
  try {
5706
- return await $gVhhF$solidjs.runWithOwner(owner, () => this.#run_url_creator_for_suggest(input_req.merchant, input_req.market, decoded_json));
5656
+ return await this.#run_url_creator_for_suggest(input_req.merchant, input_req.market, decoded_json);
5707
5657
  } catch (e) {
5708
5658
  $gVhhF$depictaiutilishared.dwarn("displayTransformer failed", e);
5709
5659
  }
@@ -8848,7 +8798,6 @@ class $48567ac5b39bac56$export$f34314aa9505732e {
8848
8798
  constructor({
8849
8799
  api: api,
8850
8800
  on_navigation: on_navigation,
8851
- page_url_creator: page_url_creator,
8852
8801
  display_transformers: display_transformers,
8853
8802
  unique_instance_key_for_state = "",
8854
8803
  listing_id_state_key: listing_id_state_key,
@@ -8899,7 +8848,6 @@ class $48567ac5b39bac56$export$f34314aa9505732e {
8899
8848
  reset_history_state_: reset_history_state_,
8900
8849
  // @ts-ignore
8901
8850
  depict_api_: api ?? new (0, $e1d6c0f3d89d531c$export$e015ed2f2950f2e3)({
8902
- page_url_creator: page_url_creator,
8903
8851
  display_transformers: display_transformers
8904
8852
  }),
8905
8853
  router_: this.#router,
@@ -9234,6 +9182,7 @@ function $dae23104ba8bb78c$export$d757d54550ebfb3d({
9234
9182
  category_suggestion_: category_suggestion_,
9235
9183
  router_: router_
9236
9184
  }) {
9185
+ const parentTitle = $gVhhF$solidjs.createMemo(() => category_suggestion_().breadcrumbs.at(-1)?.title);
9237
9186
  return (() => {
9238
9187
  const _el$ = $gVhhF$solidjsweb.getNextElement($dae23104ba8bb78c$var$_tmpl$2),
9239
9188
  _el$2 = _el$.firstChild,
@@ -9249,11 +9198,11 @@ function $dae23104ba8bb78c$export$d757d54550ebfb3d({
9249
9198
  $gVhhF$solidjsweb.insert(_el$2, () => category_suggestion_().title);
9250
9199
  $gVhhF$solidjsweb.insert(_el$, $gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Show), {
9251
9200
  get when() {
9252
- return typeof category_suggestion_().parent_title === "string";
9201
+ return parentTitle();
9253
9202
  },
9254
9203
  get children() {
9255
9204
  const _el$3 = $gVhhF$solidjsweb.getNextElement($dae23104ba8bb78c$var$_tmpl$);
9256
- $gVhhF$solidjsweb.insert(_el$3, () => category_suggestion_().parent_title);
9205
+ $gVhhF$solidjsweb.insert(_el$3, parentTitle);
9257
9206
  return _el$3;
9258
9207
  }
9259
9208
  }), _el$5, _co$);
@@ -10075,6 +10024,11 @@ function $6b65ba8af12c5a26$export$e872e2339fb04a7f({
10075
10024
  }) : undefined);
10076
10025
  const href = $gVhhF$solidjs.createMemo(() => is_query() ? href_with_changed_params_accessor()() : input_obj().page_url);
10077
10026
  const is_selected = $gVhhF$solidjs.createMemo(() => read_selected_index_()?.[0] === autocomplete_data_index && read_selected_index_()?.[1] === index);
10027
+ const parent_title_if_exists = $gVhhF$solidjs.createMemo(() => {
10028
+ const item = input_obj();
10029
+ if (!("breadcrumbs" in item)) return;
10030
+ return item.breadcrumbs.at(-1)?.title;
10031
+ });
10078
10032
  return (() => {
10079
10033
  const _el$ = $gVhhF$solidjsweb.getNextElement($6b65ba8af12c5a26$var$_tmpl$);
10080
10034
  $gVhhF$solidjsweb.use(element => element.addEventListener("click", $gVhhF$depictaiutilishared.catchify(ev => {
@@ -10116,7 +10070,7 @@ function $6b65ba8af12c5a26$export$e872e2339fb04a7f({
10116
10070
  },
10117
10071
  searching_for_value_: searching_for_value_
10118
10072
  })] : [$gVhhF$solidjsweb.memo((() => {
10119
- const _c$2 = $gVhhF$solidjsweb.memo(() => typeof input_obj() /* this is a harmless lie */.parent_title === "string");
10073
+ const _c$2 = $gVhhF$solidjsweb.memo(() => !!parent_title_if_exists());
10120
10074
  return () => _c$2() ? (() => {
10121
10075
  const _el$4 = $gVhhF$solidjsweb.getNextElement($6b65ba8af12c5a26$var$_tmpl$4),
10122
10076
  _el$6 = _el$4.firstChild,
@@ -10129,7 +10083,7 @@ function $6b65ba8af12c5a26$export$e872e2339fb04a7f({
10129
10083
  },
10130
10084
  searching_for_value_: searching_for_value_
10131
10085
  }), _el$7, _co$);
10132
- $gVhhF$solidjsweb.insert(_el$5, () => input_obj().parent_title);
10086
+ $gVhhF$solidjsweb.insert(_el$5, parent_title_if_exists);
10133
10087
  return _el$4;
10134
10088
  })() : (() => {
10135
10089
  const _c$3 = $gVhhF$solidjsweb.memo(() => input_obj().type === "content");
@@ -10163,7 +10117,7 @@ function $6b65ba8af12c5a26$export$e872e2339fb04a7f({
10163
10117
  const _el$3 = $gVhhF$solidjsweb.getNextElement($6b65ba8af12c5a26$var$_tmpl$3);
10164
10118
  $gVhhF$solidjsweb.insert(_el$3, $gVhhF$solidjs.createMemo(() => {
10165
10119
  if (input_obj().type === "content") return i18n_.content_();
10166
- if (input_obj().category_type === "BRAND") return i18n_.brand_();
10120
+ if (input_obj().category_type === "brand") return i18n_.brand_();
10167
10121
  return i18n_.category_();
10168
10122
  }));
10169
10123
  return _el$3;
@@ -11756,7 +11710,6 @@ class $2c61e4cd8229c49a$export$ac6237957a15b3f0 {
11756
11710
  url_transformer: url_transformer,
11757
11711
  on_navigation: on_navigation,
11758
11712
  enable_category_suggestions = true,
11759
- page_url_creator: page_url_creator,
11760
11713
  display_transformers: display_transformers,
11761
11714
  api: api,
11762
11715
  // Stuff needed for non-standard customer deployments that we shouldn't actually expose
@@ -11808,7 +11761,6 @@ class $2c61e4cd8229c49a$export$ac6237957a15b3f0 {
11808
11761
  });
11809
11762
  // @ts-ignore
11810
11763
  const depict_api_ = api ?? new (0, $e1d6c0f3d89d531c$export$e015ed2f2950f2e3)({
11811
- page_url_creator: page_url_creator,
11812
11764
  display_transformers: display_transformers
11813
11765
  });
11814
11766
  const previous_searches = $2b7a005a65221045$export$84bba84a7b837187(get_search_query_);