@depict-ai/ui 2.1.7 → 2.1.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
@@ -76,7 +76,7 @@ $parcel$export(module.exports, "defaultColsAtSize", () => $33eed84f447aa0c0$expo
76
76
  $parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $33eed84f447aa0c0$export$7bf543b9d9be2c22);
77
77
  $parcel$export(module.exports, "version", () => $aa1938dec50d6c12$export$83d89fbfd8236492);
78
78
  /*! Depict.ai search and product listing SDK */
79
- const $aa1938dec50d6c12$export$83d89fbfd8236492 = "2.1.7";
79
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "2.1.9";
80
80
  const $a68b73fd7ba0853f$var$fallback_operator = "in";
81
81
  const $a68b73fd7ba0853f$var$fallback_token = "";
82
82
  const $a68b73fd7ba0853f$var$legacy_filter_prefix = "filter_";
@@ -399,6 +399,7 @@ function $858fdcf73148519f$export$6e5611bc7e57e477(props) {
399
399
  // Make sure src is set before we put the image into the DOM though so no broken image symbol is shown
400
400
  setHasDecoded(true);
401
401
  hasDecodedFastPath = true;
402
+ return;
402
403
  }
403
404
  img.decode().catch(e => $52FdA$depictaiutilishared.dwarn("Failed to decode image", e, img)) // Display the image also if loading failed so webdev can debug and doesn't get "no image"
