@depict-ai/ui 3.0.0 → 3.0.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.
@@ -10,7 +10,7 @@ import { createStore as $b8hua$createStore, reconcile as $b8hua$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.0";
13
+ const $8db9a15135765c11$export$83d89fbfd8236492 = "3.0.2";
14
14
  const $ca6ab5f08bd28bca$var$_tmpl$ = ["<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"></path></svg>'];
15
15
  function $ca6ab5f08bd28bca$export$8be2714ec7f169ee() {
16
16
  var _$escape2, _$escape3;
@@ -4695,7 +4695,6 @@ var $284849364a6ef73a$var$_get_cache_obj_for_endpoint = /*#__PURE__*/new WeakSet
4695
4695
  var $284849364a6ef73a$var$_add_ids_to_request = /*#__PURE__*/new WeakMap();
4696
4696
  var $284849364a6ef73a$var$_get_metadata = /*#__PURE__*/new WeakMap();
4697
4697
  var $284849364a6ef73a$var$_get_session_id = /*#__PURE__*/new WeakMap();
4698
- var $284849364a6ef73a$var$_guard_url_creator_length = /*#__PURE__*/new WeakSet();
4699
4698
  var $284849364a6ef73a$var$_run_url_creator_for_suggest = /*#__PURE__*/new WeakSet();
4700
4699
  var $284849364a6ef73a$var$_run_display_transformers_for_rest = /*#__PURE__*/new WeakSet();
4701
4700
  var $284849364a6ef73a$var$_cached_request = /*#__PURE__*/new WeakSet();
@@ -4704,9 +4703,7 @@ class $284849364a6ef73a$export$e015ed2f2950f2e3 {
4704
4703
  $284849364a6ef73a$var$_classPrivateMethodInitSpec(this, $284849364a6ef73a$var$_cached_request);
4705
4704
  $284849364a6ef73a$var$_classPrivateMethodInitSpec(this, $284849364a6ef73a$var$_run_display_transformers_for_rest);
4706
4705
  $284849364a6ef73a$var$_classPrivateMethodInitSpec(this, $284849364a6ef73a$var$_run_url_creator_for_suggest);
4707
- $284849364a6ef73a$var$_classPrivateMethodInitSpec(this, $284849364a6ef73a$var$_guard_url_creator_length);
4708
4706
  $284849364a6ef73a$var$_classPrivateMethodInitSpec(this, $284849364a6ef73a$var$_get_cache_obj_for_endpoint);
4709
- $b8hua$babelruntimehelpersdefineProperty(this, "page_url_creator", void 0);
4710
4707
  $b8hua$babelruntimehelpersdefineProperty(this, "display_transformers", void 0);
4711
4708
  $284849364a6ef73a$var$_classPrivateFieldInitSpec(this, $284849364a6ef73a$var$_supports_finalization_registry, {
4712
4709
  writable: true,
@@ -4738,18 +4735,15 @@ class $284849364a6ef73a$export$e015ed2f2950f2e3 {
4738
4735
  const {
4739
4736
  get_metadata: get_metadata,
4740
4737
  get_session_id: _get_session_id2,
4741
- page_url_creator: _page_url_creator,
4742
4738
  display_transformers: _display_transformers
4743
4739
  } = options !== null && options !== void 0 ? options : {};
4744
4740
  $b8hua$babelruntimehelpersclassPrivateFieldSet(this, $284849364a6ef73a$var$_get_metadata, get_metadata);
4745
4741
  $b8hua$babelruntimehelpersclassPrivateFieldSet(this, $284849364a6ef73a$var$_get_session_id, _get_session_id2);
4746
- this.page_url_creator = _page_url_creator;
4747
4742
  this.display_transformers = _display_transformers;
4748
4743
  }
4749
4744
  async suggest(input_req) {
4750
4745
  var _classPrivateFieldGet3;
4751
4746
  const with_ids = $b8hua$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_add_ids_to_request).call(this, input_req);
4752
- const owner = $b8hua$getOwner();
4753
4747
  const metaData = await ((_classPrivateFieldGet3 = $b8hua$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_get_metadata)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.call(this));
4754
4748
  const request = metaData ? Object.assign(with_ids, {
4755
4749
  metadata: JSON.stringify(metaData)
@@ -4761,7 +4755,7 @@ class $284849364a6ef73a$export$e015ed2f2950f2e3 {
4761
4755
  const decoded_json = await results.json();
4762
4756
  if (!Array.isArray(decoded_json === null || decoded_json === void 0 ? void 0 : decoded_json.suggestions)) break attempt_to_return_api_response;
4763
4757
  try {
4764
- return await $b8hua$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));
4758
+ 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);
4765
4759
  } catch (e) {
4766
4760
  $b8hua$dwarn("displayTransformer failed", e);
4767
4761
  }
@@ -4848,101 +4842,55 @@ function $284849364a6ef73a$var$_get_cache_obj_for_endpoint2(endpoint) {
4848
4842
  })) : undefined
4849
4843
  });
4850
4844
  }
4851
- function $284849364a6ef73a$var$_guard_url_creator_length2(expected, received) {
4852
- if (expected.length !== received.length) {
4853
- const e = new Error("displayTransformer returned wrong number of page URLs, got " + received.length + ", expected " + expected.length);
4854
- queueMicrotask(() => {
4855
- throw e;
4856
- });
4857
- throw e;
4858
- }
4859
- }
4860
4845
  async function $284849364a6ef73a$var$_run_url_creator_for_suggest2(merchant, market, response) {
4861
4846
  var _this$display_transfo;
4862
- const page_url_creator = this.page_url_creator;
4863
4847
  const category_transformer = (_this$display_transfo = this.display_transformers) === null || _this$display_transfo === void 0 ? void 0 : _this$display_transfo.categories;
4864
- if (!page_url_creator && !category_transformer) return response;
4848
+ if (!category_transformer) return response;
4865
4849
  // find category suggestions, run thing with them, and then replace them
4866
4850
  const category_suggestions = response.suggestions.filter(suggestion => suggestion.type === "category");
4867
- const page_urls = await (page_url_creator || category_transformer)({
4851
+ const transformed_category_suggestions = await category_transformer({
4868
4852
  market: market,
4869
4853
  merchant: merchant,
4870
- data: [...category_suggestions],
4871
- ...(page_url_creator ? {
4872
- type: "categories"
4873
- } : {})
4854
+ data: [...category_suggestions]
4874
4855
  });
4875
- $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_guard_url_creator_length, $284849364a6ef73a$var$_guard_url_creator_length2).call(this, category_suggestions, page_urls);
4876
- while (page_urls.length)
4877
- // Copy over getters so we sneakily can make this reactive
4878
- Object.defineProperties(category_suggestions.pop(), Object.getOwnPropertyDescriptors(page_urls.pop()));
4856
+ response.suggestions = transformed_category_suggestions;
4879
4857
  return response;
4880
4858
  }
4881
4859
  async function $284849364a6ef73a$var$_run_display_transformers_for_rest2(merchant, market, input_data) {
4882
4860
  const {
4883
- page_url_creator: page_url_creator,
4884
4861
  display_transformers: display_transformers
4885
4862
  } = this;
4886
- if (!page_url_creator && !display_transformers) return input_data;
4863
+ if (!display_transformers) return input_data;
4887
4864
  const product_transformer = display_transformers === null || display_transformers === void 0 ? void 0 : display_transformers.products;
4888
4865
  const category_transformer = display_transformers === null || display_transformers === void 0 ? void 0 : display_transformers.categories;
4889
4866
  const content_result_transformer = display_transformers === null || display_transformers === void 0 ? void 0 : display_transformers.contentResults;
4890
4867
  const displays = input_data.displays;
4891
- const owner = $b8hua$getOwner();
4892
4868
  const {
4893
- breadcrumbs: breadcrumbs,
4894
- quick_links: quick_links,
4895
4869
  content_search_links: content_search_links
4896
4870
  } = input_data;
4897
- if (displays && (page_url_creator || product_transformer)) {
4898
- const page_urls = await (page_url_creator || product_transformer)({
4871
+ if (displays && product_transformer) {
4872
+ const transformed_displays = await product_transformer({
4899
4873
  merchant: merchant,
4900
4874
  market: market,
4901
- displays: [...input_data.displays],
4902
- ...(page_url_creator ? {
4903
- type: "products"
4904
- } : {})
4875
+ displays: [...displays]
4905
4876
  });
4906
- $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_guard_url_creator_length, $284849364a6ef73a$var$_guard_url_creator_length2).call(this, displays, page_urls);
4907
- for (let i = 0; i < displays.length; i++) {
4908
- const new_display_or_page_url = page_urls[i];
4909
- const old_display = displays[i];
4910
- if ("page_url" in new_display_or_page_url && Object.keys(new_display_or_page_url).length === 1) {
4911
- // they only returned page_url, let's put it into the display
4912
- const old_display_was_modern = ("variant_index" in old_display);
4913
- if (old_display_was_modern) {
4914
- const variant_displays = old_display.variant_displays;
4915
- for (let i = 0; i < variant_displays.length; i++) variant_displays[i].page_url = new_display_or_page_url.page_url;
4916
- } else old_display.page_url = new_display_or_page_url.page_url;
4917
- } else
4918
- // We got a whole new display, let's replace it
4919
- displays[i] = new_display_or_page_url;
4920
- }
4877
+ input_data.displays = transformed_displays;
4921
4878
  }
4922
- if (page_url_creator || category_transformer) for (const category_display_array of [breadcrumbs, quick_links]) {
4879
+ if (category_transformer) for (const key of ["breadcrumbs", "quick_links"]) {
4880
+ const category_display_array = input_data[key];
4923
4881
  if (!category_display_array) continue;
4924
- const page_urls = await (page_url_creator || category_transformer)({
4882
+ const transformed_category_displays = await category_transformer({
4925
4883
  merchant: merchant,
4926
4884
  market: market,
4927
- data: [...category_display_array],
4928
- ...(page_url_creator ? {
4929
- type: "categories"
4930
- } : {})
4885
+ data: [...category_display_array]
4931
4886
  });
4932
- $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_guard_url_creator_length, $284849364a6ef73a$var$_guard_url_creator_length2).call(this, category_display_array, page_urls);
4933
- for (let i = 0; i < category_display_array.length; i++)
4934
- // Copy over getters so we sneakily can make this reactive
4935
- Object.defineProperties(category_display_array[i], Object.getOwnPropertyDescriptors(page_urls[i]));
4936
- }
4937
- if (content_search_links !== null && content_search_links !== void 0 && content_search_links.length && content_result_transformer) {
4938
- const result = await $b8hua$runWithOwner(owner, () => content_result_transformer({
4939
- merchant: merchant,
4940
- market: market,
4941
- data: [...content_search_links]
4942
- }));
4943
- $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_guard_url_creator_length, $284849364a6ef73a$var$_guard_url_creator_length2).call(this, content_search_links, result);
4944
- input_data.content_search_links = result;
4887
+ input_data[key] = transformed_category_displays;
4945
4888
  }
4889
+ 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({
4890
+ merchant: merchant,
4891
+ market: market,
4892
+ data: [...content_search_links]
4893
+ });
4946
4894
  return input_data;
4947
4895
  }
4948
4896
  async function $284849364a6ef73a$var$_cached_request2(_ref) {
@@ -4956,7 +4904,6 @@ async function $284849364a6ef73a$var$_cached_request2(_ref) {
4956
4904
  } = _ref;
4957
4905
  const cache_obj = $284849364a6ef73a$var$_classPrivateMethodGet(this, $284849364a6ef73a$var$_get_cache_obj_for_endpoint, $284849364a6ef73a$var$_get_cache_obj_for_endpoint2).call(this, endpoint_);
4958
4906
  const with_ids = $b8hua$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_add_ids_to_request).call(this, input_req_);
4959
- const owner = $b8hua$getOwner();
4960
4907
  const metaData = await ((_classPrivateFieldGet5 = $b8hua$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_get_metadata)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.call(this));
4961
4908
  const request = metaData ? Object.assign(with_ids, {
4962
4909
  metadata: metaData
@@ -4984,7 +4931,7 @@ async function $284849364a6ef73a$var$_cached_request2(_ref) {
4984
4931
  let result;
4985
4932
  try {
4986
4933
  const unmodified_result = await api_response.json();
4987
- result = await $b8hua$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));
4934
+ 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);
4988
4935
  } catch (e) {
4989
4936
  $b8hua$dwarn("displayTransformer or json decoding failed", e);
4990
4937
  break return_successfully;
@@ -6648,7 +6595,9 @@ function $52efc9ae4382e25a$export$5646050d516e06bc(_ref) {
6648
6595
  var _display_accessor;
6649
6596
  return $2855bffe06ef7a03$export$43cd1e747fecd42e({
6650
6597
  to_url_: (_display_accessor = display_accessor()) === null || _display_accessor === void 0 ? void 0 : _display_accessor.page_url,
6651
- filter_query_param_prefix_: filter_query_param_prefix_,
6598
+ filter_query_param_prefix_:
6599
+ // page_url here can be a getter if that was added in the display transformers as a way of making this reactive
6600
+ filter_query_param_prefix_,
6652
6601
  sorting_query_param_: sorting_query_param_
6653
6602
  });
6654
6603
  });
@@ -7803,7 +7752,6 @@ class $f5f54892fd0c7d9f$export$f34314aa9505732e {
7803
7752
  let {
7804
7753
  api: api,
7805
7754
  on_navigation: on_navigation,
7806
- page_url_creator: page_url_creator,
7807
7755
  display_transformers: display_transformers,
7808
7756
  unique_instance_key_for_state = "",
7809
7757
  listing_id_state_key: listing_id_state_key,
@@ -7882,7 +7830,6 @@ class $f5f54892fd0c7d9f$export$f34314aa9505732e {
7882
7830
  reset_history_state_: reset_history_state_,
7883
7831
  // @ts-ignore
7884
7832
  depict_api_: api !== null && api !== void 0 ? api : new (0, $284849364a6ef73a$export$e015ed2f2950f2e3)({
7885
- page_url_creator: page_url_creator,
7886
7833
  display_transformers: display_transformers
7887
7834
  }),
7888
7835
  router_: $b8hua$babelruntimehelpersclassPrivateFieldGet(this, $f5f54892fd0c7d9f$var$_router),
@@ -10343,7 +10290,6 @@ class $eb064bc3350276c1$export$ac6237957a15b3f0 {
10343
10290
  url_transformer: url_transformer,
10344
10291
  on_navigation: on_navigation,
10345
10292
  enable_category_suggestions = true,
10346
- page_url_creator: page_url_creator,
10347
10293
  display_transformers: display_transformers,
10348
10294
  api: api,
10349
10295
  // Stuff needed for non-standard customer deployments that we shouldn't actually expose
@@ -10422,7 +10368,6 @@ class $eb064bc3350276c1$export$ac6237957a15b3f0 {
10422
10368
  });
10423
10369
  // @ts-ignore
10424
10370
  const depict_api_ = api !== null && api !== void 0 ? api : new (0, $284849364a6ef73a$export$e015ed2f2950f2e3)({
10425
- page_url_creator: page_url_creator,
10426
10371
  display_transformers: display_transformers
10427
10372
  });
10428
10373
  const previous_searches = $07d90b8270ece8de$export$84bba84a7b837187(get_search_query_);
@@ -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.0";
80
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "3.0.2";
81
81
  const $0f313083912e447a$var$_tmpl$ = ["<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"></path></svg>'];
82
82
  function $0f313083912e447a$export$8be2714ec7f169ee(props = {}) {
83
83
  return $5vyXB$solidjsweb.ssr($0f313083912e447a$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrAttribute("width", $5vyXB$solidjsweb.escape(props.width_, true) ?? 14, false) + $5vyXB$solidjsweb.ssrAttribute("height", $5vyXB$solidjsweb.escape(props.height_, true) ?? 26, false));
@@ -4475,100 +4475,54 @@ class $e1d6c0f3d89d531c$export$e015ed2f2950f2e3 {
4475
4475
  };
4476
4476
  #get_metadata;
4477
4477
  #get_session_id;
4478
- #guard_url_creator_length(expected, received) {
4479
- if (expected.length !== received.length) {
4480
- const e = new Error("displayTransformer returned wrong number of page URLs, got " + received.length + ", expected " + expected.length);
4481
- queueMicrotask(() => {
4482
- throw e;
4483
- });
4484
- throw e;
4485
- }
4486
- }
4487
4478
  async #run_url_creator_for_suggest(merchant, market, response) {
4488
- const page_url_creator = this.page_url_creator;
4489
4479
  const category_transformer = this.display_transformers?.categories;
4490
- if (!page_url_creator && !category_transformer) return response;
4480
+ if (!category_transformer) return response;
4491
4481
  // find category suggestions, run thing with them, and then replace them
4492
4482
  const category_suggestions = response.suggestions.filter(suggestion => suggestion.type === "category");
4493
- const page_urls = await (page_url_creator || category_transformer)({
4483
+ const transformed_category_suggestions = await category_transformer({
4494
4484
  market: market,
4495
4485
  merchant: merchant,
4496
- data: [...category_suggestions],
4497
- ...(page_url_creator ? {
4498
- type: "categories"
4499
- } : {})
4486
+ data: [...category_suggestions]
4500
4487
  });
4501
- this.#guard_url_creator_length(category_suggestions, page_urls);
4502
- while (page_urls.length)
4503
- // Copy over getters so we sneakily can make this reactive
4504
- Object.defineProperties(category_suggestions.pop(), Object.getOwnPropertyDescriptors(page_urls.pop()));
4488
+ response.suggestions = transformed_category_suggestions;
4505
4489
  return response;
4506
4490
  }
4507
4491
  async #run_display_transformers_for_rest(merchant, market, input_data) {
4508
4492
  const {
4509
- page_url_creator: page_url_creator,
4510
4493
  display_transformers: display_transformers
4511
4494
  } = this;
4512
- if (!page_url_creator && !display_transformers) return input_data;
4495
+ if (!display_transformers) return input_data;
4513
4496
  const product_transformer = display_transformers?.products;
4514
4497
  const category_transformer = display_transformers?.categories;
4515
4498
  const content_result_transformer = display_transformers?.contentResults;
4516
4499
  const displays = input_data.displays;
4517
- const owner = $5vyXB$solidjs.getOwner();
4518
4500
  const {
4519
- breadcrumbs: breadcrumbs,
4520
- quick_links: quick_links,
4521
4501
  content_search_links: content_search_links
4522
4502
  } = input_data;
4523
- if (displays && (page_url_creator || product_transformer)) {
4524
- const page_urls = await (page_url_creator || product_transformer)({
4503
+ if (displays && product_transformer) {
4504
+ const transformed_displays = await product_transformer({
4525
4505
  merchant: merchant,
4526
4506
  market: market,
4527
- displays: [...input_data.displays],
4528
- ...(page_url_creator ? {
4529
- type: "products"
4530
- } : {})
4507
+ displays: [...displays]
4531
4508
  });
4532
- this.#guard_url_creator_length(displays, page_urls);
4533
- for (let i = 0; i < displays.length; i++) {
4534
- const new_display_or_page_url = page_urls[i];
4535
- const old_display = displays[i];
4536
- if ("page_url" in new_display_or_page_url && Object.keys(new_display_or_page_url).length === 1) {
4537
- // they only returned page_url, let's put it into the display
4538
- const old_display_was_modern = ("variant_index" in old_display);
4539
- if (old_display_was_modern) {
4540
- const variant_displays = old_display.variant_displays;
4541
- for (let i = 0; i < variant_displays.length; i++) variant_displays[i].page_url = new_display_or_page_url.page_url;
4542
- } else old_display.page_url = new_display_or_page_url.page_url;
4543
- } else
4544
- // We got a whole new display, let's replace it
4545
- displays[i] = new_display_or_page_url;
4546
- }
4509
+ input_data.displays = transformed_displays;
4547
4510
  }
4548
- if (page_url_creator || category_transformer) for (const category_display_array of [breadcrumbs, quick_links]) {
4511
+ if (category_transformer) for (const key of ["breadcrumbs", "quick_links"]) {
4512
+ const category_display_array = input_data[key];
4549
4513
  if (!category_display_array) continue;
4550
- const page_urls = await (page_url_creator || category_transformer)({
4514
+ const transformed_category_displays = await category_transformer({
4551
4515
  merchant: merchant,
4552
4516
  market: market,
4553
- data: [...category_display_array],
4554
- ...(page_url_creator ? {
4555
- type: "categories"
4556
- } : {})
4517
+ data: [...category_display_array]
4557
4518
  });
4558
- this.#guard_url_creator_length(category_display_array, page_urls);
4559
- for (let i = 0; i < category_display_array.length; i++)
4560
- // Copy over getters so we sneakily can make this reactive
4561
- Object.defineProperties(category_display_array[i], Object.getOwnPropertyDescriptors(page_urls[i]));
4562
- }
4563
- if (content_search_links?.length && content_result_transformer) {
4564
- const result = await $5vyXB$solidjs.runWithOwner(owner, () => content_result_transformer({
4565
- merchant: merchant,
4566
- market: market,
4567
- data: [...content_search_links]
4568
- }));
4569
- this.#guard_url_creator_length(content_search_links, result);
4570
- input_data.content_search_links = result;
4519
+ input_data[key] = transformed_category_displays;
4571
4520
  }
4521
+ if (content_search_links?.length && content_result_transformer) input_data.content_search_links = await content_result_transformer({
4522
+ merchant: merchant,
4523
+ market: market,
4524
+ data: [...content_search_links]
4525
+ });
4572
4526
  return input_data;
4573
4527
  }
4574
4528
  async #cached_request({
@@ -4580,7 +4534,6 @@ class $e1d6c0f3d89d531c$export$e015ed2f2950f2e3 {
4580
4534
  }) {
4581
4535
  const cache_obj = this.#get_cache_obj_for_endpoint(endpoint_);
4582
4536
  const with_ids = this.#add_ids_to_request(input_req_);
4583
- const owner = $5vyXB$solidjs.getOwner();
4584
4537
  const metaData = await this.#get_metadata?.();
4585
4538
  const request = metaData ? Object.assign(with_ids, {
4586
4539
  metadata: metaData
@@ -4608,7 +4561,7 @@ class $e1d6c0f3d89d531c$export$e015ed2f2950f2e3 {
4608
4561
  let result;
4609
4562
  try {
4610
4563
  const unmodified_result = await api_response.json();
4611
- result = await $5vyXB$solidjs.runWithOwner(owner, () => this.#run_display_transformers_for_rest(input_req_.merchant, input_req_.market, unmodified_result));
4564
+ result = await this.#run_display_transformers_for_rest(input_req_.merchant, input_req_.market, unmodified_result);
4612
4565
  } catch (e) {
4613
4566
  $5vyXB$depictaiutilishared.dwarn("displayTransformer or json decoding failed", e);
4614
4567
  break return_successfully;
@@ -4639,17 +4592,14 @@ class $e1d6c0f3d89d531c$export$e015ed2f2950f2e3 {
4639
4592
  const {
4640
4593
  get_metadata: get_metadata,
4641
4594
  get_session_id: get_session_id,
4642
- page_url_creator: page_url_creator,
4643
4595
  display_transformers: display_transformers
4644
4596
  } = options ?? {};
4645
4597
  this.#get_metadata = get_metadata;
4646
4598
  this.#get_session_id = get_session_id;
4647
- this.page_url_creator = page_url_creator;
4648
4599
  this.display_transformers = display_transformers;
4649
4600
  }
4650
4601
  async suggest(input_req) {
4651
4602
  const with_ids = this.#add_ids_to_request(input_req);
4652
- const owner = $5vyXB$solidjs.getOwner();
4653
4603
  const metaData = await this.#get_metadata?.();
4654
4604
  const request = metaData ? Object.assign(with_ids, {
4655
4605
  metadata: JSON.stringify(metaData)
@@ -4661,7 +4611,7 @@ class $e1d6c0f3d89d531c$export$e015ed2f2950f2e3 {
4661
4611
  const decoded_json = await results.json();
4662
4612
  if (!Array.isArray(decoded_json?.suggestions)) break attempt_to_return_api_response;
4663
4613
  try {
4664
- return await $5vyXB$solidjs.runWithOwner(owner, () => this.#run_url_creator_for_suggest(input_req.merchant, input_req.market, decoded_json));
4614
+ return await this.#run_url_creator_for_suggest(input_req.merchant, input_req.market, decoded_json);
4665
4615
  } catch (e) {
4666
4616
  $5vyXB$depictaiutilishared.dwarn("displayTransformer failed", e);
4667
4617
  }
@@ -6271,7 +6221,9 @@ function $e53b2e7e632ac4cb$export$5646050d516e06bc({
6271
6221
  children: (display_accessor, index) => {
6272
6222
  const href = $5vyXB$solidjs.createMemo(() => $1ab22f2cd39b3061$export$43cd1e747fecd42e({
6273
6223
  to_url_: display_accessor()?.page_url,
6274
- filter_query_param_prefix_: filter_query_param_prefix_,
6224
+ filter_query_param_prefix_:
6225
+ // page_url here can be a getter if that was added in the display transformers as a way of making this reactive
6226
+ filter_query_param_prefix_,
6275
6227
  sorting_query_param_: sorting_query_param_
6276
6228
  }));
6277
6229
  return [$5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Show), {
@@ -7326,7 +7278,6 @@ class $48567ac5b39bac56$export$f34314aa9505732e {
7326
7278
  constructor({
7327
7279
  api: api,
7328
7280
  on_navigation: on_navigation,
7329
- page_url_creator: page_url_creator,
7330
7281
  display_transformers: display_transformers,
7331
7282
  unique_instance_key_for_state = "",
7332
7283
  listing_id_state_key: listing_id_state_key,
@@ -7377,7 +7328,6 @@ class $48567ac5b39bac56$export$f34314aa9505732e {
7377
7328
  reset_history_state_: reset_history_state_,
7378
7329
  // @ts-ignore
7379
7330
  depict_api_: api ?? new (0, $e1d6c0f3d89d531c$export$e015ed2f2950f2e3)({
7380
- page_url_creator: page_url_creator,
7381
7331
  display_transformers: display_transformers
7382
7332
  }),
7383
7333
  router_: this.#router,
@@ -9647,7 +9597,6 @@ class $2c61e4cd8229c49a$export$ac6237957a15b3f0 {
9647
9597
  url_transformer: url_transformer,
9648
9598
  on_navigation: on_navigation,
9649
9599
  enable_category_suggestions = true,
9650
- page_url_creator: page_url_creator,
9651
9600
  display_transformers: display_transformers,
9652
9601
  api: api,
9653
9602
  // Stuff needed for non-standard customer deployments that we shouldn't actually expose
@@ -9699,7 +9648,6 @@ class $2c61e4cd8229c49a$export$ac6237957a15b3f0 {
9699
9648
  });
9700
9649
  // @ts-ignore
9701
9650
  const depict_api_ = api ?? new (0, $e1d6c0f3d89d531c$export$e015ed2f2950f2e3)({
9702
- page_url_creator: page_url_creator,
9703
9651
  display_transformers: display_transformers
9704
9652
  });
9705
9653
  const previous_searches = $2b7a005a65221045$export$84bba84a7b837187(get_search_query_);
@@ -11,7 +11,7 @@ import { ProductListingRequestV3 } from "@depict-ai/types/api/ProductListingRequ
11
11
  import { GetListingRequest } from "@depict-ai/types/api/GetListingRequest";
12
12
  import { BaseSearchRequestV3 } from "@depict-ai/types/api/BaseSearchRequestV3";
13
13
  import { SearchFilter as _SearchFilter2 } from "@depict-ai/types/api/SearchRequestV2";
14
- export const version = "3.0.0";
14
+ export const version = "3.0.2";
15
15
  /** @jsxImportSource solid-js */
16
16
  export function GenericSliderArrowButton(props?: {
17
17
  width_?: number;
@@ -603,56 +603,23 @@ export type DisplayTransformers<InputDisplay extends ModernDisplay, OutputDispla
603
603
  products?: (options: DisplayTransformerAlwaysThereData & {
604
604
  displays: InputDisplay[];
605
605
  }) => CanBePromiseWrapped<OutputDisplay extends ModernDisplay ? ModernDisplayWithPageUrl<OutputDisplay>[] : never>;
606
- categories?: (options: DisplayTransformerAlwaysThereData & {
607
- data: (Breadcrumb | Quicklink | CategorySuggestion)[];
608
- }) => CanBePromiseWrapped<{
606
+ categories?: <T extends Breadcrumb | Quicklink | CategorySuggestion>(options: DisplayTransformerAlwaysThereData & {
607
+ data: T[];
608
+ }) => CanBePromiseWrapped<(T & {
609
609
  page_url: string;
610
- }[]>;
610
+ })[]>;
611
611
  contentResults?: (options: DisplayTransformerAlwaysThereData & {
612
612
  data: ContentLink[];
613
613
  }) => CanBePromiseWrapped<ContentLink[]>;
614
614
  };
615
- export type SomethingTakingAPageURLCreatorOrDisplayTransformers<InputDisplay extends Display, OutputDisplay extends ModernDisplay | never> = InputDisplay extends ModernDisplay ? "page_url" extends keyof InputDisplay["variant_displays"][number] ? {
616
- page_url_creator?: PageURLCreator<InputDisplay, OutputDisplay>;
617
- display_transformers?: never;
618
- } | {
619
- page_url_creator?: never;
615
+ export type SomethingTakingADisplayTransformers<InputDisplay extends Display, OutputDisplay extends ModernDisplay | never> = InputDisplay extends ModernDisplay ? "page_url" extends keyof InputDisplay["variant_displays"][number] ? {
620
616
  display_transformers: DisplayTransformers<InputDisplay, OutputDisplay>;
621
617
  } : {
622
- page_url_creator: PageURLCreator<InputDisplay, OutputDisplay>;
623
- display_transformers?: never;
624
- } | {
625
618
  display_transformers: DisplayTransformers<InputDisplay, OutputDisplay>;
626
- page_url_creator?: never;
627
619
  } : {
628
620
  page_url_creator?: never;
629
621
  display_transformers?: never;
630
622
  };
631
- type PageURLCreatorAlwaysThereData = {
632
- merchant: string;
633
- market: string;
634
- };
635
- type PageURLCreatorCategoryData = {
636
- type: "categories";
637
- data: (Breadcrumb | Quicklink | CategorySuggestion)[];
638
- };
639
- type PageURLCreatorProductData<T extends ModernDisplay> = {
640
- displays: T[];
641
- type: "products";
642
- };
643
- type PageURLCreatorOptions<InputDisplay extends ModernDisplay> = PageURLCreatorAlwaysThereData & (PageURLCreatorCategoryData | PageURLCreatorProductData<InputDisplay>);
644
- /**
645
- * @deprecated use DisplayTransformers instead
646
- * PageUrlCreator is, in its most basic form, a function that takes in a list of categories or products and returns a list of page_urls for the provided categories or products.
647
- * It's main use case is to allow for the creation of links to the product or category pages on the merchant's site.
648
- * It can also be used for the depict customers which already have links to change those links (i.e. for staging sites).
649
- * Also, it can be used to enrich the data for each product card in a batched way, which is why it can be an async function and return a whole display in the case of products.
650
- */
651
- export type PageURLCreator<InputDisplay extends ModernDisplay, OutputDisplay extends ModernDisplay | never> = (options: PageURLCreatorOptions<InputDisplay>) => (typeof options)["type"] extends "categories" ? CanBePromiseWrapped<{
652
- page_url: string;
653
- }[]> : CanBePromiseWrapped<{
654
- page_url: string;
655
- }[]> | CanBePromiseWrapped<OutputDisplay extends ModernDisplay ? ModernDisplayWithPageUrl<OutputDisplay>[] : never>;
656
623
  export type ExclusiveId = {
657
624
  categoryId: string;
658
625
  productId?: undefined;
@@ -731,21 +698,21 @@ type SearchSuggestionsResponseAfterURLCreator = { [K in keyof SearchSuggestionsR
731
698
  type AddPageUrlToDisplay<T extends any[]> = (T[number] & {
732
699
  page_url: string;
733
700
  })[];
734
- type SearchResponseAfterURLCreator = { [K in keyof SearchResponse]: K extends "displays" ? AddPageUrlToDisplay<SearchResponse[K]> : K extends "filters" ? AddActualFieldToFilters<SearchResponse[K]> : SearchResponse[K] };
701
+ type SearchResponseAfterDisplayTransformer = { [K in keyof SearchResponse]: K extends "displays" ? AddPageUrlToDisplay<SearchResponse[K]> : K extends "filters" ? AddActualFieldToFilters<SearchResponse[K]> : SearchResponse[K] };
735
702
  type QuicklinksOrBreadCrumbsWithPageURL<T extends Breadcrumb | Quicklink> = T & {
736
703
  page_url: string;
737
704
  };
738
705
  type _AddPageUrlToDisplay1<T extends any[]> = (T[number] & {
739
706
  page_url: string;
740
707
  })[];
741
- type ProductListingResponseAfterURLCreator = { [K in keyof ProductListingResponseV3]: K extends "displays" ? _AddPageUrlToDisplay1<ProductListingResponseV3[K]> : K extends "filters" ? AddActualFieldToFilters<ProductListingResponseV3[K]> : ProductListingResponseV3[K] };
742
- type GetListingResponseAfterURLCreator = { [K in keyof GetListingResponse]: K extends "breadcrumbs" ? QuicklinksOrBreadCrumbsWithPageURL<Breadcrumb>[] : K extends "quick_links" ? QuicklinksOrBreadCrumbsWithPageURL<Quicklink>[] : GetListingResponse[K] };
708
+ type ProductListingResponseAfterDisplayTransformer = { [K in keyof ProductListingResponseV3]: K extends "displays" ? _AddPageUrlToDisplay1<ProductListingResponseV3[K]> : K extends "filters" ? AddActualFieldToFilters<ProductListingResponseV3[K]> : ProductListingResponseV3[K] };
709
+ type GetListingResponseAfterDisplayTransformer = { [K in keyof GetListingResponse]: K extends "breadcrumbs" ? QuicklinksOrBreadCrumbsWithPageURL<Breadcrumb>[] : K extends "quick_links" ? QuicklinksOrBreadCrumbsWithPageURL<Quicklink>[] : GetListingResponse[K] };
743
710
  type DepictAPIConstructorOptions<InputDisplay extends Display, OutputDisplay extends ModernDisplay | never> = {
744
711
  get_metadata?: () => Promise<{
745
712
  [k: string]: string;
746
713
  } | undefined>;
747
714
  get_session_id?: () => string | undefined;
748
- } & SomethingTakingAPageURLCreatorOrDisplayTransformers<InputDisplay, OutputDisplay>;
715
+ } & SomethingTakingADisplayTransformers<InputDisplay, OutputDisplay>;
749
716
  interface GetListingOptions extends GetListingRequest {
750
717
  listing_id: string;
751
718
  session_id?: string;
@@ -757,21 +724,20 @@ interface GetListingOptions extends GetListingRequest {
757
724
  */
758
725
  export class DepictAPI<InputDisplay extends Display, OutputDisplay extends ModernDisplay | never = InputDisplay extends ModernDisplay ? ModernDisplayWithPageUrl<InputDisplay> : never> {
759
726
  #private;
760
- page_url_creator: PageURLCreator<ModernDisplay, OutputDisplay> | undefined;
761
727
  display_transformers: DisplayTransformers<ModernDisplay, OutputDisplay> | undefined;
762
728
  constructor(options: DepictAPIConstructorOptions<InputDisplay, OutputDisplay>);
763
729
  suggest(input_req: SearchSuggestionsRequestV3): Promise<SearchSuggestionsResponseAfterURLCreator & {
764
730
  failed?: true;
765
731
  }>;
766
- query(input_req: SearchRequestV3): Promise<SearchResponseAfterURLCreator & {
732
+ query(input_req: SearchRequestV3): Promise<SearchResponseAfterDisplayTransformer & {
767
733
  failed?: true;
768
734
  }>;
769
- get_listing(input_req: GetListingOptions): Promise<GetListingResponseAfterURLCreator & {
735
+ get_listing(input_req: GetListingOptions): Promise<GetListingResponseAfterDisplayTransformer & {
770
736
  failed?: true;
771
737
  }>;
772
738
  get_listing_products(input_req: ProductListingRequestV3 & {
773
739
  listing_id: string;
774
- }): Promise<ProductListingResponseAfterURLCreator & {
740
+ }): Promise<ProductListingResponseAfterDisplayTransformer & {
775
741
  failed?: true;
776
742
  }>;
777
743
  get_recommended<T extends Display>(input_req: BaseSearchRequestV3): Promise<{
@@ -823,7 +789,7 @@ type CategoryConstructorOptionsWithApi<InputDisplay extends Display, OutputDispl
823
789
  };
824
790
  type CategoryConstructorOptionsWithoutApi<InputDisplay extends Display, OutputDisplay extends ModernDisplay | never> = GeneralCategoryListingOptions & {
825
791
  api?: never;
826
- } & SomethingTakingAPageURLCreatorOrDisplayTransformers<InputDisplay, OutputDisplay>;
792
+ } & SomethingTakingADisplayTransformers<InputDisplay, OutputDisplay>;
827
793
  type DepictCategoryConstructorOptions<InputDisplay extends Display, OutputDisplay extends ModernDisplay> = CategoryConstructorOptionsWithApi<InputDisplay, OutputDisplay> | CategoryConstructorOptionsWithoutApi<InputDisplay, OutputDisplay>;
828
794
  export class DepictCategory<InputDisplay extends Display, OutputDisplay extends ModernDisplay | never = InputDisplay extends ModernDisplay ? ModernDisplayWithPageUrl<InputDisplay> : never> {
829
795
  #private;
@@ -844,7 +810,6 @@ export class DepictCategory<InputDisplay extends Display, OutputDisplay extends
844
810
  constructor({
845
811
  api,
846
812
  on_navigation,
847
- page_url_creator,
848
813
  display_transformers,
849
814
  unique_instance_key_for_state,
850
815
  listing_id_state_key,
@@ -929,7 +894,7 @@ type ConstructorOptionsWithApi<InputDisplay extends Display, OutputDisplay exten
929
894
  };
930
895
  type ConstructorOptionsWithoutAPI<InputDisplay extends Display, OutputDisplay extends ModernDisplay | never> = GeneralConstructorOptions<InputDisplay, OutputDisplay> & {
931
896
  api?: never;
932
- } & SomethingTakingAPageURLCreatorOrDisplayTransformers<InputDisplay, OutputDisplay>;
897
+ } & SomethingTakingADisplayTransformers<InputDisplay, OutputDisplay>;
933
898
  type ConstructorOptions<InputDisplay extends Display, OutputDisplay extends ModernDisplay> = ConstructorOptionsWithApi<InputDisplay, OutputDisplay> | ConstructorOptionsWithoutAPI<InputDisplay, OutputDisplay>;
934
899
  export type OpenModalArguments = [options_for_modal?: {
935
900
  style_props_?: Signal<JSX.CSSProperties>;
@@ -947,7 +912,6 @@ export class DepictSearch<InputDisplay extends Display, OutputDisplay extends Mo
947
912
  url_transformer,
948
913
  on_navigation,
949
914
  enable_category_suggestions,
950
- page_url_creator,
951
915
  display_transformers,
952
916
  api,
953
917
  disable_scrolling_during_modal,
@@ -1024,46 +988,16 @@ export type BaseProviderConfig<InputDisplay extends Display, PossibleTransformed
1024
988
  */
1025
989
  uniqueInstanceKeyForState?: string;
1026
990
  } & (InputDisplay extends ModernDisplay ? "page_url" extends keyof InputDisplay["variant_displays"][number] ? {
1027
- /**
1028
- * @deprecated use displayTransformers instead
1029
- */
1030
- pageURLCreator?: PageURLCreator<InputDisplay, PossibleTransformedDisplay>;
1031
- /**
1032
- * Functions that take in a list of categories, content search results or products and then can transform or enrich the data for each category, content search result or product card in a batched way.
1033
- */
1034
- displayTransformers?: never;
1035
- } | {
1036
- /**
1037
- * @deprecated use displayTransformers instead
1038
- */
1039
- pageURLCreator?: never;
1040
991
  /**
1041
992
  * Functions that take in a list of categories, content search results or products and then can transform or enrich the data for each category, content search result or product card in a batched way.
1042
993
  */
1043
994
  displayTransformers: DisplayTransformers<InputDisplay, PossibleTransformedDisplay>;
1044
995
  } : {
1045
- /**
1046
- * @deprecated use displayTransformers instead
1047
- */
1048
- pageURLCreator: PageURLCreator<InputDisplay, PossibleTransformedDisplay>;
1049
- /**
1050
- * Functions that take in a list of categories, content search results or products and then can transform or enrich the data for each category, content search result or product card in a batched way.
1051
- */
1052
- displayTransformers?: never;
1053
- } | {
1054
996
  /**
1055
997
  * Functions that take in a list of categories, content search results or products and then can transform or enrich the data for each category, content search result or product card in a batched way.
1056
998
  */
1057
999
  displayTransformers: DisplayTransformers<InputDisplay, PossibleTransformedDisplay>;
1058
- /**
1059
- * @deprecated use displayTransformers instead
1060
- */
1061
- pageURLCreator?: never;
1062
1000
  } : {
1063
- /**
1064
- * @deprecated use displayTransformers instead
1065
- */
1066
- pageURLCreator?: never;
1067
1001
  /**
1068
1002
  * Functions that take in a list of categories, content search results or products and then can transform or enrich the data for each category, content search result or product card in a batched way.
1069
1003
  */