@depict-ai/ui 1.0.4 → 1.0.6

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/jest.setup.js ADDED
@@ -0,0 +1,7 @@
1
+ module.exports = function () {
2
+ // When utilishared is imported, all kinds of DOM stuff is referenced, which jest doesn't have and needs polyfilling.
3
+ HTMLCanvasElement.prototype.getContext = () => {
4
+ // Empty mock
5
+ };
6
+ require("../../lib/depict_polyfills/the_polyfills");
7
+ };
@@ -86,3 +86,4 @@ export const pl: Locale;
86
86
  export const pt: Locale;
87
87
  export const es: Locale;
88
88
  export const sv: Locale;
89
+ export const defaultLocale: Locale;
package/locales/index.js CHANGED
@@ -1131,6 +1131,7 @@ const $70cb39a790dd4f65$export$65540e5f7f6e7dce = {
1131
1131
  ...(0, $38de3920ebd2d651$export$7ba4dc17618f444f),
1132
1132
  ...(0, $38de3920ebd2d651$export$596caee559c76764)
1133
1133
  };
1134
+ const $70cb39a790dd4f65$export$d7f512c98c859244 = $70cb39a790dd4f65$export$84584c2a98eb6753;
1134
1135
 
1135
1136
 
1136
- export {$70cb39a790dd4f65$export$67ff43e65e668f2b as cz, $70cb39a790dd4f65$export$8c8450b83b664ba4 as da, $70cb39a790dd4f65$export$9c64ee4d84d79ce1 as nl, $70cb39a790dd4f65$export$84584c2a98eb6753 as en, $70cb39a790dd4f65$export$ed5179c818622fb as fi, $70cb39a790dd4f65$export$acb2a88f7d552ebf as fr, $70cb39a790dd4f65$export$2fa162a495d26869 as de, $70cb39a790dd4f65$export$3486a10f30cf1ee4 as it, $70cb39a790dd4f65$export$401451a107dc42ce as no, $70cb39a790dd4f65$export$6ea5311eda92944f as pl, $70cb39a790dd4f65$export$84175d5f1cb4e39d as pt, $70cb39a790dd4f65$export$ca5e4045a55e76d2 as es, $70cb39a790dd4f65$export$65540e5f7f6e7dce as sv};
1137
+ export {$70cb39a790dd4f65$export$67ff43e65e668f2b as cz, $70cb39a790dd4f65$export$8c8450b83b664ba4 as da, $70cb39a790dd4f65$export$9c64ee4d84d79ce1 as nl, $70cb39a790dd4f65$export$84584c2a98eb6753 as en, $70cb39a790dd4f65$export$ed5179c818622fb as fi, $70cb39a790dd4f65$export$acb2a88f7d552ebf as fr, $70cb39a790dd4f65$export$2fa162a495d26869 as de, $70cb39a790dd4f65$export$3486a10f30cf1ee4 as it, $70cb39a790dd4f65$export$401451a107dc42ce as no, $70cb39a790dd4f65$export$6ea5311eda92944f as pl, $70cb39a790dd4f65$export$84175d5f1cb4e39d as pt, $70cb39a790dd4f65$export$ca5e4045a55e76d2 as es, $70cb39a790dd4f65$export$65540e5f7f6e7dce as sv, $70cb39a790dd4f65$export$d7f512c98c859244 as defaultLocale};
@@ -15,6 +15,7 @@ $parcel$export(module.exports, "pl", () => $2d187e768d780a64$export$6ea5311eda92
15
15
  $parcel$export(module.exports, "pt", () => $2d187e768d780a64$export$84175d5f1cb4e39d);
16
16
  $parcel$export(module.exports, "es", () => $2d187e768d780a64$export$ca5e4045a55e76d2);
17
17
  $parcel$export(module.exports, "sv", () => $2d187e768d780a64$export$65540e5f7f6e7dce);
18
+ $parcel$export(module.exports, "defaultLocale", () => $2d187e768d780a64$export$d7f512c98c859244);
18
19
  /**
19
20
  * Exported naming follows IETF BCP 47: https://en.wikipedia.org/wiki/IETF_language_tag
20
21
  */ const $f1b6d8431ecd6285$var$english_base_translation = {
@@ -1148,5 +1149,6 @@ const $2d187e768d780a64$export$65540e5f7f6e7dce = {
1148
1149
  ...(0, $9c8f18e0e8a2b1d9$export$7ba4dc17618f444f),
1149
1150
  ...(0, $9c8f18e0e8a2b1d9$export$596caee559c76764)
1150
1151
  };
1152
+ const $2d187e768d780a64$export$d7f512c98c859244 = $2d187e768d780a64$export$84584c2a98eb6753;
1151
1153
 
1152
1154
 
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "@depict-ai/ui",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "Base package containing the actual UI of Depict UI along with translations, with a not-simplified API. We recommend using @depict-ai/js-ui or @depict-ai/react-ui instead.",
5
5
  "packageManager": "yarn@3.2.2",
6
+ "source": [
7
+ "src/index.ts",
8
+ "src/locales/index.ts"
9
+ ],
6
10
  "main": "dist/main.js",
7
11
  "module": "dist/module.js",
8
12
  "sass": "styles.scss",
@@ -57,45 +61,14 @@
57
61
  "outputFormat": "commonjs",
58
62
  "context": "node"
59
63
  },
60
- "ssr_client_esmodule": {
61
- "isLibrary": true,
62
- "source": "src/index.ts",
63
- "optimize": false,
64
- "outputFormat": "esmodule",
65
- "context": "node",
66
- "distDir": "ssr/client/esmodule"
67
- },
68
- "ssr_client_commonjs": {
69
- "isLibrary": true,
70
- "source": "src/index.ts",
71
- "optimize": false,
72
- "context": "node",
73
- "outputFormat": "commonjs",
74
- "distDir": "ssr/client/commonjs"
75
- },
76
- "ssr_server_esmodule": {
77
- "isLibrary": true,
78
- "source": "src/index.ts",
79
- "optimize": false,
80
- "outputFormat": "esmodule",
81
- "context": "node",
82
- "distDir": "ssr/server/esmodule"
83
- },
84
- "ssr_server_commonjs": {
85
- "isLibrary": true,
86
- "source": "src/index.ts",
87
- "optimize": false,
88
- "context": "node",
89
- "outputFormat": "commonjs",
90
- "distDir": "ssr/server/commonjs"
91
- }
64
+ "types": {}
92
65
  },
