@depict-ai/ui 2.1.5 → 2.1.7

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.5";
79
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "2.1.7";
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]);
@@ -365,11 +365,14 @@ function $858fdcf73148519f$export$6e5611bc7e57e477(props) {
365
365
  let sizeSetFastPath = false;
366
366
  let hasDecodedFastPath = false;
367
367
  let timeoutSet = false;
368
+ let gotCleanedUp = false;
369
+ $52FdA$solidjs.onCleanup(() => gotCleanedUp = true);
368
370
  $52FdA$solidjsweb.spread(img, $52FdA$solidjs.mergeProps(otherOptions), false, true);
369
371
  $52FdA$solidjs.createEffect(() => {
370
372
  if (!props.size()) return; // wait until we have a size
371
373
  if (timeoutSet) return;
372
374
  const handler = $52FdA$depictaiutilishared.catchify(() => {
375
+ if (gotCleanedUp) return;
373
376
  img.sizes = sizePX(); // use latest available value of props.size
374
377
  if (!sizeSetFastPath) {
375
378
  setHasSetSize(true);
@@ -401,6 +404,7 @@ function $858fdcf73148519f$export$6e5611bc7e57e477(props) {
401
404
  .then(async () => {
402
405
  // Also wait with inserting image (i.e. paint) until browser is idle
403
406
  await new Promise(r => executeWhenIdleBatched(r));
407
+ if (gotCleanedUp) return;
404
408
  setHasDecoded(true);
405
409
  hasDecodedFastPath = true;
406
410
  });
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.5";
10
+ export const version = "2.1.7";
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.5";
12
+ const $8db9a15135765c11$export$83d89fbfd8236492 = "2.1.7";
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]);
@@ -298,11 +298,14 @@ function $56047603f9d212b6$export$6e5611bc7e57e477(props) {
298
298
  let sizeSetFastPath = false;
299
299
  let hasDecodedFastPath = false;
300
300
  let timeoutSet = false;
301
+ let gotCleanedUp = false;
302
+ $8tj43$onCleanup(() => gotCleanedUp = true);
301
303
  $8tj43$spread(img, $8tj43$mergeProps(otherOptions), false, true);
302
304
  $8tj43$createEffect(() => {
303
305
  if (!props.size()) return; // wait until we have a size
304
306
  if (timeoutSet) return;
305
307
  const handler = $8tj43$catchify(() => {
308
+ if (gotCleanedUp) return;
306
309
  img.sizes = sizePX(); // use latest available value of props.size
307
310
  if (!sizeSetFastPath) {
308
311
  setHasSetSize(true);
@@ -334,6 +337,7 @@ function $56047603f9d212b6$export$6e5611bc7e57e477(props) {
334
337
  .then(async () => {
335
338
  // Also wait with inserting image (i.e. paint) until browser is idle
336
339
  await new Promise(r => executeWhenIdleBatched(r));
340
+ if (gotCleanedUp) return;
337
341
  setHasDecoded(true);
338
342
  hasDecodedFastPath = true;
339
343
  });
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.5";
73
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "2.1.7";
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]);
@@ -351,11 +351,14 @@ function $19950faaac026e09$export$6e5611bc7e57e477(props) {
351
351
  let sizeSetFastPath = false;
352
352
  let hasDecodedFastPath = false;
353
353
  let timeoutSet = false;
354
+ let gotCleanedUp = false;
355
+ $gVhhF$solidjs.onCleanup(() => gotCleanedUp = true);
354
356
  $gVhhF$solidjsweb.spread(img, $gVhhF$solidjs.mergeProps(otherOptions), false, true);
355
357
  $gVhhF$solidjs.createEffect(() => {
356
358
  if (!props.size()) return; // wait until we have a size
357
359
  if (timeoutSet) return;
358
360
  const handler = $gVhhF$depictaiutilishared.catchify(() => {
361
+ if (gotCleanedUp) return;
359
362
  img.sizes = sizePX(); // use latest available value of props.size
360
363
  if (!sizeSetFastPath) {
361
364
  setHasSetSize(true);
@@ -387,6 +390,7 @@ function $19950faaac026e09$export$6e5611bc7e57e477(props) {
387
390
  .then(async () => {
388
391
  // Also wait with inserting image (i.e. paint) until browser is idle
389
392
  await new Promise(r => executeWhenIdleBatched(r));
393
+ if (gotCleanedUp) return;
390
394
  setHasDecoded(true);
391
395
  hasDecodedFastPath = true;
392
396
  });
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.5";
10
+ export const version = "2.1.7";
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.5";
9
+ const $ec291e0010116877$export$83d89fbfd8236492 = "2.1.7";
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]);
@@ -287,11 +287,14 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
287
287
  let sizeSetFastPath = false;
288
288
  let hasDecodedFastPath = false;
289
289
  let timeoutSet = false;
290
+ let gotCleanedUp = false;
291
+ $9HbP8$onCleanup(() => gotCleanedUp = true);
290
292
  $9HbP8$spread(img, $9HbP8$mergeProps(otherOptions), false, true);
291
293
  $9HbP8$createEffect(() => {
292
294
  if (!props.size()) return; // wait until we have a size
293
295
  if (timeoutSet) return;
294
296
  const handler = $9HbP8$catchify(() => {
297
+ if (gotCleanedUp) return;
295
298
  img.sizes = sizePX(); // use latest available value of props.size
296
299
  if (!sizeSetFastPath) {
297
300
  setHasSetSize(true);
@@ -323,6 +326,7 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
323
326
  .then(async () => {
324
327
  // Also wait with inserting image (i.e. paint) until browser is idle
325
328
  await new Promise(r => executeWhenIdleBatched(r));
329
+ if (gotCleanedUp) return;
326
330
  setHasDecoded(true);
327
331
  hasDecodedFastPath = true;
328
332
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@depict-ai/ui",
3
- "version": "2.1.5",
3
+ "version": "2.1.7",
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.5";
79
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "2.1.7";
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]);
@@ -361,11 +361,14 @@ function $858fdcf73148519f$export$6e5611bc7e57e477(props) {
361
361
  let sizeSetFastPath = false;
362
362
  let hasDecodedFastPath = false;
363
363
  let timeoutSet = false;
364
+ let gotCleanedUp = false;
365
+ $3hooq$solidjs.onCleanup(() => gotCleanedUp = true);
364
366
  $3hooq$solidjsweb.spread(img, $3hooq$solidjs.mergeProps(otherOptions), false, true);
365
367
  $3hooq$solidjs.createEffect(() => {
366
368
  if (!props.size()) return; // wait until we have a size
367
369
  if (timeoutSet) return;
368
370
  const handler = $3hooq$depictaiutilishared.catchify(() => {
371
+ if (gotCleanedUp) return;
369
372
  img.sizes = sizePX(); // use latest available value of props.size
370
373
  if (!sizeSetFastPath) {
371
374
  setHasSetSize(true);
@@ -397,6 +400,7 @@ function $858fdcf73148519f$export$6e5611bc7e57e477(props) {
397
400
  .then(async () => {
398
401
  // Also wait with inserting image (i.e. paint) until browser is idle
399
402
  await new Promise(r => executeWhenIdleBatched(r));
403
+ if (gotCleanedUp) return;
400
404
  setHasDecoded(true);
401
405
  hasDecodedFastPath = true;
402
406
  });
@@ -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.5";
10
+ export const version = "2.1.7";
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.5";
12
+ const $8db9a15135765c11$export$83d89fbfd8236492 = "2.1.7";
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]);
@@ -294,11 +294,14 @@ function $56047603f9d212b6$export$6e5611bc7e57e477(props) {
294
294
  let sizeSetFastPath = false;
295
295
  let hasDecodedFastPath = false;
296
296
  let timeoutSet = false;
297
+ let gotCleanedUp = false;
298
+ $b8hua$onCleanup(() => gotCleanedUp = true);
297
299
  $b8hua$spread(img, $b8hua$mergeProps(otherOptions), false, true);
298
300
  $b8hua$createEffect(() => {
299
301
  if (!props.size()) return; // wait until we have a size
300
302
  if (timeoutSet) return;
301
303
  const handler = $b8hua$catchify(() => {
304
+ if (gotCleanedUp) return;
302
305
  img.sizes = sizePX(); // use latest available value of props.size
303
306
  if (!sizeSetFastPath) {
304
307
  setHasSetSize(true);
@@ -330,6 +333,7 @@ function $56047603f9d212b6$export$6e5611bc7e57e477(props) {
330
333
  .then(async () => {
331
334
  // Also wait with inserting image (i.e. paint) until browser is idle
332
335
  await new Promise(r => executeWhenIdleBatched(r));
336
+ if (gotCleanedUp) return;
333
337
  setHasDecoded(true);
334
338
  hasDecodedFastPath = true;
335
339
  });
@@ -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.5";
73
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "2.1.7";
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]);
@@ -347,11 +347,14 @@ function $19950faaac026e09$export$6e5611bc7e57e477(props) {
347
347
  let sizeSetFastPath = false;
348
348
  let hasDecodedFastPath = false;
349
349
  let timeoutSet = false;
350
+ let gotCleanedUp = false;
351
+ $5vyXB$solidjs.onCleanup(() => gotCleanedUp = true);
350
352
  $5vyXB$solidjsweb.spread(img, $5vyXB$solidjs.mergeProps(otherOptions), false, true);
351
353
  $5vyXB$solidjs.createEffect(() => {
352
354
  if (!props.size()) return; // wait until we have a size
353
355
  if (timeoutSet) return;
354
356
  const handler = $5vyXB$depictaiutilishared.catchify(() => {
357
+ if (gotCleanedUp) return;
355
358
  img.sizes = sizePX(); // use latest available value of props.size
356
359
  if (!sizeSetFastPath) {
357
360
  setHasSetSize(true);
@@ -383,6 +386,7 @@ function $19950faaac026e09$export$6e5611bc7e57e477(props) {
383
386
  .then(async () => {
384
387
  // Also wait with inserting image (i.e. paint) until browser is idle
385
388
  await new Promise(r => executeWhenIdleBatched(r));
389
+ if (gotCleanedUp) return;
386
390
  setHasDecoded(true);
387
391
  hasDecodedFastPath = true;
388
392
  });
@@ -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.5";
10
+ export const version = "2.1.7";
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.5";
9
+ const $ec291e0010116877$export$83d89fbfd8236492 = "2.1.7";
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]);
@@ -283,11 +283,14 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
283
283
  let sizeSetFastPath = false;
284
284
  let hasDecodedFastPath = false;
285
285
  let timeoutSet = false;
286
+ let gotCleanedUp = false;
287
+ $i7OB2$onCleanup(() => gotCleanedUp = true);
286
288
  $i7OB2$spread(img, $i7OB2$mergeProps(otherOptions), false, true);
287
289
  $i7OB2$createEffect(() => {
288
290
  if (!props.size()) return; // wait until we have a size
289
291
  if (timeoutSet) return;
290
292
  const handler = $i7OB2$catchify(() => {
293
+ if (gotCleanedUp) return;
291
294
  img.sizes = sizePX(); // use latest available value of props.size
292
295
  if (!sizeSetFastPath) {
293
296
  setHasSetSize(true);
@@ -319,6 +322,7 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
319
322
  .then(async () => {
320
323
  // Also wait with inserting image (i.e. paint) until browser is idle
321
324
  await new Promise(r => executeWhenIdleBatched(r));
325
+ if (gotCleanedUp) return;
322
326
  setHasDecoded(true);
323
327
  hasDecodedFastPath = true;
324
328
  });