@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.
- package/ES10/index.cjs +27 -82
- package/ES10/index.d.ts +15 -81
- package/ES10/index.js +27 -82
- package/latest/index.cjs +27 -79
- package/latest/index.d.ts +15 -81
- package/latest/index.js +27 -79
- package/package.json +1 -1
- package/server/ES10/index.cjs +25 -80
- package/server/ES10/index.d.ts +15 -81
- package/server/ES10/index.js +25 -80
- package/server/latest/index.cjs +25 -77
- package/server/latest/index.d.ts +15 -81
- package/server/latest/index.js +25 -77
package/ES10/index.cjs
CHANGED
|
@@ -83,7 +83,7 @@ $parcel$export(module.exports, "defaultColsAtSize", () => $33eed84f447aa0c0$expo
|
|
|
83
83
|
$parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $33eed84f447aa0c0$export$7bf543b9d9be2c22);
|
|
84
84
|
$parcel$export(module.exports, "version", () => $aa1938dec50d6c12$export$83d89fbfd8236492);
|
|
85
85
|
/*! Depict.ai search and product listing SDK */
|
|
86
|
-
const $aa1938dec50d6c12$export$83d89fbfd8236492 = "3.0.
|
|
86
|
+
const $aa1938dec50d6c12$export$83d89fbfd8236492 = "3.0.2";
|
|
87
87
|
const $9d19451330d04c3c$var$_tmpl$ = /*#__PURE__*/$52FdA$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>`);
|
|
88
88
|
function $9d19451330d04c3c$export$8be2714ec7f169ee() {
|
|
89
89
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -5853,7 +5853,6 @@ var $e270e9f953fcbc58$var$_get_cache_obj_for_endpoint = /*#__PURE__*/new WeakSet
|
|
|
5853
5853
|
var $e270e9f953fcbc58$var$_add_ids_to_request = /*#__PURE__*/new WeakMap();
|
|
5854
5854
|
var $e270e9f953fcbc58$var$_get_metadata = /*#__PURE__*/new WeakMap();
|
|
5855
5855
|
var $e270e9f953fcbc58$var$_get_session_id = /*#__PURE__*/new WeakMap();
|
|
5856
|
-
var $e270e9f953fcbc58$var$_guard_url_creator_length = /*#__PURE__*/new WeakSet();
|
|
5857
5856
|
var $e270e9f953fcbc58$var$_run_url_creator_for_suggest = /*#__PURE__*/new WeakSet();
|
|
5858
5857
|
var $e270e9f953fcbc58$var$_run_display_transformers_for_rest = /*#__PURE__*/new WeakSet();
|
|
5859
5858
|
var $e270e9f953fcbc58$var$_cached_request = /*#__PURE__*/new WeakSet();
|
|
@@ -5862,9 +5861,7 @@ class $e270e9f953fcbc58$export$e015ed2f2950f2e3 {
|
|
|
5862
5861
|
$e270e9f953fcbc58$var$_classPrivateMethodInitSpec(this, $e270e9f953fcbc58$var$_cached_request);
|
|
5863
5862
|
$e270e9f953fcbc58$var$_classPrivateMethodInitSpec(this, $e270e9f953fcbc58$var$_run_display_transformers_for_rest);
|
|
5864
5863
|
$e270e9f953fcbc58$var$_classPrivateMethodInitSpec(this, $e270e9f953fcbc58$var$_run_url_creator_for_suggest);
|
|
5865
|
-
$e270e9f953fcbc58$var$_classPrivateMethodInitSpec(this, $e270e9f953fcbc58$var$_guard_url_creator_length);
|
|
5866
5864
|
$e270e9f953fcbc58$var$_classPrivateMethodInitSpec(this, $e270e9f953fcbc58$var$_get_cache_obj_for_endpoint);
|
|
5867
|
-
$parcel$interopDefault($52FdA$babelruntimehelpersdefineProperty)(this, "page_url_creator", void 0);
|
|
5868
5865
|
$parcel$interopDefault($52FdA$babelruntimehelpersdefineProperty)(this, "display_transformers", void 0);
|
|
5869
5866
|
$e270e9f953fcbc58$var$_classPrivateFieldInitSpec(this, $e270e9f953fcbc58$var$_supports_finalization_registry, {
|
|
5870
5867
|
writable: true,
|
|
@@ -5896,18 +5893,15 @@ class $e270e9f953fcbc58$export$e015ed2f2950f2e3 {
|
|
|
5896
5893
|
const {
|
|
5897
5894
|
get_metadata: get_metadata,
|
|
5898
5895
|
get_session_id: _get_session_id2,
|
|
5899
|
-
page_url_creator: _page_url_creator,
|
|
5900
5896
|
display_transformers: _display_transformers
|
|
5901
5897
|
} = options !== null && options !== void 0 ? options : {};
|
|
5902
5898
|
$parcel$interopDefault($52FdA$babelruntimehelpersclassPrivateFieldSet)(this, $e270e9f953fcbc58$var$_get_metadata, get_metadata);
|
|
5903
5899
|
$parcel$interopDefault($52FdA$babelruntimehelpersclassPrivateFieldSet)(this, $e270e9f953fcbc58$var$_get_session_id, _get_session_id2);
|
|
5904
|
-
this.page_url_creator = _page_url_creator;
|
|
5905
5900
|
this.display_transformers = _display_transformers;
|
|
5906
5901
|
}
|
|
5907
5902
|
async suggest(input_req) {
|
|
5908
5903
|
var _classPrivateFieldGet3;
|
|
5909
5904
|
const with_ids = $parcel$interopDefault($52FdA$babelruntimehelpersclassPrivateFieldGet)(this, $e270e9f953fcbc58$var$_add_ids_to_request).call(this, input_req);
|
|
5910
|
-
const owner = $52FdA$solidjs.getOwner();
|
|
5911
5905
|
const metaData = await ((_classPrivateFieldGet3 = $parcel$interopDefault($52FdA$babelruntimehelpersclassPrivateFieldGet)(this, $e270e9f953fcbc58$var$_get_metadata)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.call(this));
|
|
5912
5906
|
const request = metaData ? Object.assign(with_ids, {
|
|
5913
5907
|
metadata: JSON.stringify(metaData)
|
|
@@ -5919,7 +5913,7 @@ class $e270e9f953fcbc58$export$e015ed2f2950f2e3 {
|
|
|
5919
5913
|
const decoded_json = await results.json();
|
|
5920
5914
|
if (!Array.isArray(decoded_json === null || decoded_json === void 0 ? void 0 : decoded_json.suggestions)) break attempt_to_return_api_response;
|
|
5921
5915
|
try {
|
|
5922
|
-
return await $
|
|
5916
|
+
return await $e270e9f953fcbc58$var$_classPrivateMethodGet(this, $e270e9f953fcbc58$var$_run_url_creator_for_suggest, $e270e9f953fcbc58$var$_run_url_creator_for_suggest2).call(this, input_req.merchant, input_req.market, decoded_json);
|
|
5923
5917
|
} catch (e) {
|
|
5924
5918
|
$52FdA$depictaiutilishared.dwarn("displayTransformer failed", e);
|
|
5925
5919
|
}
|
|
@@ -6006,101 +6000,55 @@ function $e270e9f953fcbc58$var$_get_cache_obj_for_endpoint2(endpoint) {
|
|
|
6006
6000
|
})) : undefined
|
|
6007
6001
|
});
|
|
6008
6002
|
}
|
|
6009
|
-
function $e270e9f953fcbc58$var$_guard_url_creator_length2(expected, received) {
|
|
6010
|
-
if (expected.length !== received.length) {
|
|
6011
|
-
const e = new Error("displayTransformer returned wrong number of page URLs, got " + received.length + ", expected " + expected.length);
|
|
6012
|
-
queueMicrotask(() => {
|
|
6013
|
-
throw e;
|
|
6014
|
-
});
|
|
6015
|
-
throw e;
|
|
6016
|
-
}
|
|
6017
|
-
}
|
|
6018
6003
|
async function $e270e9f953fcbc58$var$_run_url_creator_for_suggest2(merchant, market, response) {
|
|
6019
6004
|
var _this$display_transfo;
|
|
6020
|
-
const page_url_creator = this.page_url_creator;
|
|
6021
6005
|
const category_transformer = (_this$display_transfo = this.display_transformers) === null || _this$display_transfo === void 0 ? void 0 : _this$display_transfo.categories;
|
|
6022
|
-
if (!
|
|
6006
|
+
if (!category_transformer) return response;
|
|
6023
6007
|
// find category suggestions, run thing with them, and then replace them
|
|
6024
6008
|
const category_suggestions = response.suggestions.filter(suggestion => suggestion.type === "category");
|
|
6025
|
-
const
|
|
6009
|
+
const transformed_category_suggestions = await category_transformer({
|
|
6026
6010
|
market: market,
|
|
6027
6011
|
merchant: merchant,
|
|
6028
|
-
data: [...category_suggestions]
|
|
6029
|
-
...(page_url_creator ? {
|
|
6030
|
-
type: "categories"
|
|
6031
|
-
} : {})
|
|
6012
|
+
data: [...category_suggestions]
|
|
6032
6013
|
});
|
|
6033
|
-
|
|
6034
|
-
while (page_urls.length)
|
|
6035
|
-
// Copy over getters so we sneakily can make this reactive
|
|
6036
|
-
Object.defineProperties(category_suggestions.pop(), Object.getOwnPropertyDescriptors(page_urls.pop()));
|
|
6014
|
+
response.suggestions = transformed_category_suggestions;
|
|
6037
6015
|
return response;
|
|
6038
6016
|
}
|
|
6039
6017
|
async function $e270e9f953fcbc58$var$_run_display_transformers_for_rest2(merchant, market, input_data) {
|
|
6040
6018
|
const {
|
|
6041
|
-
page_url_creator: page_url_creator,
|
|
6042
6019
|
display_transformers: display_transformers
|
|
6043
6020
|
} = this;
|
|
6044
|
-
if (!
|
|
6021
|
+
if (!display_transformers) return input_data;
|
|
6045
6022
|
const product_transformer = display_transformers === null || display_transformers === void 0 ? void 0 : display_transformers.products;
|
|
6046
6023
|
const category_transformer = display_transformers === null || display_transformers === void 0 ? void 0 : display_transformers.categories;
|
|
6047
6024
|
const content_result_transformer = display_transformers === null || display_transformers === void 0 ? void 0 : display_transformers.contentResults;
|
|
6048
6025
|
const displays = input_data.displays;
|
|
6049
|
-
const owner = $52FdA$solidjs.getOwner();
|
|
6050
6026
|
const {
|
|
6051
|
-
breadcrumbs: breadcrumbs,
|
|
6052
|
-
quick_links: quick_links,
|
|
6053
6027
|
content_search_links: content_search_links
|
|
6054
6028
|
} = input_data;
|
|
6055
|
-
if (displays &&
|
|
6056
|
-
const
|
|
6029
|
+
if (displays && product_transformer) {
|
|
6030
|
+
const transformed_displays = await product_transformer({
|
|
6057
6031
|
merchant: merchant,
|
|
6058
6032
|
market: market,
|
|
6059
|
-
displays: [...
|
|
6060
|
-
...(page_url_creator ? {
|
|
6061
|
-
type: "products"
|
|
6062
|
-
} : {})
|
|
6033
|
+
displays: [...displays]
|
|
6063
6034
|
});
|
|
6064
|
-
|
|
6065
|
-
for (let i = 0; i < displays.length; i++) {
|
|
6066
|
-
const new_display_or_page_url = page_urls[i];
|
|
6067
|
-
const old_display = displays[i];
|
|
6068
|
-
if ("page_url" in new_display_or_page_url && Object.keys(new_display_or_page_url).length === 1) {
|
|
6069
|
-
// they only returned page_url, let's put it into the display
|
|
6070
|
-
const old_display_was_modern = ("variant_index" in old_display);
|
|
6071
|
-
if (old_display_was_modern) {
|
|
6072
|
-
const variant_displays = old_display.variant_displays;
|
|
6073
|
-
for (let i = 0; i < variant_displays.length; i++) variant_displays[i].page_url = new_display_or_page_url.page_url;
|
|
6074
|
-
} else old_display.page_url = new_display_or_page_url.page_url;
|
|
6075
|
-
} else
|
|
6076
|
-
// We got a whole new display, let's replace it
|
|
6077
|
-
displays[i] = new_display_or_page_url;
|
|
6078
|
-
}
|
|
6035
|
+
input_data.displays = transformed_displays;
|
|
6079
6036
|
}
|
|
6080
|
-
if (
|
|
6037
|
+
if (category_transformer) for (const key of ["breadcrumbs", "quick_links"]) {
|
|
6038
|
+
const category_display_array = input_data[key];
|
|
6081
6039
|
if (!category_display_array) continue;
|
|
6082
|
-
const
|
|
6040
|
+
const transformed_category_displays = await category_transformer({
|
|
6083
6041
|
merchant: merchant,
|
|
6084
6042
|
market: market,
|
|
6085
|
-
data: [...category_display_array]
|
|
6086
|
-
...(page_url_creator ? {
|
|
6087
|
-
type: "categories"
|
|
6088
|
-
} : {})
|
|
6043
|
+
data: [...category_display_array]
|
|
6089
6044
|
});
|
|
6090
|
-
|
|
6091
|
-
for (let i = 0; i < category_display_array.length; i++)
|
|
6092
|
-
// Copy over getters so we sneakily can make this reactive
|
|
6093
|
-
Object.defineProperties(category_display_array[i], Object.getOwnPropertyDescriptors(page_urls[i]));
|
|
6094
|
-
}
|
|
6095
|
-
if (content_search_links !== null && content_search_links !== void 0 && content_search_links.length && content_result_transformer) {
|
|
6096
|
-
const result = await $52FdA$solidjs.runWithOwner(owner, () => content_result_transformer({
|
|
6097
|
-
merchant: merchant,
|
|
6098
|
-
market: market,
|
|
6099
|
-
data: [...content_search_links]
|
|
6100
|
-
}));
|
|
6101
|
-
$e270e9f953fcbc58$var$_classPrivateMethodGet(this, $e270e9f953fcbc58$var$_guard_url_creator_length, $e270e9f953fcbc58$var$_guard_url_creator_length2).call(this, content_search_links, result);
|
|
6102
|
-
input_data.content_search_links = result;
|
|
6045
|
+
input_data[key] = transformed_category_displays;
|
|
6103
6046
|
}
|
|
6047
|
+
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({
|
|
6048
|
+
merchant: merchant,
|
|
6049
|
+
market: market,
|
|
6050
|
+
data: [...content_search_links]
|
|
6051
|
+
});
|
|
6104
6052
|
return input_data;
|
|
6105
6053
|
}
|
|
6106
6054
|
async function $e270e9f953fcbc58$var$_cached_request2(_ref) {
|
|
@@ -6114,7 +6062,6 @@ async function $e270e9f953fcbc58$var$_cached_request2(_ref) {
|
|
|
6114
6062
|
} = _ref;
|
|
6115
6063
|
const cache_obj = $e270e9f953fcbc58$var$_classPrivateMethodGet(this, $e270e9f953fcbc58$var$_get_cache_obj_for_endpoint, $e270e9f953fcbc58$var$_get_cache_obj_for_endpoint2).call(this, endpoint_);
|
|
6116
6064
|
const with_ids = $parcel$interopDefault($52FdA$babelruntimehelpersclassPrivateFieldGet)(this, $e270e9f953fcbc58$var$_add_ids_to_request).call(this, input_req_);
|
|
6117
|
-
const owner = $52FdA$solidjs.getOwner();
|
|
6118
6065
|
const metaData = await ((_classPrivateFieldGet5 = $parcel$interopDefault($52FdA$babelruntimehelpersclassPrivateFieldGet)(this, $e270e9f953fcbc58$var$_get_metadata)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.call(this));
|
|
6119
6066
|
const request = metaData ? Object.assign(with_ids, {
|
|
6120
6067
|
metadata: metaData
|
|
@@ -6142,7 +6089,7 @@ async function $e270e9f953fcbc58$var$_cached_request2(_ref) {
|
|
|
6142
6089
|
let result;
|
|
6143
6090
|
try {
|
|
6144
6091
|
const unmodified_result = await api_response.json();
|
|
6145
|
-
result = await $
|
|
6092
|
+
result = await $e270e9f953fcbc58$var$_classPrivateMethodGet(this, $e270e9f953fcbc58$var$_run_display_transformers_for_rest, $e270e9f953fcbc58$var$_run_display_transformers_for_rest2).call(this, input_req_.merchant, input_req_.market, unmodified_result);
|
|
6146
6093
|
} catch (e) {
|
|
6147
6094
|
$52FdA$depictaiutilishared.dwarn("displayTransformer or json decoding failed", e);
|
|
6148
6095
|
break return_successfully;
|
|
@@ -8219,7 +8166,9 @@ function $1c819dc9d820a149$export$5646050d516e06bc(_ref) {
|
|
|
8219
8166
|
var _display_accessor;
|
|
8220
8167
|
return $a68b73fd7ba0853f$export$43cd1e747fecd42e({
|
|
8221
8168
|
to_url_: (_display_accessor = display_accessor()) === null || _display_accessor === void 0 ? void 0 : _display_accessor.page_url,
|
|
8222
|
-
filter_query_param_prefix_:
|
|
8169
|
+
filter_query_param_prefix_:
|
|
8170
|
+
// page_url here can be a getter if that was added in the display transformers as a way of making this reactive
|
|
8171
|
+
filter_query_param_prefix_,
|
|
8223
8172
|
sorting_query_param_: sorting_query_param_
|
|
8224
8173
|
});
|
|
8225
8174
|
});
|
|
@@ -8706,7 +8655,7 @@ function $8b366fdb0c76194d$var$clear_if_opened_new_tab_with_sideways_url_params_
|
|
|
8706
8655
|
});
|
|
8707
8656
|
tracking_function_for_plp_results(plp_results_);
|
|
8708
8657
|
}
|
|
8709
|
-
const $c3a7faae6f2b93c9$var$_tmpl$ = /*#__PURE__*/$52FdA$solidjsweb.template(`<div class=statement style=white-space:pre-wrap>No
|
|
8658
|
+
const $c3a7faae6f2b93c9$var$_tmpl$ = /*#__PURE__*/$52FdA$solidjsweb.template(`<div class=statement style=white-space:pre-wrap>No listingId specified, this is probably unintentional. Make sure to create (and insert) the CategoryPage *after* you have specified a listingId.`),
|
|
8710
8659
|
$c3a7faae6f2b93c9$var$_tmpl$2 = /*#__PURE__*/$52FdA$solidjsweb.template(`<div class=buttons><button class="ok major">`);
|
|
8711
8660
|
function $c3a7faae6f2b93c9$export$7af06a63c5a976c9(el, listing_id, i18n_) {
|
|
8712
8661
|
if (!(0, $52FdA$depictaiutilishared.is_debug)) return; // Just to make sure we don't show this in production
|
|
@@ -8718,7 +8667,7 @@ function $c3a7faae6f2b93c9$export$7af06a63c5a976c9(el, listing_id, i18n_) {
|
|
|
8718
8667
|
return $52FdA$solidjs.runWithOwner(owner, () => $52FdA$solidjs.createEffect(() => {
|
|
8719
8668
|
if (!document.documentElement.contains(element)) return;
|
|
8720
8669
|
if (!listing_id()) {
|
|
8721
|
-
const warning = "No
|
|
8670
|
+
const warning = "No listingId specified, this is probably unintentional. Make sure to create (and insert) the CategoryPage *after* you have specified a listingId.";
|
|
8722
8671
|
$52FdA$depictaiutilishared.dwarn(warning);
|
|
8723
8672
|
const {
|
|
8724
8673
|
close_toast_: close_toast_
|
|
@@ -9460,7 +9409,6 @@ class $9cbefc32b9dab36d$export$f34314aa9505732e {
|
|
|
9460
9409
|
let {
|
|
9461
9410
|
api: api,
|
|
9462
9411
|
on_navigation: on_navigation,
|
|
9463
|
-
page_url_creator: page_url_creator,
|
|
9464
9412
|
display_transformers: display_transformers,
|
|
9465
9413
|
unique_instance_key_for_state = "",
|
|
9466
9414
|
listing_id_state_key: listing_id_state_key,
|
|
@@ -9539,7 +9487,6 @@ class $9cbefc32b9dab36d$export$f34314aa9505732e {
|
|
|
9539
9487
|
reset_history_state_: reset_history_state_,
|
|
9540
9488
|
// @ts-ignore
|
|
9541
9489
|
depict_api_: api !== null && api !== void 0 ? api : new (0, $e270e9f953fcbc58$export$e015ed2f2950f2e3)({
|
|
9542
|
-
page_url_creator: page_url_creator,
|
|
9543
9490
|
display_transformers: display_transformers
|
|
9544
9491
|
}),
|
|
9545
9492
|
router_: $parcel$interopDefault($52FdA$babelruntimehelpersclassPrivateFieldGet)(this, $9cbefc32b9dab36d$var$_router),
|
|
@@ -12594,7 +12541,6 @@ class $ddd39c5f36f49703$export$ac6237957a15b3f0 {
|
|
|
12594
12541
|
url_transformer: url_transformer,
|
|
12595
12542
|
on_navigation: on_navigation,
|
|
12596
12543
|
enable_category_suggestions = true,
|
|
12597
|
-
page_url_creator: page_url_creator,
|
|
12598
12544
|
display_transformers: display_transformers,
|
|
12599
12545
|
api: api,
|
|
12600
12546
|
// Stuff needed for non-standard customer deployments that we shouldn't actually expose
|
|
@@ -12673,7 +12619,6 @@ class $ddd39c5f36f49703$export$ac6237957a15b3f0 {
|
|
|
12673
12619
|
});
|
|
12674
12620
|
// @ts-ignore
|
|
12675
12621
|
const depict_api_ = api !== null && api !== void 0 ? api : new (0, $e270e9f953fcbc58$export$e015ed2f2950f2e3)({
|
|
12676
|
-
page_url_creator: page_url_creator,
|
|
12677
12622
|
display_transformers: display_transformers
|
|
12678
12623
|
});
|
|
12679
12624
|
const previous_searches = $cfeb65948dbdcaab$export$84bba84a7b837187(get_search_query_);
|
package/ES10/index.d.ts
CHANGED
|
@@ -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.
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
742
|
-
type
|
|
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
|
-
} &
|
|
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<
|
|
732
|
+
query(input_req: SearchRequestV3): Promise<SearchResponseAfterDisplayTransformer & {
|
|
767
733
|
failed?: true;
|
|
768
734
|
}>;
|
|
769
|
-
get_listing(input_req: GetListingOptions): Promise<
|
|
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<
|
|
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
|
-
} &
|
|
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
|
-
} &
|
|
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
|
*/
|