@depict-ai/ui 1.4.8 → 1.4.9

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 CHANGED
@@ -60,7 +60,7 @@ $parcel$export(module.exports, "defaultColsAtSize", () => $33eed84f447aa0c0$expo
60
60
  $parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $33eed84f447aa0c0$export$7bf543b9d9be2c22);
61
61
  $parcel$export(module.exports, "version", () => $aa1938dec50d6c12$export$83d89fbfd8236492);
62
62
  /*! Depict.ai search and product listing SDK */
63
- const $aa1938dec50d6c12$export$83d89fbfd8236492 = "1.4.8";
63
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "1.4.9";
64
64
  function $d6d51b09cb2116a6$export$5bad61ecde080b1f() {
65
65
  const {
66
66
  collapse: collapse,
@@ -6072,6 +6072,7 @@ function $ede6c70ecdca46fe$export$f7d2f673fc2f091d(_ref) {
6072
6072
  depict_api_: depict_api_,
6073
6073
  query_id_: query_id_,
6074
6074
  listing_type_: listing_type_,
6075
+ meta_title_suffix_: meta_title_suffix_,
6075
6076
  current_sorting_: current_sorting_,
6076
6077
  min_products_to_fetch_: min_products_to_fetch_,
6077
6078
  category_filters_open_: category_filters_open_,
@@ -6165,12 +6166,21 @@ function $ede6c70ecdca46fe$export$f7d2f673fc2f091d(_ref) {
6165
6166
  var _plp_results_4;
6166
6167
  return (_plp_results_4 = plp_results_()) === null || _plp_results_4 === void 0 ? void 0 : _plp_results_4.quick_links;
6167
6168
  });
6169
+ const meta_tag_data_ = (0, $52FdA$solidjs.createMemo)(() => {
6170
+ var _plp_results_5, _plp_results_5$metada, _plp_results_6, _plp_results_6$metada, _plp_results_7, _plp_results_7$metada;
6171
+ meta_title_suffix_();
6172
+ return (_plp_results_5 = plp_results_()) !== null && _plp_results_5 !== void 0 && (_plp_results_5$metada = _plp_results_5.metadata) !== null && _plp_results_5$metada !== void 0 && _plp_results_5$metada.replace_meta_tags ? {
6173
+ title: ((_plp_results_6 = plp_results_()) === null || _plp_results_6 === void 0 ? void 0 : (_plp_results_6$metada = _plp_results_6.metadata) === null || _plp_results_6$metada === void 0 ? void 0 : _plp_results_6$metada.title) + (meta_title_suffix_() || ""),
6174
+ description: (_plp_results_7 = plp_results_()) === null || _plp_results_7 === void 0 ? void 0 : (_plp_results_7$metada = _plp_results_7.metadata) === null || _plp_results_7$metada === void 0 ? void 0 : _plp_results_7$metada.description
6175
+ } : null;
6176
+ });
6177
+ (0, $52FdA$depictaiutilishared.edit_current_page_meta_tags)(meta_tag_data_);
6168
6178
  const [sort_or_filter_open_, set_sort_or_filter_open_] = (0, $52FdA$solidjs.createSignal)(false);
6169
6179
  const [desktop_filter_elements_, set_desktop_filter_elements] = (0, $52FdA$solidjs.createSignal)();
6170
6180
  const formatted_number_of_results_ = (0, $068bde7fa83ac02c$export$92f2da32c6e7e7ee)({
6171
6181
  number_: (0, $52FdA$solidjs.createMemo)(() => {
6172
- var _plp_results_5;
6173
- return (_plp_results_5 = plp_results_()) === null || _plp_results_5 === void 0 ? void 0 : _plp_results_5.n_hits;
6182
+ var _plp_results_8;
6183
+ return (_plp_results_8 = plp_results_()) === null || _plp_results_8 === void 0 ? void 0 : _plp_results_8.n_hits;
6174
6184
  }),
6175
6185
  i18n_: i18n_
6176
6186
  });
@@ -6202,8 +6212,8 @@ function $ede6c70ecdca46fe$export$f7d2f673fc2f091d(_ref) {
6202
6212
  }), _el$4, _co$);