404
405
  .then(async () => {
@@ -420,6 +421,7 @@ function $858fdcf73148519f$var$make_srcset(url, resolutions) {
420
421
  return resolutions.map(width => "".concat($858fdcf73148519f$var$generateImageUrl(url, width), " ").concat(width, "w")).join(", ");
421
422
  }
422
423
  function $858fdcf73148519f$var$generateImageUrl(url, width) {
424
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
423
425
  url.searchParams.set("width", width);
424
426
  return url.href;
425
427
  }
@@ -4206,7 +4208,13 @@ function $367b536a2a94d24e$export$e183a13865960371(params_to_default_value, rout
4206
4208
  const entries = Object.entries(params_to_default_value);
4207
4209
  const event_handler = $52FdA$depictaiutilishared.catchify((what_happened, args) => {
4208
4210
  // Intentionally always update our signals to the history state to allow external control of SDK state for doing things like https://linear.app/depictai/issue/X-1432/is-this-possible-with-the-depict-sdk
4209
- $367b536a2a94d24e$var$history_state_change(signals, entries, what_happened === "popstate" ? args.state : history.state);
4211
+ if (what_happened !== "popstate") return;
4212
+ // Had to undo the comment above,but leaving the history. Doing this because discovering why it doesn't work is a deja-vu and I don't want to have to discover it again.
4213
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
4214
+ // The reason for that is because writes to the state trigger writes to the state (something about local filter state, see the comment where `last_remote_state !== available_filters_()` happens in create_modified_filters.tsx)
4215
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
4216
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
4217
+ $367b536a2a94d24e$var$history_state_change(signals, entries, args.state);
4210
4218
  });
4211
4219
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
4212
4220
  $52FdA$solidjs.createRenderEffect(() => {
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 { ProductListingRequestV2 } from "@depict-ai/types/api/ProductListingRequestV2";
10
- export const version = "2.1.7";
10
+ export const version = "2.1.9";
11
11
  /**
12
12
  * Use `javascript_media_query` but return a reactive accessor instead of taking a callback function
13
13
  */
package/ES10/index.js CHANGED
@@ -9,7 +9,7 @@ import { createStore as $8tj43$createStore, reconcile as $8tj43$reconcile } from
9
9
  /*! Depict.ai search and product listing SDK */
10
10
  import { register_es_version } from "../multi_import_deduplicator.mjs";
11
11
  register_es_version("ui", "ES10");
12
- const $8db9a15135765c11$export$83d89fbfd8236492 = "2.1.7";
12
+ const $8db9a15135765c11$export$83d89fbfd8236492 = "2.1.9";
13
13
  const $2855bffe06ef7a03$var$fallback_operator = "in";
14
14
  const $2855bffe06ef7a03$var$fallback_token = "";
15
15
  const $2855bffe06ef7a03$var$legacy_filter_prefix = "filter_";
@@ -332,6 +332,7 @@ function $56047603f9d212b6$export$6e5611bc7e57e477(props) {
332
332
  // Make sure src is set before we put the image into the DOM though so no broken image symbol is shown
333
333
  setHasDecoded(true);
334
334
  hasDecodedFastPath = true;
335
+ return;
335
336
  }
336
337
  img.decode().catch(e => $8tj43$dwarn("Failed to decode image", e, img)) // Display the image also if loading failed so webdev can debug and doesn't get "no image"
337
338
  .then(async () => {
@@ -353,6 +354,7 @@ function $56047603f9d212b6$var$make_srcset(url, resolutions) {
353
354
  return resolutions.map(width => "".concat($56047603f9d212b6$var$generateImageUrl(url, width), " ").concat(width, "w")).join(", ");
354
355
  }
355
356
  function $56047603f9d212b6$var$generateImageUrl(url, width) {
357
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
356
358
  url.searchParams.set("width", width);
357
359
  return url.href;
358
360
  }
@@ -4139,7 +4141,13 @@ function $972f6bce0f9d61be$export$e183a13865960371(params_to_default_value, rout
4139
4141
  const entries = Object.entries(params_to_default_value);
4140
4142
  const event_handler = $8tj43$catchify((what_happened, args) => {
4141
4143
  // Intentionally always update our signals to the history state to allow external control of SDK state for doing things like https://linear.app/depictai/issue/X-1432/is-this-possible-with-the-depict-sdk
4142
- $972f6bce0f9d61be$var$history_state_change(signals, entries, what_happened === "popstate" ? args.state : history.state);
4144
+ if (what_happened !== "popstate") return;
4145
+ // Had to undo the comment above,but leaving the history. Doing this because discovering why it doesn't work is a deja-vu and I don't want to have to discover it again.
4146
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
4147
+ // The reason for that is because writes to the state trigger writes to the state (something about local filter state, see the comment where `last_remote_state !== available_filters_()` happens in create_modified_filters.tsx)
4148
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
4149
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
4150
+ $972f6bce0f9d61be$var$history_state_change(signals, entries, args.state);
4143
4151
  });
4144
4152
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
4145
4153
  $8tj43$createRenderEffect(() => {
package/latest/index.cjs CHANGED
@@ -70,7 +70,7 @@ $parcel$export(module.exports, "defaultColsAtSize", () => $a3280f0aad997933$expo
70
70
  $parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $a3280f0aad997933$export$7bf543b9d9be2c22);
71
71
  $parcel$export(module.exports, "version", () => $b757f75811f3261f$export$83d89fbfd8236492);
72
72
  /*! Depict.ai search and product listing SDK */
73
- const $b757f75811f3261f$export$83d89fbfd8236492 = "2.1.7";
73
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "2.1.9";
74
74
  const $1ab22f2cd39b3061$var$fallback_operator = "in";
75
75
  const $1ab22f2cd39b3061$var$fallback_token = "";
76
76
  const $1ab22f2cd39b3061$var$legacy_filter_prefix = "filter_";
@@ -385,6 +385,7 @@ function $19950faaac026e09$export$6e5611bc7e57e477(props) {
385
385
  // Make sure src is set before we put the image into the DOM though so no broken image symbol is shown
386
386
  setHasDecoded(true);
387
387
  hasDecodedFastPath = true;
388
+ return;
388
389
  }
389
390
  img.decode().catch(e => $gVhhF$depictaiutilishared.dwarn("Failed to decode image", e, img)) // Display the image also if loading failed so webdev can debug and doesn't get "no image"
390
391
  .then(async () => {
@@ -406,6 +407,7 @@ function $19950faaac026e09$var$make_srcset(url, resolutions) {
406
407
  return resolutions.map(width => `${$19950faaac026e09$var$generateImageUrl(url, width)} ${width}w`).join(", ");
407
408
  }
408
409
  function $19950faaac026e09$var$generateImageUrl(url, width) {
410
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
409
411
  url.searchParams.set("width", width);
410
412
  return url.href;
411
413
  }
@@ -3952,7 +3954,13 @@ function $6e22b5314fb52f4c$export$e183a13865960371(params_to_default_value, rout
3952
3954
  const entries = Object.entries(params_to_default_value);
3953
3955
  const event_handler = $gVhhF$depictaiutilishared.catchify((what_happened, args) => {
3954
3956
  // Intentionally always update our signals to the history state to allow external control of SDK state for doing things like https://linear.app/depictai/issue/X-1432/is-this-possible-with-the-depict-sdk
3955
- $6e22b5314fb52f4c$var$history_state_change(signals, entries, what_happened === "popstate" ? args.state : history.state);
3957
+ if (what_happened !== "popstate") return;
3958
+ // Had to undo the comment above,but leaving the history. Doing this because discovering why it doesn't work is a deja-vu and I don't want to have to discover it again.
3959
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
3960
+ // The reason for that is because writes to the state trigger writes to the state (something about local filter state, see the comment where `last_remote_state !== available_filters_()` happens in create_modified_filters.tsx)
3961
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
3962
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
3963
+ $6e22b5314fb52f4c$var$history_state_change(signals, entries, args.state);
3956
3964
  });
3957
3965
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
3958
3966
  $gVhhF$solidjs.createRenderEffect(() => {
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 { ProductListingRequestV2 } from "@depict-ai/types/api/ProductListingRequestV2";
10
- export const version = "2.1.7";
10
+ export const version = "2.1.9";
11
11
  /**
12
12
  * Use `javascript_media_query` but return a reactive accessor instead of taking a callback function
13
13
  */
package/latest/index.js CHANGED
@@ -6,7 +6,7 @@ import { createStore as $9HbP8$createStore, reconcile as $9HbP8$reconcile } from
6
6
  /*! Depict.ai search and product listing SDK */
7
7
  import { register_es_version } from "../multi_import_deduplicator.mjs";
8
8
  register_es_version("ui", "latest");
9
- const $ec291e0010116877$export$83d89fbfd8236492 = "2.1.7";
9
+ const $ec291e0010116877$export$83d89fbfd8236492 = "2.1.9";
10
10
  const $4147651646da990a$var$fallback_operator = "in";
11
11
  const $4147651646da990a$var$fallback_token = "";
12
12
  const $4147651646da990a$var$legacy_filter_prefix = "filter_";
@@ -321,6 +321,7 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
321
321
  // Make sure src is set before we put the image into the DOM though so no broken image symbol is shown
322
322
  setHasDecoded(true);
323
323
  hasDecodedFastPath = true;
324
+ return;
324
325
  }
325
326
  img.decode().catch(e => $9HbP8$dwarn("Failed to decode image", e, img)) // Display the image also if loading failed so webdev can debug and doesn't get "no image"
326
327
  .then(async () => {
@@ -342,6 +343,7 @@ function $e8ffe11ed01df0fe$var$make_srcset(url, resolutions) {
342
343
  return resolutions.map(width => `${$e8ffe11ed01df0fe$var$generateImageUrl(url, width)} ${width}w`).join(", ");
343
344
  }
344
345
  function $e8ffe11ed01df0fe$var$generateImageUrl(url, width) {
346
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
345
347
  url.searchParams.set("width", width);
346
348
  return url.href;
347
349
  }
@@ -3888,7 +3890,13 @@ function $ca6f574bd8772184$export$e183a13865960371(params_to_default_value, rout
3888
3890
  const entries = Object.entries(params_to_default_value);
3889
3891
  const event_handler = $9HbP8$catchify((what_happened, args) => {
3890
3892
  // Intentionally always update our signals to the history state to allow external control of SDK state for doing things like https://linear.app/depictai/issue/X-1432/is-this-possible-with-the-depict-sdk
3891
- $ca6f574bd8772184$var$history_state_change(signals, entries, what_happened === "popstate" ? args.state : history.state);
3893
+ if (what_happened !== "popstate") return;
3894
+ // Had to undo the comment above,but leaving the history. Doing this because discovering why it doesn't work is a deja-vu and I don't want to have to discover it again.
3895
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
3896
+ // The reason for that is because writes to the state trigger writes to the state (something about local filter state, see the comment where `last_remote_state !== available_filters_()` happens in create_modified_filters.tsx)
3897
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
3898
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
3899
+ $ca6f574bd8772184$var$history_state_change(signals, entries, args.state);
3892
3900
  });
3893
3901
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
3894
3902
  $9HbP8$createRenderEffect(() => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@depict-ai/ui",
3
- "version": "2.1.7",
3
+ "version": "2.1.9",
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
6
  "sass": "styles.scss",
@@ -76,7 +76,7 @@ $parcel$export(module.exports, "defaultColsAtSize", () => $33eed84f447aa0c0$expo
76
76
  $parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $33eed84f447aa0c0$export$7bf543b9d9be2c22);
77
77
  $parcel$export(module.exports, "version", () => $aa1938dec50d6c12$export$83d89fbfd8236492);
78
78
  /*! Depict.ai search and product listing SDK */
79
- const $aa1938dec50d6c12$export$83d89fbfd8236492 = "2.1.7";
79
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "2.1.9";
80
80
  const $a68b73fd7ba0853f$var$fallback_operator = "in";
81
81
  const $a68b73fd7ba0853f$var$fallback_token = "";
82
82
  const $a68b73fd7ba0853f$var$legacy_filter_prefix = "filter_";
@@ -395,6 +395,7 @@ function $858fdcf73148519f$export$6e5611bc7e57e477(props) {
395
395
  // Make sure src is set before we put the image into the DOM though so no broken image symbol is shown
396
396
  setHasDecoded(true);
397
397
  hasDecodedFastPath = true;
398
+ return;
398
399
  }
399
400
  img.decode().catch(e => $3hooq$depictaiutilishared.dwarn("Failed to decode image", e, img)) // Display the image also if loading failed so webdev can debug and doesn't get "no image"
400
401
  .then(async () => {
@@ -416,6 +417,7 @@ function $858fdcf73148519f$var$make_srcset(url, resolutions) {
416
417
  return resolutions.map(width => "".concat($858fdcf73148519f$var$generateImageUrl(url, width), " ").concat(width, "w")).join(", ");
417
418
  }
418
419
  function $858fdcf73148519f$var$generateImageUrl(url, width) {
420
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
419
421
  url.searchParams.set("width", width);
420
422
  return url.href;
421
423
  }
@@ -3336,7 +3338,13 @@ function $367b536a2a94d24e$export$e183a13865960371(params_to_default_value, rout
3336
3338
  const entries = Object.entries(params_to_default_value);
3337
3339
  const event_handler = $3hooq$depictaiutilishared.catchify((what_happened, args) => {
3338
3340
  // Intentionally always update our signals to the history state to allow external control of SDK state for doing things like https://linear.app/depictai/issue/X-1432/is-this-possible-with-the-depict-sdk
3339
- $367b536a2a94d24e$var$history_state_change(signals, entries, what_happened === "popstate" ? args.state : history.state);
3341
+ if (what_happened !== "popstate") return;
3342
+ // Had to undo the comment above,but leaving the history. Doing this because discovering why it doesn't work is a deja-vu and I don't want to have to discover it again.
3343
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
3344
+ // The reason for that is because writes to the state trigger writes to the state (something about local filter state, see the comment where `last_remote_state !== available_filters_()` happens in create_modified_filters.tsx)
3345
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
3346
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
3347
+ $367b536a2a94d24e$var$history_state_change(signals, entries, args.state);
3340
3348
  });
3341
3349
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
3342
3350
  $3hooq$solidjs.createRenderEffect(() => {
@@ -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 { ProductListingRequestV2 } from "@depict-ai/types/api/ProductListingRequestV2";
10
- export const version = "2.1.7";
10
+ export const version = "2.1.9";
11
11
  /**
12
12
  * Use `javascript_media_query` but return a reactive accessor instead of taking a callback function
13
13
  */
@@ -9,7 +9,7 @@ import { createStore as $b8hua$createStore, reconcile as $b8hua$reconcile } from
9
9
  /*! Depict.ai search and product listing SDK */
10
10
  import { register_es_version } from "../../multi_import_deduplicator.mjs";
11
11
  register_es_version("ui", "ES10");
12
- const $8db9a15135765c11$export$83d89fbfd8236492 = "2.1.7";
12
+ const $8db9a15135765c11$export$83d89fbfd8236492 = "2.1.9";
13
13
  const $2855bffe06ef7a03$var$fallback_operator = "in";
14
14
  const $2855bffe06ef7a03$var$fallback_token = "";
15
15
  const $2855bffe06ef7a03$var$legacy_filter_prefix = "filter_";
@@ -328,6 +328,7 @@ function $56047603f9d212b6$export$6e5611bc7e57e477(props) {
328
328
  // Make sure src is set before we put the image into the DOM though so no broken image symbol is shown
329
329
  setHasDecoded(true);
330
330
  hasDecodedFastPath = true;
331
+ return;
331
332
  }
332
333
  img.decode().catch(e => $b8hua$dwarn("Failed to decode image", e, img)) // Display the image also if loading failed so webdev can debug and doesn't get "no image"
333
334
  .then(async () => {
@@ -349,6 +350,7 @@ function $56047603f9d212b6$var$make_srcset(url, resolutions) {
349
350
  return resolutions.map(width => "".concat($56047603f9d212b6$var$generateImageUrl(url, width), " ").concat(width, "w")).join(", ");
350
351
  }
351
352
  function $56047603f9d212b6$var$generateImageUrl(url, width) {
353
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
352
354
  url.searchParams.set("width", width);
353
355
  return url.href;
354
356
  }
@@ -3269,7 +3271,13 @@ function $972f6bce0f9d61be$export$e183a13865960371(params_to_default_value, rout
3269
3271
  const entries = Object.entries(params_to_default_value);
3270
3272
  const event_handler = $b8hua$catchify((what_happened, args) => {
3271
3273
  // Intentionally always update our signals to the history state to allow external control of SDK state for doing things like https://linear.app/depictai/issue/X-1432/is-this-possible-with-the-depict-sdk
3272
- $972f6bce0f9d61be$var$history_state_change(signals, entries, what_happened === "popstate" ? args.state : history.state);
3274
+ if (what_happened !== "popstate") return;
3275
+ // Had to undo the comment above,but leaving the history. Doing this because discovering why it doesn't work is a deja-vu and I don't want to have to discover it again.
3276
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
3277
+ // The reason for that is because writes to the state trigger writes to the state (something about local filter state, see the comment where `last_remote_state !== available_filters_()` happens in create_modified_filters.tsx)
3278
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
3279
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
3280
+ $972f6bce0f9d61be$var$history_state_change(signals, entries, args.state);
3273
3281
  });
3274
3282
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
3275
3283
  $b8hua$createRenderEffect(() => {
@@ -70,7 +70,7 @@ $parcel$export(module.exports, "defaultColsAtSize", () => $a3280f0aad997933$expo
70
70
  $parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $a3280f0aad997933$export$7bf543b9d9be2c22);
71
71
  $parcel$export(module.exports, "version", () => $b757f75811f3261f$export$83d89fbfd8236492);
72
72
  /*! Depict.ai search and product listing SDK */
73
- const $b757f75811f3261f$export$83d89fbfd8236492 = "2.1.7";
73
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "2.1.9";
74
74
  const $1ab22f2cd39b3061$var$fallback_operator = "in";
75
75
  const $1ab22f2cd39b3061$var$fallback_token = "";
76
76
  const $1ab22f2cd39b3061$var$legacy_filter_prefix = "filter_";
@@ -381,6 +381,7 @@ function $19950faaac026e09$export$6e5611bc7e57e477(props) {
381
381
  // Make sure src is set before we put the image into the DOM though so no broken image symbol is shown
382
382
  setHasDecoded(true);
383
383
  hasDecodedFastPath = true;
384
+ return;
384
385
  }
385
386
  img.decode().catch(e => $5vyXB$depictaiutilishared.dwarn("Failed to decode image", e, img)) // Display the image also if loading failed so webdev can debug and doesn't get "no image"
386
387
  .then(async () => {
@@ -402,6 +403,7 @@ function $19950faaac026e09$var$make_srcset(url, resolutions) {
402
403
  return resolutions.map(width => `${$19950faaac026e09$var$generateImageUrl(url, width)} ${width}w`).join(", ");
403
404
  }
404
405
  function $19950faaac026e09$var$generateImageUrl(url, width) {
406
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
405
407
  url.searchParams.set("width", width);
406
408
  return url.href;
407
409
  }
@@ -3119,7 +3121,13 @@ function $6e22b5314fb52f4c$export$e183a13865960371(params_to_default_value, rout
3119
3121
  const entries = Object.entries(params_to_default_value);
3120
3122
  const event_handler = $5vyXB$depictaiutilishared.catchify((what_happened, args) => {
3121
3123
  // Intentionally always update our signals to the history state to allow external control of SDK state for doing things like https://linear.app/depictai/issue/X-1432/is-this-possible-with-the-depict-sdk
3122
- $6e22b5314fb52f4c$var$history_state_change(signals, entries, what_happened === "popstate" ? args.state : history.state);
3124
+ if (what_happened !== "popstate") return;
3125
+ // Had to undo the comment above,but leaving the history. Doing this because discovering why it doesn't work is a deja-vu and I don't want to have to discover it again.
3126
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
3127
+ // The reason for that is because writes to the state trigger writes to the state (something about local filter state, see the comment where `last_remote_state !== available_filters_()` happens in create_modified_filters.tsx)
3128
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
3129
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
3130
+ $6e22b5314fb52f4c$var$history_state_change(signals, entries, args.state);
3123
3131
  });
3124
3132
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
3125
3133
  $5vyXB$solidjs.createRenderEffect(() => {
@@ -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 { ProductListingRequestV2 } from "@depict-ai/types/api/ProductListingRequestV2";
10
- export const version = "2.1.7";
10
+ export const version = "2.1.9";
11
11
  /**
12
12
  * Use `javascript_media_query` but return a reactive accessor instead of taking a callback function
13
13
  */
@@ -6,7 +6,7 @@ import { createStore as $i7OB2$createStore, reconcile as $i7OB2$reconcile } from
6
6
  /*! Depict.ai search and product listing SDK */
7
7
  import { register_es_version } from "../../multi_import_deduplicator.mjs";
8
8
  register_es_version("ui", "latest");
9
- const $ec291e0010116877$export$83d89fbfd8236492 = "2.1.7";
9
+ const $ec291e0010116877$export$83d89fbfd8236492 = "2.1.9";
10
10
  const $4147651646da990a$var$fallback_operator = "in";
11
11
  const $4147651646da990a$var$fallback_token = "";
12
12
  const $4147651646da990a$var$legacy_filter_prefix = "filter_";
@@ -317,6 +317,7 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
317
317
  // Make sure src is set before we put the image into the DOM though so no broken image symbol is shown
318
318
  setHasDecoded(true);
319
319
  hasDecodedFastPath = true;
320
+ return;
320
321
  }
321
322
  img.decode().catch(e => $i7OB2$dwarn("Failed to decode image", e, img)) // Display the image also if loading failed so webdev can debug and doesn't get "no image"
322
323
  .then(async () => {
@@ -338,6 +339,7 @@ function $e8ffe11ed01df0fe$var$make_srcset(url, resolutions) {
338
339
  return resolutions.map(width => `${$e8ffe11ed01df0fe$var$generateImageUrl(url, width)} ${width}w`).join(", ");
339
340
  }
340
341
  function $e8ffe11ed01df0fe$var$generateImageUrl(url, width) {
342
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
341
343
  url.searchParams.set("width", width);
342
344
  return url.href;
343
345
  }
@@ -3055,7 +3057,13 @@ function $ca6f574bd8772184$export$e183a13865960371(params_to_default_value, rout
3055
3057
  const entries = Object.entries(params_to_default_value);
3056
3058
  const event_handler = $i7OB2$catchify((what_happened, args) => {
3057
3059
  // Intentionally always update our signals to the history state to allow external control of SDK state for doing things like https://linear.app/depictai/issue/X-1432/is-this-possible-with-the-depict-sdk
3058
- $ca6f574bd8772184$var$history_state_change(signals, entries, what_happened === "popstate" ? args.state : history.state);
3060
+ if (what_happened !== "popstate") return;
3061
+ // Had to undo the comment above,but leaving the history. Doing this because discovering why it doesn't work is a deja-vu and I don't want to have to discover it again.
3062
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
3063
+ // The reason for that is because writes to the state trigger writes to the state (something about local filter state, see the comment where `last_remote_state !== available_filters_()` happens in create_modified_filters.tsx)
3064
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
3065
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
3066
+ $ca6f574bd8772184$var$history_state_change(signals, entries, args.state);
3059
3067
  });
3060
3068
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
3061
3069
  $i7OB2$createRenderEffect(() => {