93
66
  "exports": {
94
67
  "./styles.scss": "./styles.scss",
95
68
  ".": {
96
- "types": "./dist/index.d.ts",
97
69
  "import": "./dist/module.js",
98
70
  "require": "./dist/main.js",
71
+ "types": "./dist/index.d.ts",
99
72
  "default": "./dist/module.js"
100
73
  },
101
74
  "./locales": {
@@ -103,29 +76,8 @@
103
76
  "import": "./locales/index.js",
104
77
  "require": "./locales/require.js",
105
78
  "default": "./locales/index.js"
106
- },
107
- "./ssr": {
108
- "types": "./dist/index.d.ts",
109
- "browser": {
110
- "types": "./dist/index.d.ts",
111
- "import": "./ssr/client/module.js",
112
- "require": "./ssr/client/main.js",
113
- "default": "./ssr/client/module.js"
114
- },
115
- "node": {
116
- "types": "./dist/index.d.ts",
117
- "import": "./ssr/server/module.js",
118
- "require": "./ssr/server/main.js",
119
- "default": "./ssr/server/module.js"
120
- }
121
79
  }
122
80
  },
123
- "files": [
124
- "/dist",
125
- "/locales",
126
- "/ssr",
127
- "/styles.scss"
128
- ],
129
81
  "devDependencies": {
130
82
  "@babel/core": "latest",
131
83
  "@babel/preset-env": "latest",
@@ -144,9 +96,9 @@
144
96
  "ts-jest": "^29.0.3"
145
97
  },
146
98
  "dependencies": {
147
- "@depict-ai/plp-styling": "^1.0.3",
148
- "@depict-ai/types": "^1.0.3",
149
- "@depict-ai/utilishared": "^1.0.3",
99
+ "@depict-ai/plp-styling": "^1.0.6",
100
+ "@depict-ai/types": "^1.0.5",
101
+ "@depict-ai/utilishared": "^1.0.5",
150
102
  "solid-js": "^1.7.3"
151
103
  },
152
104
  "types": "dist/index.d.ts"
@@ -6,7 +6,6 @@ function $parcel$export(e, n, v, s) {
6
6
  Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
7
7
  }
8
8
 
9
- $parcel$export(module.exports, "SSRTestComponent", () => $33c5fcea480a2ddd$export$4f6abd76125ba82f);
10
9
  $parcel$export(module.exports, "fetchDepictRecommendations", () => $bc91d938b8c601b4$export$58e808b1db15d3bc);
11
10
  $parcel$export(module.exports, "QuickLinks", () => $48567ac5b39bac56$export$de035477d6fef996);
12
11
  $parcel$export(module.exports, "BreadCrumbs", () => $48567ac5b39bac56$export$5b7c3ce0ebe51f86);