6203
6213
  (0, $52FdA$solidjsweb.insert)(_el$, (0, $52FdA$solidjsweb.createComponent)((0, $52FdA$solidjs.Show), {
6204
6214
  get when() {
6205
- var _plp_results_6;
6206
- return ((_plp_results_6 = plp_results_()) === null || _plp_results_6 === void 0 ? void 0 : _plp_results_6.n_hits) === 1;
6215
+ var _plp_results_9;
6216
+ return ((_plp_results_9 = plp_results_()) === null || _plp_results_9 === void 0 ? void 0 : _plp_results_9.n_hits) === 1;
6207
6217
  },
6208
6218
  get fallback() {
6209
6219
  return i18n_.products_();
@@ -6422,8 +6432,8 @@ function $ede6c70ecdca46fe$export$f7d2f673fc2f091d(_ref) {
6422
6432
  formatted_number_of_results_: formatted_number_of_results_,
6423
6433
  i18n_: i18n_,
6424
6434
  number_of_results_: (0, $52FdA$solidjs.createMemo)(() => {
6425
- var _plp_results_7;
6426
- return (_plp_results_7 = plp_results_()) === null || _plp_results_7 === void 0 ? void 0 : _plp_results_7.n_hits;
6435
+ var _plp_results_10;
6436
+ return (_plp_results_10 = plp_results_()) === null || _plp_results_10 === void 0 ? void 0 : _plp_results_10.n_hits;
6427
6437
  })
6428
6438
  });
6429
6439
  }
@@ -6827,6 +6837,7 @@ var $9cbefc32b9dab36d$var$_locale_signal = /*#__PURE__*/new WeakMap();
6827
6837
  var $9cbefc32b9dab36d$var$_merchant_signal = /*#__PURE__*/new WeakMap();
6828
6838
  var $9cbefc32b9dab36d$var$_market_signal = /*#__PURE__*/new WeakMap();
6829
6839
  var $9cbefc32b9dab36d$var$_query_id_signal = /*#__PURE__*/new WeakMap();
6840
+ var $9cbefc32b9dab36d$var$_meta_title_suffix_ = /*#__PURE__*/new WeakMap();
6830
6841
  var $9cbefc32b9dab36d$var$_listing_type_signal = /*#__PURE__*/new WeakMap();
6831
6842
  class $9cbefc32b9dab36d$export$f34314aa9505732e {
6832
6843
  get localization() {
@@ -6860,6 +6871,12 @@ class $9cbefc32b9dab36d$export$f34314aa9505732e {
6860
6871
  set listing_type(listing_type) {
6861
6872
  (0, $parcel$interopDefault($52FdA$babelruntimehelpersclassPrivateFieldGet))(this, $9cbefc32b9dab36d$var$_listing_type_signal)[1](listing_type);
6862
6873
  }
6874
+ get meta_title_suffix() {
6875
+ return (0, $parcel$interopDefault($52FdA$babelruntimehelpersclassPrivateFieldGet))(this, $9cbefc32b9dab36d$var$_meta_title_suffix_)[0]();
6876
+ }
6877
+ set meta_title_suffix(new_suffix) {
6878
+ (0, $parcel$interopDefault($52FdA$babelruntimehelpersclassPrivateFieldGet))(this, $9cbefc32b9dab36d$var$_meta_title_suffix_)[1](new_suffix);
6879
+ }
6863
6880
  get on_navigation() {
6864
6881
  // The only non-reactive public property on the class (I don't see it making sense to have it reactive)
6865
6882
  return (0, $parcel$interopDefault($52FdA$babelruntimehelpersclassPrivateFieldGet))(this, $9cbefc32b9dab36d$var$_router).on_navigation_;
@@ -6897,6 +6914,10 @@ class $9cbefc32b9dab36d$export$f34314aa9505732e {
6897
6914
  writable: true,
6898
6915
  value: (0, $52FdA$solidjs.createSignal)("")
6899
6916
  });
6917
+ $9cbefc32b9dab36d$var$_classPrivateFieldInitSpec(this, $9cbefc32b9dab36d$var$_meta_title_suffix_, {
6918
+ writable: true,
6919
+ value: (0, $52FdA$solidjs.createSignal)()
6920
+ });
6900
6921
  $9cbefc32b9dab36d$var$_classPrivateFieldInitSpec(this, $9cbefc32b9dab36d$var$_listing_type_signal, {
6901
6922
  writable: true,
6902
6923
  value: (0, $52FdA$solidjs.createSignal)()
@@ -7016,6 +7037,7 @@ function $9cbefc32b9dab36d$export$e2bf8ce7779e827e(props) {
7016
7037
  depict_api_: depict_api_,
7017
7038
  min_products_to_fetch_: $9cbefc32b9dab36d$var$min_products_to_fetch_,
7018
7039
  local_filter_cache_: local_filter_cache_,
7040
+ meta_title_suffix_: () => depict_category.meta_title_suffix,
7019
7041
  query_id_: () => depict_category.category_id,
7020
7042
  listing_type_: () => depict_category.listing_type,
7021
7043
  i18n_: i18n_,
package/ES10/index.d.ts CHANGED
@@ -7,7 +7,7 @@ import { CategorySuggestion, SearchSuggestionsResponse } from "@depict-ai/types/
7
7
  import { BaseSearchRequest } from "@depict-ai/types/api/BaseSearchRequest";
8
8
  import { SearchSuggestionsRequest } from "@depict-ai/types/api/SearchSuggestionsRequest";
9
9
  import { ProductListingRequest } from "@depict-ai/types/api/ProductListingRequest";
10
- export const version = "1.4.8";
10
+ export const version = "1.4.9";
11
11
  export function ExpandingDetails(props: {
12
12
  details_: HTMLDetailsElement;
13
13
  summary_: HTMLElement;
@@ -548,6 +548,8 @@ export class DepictCategory<InputDisplay extends Display, OutputDisplay extends
548
548
  set market(market: string);
549
549
  get listing_type(): ListingType | undefined;
550
550
  set listing_type(listing_type: ListingType | undefined);
551
+ get meta_title_suffix(): string | undefined;
552
+ set meta_title_suffix(new_suffix: string | undefined);
551
553
  get on_navigation(): OnNavigation;
552
554
  set on_navigation(new_function: OnNavigation);
553
555
  constructor({
@@ -815,6 +817,12 @@ export type BaseSearchProviderConfig = {
815
817
  */
816
818
  enableContentSearch?: boolean;
817
819
  };
820
+ export type BaseCategoryProviderConfig = {
821
+ /**
822
+ * Currently used for SEO long tail only. Example: {generatedTitle} + {metaTitleSuffix}
823
+ */
824
+ metaTitleSuffix?: string;
825
+ };
818
826
  export interface BaseProductListingConfig {
819
827
  /**
820
828
  * How many columns to show at each media size.
package/ES10/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { add_to_version_info as $8tj43$add_to_version_info, observer as $8tj43$observer, catchify as $8tj43$catchify, useExpandingContainer as $8tj43$useExpandingContainer, standard_price_format as $8tj43$standard_price_format, Amazing_Slider as $8tj43$Amazing_Slider, slider_snap_css as $8tj43$slider_snap_css, slider_fading_factory as $8tj43$slider_fading_factory, make_random_classname as $8tj43$make_random_classname, dlog as $8tj43$dlog, hex_to_rgb as $8tj43$hex_to_rgb, report as $8tj43$report, relative_luminance_from_rgb as $8tj43$relative_luminance_from_rgb, javascript_media_query as $8tj43$javascript_media_query, n_col_styling_with_dist as $8tj43$n_col_styling_with_dist, layout_get_visible_recs_without_partial_rows as $8tj43$layout_get_visible_recs_without_partial_rows, layout_get_total_rec_amount_for_row as $8tj43$layout_get_total_rec_amount_for_row, layout_media_query_header as $8tj43$layout_media_query_header, fetch_recs as $8tj43$fetch_recs, snakeCasifyObject as $8tj43$snakeCasifyObject, instant_exec_on_suspect_history_change as $8tj43$instant_exec_on_suspect_history_change, base_url as $8tj43$base_url, get_depict_id as $8tj43$get_depict_id, get_user_id as $8tj43$get_user_id, get_session_id as $8tj43$get_session_id, make_url_with_query_params as $8tj43$make_url_with_query_params, fetch_retry as $8tj43$fetch_retry, add_version_query_params as $8tj43$add_version_query_params, dwarn as $8tj43$dwarn, sort_obj as $8tj43$sort_obj, base64_encode_unicode as $8tj43$base64_encode_unicode, base64_decode_unicode as $8tj43$base64_decode_unicode, queueMacroTask as $8tj43$queueMacroTask, is_debug as $8tj43$is_debug, make_asyncIterable_exiter as $8tj43$make_asyncIterable_exiter, href_change_ipns as $8tj43$href_change_ipns, ContainedImage as $8tj43$ContainedImage, buildThresholdList as $8tj43$buildThresholdList, deparallelize_no_drop as $8tj43$deparallelize_no_drop, insert_surfaces as $8tj43$insert_surfaces } from "@depict-ai/utilishared/ES10";
1
+ import { add_to_version_info as $8tj43$add_to_version_info, observer as $8tj43$observer, catchify as $8tj43$catchify, useExpandingContainer as $8tj43$useExpandingContainer, standard_price_format as $8tj43$standard_price_format, Amazing_Slider as $8tj43$Amazing_Slider, slider_snap_css as $8tj43$slider_snap_css, slider_fading_factory as $8tj43$slider_fading_factory, make_random_classname as $8tj43$make_random_classname, dlog as $8tj43$dlog, hex_to_rgb as $8tj43$hex_to_rgb, report as $8tj43$report, relative_luminance_from_rgb as $8tj43$relative_luminance_from_rgb, javascript_media_query as $8tj43$javascript_media_query, n_col_styling_with_dist as $8tj43$n_col_styling_with_dist, layout_get_visible_recs_without_partial_rows as $8tj43$layout_get_visible_recs_without_partial_rows, layout_get_total_rec_amount_for_row as $8tj43$layout_get_total_rec_amount_for_row, layout_media_query_header as $8tj43$layout_media_query_header, fetch_recs as $8tj43$fetch_recs, snakeCasifyObject as $8tj43$snakeCasifyObject, instant_exec_on_suspect_history_change as $8tj43$instant_exec_on_suspect_history_change, base_url as $8tj43$base_url, get_depict_id as $8tj43$get_depict_id, get_user_id as $8tj43$get_user_id, get_session_id as $8tj43$get_session_id, make_url_with_query_params as $8tj43$make_url_with_query_params, fetch_retry as $8tj43$fetch_retry, add_version_query_params as $8tj43$add_version_query_params, dwarn as $8tj43$dwarn, sort_obj as $8tj43$sort_obj, edit_current_page_meta_tags as $8tj43$edit_current_page_meta_tags, base64_encode_unicode as $8tj43$base64_encode_unicode, base64_decode_unicode as $8tj43$base64_decode_unicode, queueMacroTask as $8tj43$queueMacroTask, is_debug as $8tj43$is_debug, make_asyncIterable_exiter as $8tj43$make_asyncIterable_exiter, href_change_ipns as $8tj43$href_change_ipns, ContainedImage as $8tj43$ContainedImage, buildThresholdList as $8tj43$buildThresholdList, deparallelize_no_drop as $8tj43$deparallelize_no_drop, insert_surfaces as $8tj43$insert_surfaces } from "@depict-ai/utilishared/ES10";
2
2
  import { insert as $8tj43$insert, createComponent as $8tj43$createComponent, template as $8tj43$template, getNextElement as $8tj43$getNextElement, getNextMarker as $8tj43$getNextMarker, addEventListener as $8tj43$addEventListener, runHydrationEvents as $8tj43$runHydrationEvents, memo as $8tj43$memo, delegateEvents as $8tj43$delegateEvents, effect as $8tj43$effect, setAttribute as $8tj43$setAttribute, spread as $8tj43$spread, mergeProps as $8tj43$mergeProps, Dynamic as $8tj43$Dynamic, use as $8tj43$use, style as $8tj43$style, classList as $8tj43$classList, className as $8tj43$className, isServer as $8tj43$isServer } from "solid-js/web";
3
3
  import { createSignal as $8tj43$createSignal, createMemo as $8tj43$createMemo, untrack as $8tj43$untrack, createEffect as $8tj43$createEffect, getOwner as $8tj43$getOwner, Show as $8tj43$Show, runWithOwner as $8tj43$runWithOwner, Index as $8tj43$Index, onCleanup as $8tj43$onCleanup, createRoot as $8tj43$createRoot, on as $8tj43$on, For as $8tj43$For, createRenderEffect as $8tj43$createRenderEffect, createComputed as $8tj43$createComputed, batch as $8tj43$batch, ErrorBoundary as $8tj43$ErrorBoundary, createResource as $8tj43$createResource, createReaction as $8tj43$createReaction, Suspense as $8tj43$Suspense } from "solid-js";
4
4
  import $8tj43$babelruntimehelpersclassPrivateFieldSet from "@babel/runtime/helpers/classPrivateFieldSet";
@@ -8,7 +8,7 @@ import $8tj43$babelruntimehelpersdefineProperty from "@babel/runtime/helpers/def
8
8
  /*! Depict.ai search and product listing SDK */
9
9
  import { register_es_version } from "../multi_import_deduplicator.mjs";
10
10
  register_es_version("ui", "ES10");
11
- const $8db9a15135765c11$export$83d89fbfd8236492 = "1.4.8";
11
+ const $8db9a15135765c11$export$83d89fbfd8236492 = "1.4.9";
12
12
  function $8e8b179489080711$export$5bad61ecde080b1f() {
13
13
  const {
14
14
  collapse: collapse,
@@ -6020,6 +6020,7 @@ function $4b4b262708b516ee$export$f7d2f673fc2f091d(_ref) {
6020
6020
  depict_api_: depict_api_,
6021
6021
  query_id_: query_id_,
6022
6022
  listing_type_: listing_type_,
6023
+ meta_title_suffix_: meta_title_suffix_,
6023
6024
  current_sorting_: current_sorting_,
6024
6025
  min_products_to_fetch_: min_products_to_fetch_,
6025
6026
  category_filters_open_: category_filters_open_,
@@ -6113,12 +6114,21 @@ function $4b4b262708b516ee$export$f7d2f673fc2f091d(_ref) {
6113
6114
  var _plp_results_4;
6114
6115
  return (_plp_results_4 = plp_results_()) === null || _plp_results_4 === void 0 ? void 0 : _plp_results_4.quick_links;
6115
6116
  });
6117
+ const meta_tag_data_ = (0, $8tj43$createMemo)(() => {
6118
+ var _plp_results_5, _plp_results_5$metada, _plp_results_6, _plp_results_6$metada, _plp_results_7, _plp_results_7$metada;
6119
+ meta_title_suffix_();
6120
+ return (_plp_results_5 = plp_results_()) !== null && _plp_results_5 !== void 0 && (_plp_results_5$metada = _plp_results_5.metadata) !== null && _plp_results_5$metada !== void 0 && _plp_results_5$metada.replace_meta_tags ? {
6121
+ title: ((_plp_results_6 = plp_results_()) === null || _plp_results_6 === void 0 ? void 0 : (_plp_results_6$metada = _plp_results_6.metadata) === null || _plp_results_6$metada === void 0 ? void 0 : _plp_results_6$metada.title) + (meta_title_suffix_() || ""),
6122
+ description: (_plp_results_7 = plp_results_()) === null || _plp_results_7 === void 0 ? void 0 : (_plp_results_7$metada = _plp_results_7.metadata) === null || _plp_results_7$metada === void 0 ? void 0 : _plp_results_7$metada.description
6123
+ } : null;
6124
+ });
6125
+ (0, $8tj43$edit_current_page_meta_tags)(meta_tag_data_);
6116
6126
  const [sort_or_filter_open_, set_sort_or_filter_open_] = (0, $8tj43$createSignal)(false);
6117
6127
  const [desktop_filter_elements_, set_desktop_filter_elements] = (0, $8tj43$createSignal)();
6118
6128
  const formatted_number_of_results_ = (0, $43fbdca0f726a34b$export$92f2da32c6e7e7ee)({
6119
6129
  number_: (0, $8tj43$createMemo)(() => {
6120
- var _plp_results_5;
6121
- return (_plp_results_5 = plp_results_()) === null || _plp_results_5 === void 0 ? void 0 : _plp_results_5.n_hits;
6130
+ var _plp_results_8;
6131
+ return (_plp_results_8 = plp_results_()) === null || _plp_results_8 === void 0 ? void 0 : _plp_results_8.n_hits;
6122
6132
  }),
6123
6133
  i18n_: i18n_
6124
6134
  });
@@ -6150,8 +6160,8 @@ function $4b4b262708b516ee$export$f7d2f673fc2f091d(_ref) {
6150
6160
  }), _el$4, _co$);
6151
6161
  (0, $8tj43$insert)(_el$, (0, $8tj43$createComponent)((0, $8tj43$Show), {
6152
6162
  get when() {
6153
- var _plp_results_6;
6154
- return ((_plp_results_6 = plp_results_()) === null || _plp_results_6 === void 0 ? void 0 : _plp_results_6.n_hits) === 1;
6163
+ var _plp_results_9;
6164
+ return ((_plp_results_9 = plp_results_()) === null || _plp_results_9 === void 0 ? void 0 : _plp_results_9.n_hits) === 1;
6155
6165
  },
6156
6166
  get fallback() {
6157
6167
  return i18n_.products_();
@@ -6370,8 +6380,8 @@ function $4b4b262708b516ee$export$f7d2f673fc2f091d(_ref) {
6370
6380
  formatted_number_of_results_: formatted_number_of_results_,
6371
6381
  i18n_: i18n_,
6372
6382
  number_of_results_: (0, $8tj43$createMemo)(() => {
6373
- var _plp_results_7;
6374
- return (_plp_results_7 = plp_results_()) === null || _plp_results_7 === void 0 ? void 0 : _plp_results_7.n_hits;
6383
+ var _plp_results_10;
6384
+ return (_plp_results_10 = plp_results_()) === null || _plp_results_10 === void 0 ? void 0 : _plp_results_10.n_hits;
6375
6385
  })
6376
6386
  });
6377
6387
  }
@@ -6775,6 +6785,7 @@ var $f5f54892fd0c7d9f$var$_locale_signal = /*#__PURE__*/new WeakMap();
6775
6785
  var $f5f54892fd0c7d9f$var$_merchant_signal = /*#__PURE__*/new WeakMap();
6776
6786
  var $f5f54892fd0c7d9f$var$_market_signal = /*#__PURE__*/new WeakMap();
6777
6787
  var $f5f54892fd0c7d9f$var$_query_id_signal = /*#__PURE__*/new WeakMap();
6788
+ var $f5f54892fd0c7d9f$var$_meta_title_suffix_ = /*#__PURE__*/new WeakMap();
6778
6789
  var $f5f54892fd0c7d9f$var$_listing_type_signal = /*#__PURE__*/new WeakMap();
6779
6790
  class $f5f54892fd0c7d9f$export$f34314aa9505732e {
6780
6791
  get localization() {
@@ -6808,6 +6819,12 @@ class $f5f54892fd0c7d9f$export$f34314aa9505732e {
6808
6819
  set listing_type(listing_type) {
6809
6820
  (0, $8tj43$babelruntimehelpersclassPrivateFieldGet)(this, $f5f54892fd0c7d9f$var$_listing_type_signal)[1](listing_type);
6810
6821
  }
6822
+ get meta_title_suffix() {
6823
+ return (0, $8tj43$babelruntimehelpersclassPrivateFieldGet)(this, $f5f54892fd0c7d9f$var$_meta_title_suffix_)[0]();
6824
+ }
6825
+ set meta_title_suffix(new_suffix) {
6826
+ (0, $8tj43$babelruntimehelpersclassPrivateFieldGet)(this, $f5f54892fd0c7d9f$var$_meta_title_suffix_)[1](new_suffix);
6827
+ }
6811
6828
  get on_navigation() {
6812
6829
  // The only non-reactive public property on the class (I don't see it making sense to have it reactive)
6813
6830
  return (0, $8tj43$babelruntimehelpersclassPrivateFieldGet)(this, $f5f54892fd0c7d9f$var$_router).on_navigation_;
@@ -6845,6 +6862,10 @@ class $f5f54892fd0c7d9f$export$f34314aa9505732e {
6845
6862
  writable: true,
6846
6863
  value: (0, $8tj43$createSignal)("")
6847
6864
  });
6865
+ $f5f54892fd0c7d9f$var$_classPrivateFieldInitSpec(this, $f5f54892fd0c7d9f$var$_meta_title_suffix_, {
6866
+ writable: true,
6867
+ value: (0, $8tj43$createSignal)()
6868
+ });
6848
6869
  $f5f54892fd0c7d9f$var$_classPrivateFieldInitSpec(this, $f5f54892fd0c7d9f$var$_listing_type_signal, {
6849
6870
  writable: true,
6850
6871
  value: (0, $8tj43$createSignal)()
@@ -6964,6 +6985,7 @@ function $f5f54892fd0c7d9f$export$e2bf8ce7779e827e(props) {
6964
6985
  depict_api_: depict_api_,
6965
6986
  min_products_to_fetch_: $f5f54892fd0c7d9f$var$min_products_to_fetch_,
6966
6987
  local_filter_cache_: local_filter_cache_,
6988
+ meta_title_suffix_: () => depict_category.meta_title_suffix,
6967
6989
  query_id_: () => depict_category.category_id,
6968
6990
  listing_type_: () => depict_category.listing_type,
6969
6991
  i18n_: i18n_,
package/latest/index.cjs CHANGED
@@ -54,7 +54,7 @@ $parcel$export(module.exports, "defaultColsAtSize", () => $a3280f0aad997933$expo
54
54
  $parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $a3280f0aad997933$export$7bf543b9d9be2c22);
55
55
  $parcel$export(module.exports, "version", () => $b757f75811f3261f$export$83d89fbfd8236492);
56
56
  /*! Depict.ai search and product listing SDK */
57
- const $b757f75811f3261f$export$83d89fbfd8236492 = "1.4.8";
57
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "1.4.9";
58
58
  function $4b455f60dadde8b8$export$5bad61ecde080b1f(...params) {
59
59
  const {
60
60
  collapse: collapse,
@@ -5653,6 +5653,7 @@ function $840d88a04b2d22a7$export$f7d2f673fc2f091d({
5653
5653
  depict_api_: depict_api_,
5654
5654
  query_id_: query_id_,
5655
5655
  listing_type_: listing_type_,
5656
+ meta_title_suffix_: meta_title_suffix_,
5656
5657
  current_sorting_: current_sorting_,
5657
5658
  min_products_to_fetch_: min_products_to_fetch_,
5658
5659
  category_filters_open_: category_filters_open_,
@@ -5731,6 +5732,14 @@ function $840d88a04b2d22a7$export$f7d2f673fc2f091d({
5731
5732
  const available_filters_ = (0, $gVhhF$solidjs.createMemo)(() => plp_results_()?.filters);
5732
5733
  const crumb_data_ = (0, $gVhhF$solidjs.createMemo)(() => plp_results_()?.breadcrumb);
5733
5734
  const quicklinks_data_ = (0, $gVhhF$solidjs.createMemo)(() => plp_results_()?.quick_links);
5735
+ const meta_tag_data_ = (0, $gVhhF$solidjs.createMemo)(() => {
5736
+ meta_title_suffix_();
5737
+ return plp_results_()?.metadata?.replace_meta_tags ? {
5738
+ title: plp_results_()?.metadata?.title + (meta_title_suffix_() || ""),
5739
+ description: plp_results_()?.metadata?.description
5740
+ } : null;
5741
+ });
5742
+ (0, $gVhhF$depictaiutilishared.edit_current_page_meta_tags)(meta_tag_data_);
5734
5743
  const [sort_or_filter_open_, set_sort_or_filter_open_] = (0, $gVhhF$solidjs.createSignal)(false);
5735
5744
  const [desktop_filter_elements_, set_desktop_filter_elements] = (0, $gVhhF$solidjs.createSignal)();
5736
5745
  const formatted_number_of_results_ = (0, $0f400c3f7248d5f1$export$92f2da32c6e7e7ee)({
@@ -6321,6 +6330,7 @@ class $48567ac5b39bac56$export$f34314aa9505732e {
6321
6330
  #merchant_signal = (0, $gVhhF$solidjs.createSignal)();
6322
6331
  #market_signal = (0, $gVhhF$solidjs.createSignal)();
6323
6332
  #query_id_signal = (0, $gVhhF$solidjs.createSignal)("");
6333
+ #meta_title_suffix_ = (0, $gVhhF$solidjs.createSignal)();
6324
6334
  #listing_type_signal = (0, $gVhhF$solidjs.createSignal)();
6325
6335
  static #keys_constructed_with = new Set();
6326
6336
  get localization() {
@@ -6354,6 +6364,12 @@ class $48567ac5b39bac56$export$f34314aa9505732e {
6354
6364
  set listing_type(listing_type) {
6355
6365
  this.#listing_type_signal[1](listing_type);
6356
6366
  }
6367
+ get meta_title_suffix() {
6368
+ return this.#meta_title_suffix_[0]();
6369
+ }
6370
+ set meta_title_suffix(new_suffix) {
6371
+ this.#meta_title_suffix_[1](new_suffix);
6372
+ }
6357
6373
  get on_navigation() {
6358
6374
  // The only non-reactive public property on the class (I don't see it making sense to have it reactive)
6359
6375
  return this.#router.on_navigation_;
@@ -6481,6 +6497,7 @@ function $48567ac5b39bac56$export$e2bf8ce7779e827e(props) {
6481
6497
  depict_api_: depict_api_,
6482
6498
  min_products_to_fetch_: $48567ac5b39bac56$var$min_products_to_fetch_,
6483
6499
  local_filter_cache_: local_filter_cache_,
6500
+ meta_title_suffix_: () => depict_category.meta_title_suffix,
6484
6501
  query_id_: () => depict_category.category_id,
6485
6502
  listing_type_: () => depict_category.listing_type,
6486
6503
  i18n_: i18n_,
package/latest/index.d.ts CHANGED
@@ -7,7 +7,7 @@ import { CategorySuggestion, SearchSuggestionsResponse } from "@depict-ai/types/
7
7
  import { BaseSearchRequest } from "@depict-ai/types/api/BaseSearchRequest";
8
8
  import { SearchSuggestionsRequest } from "@depict-ai/types/api/SearchSuggestionsRequest";
9
9
  import { ProductListingRequest } from "@depict-ai/types/api/ProductListingRequest";
10
- export const version = "1.4.8";
10
+ export const version = "1.4.9";
11
11
  export function ExpandingDetails(props: {
12
12
  details_: HTMLDetailsElement;
13
13
  summary_: HTMLElement;
@@ -548,6 +548,8 @@ export class DepictCategory<InputDisplay extends Display, OutputDisplay extends
548
548
  set market(market: string);
549
549
  get listing_type(): ListingType | undefined;
550
550
  set listing_type(listing_type: ListingType | undefined);
551
+ get meta_title_suffix(): string | undefined;
552
+ set meta_title_suffix(new_suffix: string | undefined);
551
553
  get on_navigation(): OnNavigation;
552
554
  set on_navigation(new_function: OnNavigation);
553
555
  constructor({
@@ -815,6 +817,12 @@ export type BaseSearchProviderConfig = {
815
817
  */
816
818
  enableContentSearch?: boolean;
817
819
  };
820
+ export type BaseCategoryProviderConfig = {
821
+ /**
822
+ * Currently used for SEO long tail only. Example: {generatedTitle} + {metaTitleSuffix}
823
+ */
824
+ metaTitleSuffix?: string;
825
+ };
818
826
  export interface BaseProductListingConfig {
819
827
  /**
820
828
  * How many columns to show at each media size.
package/latest/index.js CHANGED
@@ -1,11 +1,11 @@
1
- import { add_to_version_info as $9HbP8$add_to_version_info, observer as $9HbP8$observer, catchify as $9HbP8$catchify, useExpandingContainer as $9HbP8$useExpandingContainer, standard_price_format as $9HbP8$standard_price_format, Amazing_Slider as $9HbP8$Amazing_Slider, slider_snap_css as $9HbP8$slider_snap_css, slider_fading_factory as $9HbP8$slider_fading_factory, make_random_classname as $9HbP8$make_random_classname, dlog as $9HbP8$dlog, hex_to_rgb as $9HbP8$hex_to_rgb, report as $9HbP8$report, relative_luminance_from_rgb as $9HbP8$relative_luminance_from_rgb, javascript_media_query as $9HbP8$javascript_media_query, n_col_styling_with_dist as $9HbP8$n_col_styling_with_dist, layout_get_visible_recs_without_partial_rows as $9HbP8$layout_get_visible_recs_without_partial_rows, layout_get_total_rec_amount_for_row as $9HbP8$layout_get_total_rec_amount_for_row, layout_media_query_header as $9HbP8$layout_media_query_header, fetch_recs as $9HbP8$fetch_recs, snakeCasifyObject as $9HbP8$snakeCasifyObject, instant_exec_on_suspect_history_change as $9HbP8$instant_exec_on_suspect_history_change, base_url as $9HbP8$base_url, get_depict_id as $9HbP8$get_depict_id, get_user_id as $9HbP8$get_user_id, get_session_id as $9HbP8$get_session_id, sort_obj as $9HbP8$sort_obj, fetch_retry as $9HbP8$fetch_retry, add_version_query_params as $9HbP8$add_version_query_params, dwarn as $9HbP8$dwarn, make_url_with_query_params as $9HbP8$make_url_with_query_params, base64_encode_unicode as $9HbP8$base64_encode_unicode, base64_decode_unicode as $9HbP8$base64_decode_unicode, queueMacroTask as $9HbP8$queueMacroTask, is_debug as $9HbP8$is_debug, make_asyncIterable_exiter as $9HbP8$make_asyncIterable_exiter, href_change_ipns as $9HbP8$href_change_ipns, ContainedImage as $9HbP8$ContainedImage, buildThresholdList as $9HbP8$buildThresholdList, deparallelize_no_drop as $9HbP8$deparallelize_no_drop, insert_surfaces as $9HbP8$insert_surfaces } from "@depict-ai/utilishared/latest";
1
+ import { add_to_version_info as $9HbP8$add_to_version_info, observer as $9HbP8$observer, catchify as $9HbP8$catchify, useExpandingContainer as $9HbP8$useExpandingContainer, standard_price_format as $9HbP8$standard_price_format, Amazing_Slider as $9HbP8$Amazing_Slider, slider_snap_css as $9HbP8$slider_snap_css, slider_fading_factory as $9HbP8$slider_fading_factory, make_random_classname as $9HbP8$make_random_classname, dlog as $9HbP8$dlog, hex_to_rgb as $9HbP8$hex_to_rgb, report as $9HbP8$report, relative_luminance_from_rgb as $9HbP8$relative_luminance_from_rgb, javascript_media_query as $9HbP8$javascript_media_query, n_col_styling_with_dist as $9HbP8$n_col_styling_with_dist, layout_get_visible_recs_without_partial_rows as $9HbP8$layout_get_visible_recs_without_partial_rows, layout_get_total_rec_amount_for_row as $9HbP8$layout_get_total_rec_amount_for_row, layout_media_query_header as $9HbP8$layout_media_query_header, fetch_recs as $9HbP8$fetch_recs, snakeCasifyObject as $9HbP8$snakeCasifyObject, instant_exec_on_suspect_history_change as $9HbP8$instant_exec_on_suspect_history_change, base_url as $9HbP8$base_url, get_depict_id as $9HbP8$get_depict_id, get_user_id as $9HbP8$get_user_id, get_session_id as $9HbP8$get_session_id, sort_obj as $9HbP8$sort_obj, fetch_retry as $9HbP8$fetch_retry, add_version_query_params as $9HbP8$add_version_query_params, dwarn as $9HbP8$dwarn, make_url_with_query_params as $9HbP8$make_url_with_query_params, edit_current_page_meta_tags as $9HbP8$edit_current_page_meta_tags, base64_encode_unicode as $9HbP8$base64_encode_unicode, base64_decode_unicode as $9HbP8$base64_decode_unicode, queueMacroTask as $9HbP8$queueMacroTask, is_debug as $9HbP8$is_debug, make_asyncIterable_exiter as $9HbP8$make_asyncIterable_exiter, href_change_ipns as $9HbP8$href_change_ipns, ContainedImage as $9HbP8$ContainedImage, buildThresholdList as $9HbP8$buildThresholdList, deparallelize_no_drop as $9HbP8$deparallelize_no_drop, insert_surfaces as $9HbP8$insert_surfaces } from "@depict-ai/utilishared/latest";
2
2
  import { insert as $9HbP8$insert, createComponent as $9HbP8$createComponent, template as $9HbP8$template, getNextElement as $9HbP8$getNextElement, getNextMarker as $9HbP8$getNextMarker, addEventListener as $9HbP8$addEventListener, runHydrationEvents as $9HbP8$runHydrationEvents, memo as $9HbP8$memo, delegateEvents as $9HbP8$delegateEvents, effect as $9HbP8$effect, setAttribute as $9HbP8$setAttribute, spread as $9HbP8$spread, mergeProps as $9HbP8$mergeProps, Dynamic as $9HbP8$Dynamic, use as $9HbP8$use, style as $9HbP8$style, classList as $9HbP8$classList, className as $9HbP8$className, isServer as $9HbP8$isServer } from "solid-js/web";
3
3
  import { createSignal as $9HbP8$createSignal, createMemo as $9HbP8$createMemo, untrack as $9HbP8$untrack, createEffect as $9HbP8$createEffect, getOwner as $9HbP8$getOwner, Show as $9HbP8$Show, runWithOwner as $9HbP8$runWithOwner, Index as $9HbP8$Index, onCleanup as $9HbP8$onCleanup, createRoot as $9HbP8$createRoot, on as $9HbP8$on, For as $9HbP8$For, createRenderEffect as $9HbP8$createRenderEffect, createComputed as $9HbP8$createComputed, batch as $9HbP8$batch, ErrorBoundary as $9HbP8$ErrorBoundary, createResource as $9HbP8$createResource, createReaction as $9HbP8$createReaction, Suspense as $9HbP8$Suspense } from "solid-js";
4
4
 
5
5
  /*! Depict.ai search and product listing SDK */
6
6
  import { register_es_version } from "../multi_import_deduplicator.mjs";
7
7
  register_es_version("ui", "latest");
8
- const $ec291e0010116877$export$83d89fbfd8236492 = "1.4.8";
8
+ const $ec291e0010116877$export$83d89fbfd8236492 = "1.4.9";
9
9
  function $24e27fab9c821b86$export$5bad61ecde080b1f(...params) {
10
10
  const {
11
11
  collapse: collapse,
@@ -5604,6 +5604,7 @@ function $df5d81d0fe61ff21$export$f7d2f673fc2f091d({
5604
5604
  depict_api_: depict_api_,
5605
5605
  query_id_: query_id_,
5606
5606
  listing_type_: listing_type_,
5607
+ meta_title_suffix_: meta_title_suffix_,
5607
5608
  current_sorting_: current_sorting_,
5608
5609
  min_products_to_fetch_: min_products_to_fetch_,
5609
5610
  category_filters_open_: category_filters_open_,
@@ -5682,6 +5683,14 @@ function $df5d81d0fe61ff21$export$f7d2f673fc2f091d({
5682
5683
  const available_filters_ = (0, $9HbP8$createMemo)(() => plp_results_()?.filters);
5683
5684
  const crumb_data_ = (0, $9HbP8$createMemo)(() => plp_results_()?.breadcrumb);
5684
5685
  const quicklinks_data_ = (0, $9HbP8$createMemo)(() => plp_results_()?.quick_links);
5686
+ const meta_tag_data_ = (0, $9HbP8$createMemo)(() => {
5687
+ meta_title_suffix_();
5688
+ return plp_results_()?.metadata?.replace_meta_tags ? {
5689
+ title: plp_results_()?.metadata?.title + (meta_title_suffix_() || ""),
5690
+ description: plp_results_()?.metadata?.description
5691
+ } : null;
5692
+ });
5693
+ (0, $9HbP8$edit_current_page_meta_tags)(meta_tag_data_);
5685
5694
  const [sort_or_filter_open_, set_sort_or_filter_open_] = (0, $9HbP8$createSignal)(false);
5686
5695
  const [desktop_filter_elements_, set_desktop_filter_elements] = (0, $9HbP8$createSignal)();
5687
5696
  const formatted_number_of_results_ = (0, $511cc0abd9a64ce8$export$92f2da32c6e7e7ee)({
@@ -6272,6 +6281,7 @@ class $961b5c64bef4662f$export$f34314aa9505732e {
6272
6281
  #merchant_signal = (0, $9HbP8$createSignal)();
6273
6282
  #market_signal = (0, $9HbP8$createSignal)();
6274
6283
  #query_id_signal = (0, $9HbP8$createSignal)("");
6284
+ #meta_title_suffix_ = (0, $9HbP8$createSignal)();
6275
6285
  #listing_type_signal = (0, $9HbP8$createSignal)();
6276
6286
  static #keys_constructed_with = new Set();
6277
6287
  get localization() {
@@ -6305,6 +6315,12 @@ class $961b5c64bef4662f$export$f34314aa9505732e {
6305
6315
  set listing_type(listing_type) {
6306
6316
  this.#listing_type_signal[1](listing_type);
6307
6317
  }
6318
+ get meta_title_suffix() {
6319
+ return this.#meta_title_suffix_[0]();
6320
+ }
6321
+ set meta_title_suffix(new_suffix) {
6322
+ this.#meta_title_suffix_[1](new_suffix);
6323
+ }
6308
6324
  get on_navigation() {
6309
6325
  // The only non-reactive public property on the class (I don't see it making sense to have it reactive)
6310
6326
  return this.#router.on_navigation_;
@@ -6432,6 +6448,7 @@ function $961b5c64bef4662f$export$e2bf8ce7779e827e(props) {
6432
6448
  depict_api_: depict_api_,
6433
6449
  min_products_to_fetch_: $961b5c64bef4662f$var$min_products_to_fetch_,
6434
6450
  local_filter_cache_: local_filter_cache_,
6451
+ meta_title_suffix_: () => depict_category.meta_title_suffix,
6435
6452
  query_id_: () => depict_category.category_id,
6436
6453
  listing_type_: () => depict_category.listing_type,
6437
6454
  i18n_: i18n_,