@depict-ai/ui 4.9.3 → 4.9.5

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/latest/index.js CHANGED
@@ -3,11 +3,12 @@ import { template as $9HbP8$template, createComponent as $9HbP8$createComponent,
3
3
  import { createContext as $9HbP8$createContext, createSignal as $9HbP8$createSignal, getOwner as $9HbP8$getOwner, createResource as $9HbP8$createResource, untrack as $9HbP8$untrack, createRoot as $9HbP8$createRoot, createEffect as $9HbP8$createEffect, runWithOwner as $9HbP8$runWithOwner, onCleanup as $9HbP8$onCleanup, createMemo as $9HbP8$createMemo, Show as $9HbP8$Show, createComputed as $9HbP8$createComputed, createRenderEffect as $9HbP8$createRenderEffect, mergeProps as $9HbP8$mergeProps, useContext as $9HbP8$useContext, createReaction as $9HbP8$createReaction, on as $9HbP8$on, Suspense as $9HbP8$Suspense, ErrorBoundary as $9HbP8$ErrorBoundary, Index as $9HbP8$Index, For as $9HbP8$For, createUniqueId as $9HbP8$createUniqueId, mapArray as $9HbP8$mapArray, batch as $9HbP8$batch, Switch as $9HbP8$Switch, Match as $9HbP8$Match, splitProps as $9HbP8$splitProps, createComponent as $9HbP8$createComponent1, createSelector as $9HbP8$createSelector, children as $9HbP8$children } from "solid-js";
4
4
  import { catchify as $9HbP8$catchify, report as $9HbP8$report, use_href_accessor as $9HbP8$use_href_accessor, dlog as $9HbP8$dlog1, ListenableSet as $9HbP8$ListenableSet, queueMacroTask as $9HbP8$queueMacroTask1 } from "@depict-ai/utilishared/latest";
5
5
  import { createStore as $9HbP8$createStore, reconcile as $9HbP8$reconcile } from "solid-js/store";
6
+ import { is_available_in as $9HbP8$is_available_in } from "@depict-ai/utilishared/src/latest";
6
7
 
7
8
  /*! Depict.ai search and product listing SDK */
8
9
  import { register_es_version } from "../multi_import_deduplicator.mjs";
9
10
  register_es_version("ui", "latest");
10
- const $ec291e0010116877$export$83d89fbfd8236492 = "4.9.3";
11
+ const $ec291e0010116877$export$83d89fbfd8236492 = "4.9.5";
11
12
  function $dc9262ef6f786812$export$d9f36cf74e24d595(media_query) {
12
13
  const signal = $9HbP8$createSignal(false);
13
14
  $9HbP8$onCleanup($9HbP8$javascript_media_query(media_query, ({
@@ -7483,6 +7484,21 @@ function $70bb27cc6be01fc7$export$140423fa4bfb6d63(props) {
7483
7484
  customUrls: $70bb27cc6be01fc7$var$customUrls
7484
7485
  }));
7485
7486
  }
7487
+ let $e422ea9eccb7892b$var$cachedHlsModule;
7488
+ async function $e422ea9eccb7892b$export$5d2f6cd705125cd3() {
7489
+ if ($e422ea9eccb7892b$var$cachedHlsModule) return $e422ea9eccb7892b$var$cachedHlsModule;
7490
+ const global_var_name = "_depict_ai_hls_polyfill";
7491
+ const scriptTag = document.createElement("script");
7492
+ scriptTag.type = "module";
7493
+ // Our build systems aren't set-up for dynamic imports, so do this instead
7494
+ scriptTag.append(`import("https://cdn.jsdelivr.net/npm/hls.js/+esm").then(m=>window.${global_var_name}=m)`);
7495
+ document.head.append(scriptTag);
7496
+ const hlsModule = await $9HbP8$is_available_in(window, global_var_name);
7497
+ delete window[global_var_name];
7498
+ scriptTag.remove();
7499
+ $e422ea9eccb7892b$var$cachedHlsModule = hlsModule;
7500
+ return hlsModule;
7501
+ }
7486
7502
  var $f916989c4b1be9f7$var$_tmpl$ = /*#__PURE__*/$9HbP8$template(`<video loop class=d-standard-content>`);
7487
7503
  function $f916989c4b1be9f7$export$780a853d15174484({
7488
7504
  link_: link_,
@@ -7547,13 +7563,24 @@ function $f916989c4b1be9f7$export$780a853d15174484({
7547
7563
  when: type_ === "video",
7548
7564
  get children() {
7549
7565
  var _el$ = $9HbP8$getNextElement($f916989c4b1be9f7$var$_tmpl$);
7550
- $9HbP8$use(element => {
7566
+ var _ref$ = $9HbP8$catchify(async element => {
7551
7567
  const pageVisible = $5e3d278ef4c80cd7$export$54299a3c81f5425();
7568
+ const owner = $9HbP8$getOwner();
7552
7569
  element.addEventListener("loadedmetadata", $9HbP8$catchify(() => setAspectRatio(element.videoWidth / element.videoHeight)));
7553
- $9HbP8$createEffect(() => {
7570
+ // If hls is not supported, dynamically import hls.js as polyfill
7571
+ if (mediaUrl_.includes(".m3u8") && !element.canPlayType("application/vnd.apple.mpegurl")) {
7572
+ const hlsJs = await $e422ea9eccb7892b$export$5d2f6cd705125cd3().catch(e => $9HbP8$report([e, "Failed to load hls.js"], "error"));
7573
+ if (!hlsJs || !hlsJs.isSupported()) return;
7574
+ const hls = new hlsJs.default();
7575
+ hls.loadSource(mediaUrl_);
7576
+ hls.attachMedia(element);
7577
+ }
7578
+ // need runWithOwner for createEffect, because we potentially awaited above
7579
+ $9HbP8$runWithOwner(owner, () => $9HbP8$createEffect(() => {
7554
7580
  if (pageVisible()) element.play().catch(e => $9HbP8$dlog("Failed to play", e));else element.pause();
7555
- });
7556
- }, _el$);
7581
+ }));
7582
+ });
7583
+ typeof _ref$ === "function" && $9HbP8$use(_ref$, _el$);
7557
7584
  _el$.addEventListener("playing", () => setHasLoaded(true));
7558
7585
  $9HbP8$setAttribute(_el$, "src", mediaUrl_);
7559
7586
  $9HbP8$setProperty(_el$, "controls", false);
@@ -9432,15 +9459,18 @@ const $e003be2a50d9e5bc$export$b05c0ae390cf3e06 = ({
9432
9459
  $9HbP8$effect(_p$ => {
9433
9460
  var _v$ = href(),
9434
9461
  _v$2 = display_.search_result_id,
9435
- _v$3 = !!isSelected?.();
9462
+ _v$3 = !!isSelected?.(),
9463
+ _v$4 = isSelected?.();
9436
9464
  _v$ !== _p$.e && $9HbP8$setAttribute(_el$4, "href", _p$.e = _v$);
9437
9465
  _v$2 !== _p$.t && $9HbP8$setAttribute(_el$4, "data-search-result-id", _p$.t = _v$2);
9438
9466
  _v$3 !== _p$.a && _el$4.classList.toggle("selected", _p$.a = _v$3);
9467
+ _v$4 !== _p$.o && $9HbP8$setAttribute(_el$4, "aria-selected", _p$.o = _v$4);
9439
9468
  return _p$;
9440
9469
  }, {
9441
9470
  e: undefined,
9442
9471
  t: undefined,
9443
- a: undefined
9472
+ a: undefined,
9473
+ o: undefined
9444
9474
  });
9445
9475
  $9HbP8$runHydrationEvents();
9446
9476
  return _el$4;
@@ -10393,7 +10423,8 @@ function $5285d2814d0fac0c$export$b94867ecbd698f21({
10393
10423
  BackIcon_: BackIcon_,
10394
10424
  buttonInFieldRef_: buttonInFieldRef_,
10395
10425
  class_: class_,
10396
- setSearchRoleOnContainer_ = true
10426
+ setSearchRoleOnContainer_ = true,
10427
+ ariaControls: ariaControls
10397
10428
  }) {
10398
10429
  let input_element;
10399
10430
  // This is the div where we recommend (and ourselves do) attach the event listener to that opens the search modal.
@@ -10607,7 +10638,11 @@ function $5285d2814d0fac0c$export$b94867ecbd698f21({
10607
10638
  },
10608
10639
  get placeholder() {
10609
10640
  return i18n_.placeholder_text_();
10610
- }
10641
+ },
10642
+ "aria-autocomplete": "list",
10643
+ "aria-haspopup": "dialog"
10644
+ }, ariaControls && {
10645
+ "aria-controls": ariaControls
10611
10646
  }), false, false);
10612
10647
  $9HbP8$insert(_el$5, !isNewModal && $9HbP8$createComponent(ClearButton, {}), _el$10, _co$2);
10613
10648
  $9HbP8$insert(_el$3, isNewModal && $9HbP8$createComponent(BackButton, {}), _el$17, _co$5);
@@ -10656,8 +10691,8 @@ function $512b994d501f412b$export$93d9bfd0c9c1a5b8(close_modal, search_query_url
10656
10691
  }
10657
10692
  var $42912431795f188e$var$_tmpl$ = /*#__PURE__*/$9HbP8$template(`<div class=discover-more><button class=major type=button>`),
10658
10693
  $42912431795f188e$var$_tmpl$2 = /*#__PURE__*/$9HbP8$template(`<b>`),
10659
- $42912431795f188e$var$_tmpl$3 = /*#__PURE__*/$9HbP8$template(`<div class=depict-search-modal><div class=body role=search><!$><!/><div class=padded><!$><!/><!$><!/><!$><!/></div><!$><!/></div><!$><!/>`),
10660
- $42912431795f188e$var$_tmpl$4 = /*#__PURE__*/$9HbP8$template(`<div class="depict plp search"><div class=depict-search-modal-backdrop></div><!$><!/>`);
10694
+ $42912431795f188e$var$_tmpl$3 = /*#__PURE__*/$9HbP8$template(`<div class=depict-search-modal><div class=body role=search aria-label="Search modal with search field, query suggestions and result preview"><!$><!/><div id=depict-suggestions-and-result-preview class=padded><!$><!/><!$><!/><!$><!/></div><!$><!/></div><!$><!/>`),
10695
+ $42912431795f188e$var$_tmpl$4 = /*#__PURE__*/$9HbP8$template(`<div class="depict plp search"role=dialog><div class=depict-search-modal-backdrop></div><!$><!/>`);
10661
10696
  /**
10662
10697
  * First generation (classic) search modal - the solid component that gets added to <body> when the search modal is opened
10663
10698
  */
@@ -10800,7 +10835,8 @@ function $42912431795f188e$var$RawClassicSearchModal({
10800
10835
  if (start === null || end === null) return;
10801
10836
  input_el.setSelectionRange(start, end);
10802
10837
  },
10803
- setSearchRoleOnContainer_: false
10838
+ setSearchRoleOnContainer_: false,
10839
+ ariaControls: "depict-suggestions-and-result-preview"
10804
10840
  });
10805
10841
  const modal_element = (() => {
10806
10842
  var _el$4 = $9HbP8$getNextElement($42912431795f188e$var$_tmpl$3),
@@ -11041,7 +11077,16 @@ function $4ce5b8892775b62d$export$67152d26d4f56ee8({
11041
11077
  });
11042
11078
  }
11043
11079
  }));
11044
- $9HbP8$effect(() => _el$2.classList.toggle("selected", !!isSelected()));
11080
+ $9HbP8$effect(_p$ => {
11081
+ var _v$ = !!isSelected(),
11082
+ _v$2 = isSelected();
11083
+ _v$ !== _p$.e && _el$2.classList.toggle("selected", _p$.e = _v$);
11084
+ _v$2 !== _p$.t && $9HbP8$setAttribute(_el$2, "aria-selected", _p$.t = _v$2);
11085
+ return _p$;
11086
+ }, {
11087
+ e: undefined,
11088
+ t: undefined
11089
+ });
11045
11090
  $9HbP8$runHydrationEvents();
11046
11091
  return _el$2;
11047
11092
  })();
@@ -11266,16 +11311,19 @@ function $903297121898e5ff$export$d4994a86c6235f72({
11266
11311
  }));
11267
11312
  $9HbP8$effect(_p$ => {
11268
11313
  var _v$ = !!isSelected(),
11269
- _v$2 = href(),
11270
- _v$3 = wholeTextToDisplay();
11314
+ _v$2 = isSelected(),
11315
+ _v$3 = href(),
11316
+ _v$4 = wholeTextToDisplay();
11271
11317
  _v$ !== _p$.e && _el$7.classList.toggle("selected", _p$.e = _v$);
11272
- _v$2 !== _p$.t && $9HbP8$setAttribute(_el$7, "href", _p$.t = _v$2);
11273
- _v$3 !== _p$.a && $9HbP8$setAttribute(_el$7, "aria-label", _p$.a = _v$3);
11318
+ _v$2 !== _p$.t && $9HbP8$setAttribute(_el$7, "aria-selected", _p$.t = _v$2);
11319
+ _v$3 !== _p$.a && $9HbP8$setAttribute(_el$7, "href", _p$.a = _v$3);
11320
+ _v$4 !== _p$.o && $9HbP8$setAttribute(_el$7, "aria-label", _p$.o = _v$4);
11274
11321
  return _p$;
11275
11322
  }, {
11276
11323
  e: undefined,
11277
11324
  t: undefined,
11278
- a: undefined
11325
+ a: undefined,
11326
+ o: undefined
11279
11327
  });
11280
11328
  return _el$7;
11281
11329
  })();
