@depict-ai/ui 2.1.6 → 2.1.8

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.6";
79
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "2.1.8";
80
80
  const $a68b73fd7ba0853f$var$fallback_operator = "in";
81
81
  const $a68b73fd7ba0853f$var$fallback_token = "";
82
82
  const $a68b73fd7ba0853f$var$legacy_filter_prefix = "filter_";
@@ -335,7 +335,7 @@ function $858fdcf73148519f$export$6e5611bc7e57e477(props) {
335
335
  // Batch idle callbacks so that MutationObserver can batch the resulting mutations better, so we don't lose tons of CPU time to MutationObservers doing lots of things for each image
336
336
  // Happened on singular, they have some weird observer (+we also have one but ours is at least 3x more efficient)
337
337
  const executeWhenIdleBatched = fn => {
338
- if (typeof requestIdleCallback !== "function") setTimeout(fn); // Old browsers don't get optimisation
338
+ if (typeof requestIdleCallback !== "function") return setTimeout(fn); // Old browsers don't get optimisation
339
339
  const existingStack = listingContext === null || listingContext === void 0 ? void 0 : listingContext[$858fdcf73148519f$var$onIdleFunctionsSymbol];
340
340
  if (existingStack) return existingStack.add(fn);
341
341
  const newStack = new Set([fn]);
@@ -420,6 +420,7 @@ function $858fdcf73148519f$var$make_srcset(url, resolutions) {
420
420
  return resolutions.map(width => "".concat($858fdcf73148519f$var$generateImageUrl(url, width), " ").concat(width, "w")).join(", ");
421
421
  }
422
422
  function $858fdcf73148519f$var$generateImageUrl(url, width) {
423
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
423
424
  url.searchParams.set("width", width);
424
425
  return url.href;
425
426
  }
@@ -4206,7 +4207,13 @@ function $367b536a2a94d24e$export$e183a13865960371(params_to_default_value, rout
4206
4207
  const entries = Object.entries(params_to_default_value);
4207
4208
  const event_handler = $52FdA$depictaiutilishared.catchify((what_happened, args) => {
4208
4209
  // 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);
4210
+ if (what_happened !== "popstate") return;
4211
+ // 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.
4212
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
4213
+ // 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)
4214
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
4215
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
4216
+ $367b536a2a94d24e$var$history_state_change(signals, entries, args.state);
4210
4217
  });
4211
4218
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
4212
4219
  $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.6";
10
+ export const version = "2.1.8";
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.6";
12
+ const $8db9a15135765c11$export$83d89fbfd8236492 = "2.1.8";
13
13
  const $2855bffe06ef7a03$var$fallback_operator = "in";
14
14
  const $2855bffe06ef7a03$var$fallback_token = "";
15
15
  const $2855bffe06ef7a03$var$legacy_filter_prefix = "filter_";
@@ -268,7 +268,7 @@ function $56047603f9d212b6$export$6e5611bc7e57e477(props) {
268
268
  // Batch idle callbacks so that MutationObserver can batch the resulting mutations better, so we don't lose tons of CPU time to MutationObservers doing lots of things for each image
269
269
  // Happened on singular, they have some weird observer (+we also have one but ours is at least 3x more efficient)
270
270
  const executeWhenIdleBatched = fn => {
271
- if (typeof requestIdleCallback !== "function") setTimeout(fn); // Old browsers don't get optimisation
271
+ if (typeof requestIdleCallback !== "function") return setTimeout(fn); // Old browsers don't get optimisation
272
272
  const existingStack = listingContext === null || listingContext === void 0 ? void 0 : listingContext[$56047603f9d212b6$var$onIdleFunctionsSymbol];
273
273
  if (existingStack) return existingStack.add(fn);
274
274
  const newStack = new Set([fn]);
@@ -353,6 +353,7 @@ function $56047603f9d212b6$var$make_srcset(url, resolutions) {
353
353
  return resolutions.map(width => "".concat($56047603f9d212b6$var$generateImageUrl(url, width), " ").concat(width, "w")).join(", ");
354
354
  }
355
355
  function $56047603f9d212b6$var$generateImageUrl(url, width) {
356
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
356
357
  url.searchParams.set("width", width);
357
358
  return url.href;
358
359
  }
@@ -4139,7 +4140,13 @@ function $972f6bce0f9d61be$export$e183a13865960371(params_to_default_value, rout
4139
4140
  const entries = Object.entries(params_to_default_value);
4140
4141
  const event_handler = $8tj43$catchify((what_happened, args) => {
4141
4142
  // 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);
4143
+ if (what_happened !== "popstate") return;
4144
+ // 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.
4145
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
4146
+ // 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)
4147
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
4148
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
4149
+ $972f6bce0f9d61be$var$history_state_change(signals, entries, args.state);
4143
4150
  });
4144
4151
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
4145
4152
  $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.6";
73
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "2.1.8";
74
74
  const $1ab22f2cd39b3061$var$fallback_operator = "in";
75
75
  const $1ab22f2cd39b3061$var$fallback_token = "";
76
76
  const $1ab22f2cd39b3061$var$legacy_filter_prefix = "filter_";
@@ -321,7 +321,7 @@ function $19950faaac026e09$export$6e5611bc7e57e477(props) {
321
321
  // Batch idle callbacks so that MutationObserver can batch the resulting mutations better, so we don't lose tons of CPU time to MutationObservers doing lots of things for each image
322
322
  // Happened on singular, they have some weird observer (+we also have one but ours is at least 3x more efficient)
323
323
  const executeWhenIdleBatched = fn => {
324
- if (typeof requestIdleCallback !== "function") setTimeout(fn); // Old browsers don't get optimisation
324
+ if (typeof requestIdleCallback !== "function") return setTimeout(fn); // Old browsers don't get optimisation
325
325
  const existingStack = listingContext?.[$19950faaac026e09$var$onIdleFunctionsSymbol];
326
326
  if (existingStack) return existingStack.add(fn);
327
327
  const newStack = new Set([fn]);
@@ -406,6 +406,7 @@ function $19950faaac026e09$var$make_srcset(url, resolutions) {
406
406
  return resolutions.map(width => `${$19950faaac026e09$var$generateImageUrl(url, width)} ${width}w`).join(", ");
407
407
  }
408
408
  function $19950faaac026e09$var$generateImageUrl(url, width) {
409
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
409
410
  url.searchParams.set("width", width);
410
411
  return url.href;
411
412
  }
@@ -3952,7 +3953,13 @@ function $6e22b5314fb52f4c$export$e183a13865960371(params_to_default_value, rout
3952
3953
  const entries = Object.entries(params_to_default_value);
3953
3954
  const event_handler = $gVhhF$depictaiutilishared.catchify((what_happened, args) => {
3954
3955
  // 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);
3956
+ if (what_happened !== "popstate") return;
3957
+ // 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.
3958
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
3959
+ // 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)
3960
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
3961
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
3962
+ $6e22b5314fb52f4c$var$history_state_change(signals, entries, args.state);
3956
3963
  });
3957
3964
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
3958
3965
  $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.6";
10
+ export const version = "2.1.8";
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.6";
9
+ const $ec291e0010116877$export$83d89fbfd8236492 = "2.1.8";
10
10
  const $4147651646da990a$var$fallback_operator = "in";
11
11
  const $4147651646da990a$var$fallback_token = "";
12
12
  const $4147651646da990a$var$legacy_filter_prefix = "filter_";
@@ -257,7 +257,7 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
257
257
  // Batch idle callbacks so that MutationObserver can batch the resulting mutations better, so we don't lose tons of CPU time to MutationObservers doing lots of things for each image
258
258
  // Happened on singular, they have some weird observer (+we also have one but ours is at least 3x more efficient)
259
259
  const executeWhenIdleBatched = fn => {
260
- if (typeof requestIdleCallback !== "function") setTimeout(fn); // Old browsers don't get optimisation
260
+ if (typeof requestIdleCallback !== "function") return setTimeout(fn); // Old browsers don't get optimisation
261
261
  const existingStack = listingContext?.[$e8ffe11ed01df0fe$var$onIdleFunctionsSymbol];
262
262
  if (existingStack) return existingStack.add(fn);
263
263
  const newStack = new Set([fn]);
@@ -342,6 +342,7 @@ function $e8ffe11ed01df0fe$var$make_srcset(url, resolutions) {
342
342
  return resolutions.map(width => `${$e8ffe11ed01df0fe$var$generateImageUrl(url, width)} ${width}w`).join(", ");
343
343
  }
344
344
  function $e8ffe11ed01df0fe$var$generateImageUrl(url, width) {
345
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
345
346
  url.searchParams.set("width", width);
346
347
  return url.href;
347
348
  }
@@ -3888,7 +3889,13 @@ function $ca6f574bd8772184$export$e183a13865960371(params_to_default_value, rout
3888
3889
  const entries = Object.entries(params_to_default_value);
3889
3890
  const event_handler = $9HbP8$catchify((what_happened, args) => {
3890
3891
  // 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);
3892
+ if (what_happened !== "popstate") return;
3893
+ // 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.
3894
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
3895
+ // 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)
3896
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
3897
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
3898
+ $ca6f574bd8772184$var$history_state_change(signals, entries, args.state);
3892
3899
  });
3893
3900
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
3894
3901
  $9HbP8$createRenderEffect(() => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@depict-ai/ui",
3
- "version": "2.1.6",
3
+ "version": "2.1.8",
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.6";
79
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "2.1.8";
80
80
  const $a68b73fd7ba0853f$var$fallback_operator = "in";
81
81
  const $a68b73fd7ba0853f$var$fallback_token = "";
82
82
  const $a68b73fd7ba0853f$var$legacy_filter_prefix = "filter_";
@@ -331,7 +331,7 @@ function $858fdcf73148519f$export$6e5611bc7e57e477(props) {
331
331
  // Batch idle callbacks so that MutationObserver can batch the resulting mutations better, so we don't lose tons of CPU time to MutationObservers doing lots of things for each image
332
332
  // Happened on singular, they have some weird observer (+we also have one but ours is at least 3x more efficient)
333
333
  const executeWhenIdleBatched = fn => {
334
- if (typeof requestIdleCallback !== "function") setTimeout(fn); // Old browsers don't get optimisation
334
+ if (typeof requestIdleCallback !== "function") return setTimeout(fn); // Old browsers don't get optimisation
335
335
  const existingStack = listingContext === null || listingContext === void 0 ? void 0 : listingContext[$858fdcf73148519f$var$onIdleFunctionsSymbol];
336
336
  if (existingStack) return existingStack.add(fn);
337
337
  const newStack = new Set([fn]);
@@ -416,6 +416,7 @@ function $858fdcf73148519f$var$make_srcset(url, resolutions) {
416
416
  return resolutions.map(width => "".concat($858fdcf73148519f$var$generateImageUrl(url, width), " ").concat(width, "w")).join(", ");
417
417
  }
418
418
  function $858fdcf73148519f$var$generateImageUrl(url, width) {
419
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
419
420
  url.searchParams.set("width", width);
420
421
  return url.href;
421
422
  }
@@ -3336,7 +3337,13 @@ function $367b536a2a94d24e$export$e183a13865960371(params_to_default_value, rout
3336
3337
  const entries = Object.entries(params_to_default_value);
3337
3338
  const event_handler = $3hooq$depictaiutilishared.catchify((what_happened, args) => {
3338
3339
  // 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);
3340
+ if (what_happened !== "popstate") return;
3341
+ // 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.
3342
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
3343
+ // 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)
3344
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
3345
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
3346
+ $367b536a2a94d24e$var$history_state_change(signals, entries, args.state);
3340
3347
  });
3341
3348
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
3342
3349
  $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.6";
10
+ export const version = "2.1.8";
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.6";
12
+ const $8db9a15135765c11$export$83d89fbfd8236492 = "2.1.8";
13
13
  const $2855bffe06ef7a03$var$fallback_operator = "in";
14
14
  const $2855bffe06ef7a03$var$fallback_token = "";
15
15
  const $2855bffe06ef7a03$var$legacy_filter_prefix = "filter_";
@@ -264,7 +264,7 @@ function $56047603f9d212b6$export$6e5611bc7e57e477(props) {
264
264
  // Batch idle callbacks so that MutationObserver can batch the resulting mutations better, so we don't lose tons of CPU time to MutationObservers doing lots of things for each image
265
265
  // Happened on singular, they have some weird observer (+we also have one but ours is at least 3x more efficient)
266
266
  const executeWhenIdleBatched = fn => {
267
- if (typeof requestIdleCallback !== "function") setTimeout(fn); // Old browsers don't get optimisation
267
+ if (typeof requestIdleCallback !== "function") return setTimeout(fn); // Old browsers don't get optimisation
268
268
  const existingStack = listingContext === null || listingContext === void 0 ? void 0 : listingContext[$56047603f9d212b6$var$onIdleFunctionsSymbol];
269
269
  if (existingStack) return existingStack.add(fn);
270
270
  const newStack = new Set([fn]);
@@ -349,6 +349,7 @@ function $56047603f9d212b6$var$make_srcset(url, resolutions) {
349
349
  return resolutions.map(width => "".concat($56047603f9d212b6$var$generateImageUrl(url, width), " ").concat(width, "w")).join(", ");
350
350
  }
351
351
  function $56047603f9d212b6$var$generateImageUrl(url, width) {
352
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
352
353
  url.searchParams.set("width", width);
353
354
  return url.href;
354
355
  }
@@ -3269,7 +3270,13 @@ function $972f6bce0f9d61be$export$e183a13865960371(params_to_default_value, rout
3269
3270
  const entries = Object.entries(params_to_default_value);
3270
3271
  const event_handler = $b8hua$catchify((what_happened, args) => {
3271
3272
  // 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);
3273
+ if (what_happened !== "popstate") return;
3274
+ // 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.
3275
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
3276
+ // 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)
3277
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
3278
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
3279
+ $972f6bce0f9d61be$var$history_state_change(signals, entries, args.state);
3273
3280
  });
3274
3281
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
3275
3282
  $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.6";
73
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "2.1.8";
74
74
  const $1ab22f2cd39b3061$var$fallback_operator = "in";
75
75
  const $1ab22f2cd39b3061$var$fallback_token = "";
76
76
  const $1ab22f2cd39b3061$var$legacy_filter_prefix = "filter_";
@@ -317,7 +317,7 @@ function $19950faaac026e09$export$6e5611bc7e57e477(props) {
317
317
  // Batch idle callbacks so that MutationObserver can batch the resulting mutations better, so we don't lose tons of CPU time to MutationObservers doing lots of things for each image
318
318
  // Happened on singular, they have some weird observer (+we also have one but ours is at least 3x more efficient)
319
319
  const executeWhenIdleBatched = fn => {
320
- if (typeof requestIdleCallback !== "function") setTimeout(fn); // Old browsers don't get optimisation
320
+ if (typeof requestIdleCallback !== "function") return setTimeout(fn); // Old browsers don't get optimisation
321
321
  const existingStack = listingContext?.[$19950faaac026e09$var$onIdleFunctionsSymbol];
322
322
  if (existingStack) return existingStack.add(fn);
323
323
  const newStack = new Set([fn]);
@@ -402,6 +402,7 @@ function $19950faaac026e09$var$make_srcset(url, resolutions) {
402
402
  return resolutions.map(width => `${$19950faaac026e09$var$generateImageUrl(url, width)} ${width}w`).join(", ");
403
403
  }
404
404
  function $19950faaac026e09$var$generateImageUrl(url, width) {
405
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
405
406
  url.searchParams.set("width", width);
406
407
  return url.href;
407
408
  }
@@ -3119,7 +3120,13 @@ function $6e22b5314fb52f4c$export$e183a13865960371(params_to_default_value, rout
3119
3120
  const entries = Object.entries(params_to_default_value);
3120
3121
  const event_handler = $5vyXB$depictaiutilishared.catchify((what_happened, args) => {
3121
3122
  // 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);
3123
+ if (what_happened !== "popstate") return;
3124
+ // 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.
3125
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
3126
+ // 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)
3127
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
3128
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
3129
+ $6e22b5314fb52f4c$var$history_state_change(signals, entries, args.state);
3123
3130
  });
3124
3131
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
3125
3132
  $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.6";
10
+ export const version = "2.1.8";
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.6";
9
+ const $ec291e0010116877$export$83d89fbfd8236492 = "2.1.8";
10
10
  const $4147651646da990a$var$fallback_operator = "in";
11
11
  const $4147651646da990a$var$fallback_token = "";
12
12
  const $4147651646da990a$var$legacy_filter_prefix = "filter_";
@@ -253,7 +253,7 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
253
253
  // Batch idle callbacks so that MutationObserver can batch the resulting mutations better, so we don't lose tons of CPU time to MutationObservers doing lots of things for each image
254
254
  // Happened on singular, they have some weird observer (+we also have one but ours is at least 3x more efficient)
255
255
  const executeWhenIdleBatched = fn => {
256
- if (typeof requestIdleCallback !== "function") setTimeout(fn); // Old browsers don't get optimisation
256
+ if (typeof requestIdleCallback !== "function") return setTimeout(fn); // Old browsers don't get optimisation
257
257
  const existingStack = listingContext?.[$e8ffe11ed01df0fe$var$onIdleFunctionsSymbol];
258
258
  if (existingStack) return existingStack.add(fn);
259
259
  const newStack = new Set([fn]);
@@ -338,6 +338,7 @@ function $e8ffe11ed01df0fe$var$make_srcset(url, resolutions) {
338
338
  return resolutions.map(width => `${$e8ffe11ed01df0fe$var$generateImageUrl(url, width)} ${width}w`).join(", ");
339
339
  }
340
340
  function $e8ffe11ed01df0fe$var$generateImageUrl(url, width) {
341
+ // This function is quite slow, we maybe could do string concat with encodeURIComponent instead if shopify handles double width params well?
341
342
  url.searchParams.set("width", width);
342
343
  return url.href;
343
344
  }
@@ -3055,7 +3056,13 @@ function $ca6f574bd8772184$export$e183a13865960371(params_to_default_value, rout
3055
3056
  const entries = Object.entries(params_to_default_value);
3056
3057
  const event_handler = $i7OB2$catchify((what_happened, args) => {
3057
3058
  // 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);
3059
+ if (what_happened !== "popstate") return;
3060
+ // 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.
3061
+ // If we want others to interface with our state, it's better to expose it from DepictCategory/DepictSearch
3062
+ // 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)
3063
+ // And can infinite loop, like in https://app.jiminny.com/playback/569c8f65-edea-4735-bd9e-4eb5a0b14cad
3064
+ // It's the classical equilibrium problem when syncing state both down and up, and it's much easier to avoid than solve
3065
+ $ca6f574bd8772184$var$history_state_change(signals, entries, args.state);
3059
3066
  });
3060
3067
  // createRenderEffect because we need the instant execution so the signals always contain values, even before solid's render phase
3061
3068
  $i7OB2$createRenderEffect(() => {