@@ -35,37 +34,11 @@ $parcel$export(module.exports, "SolidFormatPrice", () => $d659702496cb72ea$expor
35
34
  $parcel$export(module.exports, "connect_search_field_height_to_aligner_height", () => $d8e94ea381ab57fa$export$828dcdd425fd3231);
36
35
  $parcel$export(module.exports, "PageReplacer", () => $0a6acf31d1eae57c$export$3ccaa27d81dd8556);
37
36
  $parcel$export(module.exports, "version", () => $b757f75811f3261f$export$83d89fbfd8236492);
38
- /*! Depict.ai search and product listing SDK */ const $b757f75811f3261f$export$83d89fbfd8236492 = "1.0.3";
37
+ /*! Depict.ai search and product listing SDK */ const $b757f75811f3261f$export$83d89fbfd8236492 = "1.0.5";
39
38
 
40
39
 
41
40
 
42
41
 
43
-
44
-
45
-
46
-
47
- const $33c5fcea480a2ddd$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$aggTu$solidjsweb.template)(`<div>count: <!#><!/></div>`, 4), $33c5fcea480a2ddd$var$_tmpl$2 = /*@__PURE__*/ (0, /*@__PURE__*/$aggTu$solidjsweb.template)(`<p>Here's a paragraph. And some <b>bold</b> text. BTW, count is <!#><!/>. And 10x:ed it's <!#><!/></p>`, 8);
48
- function $33c5fcea480a2ddd$export$4f6abd76125ba82f({ start_at: start_at }) {
49
- const [count, setCount] = (0, $aggTu$solidjs.createSignal)(start_at ?? 0);
50
- const interval = setInterval(()=>setCount((old)=>old + 1), 1000);
51
- (0, $aggTu$solidjs.onCleanup)(()=>clearInterval(interval));
52
- return [
53
- (()=>{
54
- const _el$ = (0, $aggTu$solidjsweb.getNextElement)($33c5fcea480a2ddd$var$_tmpl$), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, [_el$4, _co$] = (0, $aggTu$solidjsweb.getNextMarker)(_el$3.nextSibling);
55
- (0, $aggTu$solidjsweb.insert)(_el$, count, _el$4, _co$);
56
- return _el$;
57
- })(),
58
- (()=>{
59
- const _el$5 = (0, $aggTu$solidjsweb.getNextElement)($33c5fcea480a2ddd$var$_tmpl$2), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling, _el$8 = _el$7.nextSibling, _el$10 = _el$8.nextSibling, [_el$11, _co$2] = (0, $aggTu$solidjsweb.getNextMarker)(_el$10.nextSibling), _el$9 = _el$11.nextSibling, _el$12 = _el$9.nextSibling, [_el$13, _co$3] = (0, $aggTu$solidjsweb.getNextMarker)(_el$12.nextSibling);
60
- (0, $aggTu$solidjsweb.insert)(_el$5, count, _el$11, _co$2);
61
- (0, $aggTu$solidjsweb.insert)(_el$5, ()=>count() * 10, _el$13, _co$3);
62
- return _el$5;
63
- })()
64
- ];
65
- }
66
-
67
-
68
-
69
42
  async function $bc91d938b8c601b4$export$58e808b1db15d3bc({ merchant: merchant , market: market , headers: headers , ...fetch_recs_options }) {
70
43
  return await (0, $aggTu$depictaiutilishared.fetch_recs)({
71
44
  tenant: merchant,
@@ -366,6 +339,32 @@ function $d659702496cb72ea$export$a71e92cfbb498adc(props) {
366
339
  }
367
340
 
368
341
 
342
+
343
+
344
+ function $76b6ac05693f5c71$export$205efb947c7ffd78(handler, passive = true) {
345
+ const catchified_handler = (0, $aggTu$depictaiutilishared.catchify)(handler);
346
+ // Some customers (e.g. equestrian) have `height: 100%` and/or `overflow-x: hidden` on the body, which means that scroll events won't get dispatched on `window`. The pages who get it on <body> won't get it on `window` and vice-versa, so there shouldn't be a worry about duplicate calling of the handler.
347
+ // Use observer in case that this gets called before body exists
348
+ const disconnect = (0, $aggTu$depictaiutilishared.observer).onexists("body", ({ element: element })=>{
349
+ element.addEventListener("scroll", catchified_handler, {
350
+ passive: passive
351
+ });
352
+ (0, $aggTu$solidjs.onCleanup)(()=>element.removeEventListener("scroll", catchified_handler));
353
+ });
354
+ (0, $aggTu$solidjs.onCleanup)(disconnect);
355
+ for (const event of [
356
+ "resize",
357
+ "orientationchange",
358
+ "scroll"
359
+ ]){
360
+ addEventListener(event, catchified_handler, {
361
+ passive: passive
362
+ });
363
+ (0, $aggTu$solidjs.onCleanup)(()=>removeEventListener(event, catchified_handler));
364
+ }
365
+ }
366
+
367
+
369
368
  const $401aee5f33dca9e2$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$aggTu$solidjsweb.template)(`<div class="scroll-status" style="display:none"><span class="text"><b></b> – <b></b> <!#><!/> <b></b></span></div>`, 12);
370
369
  function $401aee5f33dca9e2$export$83fd5de5504a7a67({ formatted_number_of_results_: formatted_number_of_results_ , first_result_in_viewport_: [get_first_result_in_viewport] , last_result_in_viewport_: [get_last_result_in_viewport] , number_of_results_: number_of_results_ , i18n_: { price_formatting_: price_formatting_ , of_: of_ } }) {
371
370
  const [first_to_show, set_first_to_show] = (0, $aggTu$solidjs.createSignal)(0);
@@ -383,7 +382,7 @@ function $401aee5f33dca9e2$export$83fd5de5504a7a67({ formatted_number_of_results
383
382
  let last_pos = scrollY;
384
383
  let unpermit_when_possible = false;
385
384
  let times_too_fast = 0;
386
- const handle_scrollpos_change = (0, $aggTu$depictaiutilishared.catchify)(()=>{
385
+ const handle_scrollpos_change = ()=>{
387
386
  if (animation) set_show_triggered((prev)=>!prev); // make sure that once we've decided to show the indicator it doesn't disappear before we stop scrolling
388
387
  const distance_travelled = Math.abs(scrollY - last_pos);
389
388
  const now = +new Date();
@@ -400,17 +399,8 @@ function $401aee5f33dca9e2$export$83fd5de5504a7a67({ formatted_number_of_results
400
399
  else set_permitted_to_show(false);
401
400
  last_pos_time = now;
402
401
  last_pos = scrollY;
403
- });
404
- for (const event of [
405
- "resize",
406
- "orientationchange",
407
- "scroll"
408
- ]){
409
- addEventListener(event, handle_scrollpos_change, {
410
- passive: true
411
- });
412
- (0, $aggTu$solidjs.onCleanup)(()=>removeEventListener(event, handle_scrollpos_change));
413
- }
402
+ };
403
+ (0, $76b6ac05693f5c71$export$205efb947c7ffd78)(handle_scrollpos_change);
414
404
  (0, $aggTu$solidjs.createEffect)(()=>{
415
405
  show_triggered();
416
406
  const first = get_first_result_in_viewport();
@@ -4317,6 +4307,7 @@ function $f8f64d05c525825b$var$OpenSortingButton({ i18n_: i18n_ , get_current_so
4317
4307
 
4318
4308
 
4319
4309
 
4310
+
4320
4311
  const $2fb324fbcc7b4a7b$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$aggTu$solidjsweb.template)(`<div class="floating-buttons"><button class="filter"><div></div></button><button class="sort"><div></div></button><button class="up"><div></div></button></div>`, 14);
4321
4312
  function $2fb324fbcc7b4a7b$export$b23abd26de154ede(props) {
4322
4313
  const [is_small, set_is_small] = (0, $aggTu$solidjs.createSignal)(true);
@@ -4343,7 +4334,7 @@ function $2fb324fbcc7b4a7b$var$ActualFloatingButtons({ search_filters_open_: [ge
4343
4334
  const [get_is_showing_toast] = (0, $ee498ec5e7dc2bba$export$22970a0140fc759c);
4344
4335
  const [modal_is_closed, set_if_modal_is_closed] = (0, $aggTu$solidjs.createSignal)(!(0, $aggTu$solidjs.untrack)(get_search_filters_open_) && !(0, $aggTu$solidjs.untrack)(get_search_sorting_open_));
4345
4336
  const [regular_buttons_are_in_view, set_regular_buttons_are_in_view] = (0, $aggTu$solidjs.createSignal)(false);
4346
- const handle_scrollpos_change = (0, $aggTu$depictaiutilishared.catchify)(()=>(0, $aggTu$solidjs.untrack)(()=>{
4337
+ const handle_scrollpos_change = ()=>(0, $aggTu$solidjs.untrack)(()=>{
4347
4338
  const new_pos = scrollY;
4348
4339
  if (modal_is_closed()) {
4349
4340
  const diff = new_pos - old_pos;
@@ -4358,7 +4349,7 @@ function $2fb324fbcc7b4a7b$var$ActualFloatingButtons({ search_filters_open_: [ge
4358
4349
  else if (diff_over_second_or_touch > 30) set_is_scrolling_upwards(false);
4359
4350
  }
4360
4351
  old_pos = new_pos;
4361
- }));
4352
+ });
4362
4353
  const touchstart_handler = (0, $aggTu$depictaiutilishared.catchify)((e)=>{
4363
4354
  is_in_touch_scroll = true;
4364
4355
  if (e.touches.length === 1) {
@@ -4381,16 +4372,7 @@ function $2fb324fbcc7b4a7b$var$ActualFloatingButtons({ search_filters_open_: [ge
4381
4372
  removeEventListener("touchstart", touchstart_handler);
4382
4373
  removeEventListener("touchend", touchend_handler);
4383
4374
  });
4384
- for (const event of [
4385
- "resize",
4386
- "orientationchange",
4387
- "scroll"
4388
- ]){
4389
- addEventListener(event, handle_scrollpos_change, {
4390
- passive: true
4391
- });
4392
- (0, $aggTu$solidjs.onCleanup)(()=>removeEventListener(event, handle_scrollpos_change));
4393
- }
4375
+ (0, $76b6ac05693f5c71$export$205efb947c7ffd78)(handle_scrollpos_change);
4394
4376
  (0, $aggTu$solidjs.onCleanup)(resolve_cleanup_promise);
4395
4377
  (0, $aggTu$solidjs.createComputed)(()=>{
4396
4378
  clearTimeout(timeout);
@@ -6313,6 +6295,7 @@ function $fb29c6201c369e39$var$make_state_saved_rows([get_showing_recommendation
6313
6295
 
6314
6296
 
6315
6297
 
6298
+
6316
6299
  function $fd463ff0edb29915$export$b3ad617e9036868(modal_body_style, input_field, width_transformer, includeScroll, one_axies_only) {
6317
6300
  let aligned_this_microtask = false;
6318
6301
  const align_position = ()=>{
@@ -6345,8 +6328,7 @@ function $fd463ff0edb29915$export$b3ad617e9036868(modal_body_style, input_field,
6345
6328
  }));
6346
6329
  ro.observe(input_field);
6347
6330
  }
6348
- window.addEventListener("resize", align_position);
6349
- window.addEventListener("orientationchange", align_position);
6331
+ (0, $76b6ac05693f5c71$export$205efb947c7ffd78)(align_position);
6350
6332
  // "resize" doesn't fire sometimes when it should, also it doesn't when showing/hiding scrollbars which disabling scrolling does
6351
6333
  // this works
6352
6334
  // keeping resize just in case
@@ -6356,8 +6338,6 @@ function $fd463ff0edb29915$export$b3ad617e9036868(modal_body_style, input_field,
6356
6338
  (0, $aggTu$solidjs.onCleanup)((0, $aggTu$depictaiutilishared.catchify)(()=>{
6357
6339
  ro?.disconnect();
6358
6340
  resize_resize_observer.disconnect();
6359
- window.removeEventListener("resize", align_position);
6360
- window.removeEventListener("orientationchange", align_position);
6361
6341
  }));
6362
6342
  return align_position;
6363
6343
  }
@@ -1,38 +1,12 @@
1
- import {add_to_version_info as $2gBB1$add_to_version_info, fetch_recs as $2gBB1$fetch_recs, snakeCasifyObject as $2gBB1$snakeCasifyObject, GenericSliderArrowButton as $2gBB1$GenericSliderArrowButton, catchify as $2gBB1$catchify, instant_exec_on_suspect_history_change as $2gBB1$instant_exec_on_suspect_history_change, base_url as $2gBB1$base_url, dlog as $2gBB1$dlog, get_depict_id as $2gBB1$get_depict_id, get_user_id as $2gBB1$get_user_id, get_session_id as $2gBB1$get_session_id, make_url_with_query_params as $2gBB1$make_url_with_query_params, fetch_retry as $2gBB1$fetch_retry, add_version_query_params as $2gBB1$add_version_query_params, sort_obj as $2gBB1$sort_obj, Placeholder as $2gBB1$Placeholder, report as $2gBB1$report, javascript_media_query as $2gBB1$javascript_media_query, standard_price_format as $2gBB1$standard_price_format, make_random_classname as $2gBB1$make_random_classname, n_col_styling_with_dist as $2gBB1$n_col_styling_with_dist, observer as $2gBB1$observer, CrossIcon as $2gBB1$CrossIcon, useExpandingContainer as $2gBB1$useExpandingContainer, Amazing_Slider as $2gBB1$Amazing_Slider, slider_snap_css as $2gBB1$slider_snap_css, slider_fading_factory as $2gBB1$slider_fading_factory, MinusIcon as $2gBB1$MinusIcon, FilterIcon as $2gBB1$FilterIcon, SortIconAsc as $2gBB1$SortIconAsc, SortIconDesc as $2gBB1$SortIconDesc, PlusIcon as $2gBB1$PlusIcon, hsl_to_rgb as $2gBB1$hsl_to_rgb, relative_luminance_from_rgb as $2gBB1$relative_luminance_from_rgb, TickIcon as $2gBB1$TickIcon, ArrowUp as $2gBB1$ArrowUp, base64_encode_unicode as $2gBB1$base64_encode_unicode, base64_decode_unicode as $2gBB1$base64_decode_unicode, queueMacroTask as $2gBB1$queueMacroTask, dwarn as $2gBB1$dwarn, ContainedPlaceholderImage as $2gBB1$ContainedPlaceholderImage, BackIcon as $2gBB1$BackIcon, SearchIcon as $2gBB1$SearchIcon, Layout as $2gBB1$Layout, async_iterable_ipns as $2gBB1$async_iterable_ipns, make_asyncIterable_exiter as $2gBB1$make_asyncIterable_exiter, href_change_ipns as $2gBB1$href_change_ipns, ContainedImage as $2gBB1$ContainedImage, buildThresholdList as $2gBB1$buildThresholdList, deparallelize_no_drop as $2gBB1$deparallelize_no_drop, PreviousSearchIcon as $2gBB1$PreviousSearchIcon, insert_surfaces as $2gBB1$insert_surfaces} from "@depict-ai/utilishared";
2
- import {template as $2gBB1$template, getNextElement as $2gBB1$getNextElement, getNextMarker as $2gBB1$getNextMarker, insert as $2gBB1$insert, effect as $2gBB1$effect, setAttribute as $2gBB1$setAttribute, createComponent as $2gBB1$createComponent, use as $2gBB1$use, memo as $2gBB1$memo, addEventListener as $2gBB1$addEventListener, runHydrationEvents as $2gBB1$runHydrationEvents, delegateEvents as $2gBB1$delegateEvents, spread as $2gBB1$spread, classList as $2gBB1$classList, style as $2gBB1$style, Dynamic as $2gBB1$Dynamic, mergeProps as $2gBB1$mergeProps, className as $2gBB1$className} from "solid-js/web";
3
- import {createSignal as $2gBB1$createSignal, onCleanup as $2gBB1$onCleanup, getOwner as $2gBB1$getOwner, createRoot as $2gBB1$createRoot, runWithOwner as $2gBB1$runWithOwner, createComputed as $2gBB1$createComputed, createRenderEffect as $2gBB1$createRenderEffect, createEffect as $2gBB1$createEffect, untrack as $2gBB1$untrack, batch as $2gBB1$batch, createResource as $2gBB1$createResource, createMemo as $2gBB1$createMemo, Show as $2gBB1$Show, createReaction as $2gBB1$createReaction, Suspense as $2gBB1$Suspense, on as $2gBB1$on, ErrorBoundary as $2gBB1$ErrorBoundary, For as $2gBB1$For, Index as $2gBB1$Index} from "solid-js";
1
+ import {add_to_version_info as $2gBB1$add_to_version_info, fetch_recs as $2gBB1$fetch_recs, snakeCasifyObject as $2gBB1$snakeCasifyObject, GenericSliderArrowButton as $2gBB1$GenericSliderArrowButton, catchify as $2gBB1$catchify, instant_exec_on_suspect_history_change as $2gBB1$instant_exec_on_suspect_history_change, base_url as $2gBB1$base_url, dlog as $2gBB1$dlog, get_depict_id as $2gBB1$get_depict_id, get_user_id as $2gBB1$get_user_id, get_session_id as $2gBB1$get_session_id, make_url_with_query_params as $2gBB1$make_url_with_query_params, fetch_retry as $2gBB1$fetch_retry, add_version_query_params as $2gBB1$add_version_query_params, sort_obj as $2gBB1$sort_obj, Placeholder as $2gBB1$Placeholder, report as $2gBB1$report, javascript_media_query as $2gBB1$javascript_media_query, standard_price_format as $2gBB1$standard_price_format, observer as $2gBB1$observer, make_random_classname as $2gBB1$make_random_classname, n_col_styling_with_dist as $2gBB1$n_col_styling_with_dist, CrossIcon as $2gBB1$CrossIcon, useExpandingContainer as $2gBB1$useExpandingContainer, Amazing_Slider as $2gBB1$Amazing_Slider, slider_snap_css as $2gBB1$slider_snap_css, slider_fading_factory as $2gBB1$slider_fading_factory, MinusIcon as $2gBB1$MinusIcon, FilterIcon as $2gBB1$FilterIcon, SortIconAsc as $2gBB1$SortIconAsc, SortIconDesc as $2gBB1$SortIconDesc, PlusIcon as $2gBB1$PlusIcon, hsl_to_rgb as $2gBB1$hsl_to_rgb, relative_luminance_from_rgb as $2gBB1$relative_luminance_from_rgb, TickIcon as $2gBB1$TickIcon, ArrowUp as $2gBB1$ArrowUp, base64_encode_unicode as $2gBB1$base64_encode_unicode, base64_decode_unicode as $2gBB1$base64_decode_unicode, queueMacroTask as $2gBB1$queueMacroTask, dwarn as $2gBB1$dwarn, ContainedPlaceholderImage as $2gBB1$ContainedPlaceholderImage, BackIcon as $2gBB1$BackIcon, SearchIcon as $2gBB1$SearchIcon, Layout as $2gBB1$Layout, async_iterable_ipns as $2gBB1$async_iterable_ipns, make_asyncIterable_exiter as $2gBB1$make_asyncIterable_exiter, href_change_ipns as $2gBB1$href_change_ipns, ContainedImage as $2gBB1$ContainedImage, buildThresholdList as $2gBB1$buildThresholdList, deparallelize_no_drop as $2gBB1$deparallelize_no_drop, PreviousSearchIcon as $2gBB1$PreviousSearchIcon, insert_surfaces as $2gBB1$insert_surfaces} from "@depict-ai/utilishared";
2
+ import {template as $2gBB1$template, getNextElement as $2gBB1$getNextElement, insert as $2gBB1$insert, effect as $2gBB1$effect, setAttribute as $2gBB1$setAttribute, createComponent as $2gBB1$createComponent, getNextMarker as $2gBB1$getNextMarker, use as $2gBB1$use, memo as $2gBB1$memo, addEventListener as $2gBB1$addEventListener, runHydrationEvents as $2gBB1$runHydrationEvents, delegateEvents as $2gBB1$delegateEvents, spread as $2gBB1$spread, classList as $2gBB1$classList, style as $2gBB1$style, Dynamic as $2gBB1$Dynamic, mergeProps as $2gBB1$mergeProps, className as $2gBB1$className} from "solid-js/web";
3
+ import {createSignal as $2gBB1$createSignal, getOwner as $2gBB1$getOwner, createRoot as $2gBB1$createRoot, runWithOwner as $2gBB1$runWithOwner, onCleanup as $2gBB1$onCleanup, createComputed as $2gBB1$createComputed, createRenderEffect as $2gBB1$createRenderEffect, createEffect as $2gBB1$createEffect, untrack as $2gBB1$untrack, batch as $2gBB1$batch, createResource as $2gBB1$createResource, createMemo as $2gBB1$createMemo, Show as $2gBB1$Show, createReaction as $2gBB1$createReaction, Suspense as $2gBB1$Suspense, on as $2gBB1$on, ErrorBoundary as $2gBB1$ErrorBoundary, For as $2gBB1$For, Index as $2gBB1$Index} from "solid-js";
4
4
 
5
- /*! Depict.ai search and product listing SDK */ const $ec291e0010116877$export$83d89fbfd8236492 = "1.0.3";
5
+ /*! Depict.ai search and product listing SDK */ const $ec291e0010116877$export$83d89fbfd8236492 = "1.0.5";
6
6
 
7
7
 
8
8
 
9
9
 
10
-
11
-
12
-
13
-
14
- const $23d09820c60b7015$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$2gBB1$template)(`<div>count: <!#><!/></div>`, 4), $23d09820c60b7015$var$_tmpl$2 = /*@__PURE__*/ (0, /*@__PURE__*/$2gBB1$template)(`<p>Here's a paragraph. And some <b>bold</b> text. BTW, count is <!#><!/>. And 10x:ed it's <!#><!/></p>`, 8);
15
- function $23d09820c60b7015$export$4f6abd76125ba82f({ start_at: start_at }) {
16
- const [count, setCount] = (0, $2gBB1$createSignal)(start_at ?? 0);
17
- const interval = setInterval(()=>setCount((old)=>old + 1), 1000);
18
- (0, $2gBB1$onCleanup)(()=>clearInterval(interval));
19
- return [
20
- (()=>{
21
- const _el$ = (0, $2gBB1$getNextElement)($23d09820c60b7015$var$_tmpl$), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, [_el$4, _co$] = (0, $2gBB1$getNextMarker)(_el$3.nextSibling);
22
- (0, $2gBB1$insert)(_el$, count, _el$4, _co$);
23
- return _el$;
24
- })(),
25
- (()=>{
26
- const _el$5 = (0, $2gBB1$getNextElement)($23d09820c60b7015$var$_tmpl$2), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling, _el$8 = _el$7.nextSibling, _el$10 = _el$8.nextSibling, [_el$11, _co$2] = (0, $2gBB1$getNextMarker)(_el$10.nextSibling), _el$9 = _el$11.nextSibling, _el$12 = _el$9.nextSibling, [_el$13, _co$3] = (0, $2gBB1$getNextMarker)(_el$12.nextSibling);
27
- (0, $2gBB1$insert)(_el$5, count, _el$11, _co$2);
28
- (0, $2gBB1$insert)(_el$5, ()=>count() * 10, _el$13, _co$3);
29
- return _el$5;
30
- })()
31
- ];
32
- }
33
-
34
-
35
-
36
10
  async function $c58717f39bf51647$export$58e808b1db15d3bc({ merchant: merchant , market: market , headers: headers , ...fetch_recs_options }) {
37
11
  return await (0, $2gBB1$fetch_recs)({
38
12
  tenant: merchant,
@@ -333,6 +307,32 @@ function $8c0f86cb3e266eeb$export$a71e92cfbb498adc(props) {
333
307
  }
334
308
 
335
309
 
310
+
311
+
312
+ function $8f9120a1ca151e6a$export$205efb947c7ffd78(handler, passive = true) {
313
+ const catchified_handler = (0, $2gBB1$catchify)(handler);
314
+ // Some customers (e.g. equestrian) have `height: 100%` and/or `overflow-x: hidden` on the body, which means that scroll events won't get dispatched on `window`. The pages who get it on <body> won't get it on `window` and vice-versa, so there shouldn't be a worry about duplicate calling of the handler.
315
+ // Use observer in case that this gets called before body exists
316
+ const disconnect = (0, $2gBB1$observer).onexists("body", ({ element: element })=>{
317
+ element.addEventListener("scroll", catchified_handler, {
318
+ passive: passive
319
+ });
320
+ (0, $2gBB1$onCleanup)(()=>element.removeEventListener("scroll", catchified_handler));
321
+ });
322
+ (0, $2gBB1$onCleanup)(disconnect);
323
+ for (const event of [
324
+ "resize",
325
+ "orientationchange",
326
+ "scroll"
327
+ ]){
328
+ addEventListener(event, catchified_handler, {
329
+ passive: passive
330
+ });
331
+ (0, $2gBB1$onCleanup)(()=>removeEventListener(event, catchified_handler));
332
+ }
333
+ }
334
+
335
+
336
336
  const $6db49ca163afa2c3$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$2gBB1$template)(`<div class="scroll-status" style="display:none"><span class="text"><b></b> – <b></b> <!#><!/> <b></b></span></div>`, 12);
337
337
  function $6db49ca163afa2c3$export$83fd5de5504a7a67({ formatted_number_of_results_: formatted_number_of_results_ , first_result_in_viewport_: [get_first_result_in_viewport] , last_result_in_viewport_: [get_last_result_in_viewport] , number_of_results_: number_of_results_ , i18n_: { price_formatting_: price_formatting_ , of_: of_ } }) {
338
338
  const [first_to_show, set_first_to_show] = (0, $2gBB1$createSignal)(0);
@@ -350,7 +350,7 @@ function $6db49ca163afa2c3$export$83fd5de5504a7a67({ formatted_number_of_results
350
350
  let last_pos = scrollY;
351
351
  let unpermit_when_possible = false;
352
352
  let times_too_fast = 0;
353
- const handle_scrollpos_change = (0, $2gBB1$catchify)(()=>{
353
+ const handle_scrollpos_change = ()=>{
354
354
  if (animation) set_show_triggered((prev)=>!prev); // make sure that once we've decided to show the indicator it doesn't disappear before we stop scrolling
355
355
  const distance_travelled = Math.abs(scrollY - last_pos);
356
356
  const now = +new Date();
@@ -367,17 +367,8 @@ function $6db49ca163afa2c3$export$83fd5de5504a7a67({ formatted_number_of_results
367
367
  else set_permitted_to_show(false);
368
368
  last_pos_time = now;
369
369
  last_pos = scrollY;
370
- });
371
- for (const event of [
372
- "resize",
373
- "orientationchange",
374
- "scroll"
375
- ]){
376
- addEventListener(event, handle_scrollpos_change, {
377
- passive: true
378
- });
379
- (0, $2gBB1$onCleanup)(()=>removeEventListener(event, handle_scrollpos_change));
380
- }
370
+ };
371
+ (0, $8f9120a1ca151e6a$export$205efb947c7ffd78)(handle_scrollpos_change);
381
372
  (0, $2gBB1$createEffect)(()=>{
382
373
  show_triggered();
383
374
  const first = get_first_result_in_viewport();
@@ -4284,6 +4275,7 @@ function $cdea4cf8c5c071ef$var$OpenSortingButton({ i18n_: i18n_ , get_current_so
4284
4275
 
4285
4276
 
4286
4277
 
4278
+
4287
4279
  const $0b0380f75d729d63$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$2gBB1$template)(`<div class="floating-buttons"><button class="filter"><div></div></button><button class="sort"><div></div></button><button class="up"><div></div></button></div>`, 14);
4288
4280
  function $0b0380f75d729d63$export$b23abd26de154ede(props) {
4289
4281
  const [is_small, set_is_small] = (0, $2gBB1$createSignal)(true);
@@ -4310,7 +4302,7 @@ function $0b0380f75d729d63$var$ActualFloatingButtons({ search_filters_open_: [ge
4310
4302
  const [get_is_showing_toast] = (0, $bf52d9f9eebd1938$export$22970a0140fc759c);
4311
4303
  const [modal_is_closed, set_if_modal_is_closed] = (0, $2gBB1$createSignal)(!(0, $2gBB1$untrack)(get_search_filters_open_) && !(0, $2gBB1$untrack)(get_search_sorting_open_));
4312
4304
  const [regular_buttons_are_in_view, set_regular_buttons_are_in_view] = (0, $2gBB1$createSignal)(false);
4313
- const handle_scrollpos_change = (0, $2gBB1$catchify)(()=>(0, $2gBB1$untrack)(()=>{
4305
+ const handle_scrollpos_change = ()=>(0, $2gBB1$untrack)(()=>{
4314
4306
  const new_pos = scrollY;
4315
4307
  if (modal_is_closed()) {
4316
4308
  const diff = new_pos - old_pos;
@@ -4325,7 +4317,7 @@ function $0b0380f75d729d63$var$ActualFloatingButtons({ search_filters_open_: [ge
4325
4317
  else if (diff_over_second_or_touch > 30) set_is_scrolling_upwards(false);
4326
4318
  }
4327
4319
  old_pos = new_pos;
4328
- }));
4320
+ });
4329
4321
  const touchstart_handler = (0, $2gBB1$catchify)((e)=>{
4330
4322
  is_in_touch_scroll = true;
4331
4323
  if (e.touches.length === 1) {
@@ -4348,16 +4340,7 @@ function $0b0380f75d729d63$var$ActualFloatingButtons({ search_filters_open_: [ge
4348
4340
  removeEventListener("touchstart", touchstart_handler);
4349
4341
  removeEventListener("touchend", touchend_handler);
4350
4342
  });
4351
- for (const event of [
4352
- "resize",
4353
- "orientationchange",
4354
- "scroll"
4355
- ]){
4356
- addEventListener(event, handle_scrollpos_change, {
4357
- passive: true
4358
- });
4359
- (0, $2gBB1$onCleanup)(()=>removeEventListener(event, handle_scrollpos_change));
4360
- }
4343
+ (0, $8f9120a1ca151e6a$export$205efb947c7ffd78)(handle_scrollpos_change);
4361
4344
  (0, $2gBB1$onCleanup)(resolve_cleanup_promise);
4362
4345
  (0, $2gBB1$createComputed)(()=>{
4363
4346
  clearTimeout(timeout);
@@ -6280,6 +6263,7 @@ function $172e1b898d457050$var$make_state_saved_rows([get_showing_recommendation
6280
6263
 
6281
6264
 
6282
6265
 
6266
+
6283
6267
  function $b6d5529b253681aa$export$b3ad617e9036868(modal_body_style, input_field, width_transformer, includeScroll, one_axies_only) {
6284
6268
  let aligned_this_microtask = false;
6285
6269
  const align_position = ()=>{
@@ -6312,8 +6296,7 @@ function $b6d5529b253681aa$export$b3ad617e9036868(modal_body_style, input_field,
6312
6296
  }));
6313
6297
  ro.observe(input_field);
6314
6298
  }
6315
- window.addEventListener("resize", align_position);
6316
- window.addEventListener("orientationchange", align_position);
6299
+ (0, $8f9120a1ca151e6a$export$205efb947c7ffd78)(align_position);
6317
6300
  // "resize" doesn't fire sometimes when it should, also it doesn't when showing/hiding scrollbars which disabling scrolling does
6318
6301
  // this works
6319
6302
  // keeping resize just in case
@@ -6323,8 +6306,6 @@ function $b6d5529b253681aa$export$b3ad617e9036868(modal_body_style, input_field,
6323
6306
  (0, $2gBB1$onCleanup)((0, $2gBB1$catchify)(()=>{
6324
6307
  ro?.disconnect();
6325
6308
  resize_resize_observer.disconnect();
6326
- window.removeEventListener("resize", align_position);
6327
- window.removeEventListener("orientationchange", align_position);
6328
6309
  }));
6329
6310
  return align_position;
6330
6311
  }
@@ -8643,4 +8624,4 @@ class $753e9b2889a47c89$export$3ccaa27d81dd8556 extends EventTarget {
8643
8624
  (0, $2gBB1$add_to_version_info)("ui", (0, $ec291e0010116877$export$83d89fbfd8236492));
8644
8625
 
8645
8626
 
8646
- export {$23d09820c60b7015$export$4f6abd76125ba82f as SSRTestComponent, $c58717f39bf51647$export$58e808b1db15d3bc as fetchDepictRecommendations, $961b5c64bef4662f$export$de035477d6fef996 as QuickLinks, $961b5c64bef4662f$export$5b7c3ce0ebe51f86 as BreadCrumbs, $e4615ecd1849548f$export$b91cec6bdc6b32a1 as CategoryTitle, $a79d86d64fb64e8e$export$824dde41348efed1 as embedded_num_products, $5c5f95951393e5d1$export$643598a327b5833e as get_categories, $961b5c64bef4662f$export$f34314aa9505732e as DepictCategory, $961b5c64bef4662f$export$e2bf8ce7779e827e as CategoryPage, $806c97b931758897$export$ac6237957a15b3f0 as DepictSearch, $806c97b931758897$export$bde3eb976dfded9 as get_search_query_updating_blocked_signal, $806c97b931758897$export$f2dc7e4e4aa11abb as SearchPage, $806c97b931758897$export$316f6f283ae64765 as SearchField, $4fd48cb976bf1789$export$aa14a9f43128f61f as ProductCardError, $6891c018a834cfdd$export$d86a33413558014e as open_modal_with_alignment, $bb15dfb548a7666e$export$ee1733d9a8495996 as DefaultInstantCardPlaceholder, $b6d5529b253681aa$export$b3ad617e9036868 as align_field, $b5cccc8ee7d24677$export$6daf8749b65a1b77 as convert_sdk_cols_at_size_to_layout, $926b1b5ba2239356$export$1233ca167bf71f9a as styles_to_valid_css_string, $aea1edf92433e81e$export$fe334901e8bebd57 as disable_scrolling, $6e8944558258054f$export$d0596b5cae35ad4 as open_search_with_shift_slash, $7fa23e2a0079eca4$export$e015ed2f2950f2e3 as DepictAPI, $dc9262ef6f786812$export$d9f36cf74e24d595 as media_query_to_accessor, $6936724b9e0b98d5$export$689e204eadb33baf as setup_fast_leave, $bf52d9f9eebd1938$export$5196e4c01fa56fcb as show_toast, $8c0f86cb3e266eeb$export$a71e92cfbb498adc as SolidFormatPrice, $4ca91518c9a35379$export$828dcdd425fd3231 as connect_search_field_height_to_aligner_height, $753e9b2889a47c89$export$3ccaa27d81dd8556 as PageReplacer, $ec291e0010116877$export$83d89fbfd8236492 as version};
8627
+ export {$c58717f39bf51647$export$58e808b1db15d3bc as fetchDepictRecommendations, $961b5c64bef4662f$export$de035477d6fef996 as QuickLinks, $961b5c64bef4662f$export$5b7c3ce0ebe51f86 as BreadCrumbs, $e4615ecd1849548f$export$b91cec6bdc6b32a1 as CategoryTitle, $a79d86d64fb64e8e$export$824dde41348efed1 as embedded_num_products, $5c5f95951393e5d1$export$643598a327b5833e as get_categories, $961b5c64bef4662f$export$f34314aa9505732e as DepictCategory, $961b5c64bef4662f$export$e2bf8ce7779e827e as CategoryPage, $806c97b931758897$export$ac6237957a15b3f0 as DepictSearch, $806c97b931758897$export$bde3eb976dfded9 as get_search_query_updating_blocked_signal, $806c97b931758897$export$f2dc7e4e4aa11abb as SearchPage, $806c97b931758897$export$316f6f283ae64765 as SearchField, $4fd48cb976bf1789$export$aa14a9f43128f61f as ProductCardError, $6891c018a834cfdd$export$d86a33413558014e as open_modal_with_alignment, $bb15dfb548a7666e$export$ee1733d9a8495996 as DefaultInstantCardPlaceholder, $b6d5529b253681aa$export$b3ad617e9036868 as align_field, $b5cccc8ee7d24677$export$6daf8749b65a1b77 as convert_sdk_cols_at_size_to_layout, $926b1b5ba2239356$export$1233ca167bf71f9a as styles_to_valid_css_string, $aea1edf92433e81e$export$fe334901e8bebd57 as disable_scrolling, $6e8944558258054f$export$d0596b5cae35ad4 as open_search_with_shift_slash, $7fa23e2a0079eca4$export$e015ed2f2950f2e3 as DepictAPI, $dc9262ef6f786812$export$d9f36cf74e24d595 as media_query_to_accessor, $6936724b9e0b98d5$export$689e204eadb33baf as setup_fast_leave, $bf52d9f9eebd1938$export$5196e4c01fa56fcb as show_toast, $8c0f86cb3e266eeb$export$a71e92cfbb498adc as SolidFormatPrice, $4ca91518c9a35379$export$828dcdd425fd3231 as connect_search_field_height_to_aligner_height, $753e9b2889a47c89$export$3ccaa27d81dd8556 as PageReplacer, $ec291e0010116877$export$83d89fbfd8236492 as version};
@@ -7,10 +7,7 @@ import { SearchSuggestionsResponse, CategorySuggestion } from "@depict-ai/types/
7
7
  import { SearchSuggestionsRequest } from "@depict-ai/types/api/SearchSuggestionsRequest";
8
8
  import { ProductListingRequest } from "@depict-ai/types/api/ProductListingRequest";
9
9
  import { ProductListingResponse } from "@depict-ai/types/api/ProductListingResponse";
10
- export const version = "1.0.3";
11
- export function SSRTestComponent({ start_at }: {
12
- start_at: number;
13
- }): HTMLElement;
10
+ export const version = "1.0.5";
14
11
  export type OnNavigation = ((options: {
15
12
  is_replace: boolean;
16
13
  new_url: URL;