@@ -11463,7 +11511,7 @@ var $500a16dd18ee5a71$var$_tmpl$ = /*#__PURE__*/$9HbP8$template(`<div class=inst
11463
11511
  $500a16dd18ee5a71$var$_tmpl$4 = /*#__PURE__*/$9HbP8$template(`<div class=discover-more><button class=major type=button>`),
11464
11512
  $500a16dd18ee5a71$var$_tmpl$5 = /*#__PURE__*/$9HbP8$template(`<b>`),
11465
11513
  $500a16dd18ee5a71$var$_tmpl$6 = /*#__PURE__*/$9HbP8$template(`<div class=depict-search-modal-backdrop>`),
11466
- $500a16dd18ee5a71$var$_tmpl$7 = /*#__PURE__*/$9HbP8$template(`<div class=depict-search-modal><div class=body role=search><!$><!/><div class=padded></div></div><!$><!/>`),
11514
+ $500a16dd18ee5a71$var$_tmpl$7 = /*#__PURE__*/$9HbP8$template(`<div class=depict-search-modal><div class=body role=search aria-label="Search modal with search field, query suggestions and result preview"><!$><!/><div id=depict-suggestions-and-result-preview class=padded></div></div><!$><!/>`),
11467
11515
  $500a16dd18ee5a71$var$_tmpl$8 = /*#__PURE__*/$9HbP8$template(`<div class=left>`),
11468
11516
  $500a16dd18ee5a71$var$_tmpl$9 = /*#__PURE__*/$9HbP8$template(`<div class=right>`);
11469
11517
  /**
@@ -11811,7 +11859,8 @@ function $500a16dd18ee5a71$var$RawSearchModalV2({
11811
11859
  if (start === null || end === null) return;
11812
11860
  input_el.setSelectionRange(start, end);
11813
11861
  },
11814
- setSearchRoleOnContainer_: false
11862
+ setSearchRoleOnContainer_: false,
11863
+ ariaControls: "depict-suggestions-and-result-preview"
11815
11864
  });
11816
11865
  if (setSearchFieldOuterWidth_) {
11817
11866
  const resizeObserver = new ResizeObserver($9HbP8$catchify1(records => setSearchFieldOuterWidth_(records.at(-1).contentRect.width)));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@depict-ai/ui",
3
- "version": "4.9.3",
3
+ "version": "4.9.5",
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",
@@ -115,7 +115,7 @@ $parcel$export(module.exports, "BreadCrumbs", () => $335c02c1241a9ca8$export$5b7
115
115
  $parcel$export(module.exports, "QuickLinks", () => $335c02c1241a9ca8$export$de035477d6fef996);
116
116
  $parcel$export(module.exports, "CategoryPage", () => $c10e33c4681f8c9b$export$e2bf8ce7779e827e);
117
117
  /*! Depict.ai search and product listing SDK */
118
- const $aa1938dec50d6c12$export$83d89fbfd8236492 = "4.9.3";
118
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "4.9.5";
119
119
  function $3e17e871e9d0911d$export$d9f36cf74e24d595(media_query) {
120
120
  const signal = $3hooq$solidjs.createSignal(false);
121
121
  $3hooq$solidjs.onCleanup($3hooq$depictaiutilishared.javascript_media_query(media_query, _ref => {
@@ -8323,7 +8323,7 @@ const $82d079b68975fbf7$export$b05c0ae390cf3e06 = _ref => {
8323
8323
  const secondary_image_url = ((_variant$image_urls = variant.image_urls) === null || _variant$image_urls === void 0 ? void 0 : _variant$image_urls[1]) || variant.secondary_image_url || variant.alternative_display_image_url;
8324
8324
  const brandInTagline = selected_index_ && variant.brand;
8325
8325
  const TitleBrandTagline = () => [!selected_index_ && $3hooq$solidjsweb.ssr($82d079b68975fbf7$var$_tmpl$2, $3hooq$solidjsweb.ssrHydrationKey(), $3hooq$solidjsweb.escape(variant.brand)), $3hooq$solidjsweb.ssr($82d079b68975fbf7$var$_tmpl$, $3hooq$solidjsweb.ssrHydrationKey(), $3hooq$solidjsweb.ssrAttribute("title", $3hooq$solidjsweb.escape(variant.title, true), false), $3hooq$solidjsweb.escape(variant.title)), (variant.sub_heading_1 || variant.sub_heading_2 || brandInTagline) && $3hooq$solidjsweb.ssr($82d079b68975fbf7$var$_tmpl$3, $3hooq$solidjsweb.ssrHydrationKey(), $3hooq$solidjsweb.escape([brandInTagline, variant.sub_heading_1, variant.sub_heading_2].filter(v => v).join(" | ")))];
8326
- return $3hooq$solidjsweb.ssr($82d079b68975fbf7$var$_tmpl$6, $3hooq$solidjsweb.ssrHydrationKey(), "instant-card ".concat(isSelected !== null && isSelected !== void 0 && isSelected() ? "selected" : ""), $3hooq$solidjsweb.ssrAttribute("href", $3hooq$solidjsweb.escape(href(), true), false) + $3hooq$solidjsweb.ssrAttribute("data-search-result-id", $3hooq$solidjsweb.escape(display_.search_result_id, true), false), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent(InstantCardImageComponent_, {
8326
+ return $3hooq$solidjsweb.ssr($82d079b68975fbf7$var$_tmpl$6, $3hooq$solidjsweb.ssrHydrationKey(), "instant-card ".concat(isSelected !== null && isSelected !== void 0 && isSelected() ? "selected" : ""), $3hooq$solidjsweb.ssrAttribute("href", $3hooq$solidjsweb.escape(href(), true), false) + $3hooq$solidjsweb.ssrAttribute("data-search-result-id", $3hooq$solidjsweb.escape(display_.search_result_id, true), false) + $3hooq$solidjsweb.ssrAttribute("aria-selected", $3hooq$solidjsweb.escape(isSelected === null || isSelected === void 0 ? void 0 : isSelected(), true), false), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent(InstantCardImageComponent_, {
8327
8327
  get src_() {
8328
8328
  var _variant$image_urls2;
8329
8329
  return ((_variant$image_urls2 = variant.image_urls) === null || _variant$image_urls2 === void 0 ? void 0 : _variant$image_urls2[0]) || variant.image_url || variant.display_image_url;
@@ -9187,7 +9187,8 @@ function $29e5dbeb69da7a36$export$b94867ecbd698f21(_ref) {
9187
9187
  BackIcon_: BackIcon_,
9188
9188
  buttonInFieldRef_: buttonInFieldRef_,
9189
9189
  class_: class_,
9190
- setSearchRoleOnContainer_ = true
9190
+ setSearchRoleOnContainer_ = true,
9191
+ ariaControls: ariaControls
9191
9192
  } = _ref;
9192
9193
  let input_element;
9193
9194
  // This is the div where we recommend (and ourselves do) attach the event listener to that opens the search modal.
@@ -9277,7 +9278,11 @@ function $29e5dbeb69da7a36$export$b94867ecbd698f21(_ref) {
9277
9278
  },
9278
9279
  get placeholder() {
9279
9280
  return i18n_.placeholder_text_();
9280
- }
9281
+ },
9282
+ "aria-autocomplete": "list",
9283
+ "aria-haspopup": "dialog"
9284
+ }, ariaControls && {
9285
+ "aria-controls": ariaControls
9281
9286
  }), undefined, false), !isNewModal && $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent(ClearButton, {}))), "<!--$-->", isNewModal && $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent(BackButton, {})), "<!--/-->", "<!--$-->", $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Show), {
9282
9287
  when: !isNewModal,
9283
9288
  get children() {
@@ -9314,8 +9319,8 @@ function $4b71b4fabdee5753$export$93d9bfd0c9c1a5b8(close_modal, search_query_url
9314
9319
  }
9315
9320
  var $9035b24c2dbd3f36$var$_tmpl$ = ["<div", ' class="discover-more"><button class="major" type="button">', "</button></div>"],
9316
9321
  $9035b24c2dbd3f36$var$_tmpl$2 = ["<b", ">", "</b>"],
9317
- $9035b24c2dbd3f36$var$_tmpl$3 = ["<div", ' class="', '"><div class="', '" role="search"><!--$-->', '<!--/--><div class="padded"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"],
9318
- $9035b24c2dbd3f36$var$_tmpl$4 = ["<div", ' class="', '"><div class="depict-search-modal-backdrop"></div><!--$-->', "<!--/--></div>"];
9322
+ $9035b24c2dbd3f36$var$_tmpl$3 = ["<div", ' class="', '"><div class="', '" role="search" aria-label="Search modal with search field, query suggestions and result preview"><!--$-->', '<!--/--><div id="depict-suggestions-and-result-preview" class="padded"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"],
9323
+ $9035b24c2dbd3f36$var$_tmpl$4 = ["<div", ' class="', '" role="dialog"><div class="depict-search-modal-backdrop"></div><!--$-->', "<!--/--></div>"];
9319
9324
  /**
9320
9325
  * First generation (classic) search modal - the solid component that gets added to <body> when the search modal is opened
9321
9326
  */
@@ -9453,7 +9458,8 @@ function $9035b24c2dbd3f36$var$RawClassicSearchModal(_ref) {
9453
9458
  if (start === null || end === null) return;
9454
9459
  input_el.setSelectionRange(start, end);
9455
9460
  },
9456
- setSearchRoleOnContainer_: false
9461
+ setSearchRoleOnContainer_: false,
9462
+ ariaControls: "depict-suggestions-and-result-preview"
9457
9463
  });
9458
9464
  const modal_element = $3hooq$solidjsweb.ssr($9035b24c2dbd3f36$var$_tmpl$3, $3hooq$solidjsweb.ssrHydrationKey(), "depict-search-modal", "".concat("body", " ").concat($3hooq$solidjsweb.escape($3hooq$solidjsweb.escape(random_classname, true), true)), $3hooq$solidjsweb.escape(search_field), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $1b3cf201cdd38687$export$b69d0d92862de18b), {
9459
9465
  severity_: "error",
@@ -9542,7 +9548,7 @@ function $317500f39819fba6$export$9ca09caa9c849d9c() {
9542
9548
  return $3hooq$solidjsweb.ssr($317500f39819fba6$var$_tmpl$, $3hooq$solidjsweb.ssrHydrationKey());
9543
9549
  }
9544
9550
  var $d1e7b96fb13cd1d3$var$_tmpl$ = ["<div", ' class="images-wrapper">', "</div>"],
9545
- $d1e7b96fb13cd1d3$var$_tmpl$2 = ["<div", ' class="', '"><!--$-->', "<!--/--><!--$-->", '<!--/--><h3 class="title">', "</h3></div>"],
9551
+ $d1e7b96fb13cd1d3$var$_tmpl$2 = ["<div", ' class="', '"', "><!--$-->", "<!--/--><!--$-->", '<!--/--><h3 class="title">', "</h3></div>"],
9546
9552
  $d1e7b96fb13cd1d3$var$_tmpl$3 = ["<div", ' class="empty-image" style="', '">', "</div>"];
9547
9553
  const $d1e7b96fb13cd1d3$var$aspectRatioWidthComponent = 400;
9548
9554
  const $d1e7b96fb13cd1d3$var$aspectRatioHeightComponent = 200;
@@ -9577,7 +9583,7 @@ function $d1e7b96fb13cd1d3$export$67152d26d4f56ee8(_ref) {
9577
9583
  var _listing_3;
9578
9584
  return (_listing_3 = listing_()) === null || _listing_3 === void 0 ? void 0 : _listing_3.ancestors;
9579
9585
  });
9580
- return $3hooq$solidjsweb.ssr($d1e7b96fb13cd1d3$var$_tmpl$2, $3hooq$solidjsweb.ssrHydrationKey(), "listing-card ".concat(isSelected() ? "selected" : ""), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent(LinkToListing, {
9586
+ return $3hooq$solidjsweb.ssr($d1e7b96fb13cd1d3$var$_tmpl$2, $3hooq$solidjsweb.ssrHydrationKey(), "listing-card ".concat(isSelected() ? "selected" : ""), $3hooq$solidjsweb.ssrAttribute("aria-selected", $3hooq$solidjsweb.escape(isSelected(), true), false), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent(LinkToListing, {
9581
9587
  "class": "image-part",
9582
9588
  get style() {
9583
9589
  var _image_urls$length, _image_urls;
@@ -9788,7 +9794,7 @@ function $79a8fa74cb5cdfb9$export$d4994a86c6235f72(_ref) {
9788
9794
  });
9789
9795
  const [isSelected, selectedDueToKeyboardNavigation] = $b0f8d9f49e018db9$export$fb40a80c530e5f2b(read_selected_index_, itemIndex_, () => index);
9790
9796
  const wholeTextToDisplay = $3hooq$solidjs.createMemo(() => item().title_);
9791
- return $3hooq$solidjsweb.ssr($79a8fa74cb5cdfb9$var$_tmpl$2, $3hooq$solidjsweb.ssrHydrationKey(), "suggestion ".concat(isSelected() ? "selected" : ""), $3hooq$solidjsweb.ssrAttribute("href", $3hooq$solidjsweb.escape(href(), true), false) + $3hooq$solidjsweb.ssrAttribute("aria-label", $3hooq$solidjsweb.escape(wholeTextToDisplay(), true), false), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $23c3f390dee33ff8$export$ba17c5b7e6dda39f), {
9797
+ return $3hooq$solidjsweb.ssr($79a8fa74cb5cdfb9$var$_tmpl$2, $3hooq$solidjsweb.ssrHydrationKey(), "suggestion ".concat(isSelected() ? "selected" : ""), $3hooq$solidjsweb.ssrAttribute("aria-selected", $3hooq$solidjsweb.escape(isSelected(), true), false) + $3hooq$solidjsweb.ssrAttribute("href", $3hooq$solidjsweb.escape(href(), true), false) + $3hooq$solidjsweb.ssrAttribute("aria-label", $3hooq$solidjsweb.escape(wholeTextToDisplay(), true), false), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $23c3f390dee33ff8$export$ba17c5b7e6dda39f), {
9792
9798
  class_: "title line-clamp",
9793
9799
  whole_text_to_display_: wholeTextToDisplay,
9794
9800
  searching_for_value_: searching_for_value_
@@ -9970,7 +9976,7 @@ var $43600b30502feeda$var$_tmpl$ = ["<div", ' class="instant-results-wrapper" st
9970
9976
  $43600b30502feeda$var$_tmpl$2 = ["<div", ' class="discover-more"><button class="major" type="button">', "</button></div>"],
9971
9977
  $43600b30502feeda$var$_tmpl$3 = ["<b", ">", "</b>"],
9972
9978
  $43600b30502feeda$var$_tmpl$4 = ["<div", ' class="', '"></div>'],
9973
- $43600b30502feeda$var$_tmpl$5 = ["<div", ' class="', '"><div class="', '" role="search"><!--$-->', '<!--/--><div class="', '"></div></div><!--$-->', "<!--/--></div>"];
9979
+ $43600b30502feeda$var$_tmpl$5 = ["<div", ' class="', '"><div class="', '" role="search" aria-label="Search modal with search field, query suggestions and result preview"><!--$-->', '<!--/--><div id="depict-suggestions-and-result-preview" class="', '"></div></div><!--$-->', "<!--/--></div>"];
9974
9980
  /**
9975
9981
  * Second generation search modal - the solid component that gets added to <body> when the search modal is opened
9976
9982
  */
@@ -10297,7 +10303,8 @@ function $43600b30502feeda$var$RawSearchModalV2(_ref) {
10297
10303
  if (start === null || end === null) return;
10298
10304
  input_el.setSelectionRange(start, end);
10299
10305
  },
10300
- setSearchRoleOnContainer_: false
10306
+ setSearchRoleOnContainer_: false,
10307
+ ariaControls: "depict-suggestions-and-result-preview"
10301
10308
  });
10302
10309
  if (setSearchFieldOuterWidth_) {
10303
10310
  const resizeObserver = new ResizeObserver($3hooq$depictaiutilishared.catchify(records => setSearchFieldOuterWidth_(records.at(-1).contentRect.width)));
@@ -11,7 +11,7 @@ import { GetListingRequest } from "@depict-ai/types/api/GetListingRequest";
11
11
  import { BaseSearchRequestV3 } from "@depict-ai/types/api/BaseSearchRequestV3";
12
12
  import { FeaturedInDisplay } from "@depict-ai/types/api/FeaturedInResponseV3";
13
13
  import { SearchFilter as _SearchFilter3 } from "@depict-ai/types/api/SearchRequestV2";
14
- export const version = "4.9.3";
14
+ export const version = "4.9.5";
15
15
  /**
16
16
  * Use `javascript_media_query` but return a reactive accessor instead of taking a callback function
17
17
  */
@@ -10,7 +10,7 @@ import $b8hua$babelruntimehelpersclassPrivateFieldGet from "@babel/runtime/helpe
10
10
  /*! Depict.ai search and product listing SDK */
11
11
  import { register_es_version } from "../../multi_import_deduplicator.mjs";
12
12
  register_es_version("ui", "ES10");
13
- const $8db9a15135765c11$export$83d89fbfd8236492 = "4.9.3";
13
+ const $8db9a15135765c11$export$83d89fbfd8236492 = "4.9.5";
14
14
  function $00a5b94f0c11efbb$export$d9f36cf74e24d595(media_query) {
15
15
  const signal = $b8hua$createSignal(false);
16
16
  $b8hua$onCleanup($b8hua$javascript_media_query(media_query, _ref => {
@@ -8218,7 +8218,7 @@ const $9a693c7e832d3f18$export$b05c0ae390cf3e06 = _ref => {
8218
8218
  const secondary_image_url = ((_variant$image_urls = variant.image_urls) === null || _variant$image_urls === void 0 ? void 0 : _variant$image_urls[1]) || variant.secondary_image_url || variant.alternative_display_image_url;
8219
8219
  const brandInTagline = selected_index_ && variant.brand;
8220
8220
  const TitleBrandTagline = () => [!selected_index_ && $b8hua$ssr($9a693c7e832d3f18$var$_tmpl$2, $b8hua$ssrHydrationKey(), $b8hua$escape(variant.brand)), $b8hua$ssr($9a693c7e832d3f18$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$ssrAttribute("title", $b8hua$escape(variant.title, true), false), $b8hua$escape(variant.title)), (variant.sub_heading_1 || variant.sub_heading_2 || brandInTagline) && $b8hua$ssr($9a693c7e832d3f18$var$_tmpl$3, $b8hua$ssrHydrationKey(), $b8hua$escape([brandInTagline, variant.sub_heading_1, variant.sub_heading_2].filter(v => v).join(" | ")))];
8221
- return $b8hua$ssr($9a693c7e832d3f18$var$_tmpl$6, $b8hua$ssrHydrationKey(), "instant-card ".concat(isSelected !== null && isSelected !== void 0 && isSelected() ? "selected" : ""), $b8hua$ssrAttribute("href", $b8hua$escape(href(), true), false) + $b8hua$ssrAttribute("data-search-result-id", $b8hua$escape(display_.search_result_id, true), false), $b8hua$escape($b8hua$createComponent(InstantCardImageComponent_, {
8221
+ return $b8hua$ssr($9a693c7e832d3f18$var$_tmpl$6, $b8hua$ssrHydrationKey(), "instant-card ".concat(isSelected !== null && isSelected !== void 0 && isSelected() ? "selected" : ""), $b8hua$ssrAttribute("href", $b8hua$escape(href(), true), false) + $b8hua$ssrAttribute("data-search-result-id", $b8hua$escape(display_.search_result_id, true), false) + $b8hua$ssrAttribute("aria-selected", $b8hua$escape(isSelected === null || isSelected === void 0 ? void 0 : isSelected(), true), false), $b8hua$escape($b8hua$createComponent(InstantCardImageComponent_, {
8222
8222
  get src_() {
8223
8223
  var _variant$image_urls2;
8224
8224
  return ((_variant$image_urls2 = variant.image_urls) === null || _variant$image_urls2 === void 0 ? void 0 : _variant$image_urls2[0]) || variant.image_url || variant.display_image_url;
@@ -9082,7 +9082,8 @@ function $584c06c09cf4609d$export$b94867ecbd698f21(_ref) {
9082
9082
  BackIcon_: BackIcon_,
9083
9083
  buttonInFieldRef_: buttonInFieldRef_,
9084
9084
  class_: class_,
9085
- setSearchRoleOnContainer_ = true
9085
+ setSearchRoleOnContainer_ = true,
9086
+ ariaControls: ariaControls
9086
9087
  } = _ref;
9087
9088
  let input_element;
9088
9089
  // This is the div where we recommend (and ourselves do) attach the event listener to that opens the search modal.
@@ -9172,7 +9173,11 @@ function $584c06c09cf4609d$export$b94867ecbd698f21(_ref) {
9172
9173
  },
9173
9174
  get placeholder() {
9174
9175
  return i18n_.placeholder_text_();
9175
- }
9176
+ },
9177
+ "aria-autocomplete": "list",
9178
+ "aria-haspopup": "dialog"
9179
+ }, ariaControls && {
9180
+ "aria-controls": ariaControls
9176
9181
  }), undefined, false), !isNewModal && $b8hua$escape($b8hua$createComponent(ClearButton, {}))), "<!--$-->", isNewModal && $b8hua$escape($b8hua$createComponent(BackButton, {})), "<!--/-->", "<!--$-->", $b8hua$escape($b8hua$createComponent((0, $b8hua$Show), {
9177
9182
  when: !isNewModal,
9178
9183
  get children() {
@@ -9209,8 +9214,8 @@ function $a82a41ab7188eda2$export$93d9bfd0c9c1a5b8(close_modal, search_query_url
9209
9214
  }
9210
9215
  var $40411f2ec772c376$var$_tmpl$ = ["<div", ' class="discover-more"><button class="major" type="button">', "</button></div>"],
9211
9216
  $40411f2ec772c376$var$_tmpl$2 = ["<b", ">", "</b>"],
9212
- $40411f2ec772c376$var$_tmpl$3 = ["<div", ' class="', '"><div class="', '" role="search"><!--$-->', '<!--/--><div class="padded"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"],
9213
- $40411f2ec772c376$var$_tmpl$4 = ["<div", ' class="', '"><div class="depict-search-modal-backdrop"></div><!--$-->', "<!--/--></div>"];
9217
+ $40411f2ec772c376$var$_tmpl$3 = ["<div", ' class="', '"><div class="', '" role="search" aria-label="Search modal with search field, query suggestions and result preview"><!--$-->', '<!--/--><div id="depict-suggestions-and-result-preview" class="padded"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"],
9218
+ $40411f2ec772c376$var$_tmpl$4 = ["<div", ' class="', '" role="dialog"><div class="depict-search-modal-backdrop"></div><!--$-->', "<!--/--></div>"];
9214
9219
  /**
9215
9220
  * First generation (classic) search modal - the solid component that gets added to <body> when the search modal is opened
9216
9221
  */
@@ -9348,7 +9353,8 @@ function $40411f2ec772c376$var$RawClassicSearchModal(_ref) {
9348
9353
  if (start === null || end === null) return;
9349
9354
  input_el.setSelectionRange(start, end);
9350
9355
  },
9351
- setSearchRoleOnContainer_: false
9356
+ setSearchRoleOnContainer_: false,
9357
+ ariaControls: "depict-suggestions-and-result-preview"
9352
9358
  });
9353
9359
  const modal_element = $b8hua$ssr($40411f2ec772c376$var$_tmpl$3, $b8hua$ssrHydrationKey(), "depict-search-modal", "".concat("body", " ").concat($b8hua$escape($b8hua$escape(random_classname, true), true)), $b8hua$escape(search_field), $b8hua$escape($b8hua$createComponent((0, $74777e8fe65b3dcb$export$b69d0d92862de18b), {
9354
9360
  severity_: "error",
@@ -9437,7 +9443,7 @@ function $4a3ed70b3b7c60d5$export$9ca09caa9c849d9c() {
9437
9443
  return $b8hua$ssr($4a3ed70b3b7c60d5$var$_tmpl$, $b8hua$ssrHydrationKey());
9438
9444
  }
9439
9445
  var $26db6925469636a4$var$_tmpl$ = ["<div", ' class="images-wrapper">', "</div>"],
9440
- $26db6925469636a4$var$_tmpl$2 = ["<div", ' class="', '"><!--$-->', "<!--/--><!--$-->", '<!--/--><h3 class="title">', "</h3></div>"],
9446
+ $26db6925469636a4$var$_tmpl$2 = ["<div", ' class="', '"', "><!--$-->", "<!--/--><!--$-->", '<!--/--><h3 class="title">', "</h3></div>"],
9441
9447
  $26db6925469636a4$var$_tmpl$3 = ["<div", ' class="empty-image" style="', '">', "</div>"];
9442
9448
  const $26db6925469636a4$var$aspectRatioWidthComponent = 400;
9443
9449
  const $26db6925469636a4$var$aspectRatioHeightComponent = 200;
@@ -9472,7 +9478,7 @@ function $26db6925469636a4$export$67152d26d4f56ee8(_ref) {
9472
9478
  var _listing_3;
9473
9479
  return (_listing_3 = listing_()) === null || _listing_3 === void 0 ? void 0 : _listing_3.ancestors;
9474
9480
  });
9475
- return $b8hua$ssr($26db6925469636a4$var$_tmpl$2, $b8hua$ssrHydrationKey(), "listing-card ".concat(isSelected() ? "selected" : ""), $b8hua$escape($b8hua$createComponent(LinkToListing, {
9481
+ return $b8hua$ssr($26db6925469636a4$var$_tmpl$2, $b8hua$ssrHydrationKey(), "listing-card ".concat(isSelected() ? "selected" : ""), $b8hua$ssrAttribute("aria-selected", $b8hua$escape(isSelected(), true), false), $b8hua$escape($b8hua$createComponent(LinkToListing, {
9476
9482
  "class": "image-part",
9477
9483
  get style() {
9478
9484
  var _image_urls$length, _image_urls;
@@ -9683,7 +9689,7 @@ function $5175a47d13b7c228$export$d4994a86c6235f72(_ref) {
9683
9689
  });
9684
9690
  const [isSelected, selectedDueToKeyboardNavigation] = $d0883254246d3eb6$export$fb40a80c530e5f2b(read_selected_index_, itemIndex_, () => index);
9685
9691
  const wholeTextToDisplay = $b8hua$createMemo(() => item().title_);
9686
- return $b8hua$ssr($5175a47d13b7c228$var$_tmpl$2, $b8hua$ssrHydrationKey(), "suggestion ".concat(isSelected() ? "selected" : ""), $b8hua$ssrAttribute("href", $b8hua$escape(href(), true), false) + $b8hua$ssrAttribute("aria-label", $b8hua$escape(wholeTextToDisplay(), true), false), $b8hua$escape($b8hua$createComponent((0, $02b6641aa50ce528$export$ba17c5b7e6dda39f), {
9692
+ return $b8hua$ssr($5175a47d13b7c228$var$_tmpl$2, $b8hua$ssrHydrationKey(), "suggestion ".concat(isSelected() ? "selected" : ""), $b8hua$ssrAttribute("aria-selected", $b8hua$escape(isSelected(), true), false) + $b8hua$ssrAttribute("href", $b8hua$escape(href(), true), false) + $b8hua$ssrAttribute("aria-label", $b8hua$escape(wholeTextToDisplay(), true), false), $b8hua$escape($b8hua$createComponent((0, $02b6641aa50ce528$export$ba17c5b7e6dda39f), {
9687
9693
  class_: "title line-clamp",
9688
9694
  whole_text_to_display_: wholeTextToDisplay,
9689
9695
  searching_for_value_: searching_for_value_
@@ -9865,7 +9871,7 @@ var $06fcd2a345efd24d$var$_tmpl$ = ["<div", ' class="instant-results-wrapper" st
9865
9871
  $06fcd2a345efd24d$var$_tmpl$2 = ["<div", ' class="discover-more"><button class="major" type="button">', "</button></div>"],
9866
9872
  $06fcd2a345efd24d$var$_tmpl$3 = ["<b", ">", "</b>"],
9867
9873
  $06fcd2a345efd24d$var$_tmpl$4 = ["<div", ' class="', '"></div>'],
9868
- $06fcd2a345efd24d$var$_tmpl$5 = ["<div", ' class="', '"><div class="', '" role="search"><!--$-->', '<!--/--><div class="', '"></div></div><!--$-->', "<!--/--></div>"];
9874
+ $06fcd2a345efd24d$var$_tmpl$5 = ["<div", ' class="', '"><div class="', '" role="search" aria-label="Search modal with search field, query suggestions and result preview"><!--$-->', '<!--/--><div id="depict-suggestions-and-result-preview" class="', '"></div></div><!--$-->', "<!--/--></div>"];
9869
9875
  /**
9870
9876
  * Second generation search modal - the solid component that gets added to <body> when the search modal is opened
9871
9877
  */
@@ -10192,7 +10198,8 @@ function $06fcd2a345efd24d$var$RawSearchModalV2(_ref) {
10192
10198
  if (start === null || end === null) return;
10193
10199
  input_el.setSelectionRange(start, end);
10194
10200
  },
10195
- setSearchRoleOnContainer_: false
10201
+ setSearchRoleOnContainer_: false,
10202
+ ariaControls: "depict-suggestions-and-result-preview"
10196
10203
  });
10197
10204
  if (setSearchFieldOuterWidth_) {
10198
10205
  const resizeObserver = new ResizeObserver($b8hua$catchify1(records => setSearchFieldOuterWidth_(records.at(-1).contentRect.width)));
@@ -109,7 +109,7 @@ $parcel$export(module.exports, "BreadCrumbs", () => $1f4925833f07df29$export$5b7
109
109
  $parcel$export(module.exports, "QuickLinks", () => $1f4925833f07df29$export$de035477d6fef996);
110
110
  $parcel$export(module.exports, "CategoryPage", () => $14f289047713d67a$export$e2bf8ce7779e827e);
111
111
  /*! Depict.ai search and product listing SDK */
112
- const $b757f75811f3261f$export$83d89fbfd8236492 = "4.9.3";
112
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "4.9.5";
113
113
  function $b54e6192d0caa293$export$d9f36cf74e24d595(media_query) {
114
114
  const signal = $5vyXB$solidjs.createSignal(false);
115
115
  $5vyXB$solidjs.onCleanup($5vyXB$depictaiutilishared.javascript_media_query(media_query, ({
@@ -7834,7 +7834,7 @@ const $6ae613870d3380fc$export$b05c0ae390cf3e06 = ({
7834
7834
  const secondary_image_url = variant.image_urls?.[1] || variant.secondary_image_url || variant.alternative_display_image_url;
7835
7835
  const brandInTagline = selected_index_ && variant.brand;
7836
7836
  const TitleBrandTagline = () => [!selected_index_ && $5vyXB$solidjsweb.ssr($6ae613870d3380fc$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape(variant.brand)), $5vyXB$solidjsweb.ssr($6ae613870d3380fc$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrAttribute("title", $5vyXB$solidjsweb.escape(variant.title, true), false), $5vyXB$solidjsweb.escape(variant.title)), (variant.sub_heading_1 || variant.sub_heading_2 || brandInTagline) && $5vyXB$solidjsweb.ssr($6ae613870d3380fc$var$_tmpl$3, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape([brandInTagline, variant.sub_heading_1, variant.sub_heading_2].filter(v => v).join(" | ")))];
7837
- return $5vyXB$solidjsweb.ssr($6ae613870d3380fc$var$_tmpl$6, $5vyXB$solidjsweb.ssrHydrationKey(), `instant-card ${isSelected?.() ? "selected" : ""}`, $5vyXB$solidjsweb.ssrAttribute("href", $5vyXB$solidjsweb.escape(href(), true), false) + $5vyXB$solidjsweb.ssrAttribute("data-search-result-id", $5vyXB$solidjsweb.escape(display_.search_result_id, true), false), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent(InstantCardImageComponent_, {
7837
+ return $5vyXB$solidjsweb.ssr($6ae613870d3380fc$var$_tmpl$6, $5vyXB$solidjsweb.ssrHydrationKey(), `instant-card ${isSelected?.() ? "selected" : ""}`, $5vyXB$solidjsweb.ssrAttribute("href", $5vyXB$solidjsweb.escape(href(), true), false) + $5vyXB$solidjsweb.ssrAttribute("data-search-result-id", $5vyXB$solidjsweb.escape(display_.search_result_id, true), false) + $5vyXB$solidjsweb.ssrAttribute("aria-selected", $5vyXB$solidjsweb.escape(isSelected?.(), true), false), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent(InstantCardImageComponent_, {
7838
7838
  get src_() {
7839
7839
  return variant.image_urls?.[0] || variant.image_url || variant.display_image_url;
7840
7840
  }
@@ -8646,7 +8646,8 @@ function $66b8b9a9613c141d$export$b94867ecbd698f21({
8646
8646
  BackIcon_: BackIcon_,
8647
8647
  buttonInFieldRef_: buttonInFieldRef_,
8648
8648
  class_: class_,
8649
- setSearchRoleOnContainer_ = true
8649
+ setSearchRoleOnContainer_ = true,
8650
+ ariaControls: ariaControls
8650
8651
  }) {
8651
8652
  let input_element;
8652
8653
  // This is the div where we recommend (and ourselves do) attach the event listener to that opens the search modal.
@@ -8733,7 +8734,11 @@ function $66b8b9a9613c141d$export$b94867ecbd698f21({
8733
8734
  },
8734
8735
  get placeholder() {
8735
8736
  return i18n_.placeholder_text_();
8736
- }
8737
+ },
8738
+ "aria-autocomplete": "list",
8739
+ "aria-haspopup": "dialog"
8740
+ }, ariaControls && {
8741
+ "aria-controls": ariaControls
8737
8742
  }), undefined, false), !isNewModal && $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent(ClearButton, {}))), "<!--$-->", isNewModal && $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent(BackButton, {})), "<!--/-->", "<!--$-->", $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Show), {
8738
8743
  when: !isNewModal,
8739
8744
  get children() {
@@ -8770,8 +8775,8 @@ function $eb3039a27db40508$export$93d9bfd0c9c1a5b8(close_modal, search_query_url
8770
8775
  }
8771
8776
  var $44f0b2e312a9b710$var$_tmpl$ = ["<div", ' class="discover-more"><button class="major" type="button">', "</button></div>"],
8772
8777
  $44f0b2e312a9b710$var$_tmpl$2 = ["<b", ">", "</b>"],
8773
- $44f0b2e312a9b710$var$_tmpl$3 = ["<div", ' class="', '"><div class="', '" role="search"><!--$-->', '<!--/--><div class="padded"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"],
8774
- $44f0b2e312a9b710$var$_tmpl$4 = ["<div", ' class="', '"><div class="depict-search-modal-backdrop"></div><!--$-->', "<!--/--></div>"];
8778
+ $44f0b2e312a9b710$var$_tmpl$3 = ["<div", ' class="', '"><div class="', '" role="search" aria-label="Search modal with search field, query suggestions and result preview"><!--$-->', '<!--/--><div id="depict-suggestions-and-result-preview" class="padded"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"],
8779
+ $44f0b2e312a9b710$var$_tmpl$4 = ["<div", ' class="', '" role="dialog"><div class="depict-search-modal-backdrop"></div><!--$-->', "<!--/--></div>"];
8775
8780
  /**
8776
8781
  * First generation (classic) search modal - the solid component that gets added to <body> when the search modal is opened
8777
8782
  */
@@ -8903,7 +8908,8 @@ function $44f0b2e312a9b710$var$RawClassicSearchModal({
8903
8908
  if (start === null || end === null) return;
8904
8909
  input_el.setSelectionRange(start, end);
8905
8910
  },
8906
- setSearchRoleOnContainer_: false
8911
+ setSearchRoleOnContainer_: false,
8912
+ ariaControls: "depict-suggestions-and-result-preview"
8907
8913
  });
8908
8914
  const modal_element = $5vyXB$solidjsweb.ssr($44f0b2e312a9b710$var$_tmpl$3, $5vyXB$solidjsweb.ssrHydrationKey(), `depict-search-modal`, `${`body` || ""} ${$5vyXB$solidjsweb.escape($5vyXB$solidjsweb.escape(random_classname, true), true)}`, $5vyXB$solidjsweb.escape(search_field), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $edafe91daf3091d7$export$b69d0d92862de18b), {
8909
8915
  severity_: "error",
@@ -8992,7 +8998,7 @@ function $3a1c4fee88fb8672$export$9ca09caa9c849d9c() {
8992
8998
  return $5vyXB$solidjsweb.ssr($3a1c4fee88fb8672$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey());
8993
8999
  }
8994
9000
  var $1f3b5fa875714dea$var$_tmpl$ = ["<div", ' class="images-wrapper">', "</div>"],
8995
- $1f3b5fa875714dea$var$_tmpl$2 = ["<div", ' class="', '"><!--$-->', "<!--/--><!--$-->", '<!--/--><h3 class="title">', "</h3></div>"],
9001
+ $1f3b5fa875714dea$var$_tmpl$2 = ["<div", ' class="', '"', "><!--$-->", "<!--/--><!--$-->", '<!--/--><h3 class="title">', "</h3></div>"],
8996
9002
  $1f3b5fa875714dea$var$_tmpl$3 = ["<div", ' class="empty-image" style="', '">', "</div>"];
8997
9003
  const $1f3b5fa875714dea$var$aspectRatioWidthComponent = 400;
8998
9004
  const $1f3b5fa875714dea$var$aspectRatioHeightComponent = 200;
@@ -9017,7 +9023,7 @@ function $1f3b5fa875714dea$export$67152d26d4f56ee8({
9017
9023
  const image_urls = $5vyXB$solidjs.createMemo(() => listing_()?.image_urls?.slice(0, 3));
9018
9024
  const [isSelected, selectedDueToKeyboardNavigation] = $f144ea315d9e4caa$export$fb40a80c530e5f2b(read_selected_index_, keyboardNavigationGroupIndex_, index_);
9019
9025
  const crumbData = $5vyXB$solidjs.createMemo(() => listing_()?.ancestors);
9020
- return $5vyXB$solidjsweb.ssr($1f3b5fa875714dea$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), `listing-card ${isSelected() ? "selected" : ""}`, $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent(LinkToListing, {
9026
+ return $5vyXB$solidjsweb.ssr($1f3b5fa875714dea$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), `listing-card ${isSelected() ? "selected" : ""}`, $5vyXB$solidjsweb.ssrAttribute("aria-selected", $5vyXB$solidjsweb.escape(isSelected(), true), false), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent(LinkToListing, {
9021
9027
  "class": "image-part",
9022
9028
  get style() {
9023
9029
  return `--image-count: ${image_urls()?.length ?? 0}`;
@@ -9216,7 +9222,7 @@ function $a13dbcf80d79229c$export$d4994a86c6235f72({
9216
9222
  });
9217
9223
  const [isSelected, selectedDueToKeyboardNavigation] = $f144ea315d9e4caa$export$fb40a80c530e5f2b(read_selected_index_, itemIndex_, () => index);
9218
9224
  const wholeTextToDisplay = $5vyXB$solidjs.createMemo(() => item().title_);
9219
- return $5vyXB$solidjsweb.ssr($a13dbcf80d79229c$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), `suggestion ${isSelected() ? "selected" : ""}`, $5vyXB$solidjsweb.ssrAttribute("href", $5vyXB$solidjsweb.escape(href(), true), false) + $5vyXB$solidjsweb.ssrAttribute("aria-label", $5vyXB$solidjsweb.escape(wholeTextToDisplay(), true), false), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $d023ed916c84e75d$export$ba17c5b7e6dda39f), {
9225
+ return $5vyXB$solidjsweb.ssr($a13dbcf80d79229c$var$_tmpl$2, $5vyXB$solidjsweb.ssrHydrationKey(), `suggestion ${isSelected() ? "selected" : ""}`, $5vyXB$solidjsweb.ssrAttribute("aria-selected", $5vyXB$solidjsweb.escape(isSelected(), true), false) + $5vyXB$solidjsweb.ssrAttribute("href", $5vyXB$solidjsweb.escape(href(), true), false) + $5vyXB$solidjsweb.ssrAttribute("aria-label", $5vyXB$solidjsweb.escape(wholeTextToDisplay(), true), false), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $d023ed916c84e75d$export$ba17c5b7e6dda39f), {
9220
9226
  class_: "title line-clamp",
9221
9227
  whole_text_to_display_: wholeTextToDisplay,
9222
9228
  searching_for_value_: searching_for_value_
@@ -9394,7 +9400,7 @@ var $11597ae03e703a47$var$_tmpl$ = ["<div", ' class="instant-results-wrapper" st
9394
9400
  $11597ae03e703a47$var$_tmpl$2 = ["<div", ' class="discover-more"><button class="major" type="button">', "</button></div>"],
9395
9401
  $11597ae03e703a47$var$_tmpl$3 = ["<b", ">", "</b>"],
9396
9402
  $11597ae03e703a47$var$_tmpl$4 = ["<div", ' class="', '"></div>'],
9397
- $11597ae03e703a47$var$_tmpl$5 = ["<div", ' class="', '"><div class="', '" role="search"><!--$-->', '<!--/--><div class="', '"></div></div><!--$-->', "<!--/--></div>"];
9403
+ $11597ae03e703a47$var$_tmpl$5 = ["<div", ' class="', '"><div class="', '" role="search" aria-label="Search modal with search field, query suggestions and result preview"><!--$-->', '<!--/--><div id="depict-suggestions-and-result-preview" class="', '"></div></div><!--$-->', "<!--/--></div>"];
9398
9404
  /**
9399
9405
  * Second generation search modal - the solid component that gets added to <body> when the search modal is opened
9400
9406
  */
@@ -9710,7 +9716,8 @@ function $11597ae03e703a47$var$RawSearchModalV2({
9710
9716
  if (start === null || end === null) return;
9711
9717
  input_el.setSelectionRange(start, end);
9712
9718
  },
9713
- setSearchRoleOnContainer_: false
9719
+ setSearchRoleOnContainer_: false,
9720
+ ariaControls: "depict-suggestions-and-result-preview"
9714
9721
  });
9715
9722
  if (setSearchFieldOuterWidth_) {
9716
9723
  const resizeObserver = new ResizeObserver($5vyXB$depictaiutilishared.catchify(records => setSearchFieldOuterWidth_(records.at(-1).contentRect.width)));
@@ -11,7 +11,7 @@ import { GetListingRequest } from "@depict-ai/types/api/GetListingRequest";
11
11
  import { BaseSearchRequestV3 } from "@depict-ai/types/api/BaseSearchRequestV3";
12
12
  import { FeaturedInDisplay } from "@depict-ai/types/api/FeaturedInResponseV3";
13
13
  import { SearchFilter as _SearchFilter3 } from "@depict-ai/types/api/SearchRequestV2";
14
- export const version = "4.9.3";
14
+ export const version = "4.9.5";
15
15
  /**
16
16
  * Use `javascript_media_query` but return a reactive accessor instead of taking a callback function
17
17
  */