@magicx-eng/ai-autocomplete-react 0.34.0 → 0.36.0

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/README.md CHANGED
@@ -335,6 +335,7 @@ function App() {
335
335
  | `visitorId?` | `string \| (() => string \| undefined)` | — | Stable UUID v4 for this visitor, kept across page loads, or a function returning it. See [Visitor id and submits](#visitor-id-and-submits). |
336
336
  | `additionalContext?` | `Record<string, unknown>` | — | Optional user context. Include whatever you know about the user (a profile, preferences, workspace, anything) to personalize suggested parameters and options to them. |
337
337
  | `language?` | `string` | browser language | BCP 47 language tag of the shopper (e.g. `"es"`), sent with every suggestion request. Default: the browser language (`navigator.language`), else `"en-US"`. |
338
+ | `productId?` | `string` | — | Your product id. When set, what the dropdown offers before anything is typed is read from a cacheable URL for your product, with no credential, instead of a suggestion request; it falls back to a suggestion request when it cannot be read. |
338
339
  | `optionOverrides?` | `OptionOverrides` | — | Supply the options for a parameter yourself, per suggestion type — fixed, computed, or fetched as the user types. See [Option Overrides](#option-overrides). |
339
340
  | `maskCompletedText?` | `boolean` | `false` | When `true`, omits completed params' literal text from API requests (for masking PII/sensitive values from the server). |
340
341
  | `className?` | `string` | — | CSS class applied to the container. |
@@ -901,6 +902,12 @@ Legacy `--aia-color-*` variables are still supported as fallbacks.
901
902
  }
902
903
  ```
903
904
 
905
+ ### Short screens
906
+
907
+ When the open dropdown would run past the edge of the visible screen — most often a phone with its on-screen keyboard up, or a short browser window — it shrinks to the space that is left and scrolls as one: the options, the product strip and the footer move together, so scrolling down past the last option brings the products into view. The pill bar scrolls with them. Each time the dropdown opens it checks again, and while it is open it follows the keyboard opening and closing and the page scrolling.
908
+
909
+ While fitted, the dropdown root carries `data-aia-fit`, and the height it is capped at is in its `--aia-dropdown-fit-height` property. Every option shows in that one scroll, so the option list's usual limit of visible rows does not apply.
910
+
904
911
  ### Selector Hooks
905
912
 
906
913
  For styling beyond the CSS variables, target these stable `data-aia-*` attributes (CSS-module class hashes are not part of the public API):
@@ -918,7 +925,7 @@ For styling beyond the CSS variables, target these stable `data-aia-*` attribute
918
925
  | `[data-aia-skip]` | The pill bar's trailing "skip" button. Tune via `--aia-skip-font-size` / `--aia-skip-color` / `--aia-skip-color-hover` / `--aia-skip-hover-bg` |
919
926
  | `[data-aia-option]` | Each suggestion option |
920
927
  | `[data-aia-scroll-arrow]` | The "more below" arrow on the dropdown — carries `data-aia-visible` while shown |
921
- | `[data-aia-dropdown]` | The dropdown root (listbox). Carries `data-aia-has-products` while the product strip has cards. |
928
+ | `[data-aia-dropdown]` | The dropdown root (listbox). Carries `data-aia-has-products` while the product strip has cards, and `data-aia-fit` while it is fitted to a short screen (see [Short screens](#short-screens)). |
922
929
  | `[data-aia-datepicker]` | The calendar, rendered in place of the option list for a date parameter |
923
930
  | `[data-aia-date-month]` | The "March 2026" header label |
924
931
  | `[data-aia-date-prev]` / `[data-aia-date-next]` | The month arrows |
package/dist/index.d.mts CHANGED
@@ -56,6 +56,13 @@ interface AIAutocompleteProps {
56
56
  * Default: the browser language (`navigator.language`), else `"en-US"`.
57
57
  */
58
58
  language?: string;
59
+ /**
60
+ * Your product id. When set, what the dropdown offers before anything is
61
+ * typed is read from a cacheable URL for your product, with no credential,
62
+ * instead of a suggestion request; it falls back to a suggestion request
63
+ * when it cannot be read.
64
+ */
65
+ productId?: string;
59
66
  /**
60
67
  * Stable id for this visitor, kept by the host across page loads. Rides on
61
68
  * telemetry events so searches can be joined to what the visitor does
@@ -210,6 +217,13 @@ interface UseAIAutocompleteOptions {
210
217
  * Default: the browser language (`navigator.language`), else `"en-US"`.
211
218
  */
212
219
  language?: string;
220
+ /**
221
+ * Your product id. When set, what the dropdown offers before anything is
222
+ * typed is read from a cacheable URL for your product, with no credential,
223
+ * instead of a suggestion request; it falls back to a suggestion request
224
+ * when it cannot be read.
225
+ */
226
+ productId?: string;
213
227
  /**
214
228
  * Stable id for this visitor, kept by the host across page loads. Rides on
215
229
  * telemetry events so searches can be joined to what the visitor does
@@ -525,7 +539,11 @@ interface AIAutocompleteDropdownProps {
525
539
  skeletonExiting?: boolean;
526
540
  /** When the input has no typed text, the footer hint reads "tab to select". Provided by `dropdownProps` from the hook. */
527
541
  isInputEmpty?: boolean;
528
- /** The `language` prop of the widget. It picks the words the dropdown draws. Spanish for any "es" tag, else English. Provided by `dropdownProps` from the hook. */
542
+ /**
543
+ * The widget language, provided by `dropdownProps` from the hook.
544
+ * UI languages: en, es, fr, pt-BR, it, tr, id, pl, de, nl, sv, nb, da, fi, ja, ko, zh-CN and zh-TW.
545
+ * Unsupported languages use English.
546
+ */
529
547
  language?: string;
530
548
  /** Product cards to render below the options grid. Provided by `dropdownProps` from the hook. Empty (the default) renders no strip. */
531
549
  products?: Product[];
@@ -593,6 +611,6 @@ declare const AIAutocomplete: react.ForwardRefExoticComponent<AIAutocompleteProp
593
611
 
594
612
  declare function AIAutocompleteDropdown({ suggestions, activeIndex, onSelect, onHighlight, onUnhighlight, isOpen, id, className, pills, onPillClick, showPills, onSkip, showSkipButton, showOptionIcons, showOptionImages, showOptionCounts, skipDisabled, activeSelected, isLoading, skeletonExiting, isInputEmpty, language, products, onProductSelect, onProductFocusChange, productsLayout, productImageFallback, formatType, dateView, selectedDateIso, selectedDateRange, dateRangeStart, onPreviousMonth, onNextMonth, optionsPosition, mode, }: AIAutocompleteDropdownProps): react_jsx_runtime.JSX.Element;
595
613
 
596
- declare function useAIAutocomplete({ onSubmit, onResult, onError, optionOverrides, maskCompletedText, apiConfig, additionalContext, language, visitorId, columns, dropdownTrigger, optionsPosition, closeDropdownOnBlur, showNonTappableOptions, showOptionIcons, showOptionImages, showOptionCounts, showSkipButton, showProducts, productImageFallback, onFocus, onBlur, value: controlledValue, completedParams: controlledParams, onChange: onChangeProp, onParamsChange, products, mapProducts, onProductSelect, source, setCursor, }: UseAIAutocompleteOptions): UseAIAutocompleteReturn;
614
+ declare function useAIAutocomplete({ onSubmit, onResult, onError, optionOverrides, maskCompletedText, apiConfig, additionalContext, language, productId, visitorId, columns, dropdownTrigger, optionsPosition, closeDropdownOnBlur, showNonTappableOptions, showOptionIcons, showOptionImages, showOptionCounts, showSkipButton, showProducts, productImageFallback, onFocus, onBlur, value: controlledValue, completedParams: controlledParams, onChange: onChangeProp, onParamsChange, products, mapProducts, onProductSelect, source, setCursor, }: UseAIAutocompleteOptions): UseAIAutocompleteReturn;
597
615
 
598
616
  export { AIAutocomplete, AIAutocompleteDropdown, type AIAutocompleteDropdownProps, type AIAutocompleteHandle, type AIAutocompleteProps, type UseAIAutocompleteOptions, type UseAIAutocompleteReturn, useAIAutocomplete };
package/dist/index.d.ts CHANGED
@@ -56,6 +56,13 @@ interface AIAutocompleteProps {
56
56
  * Default: the browser language (`navigator.language`), else `"en-US"`.
57
57
  */
58
58
  language?: string;
59
+ /**
60
+ * Your product id. When set, what the dropdown offers before anything is
61
+ * typed is read from a cacheable URL for your product, with no credential,
62
+ * instead of a suggestion request; it falls back to a suggestion request
63
+ * when it cannot be read.
64
+ */
65
+ productId?: string;
59
66
  /**
60
67
  * Stable id for this visitor, kept by the host across page loads. Rides on
61
68
  * telemetry events so searches can be joined to what the visitor does
@@ -210,6 +217,13 @@ interface UseAIAutocompleteOptions {
210
217
  * Default: the browser language (`navigator.language`), else `"en-US"`.
211
218
  */
212
219
  language?: string;
220
+ /**
221
+ * Your product id. When set, what the dropdown offers before anything is
222
+ * typed is read from a cacheable URL for your product, with no credential,
223
+ * instead of a suggestion request; it falls back to a suggestion request
224
+ * when it cannot be read.
225
+ */
226
+ productId?: string;
213
227
  /**
214
228
  * Stable id for this visitor, kept by the host across page loads. Rides on
215
229
  * telemetry events so searches can be joined to what the visitor does
@@ -525,7 +539,11 @@ interface AIAutocompleteDropdownProps {
525
539
  skeletonExiting?: boolean;
526
540
  /** When the input has no typed text, the footer hint reads "tab to select". Provided by `dropdownProps` from the hook. */
527
541
  isInputEmpty?: boolean;
528
- /** The `language` prop of the widget. It picks the words the dropdown draws. Spanish for any "es" tag, else English. Provided by `dropdownProps` from the hook. */
542
+ /**
543
+ * The widget language, provided by `dropdownProps` from the hook.
544
+ * UI languages: en, es, fr, pt-BR, it, tr, id, pl, de, nl, sv, nb, da, fi, ja, ko, zh-CN and zh-TW.
545
+ * Unsupported languages use English.
546
+ */
529
547
  language?: string;
530
548
  /** Product cards to render below the options grid. Provided by `dropdownProps` from the hook. Empty (the default) renders no strip. */
531
549
  products?: Product[];
@@ -593,6 +611,6 @@ declare const AIAutocomplete: react.ForwardRefExoticComponent<AIAutocompleteProp
593
611
 
594
612
  declare function AIAutocompleteDropdown({ suggestions, activeIndex, onSelect, onHighlight, onUnhighlight, isOpen, id, className, pills, onPillClick, showPills, onSkip, showSkipButton, showOptionIcons, showOptionImages, showOptionCounts, skipDisabled, activeSelected, isLoading, skeletonExiting, isInputEmpty, language, products, onProductSelect, onProductFocusChange, productsLayout, productImageFallback, formatType, dateView, selectedDateIso, selectedDateRange, dateRangeStart, onPreviousMonth, onNextMonth, optionsPosition, mode, }: AIAutocompleteDropdownProps): react_jsx_runtime.JSX.Element;
595
613
 
596
- declare function useAIAutocomplete({ onSubmit, onResult, onError, optionOverrides, maskCompletedText, apiConfig, additionalContext, language, visitorId, columns, dropdownTrigger, optionsPosition, closeDropdownOnBlur, showNonTappableOptions, showOptionIcons, showOptionImages, showOptionCounts, showSkipButton, showProducts, productImageFallback, onFocus, onBlur, value: controlledValue, completedParams: controlledParams, onChange: onChangeProp, onParamsChange, products, mapProducts, onProductSelect, source, setCursor, }: UseAIAutocompleteOptions): UseAIAutocompleteReturn;
614
+ declare function useAIAutocomplete({ onSubmit, onResult, onError, optionOverrides, maskCompletedText, apiConfig, additionalContext, language, productId, visitorId, columns, dropdownTrigger, optionsPosition, closeDropdownOnBlur, showNonTappableOptions, showOptionIcons, showOptionImages, showOptionCounts, showSkipButton, showProducts, productImageFallback, onFocus, onBlur, value: controlledValue, completedParams: controlledParams, onChange: onChangeProp, onParamsChange, products, mapProducts, onProductSelect, source, setCursor, }: UseAIAutocompleteOptions): UseAIAutocompleteReturn;
597
615
 
598
616
  export { AIAutocomplete, AIAutocompleteDropdown, type AIAutocompleteDropdownProps, type AIAutocompleteHandle, type AIAutocompleteProps, type UseAIAutocompleteOptions, type UseAIAutocompleteReturn, useAIAutocomplete };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var gt=Object.defineProperty;var oa=Object.getOwnPropertyDescriptor;var na=Object.getOwnPropertyNames;var ra=Object.prototype.hasOwnProperty;var sa=(e,a)=>{for(var t in a)gt(e,t,{get:a[t],enumerable:!0})},la=(e,a,t,n)=>{if(a&&typeof a=="object"||typeof a=="function")for(let i of na(a))!ra.call(e,i)&&i!==t&&gt(e,i,{get:()=>a[i],enumerable:!(n=oa(a,i))||n.enumerable});return e};var da=e=>la(gt({},"__esModule",{value:!0}),e);var Ca={};sa(Ca,{AIAutocomplete:()=>Zt,AIAutocompleteDropdown:()=>st,DATE_RANGE_META_END:()=>s.DATE_RANGE_META_END,DATE_RANGE_META_START:()=>s.DATE_RANGE_META_START,DEFAULT_OPTION_COUNT_UNIT:()=>s.DEFAULT_OPTION_COUNT_UNIT,PRODUCT_PATH_PREFIX:()=>s.PRODUCT_PATH_PREFIX,WEEKDAY_LABELS:()=>s.WEEKDAY_LABELS,buildSubmitResult:()=>s.buildSubmitResult,cellDay:()=>s.cellDay,cellIso:()=>s.cellIso,dateCellMarks:()=>s.dateCellMarks,formatDate:()=>s.formatDate,formatDateRange:()=>s.formatDateRange,formatOptionCount:()=>s.formatOptionCount,isoDate:()=>s.isoDate,monthLabel:()=>s.monthLabel,optionCountLabel:()=>s.optionCountLabel,optionHasImage:()=>s.optionHasImage,optionImageSources:()=>s.optionImageSources,optionImageSrc:()=>s.optionImageSrc,optionLabel:()=>s.optionLabel,parseDate:()=>s.parseDate,parseLooseDate:()=>s.parseLooseDate,parseLooseDateRange:()=>s.parseLooseDateRange,productFromMatchedItem:()=>s.productFromMatchedItem,productImageSources:()=>s.productImageSources,productsFromCustomFields:()=>s.productsFromCustomFields,sanitizeOptionIconSvg:()=>s.sanitizeOptionIconSvg,selectedRangeFor:()=>s.selectedRangeFor,useAIAutocomplete:()=>dt,visibleDateRange:()=>s.visibleDateRange,withSkippedParams:()=>s.withSkippedParams});module.exports=da(Ca);var s=require("@magicx-eng/ai-autocomplete-vanilla");var N=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-67791514")){let e=document.createElement("style");e.id="ac-style-67791514",e.textContent=`.aia-container-KKjFU {
1
+ "use strict";var ft=Object.defineProperty;var na=Object.getOwnPropertyDescriptor;var ra=Object.getOwnPropertyNames;var sa=Object.prototype.hasOwnProperty;var la=(e,a)=>{for(var t in a)ft(e,t,{get:a[t],enumerable:!0})},da=(e,a,t,i)=>{if(a&&typeof a=="object"||typeof a=="function")for(let o of ra(a))!sa.call(e,o)&&o!==t&&ft(e,o,{get:()=>a[o],enumerable:!(i=na(a,o))||i.enumerable});return e};var ca=e=>da(ft({},"__esModule",{value:!0}),e);var Sa={};la(Sa,{AIAutocomplete:()=>Vt,AIAutocompleteDropdown:()=>lt,DATE_RANGE_META_END:()=>s.DATE_RANGE_META_END,DATE_RANGE_META_START:()=>s.DATE_RANGE_META_START,DEFAULT_OPTION_COUNT_UNIT:()=>s.DEFAULT_OPTION_COUNT_UNIT,PRODUCT_PATH_PREFIX:()=>s.PRODUCT_PATH_PREFIX,WEEKDAY_LABELS:()=>s.WEEKDAY_LABELS,buildSubmitResult:()=>s.buildSubmitResult,cellDay:()=>s.cellDay,cellIso:()=>s.cellIso,dateCellMarks:()=>s.dateCellMarks,formatDate:()=>s.formatDate,formatDateRange:()=>s.formatDateRange,formatOptionCount:()=>s.formatOptionCount,isoDate:()=>s.isoDate,monthLabel:()=>s.monthLabel,optionCountLabel:()=>s.optionCountLabel,optionHasImage:()=>s.optionHasImage,optionImageSources:()=>s.optionImageSources,optionImageSrc:()=>s.optionImageSrc,optionLabel:()=>s.optionLabel,parseDate:()=>s.parseDate,parseLooseDate:()=>s.parseLooseDate,parseLooseDateRange:()=>s.parseLooseDateRange,productFromMatchedItem:()=>s.productFromMatchedItem,productImageSources:()=>s.productImageSources,productsFromCustomFields:()=>s.productsFromCustomFields,sanitizeOptionIconSvg:()=>s.sanitizeOptionIconSvg,selectedRangeFor:()=>s.selectedRangeFor,useAIAutocomplete:()=>ct,visibleDateRange:()=>s.visibleDateRange,withSkippedParams:()=>s.withSkippedParams});module.exports=ca(Sa);var s=require("@magicx-eng/ai-autocomplete-vanilla");var N=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-67791514")){let e=document.createElement("style");e.id="ac-style-67791514",e.textContent=`.aia-container-KKjFU {
2
2
  position: relative;
3
3
  /* Inherits the host page's font by default. Consumers can pin a specific
4
4
  font on the library via \`--aia-font-family: 'Custom Font'\` without
@@ -262,7 +262,7 @@
262
262
  opacity: 0;
263
263
  }
264
264
  }
265
- `,document.head.appendChild(e)}var We={container:"aia-container-KKjFU",inputWrapper:"aia-inputWrapper-FLq1b",editorArea:"aia-editorArea-7rBWq",input:"aia-input-IW-P-",pillListContainer:"aia-pillListContainer-h92IA",submitSlot:"aia-submitSlot-GhuCM",aiaPillReveal:"aia-aiaPillReveal-wf05b"};var ze=require("@magicx-eng/ai-autocomplete-vanilla"),ie=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-0ae03977")){let e=document.createElement("style");e.id="ac-style-0ae03977",e.textContent=`/*
265
+ `,document.head.appendChild(e)}var We={container:"aia-container-KKjFU",inputWrapper:"aia-inputWrapper-FLq1b",editorArea:"aia-editorArea-7rBWq",input:"aia-input-IW-P-",pillListContainer:"aia-pillListContainer-h92IA",submitSlot:"aia-submitSlot-GhuCM",aiaPillReveal:"aia-aiaPillReveal-wf05b"};var me=require("@magicx-eng/ai-autocomplete-vanilla"),q=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-0ae03977")){let e=document.createElement("style");e.id="ac-style-0ae03977",e.textContent=`/*
266
266
  * Built-in appearance defaults \u2014 zero specificity via :where().
267
267
  * Consumer CSS always wins without !important.
268
268
  *
@@ -735,6 +735,59 @@
735
735
  background: var(--aia-surface, #ffffff);
736
736
  }
737
737
  }
738
+
739
+ /* Fitted to the visible viewport. When the open panel would run past the
740
+ screen's edge (a phone's keyboard, a short window), the core's viewportFit
741
+ controller sets data-aia-fit and caps the panel at the space that is left
742
+ (--aia-dropdown-fit-height). The section stack becomes the one scroll box:
743
+ the options grid drops its own row cap, so options, product strip and
744
+ footer scroll together and the strip is reached by scrolling past the last
745
+ option instead of being cut off below it. Nothing slides under the footer
746
+ any more, so its reserved band goes, as it does with a product strip.
747
+ Declared last: the two-attribute selector ties the unwrapped
748
+ above-position rule some copies carry, and must win it on source order. */
749
+ [data-aia-dropdown][data-aia-fit] {
750
+ max-height: var(--aia-dropdown-fit-height, none);
751
+ --aia-grid-scroll-bottom: 0px;
752
+ --aia-grid-overlap-bottom: 0px;
753
+ --aia-grid-scroll-top: 0px;
754
+ --aia-grid-overlap-top: 0px;
755
+ --aia-footer-fade-lead: 0px;
756
+ --aia-footer-row-min-height: 0px;
757
+ }
758
+
759
+ /* The stack is the panel's flex child, so it shrinks to the cap and scrolls.
760
+ It reaches 6px into the panel's side padding on each side: the product row
761
+ hangs that far outside the stack (its cards' hover fill), and a scroll box
762
+ clips sideways as well as down. The scrollbar is hidden, as the grid's is. */
763
+ [data-aia-dropdown][data-aia-fit] > .aia-stack {
764
+ flex: 1 1 auto;
765
+ min-height: 0;
766
+ margin-inline: -6px;
767
+ padding-inline: 6px;
768
+ overflow-x: hidden;
769
+ overflow-y: auto;
770
+ overscroll-behavior: contain;
771
+ scrollbar-width: none;
772
+ }
773
+
774
+ [data-aia-dropdown][data-aia-fit] > .aia-stack::-webkit-scrollbar {
775
+ display: none;
776
+ }
777
+
778
+ /* Sections keep their own height and overflow the stack instead. Flex items
779
+ shrink by default, and one that clips (the pill bar is overflow: hidden)
780
+ has no content floor to stop it \u2014 it collapsed to nothing. */
781
+ [data-aia-dropdown][data-aia-fit] > .aia-stack > * {
782
+ flex-shrink: 0;
783
+ }
784
+
785
+ /* The grid shows every row and leaves the scrolling to the stack. Not a
786
+ scroll box at all, so a swipe that starts on an option scrolls the panel. */
787
+ [data-aia-dropdown][data-aia-fit] .aia-grid[data-scroll] {
788
+ max-height: none;
789
+ overflow: visible;
790
+ }
738
791
  `,document.head.appendChild(e)}if(typeof document<"u"&&!document.getElementById("ac-style-3819c762")){let e=document.createElement("style");e.id="ac-style-3819c762",e.textContent=`.aia-dropdown-yz2KC {
739
792
  position: absolute;
740
793
  left: 0;
@@ -1045,7 +1098,7 @@
1045
1098
  opacity: 0.25;
1046
1099
  }
1047
1100
  }
1048
- `,document.head.appendChild(e)}var xe={dropdown:"aia-dropdown-yz2KC",visible:"aia-visible-QCoXj",scrollArrow:"aia-scrollArrow-uUzV0","magicx-aia-scroll-arrow-bob":"aia-magicx-aia-scroll-arrow-bob-z-HXC",pillBar:"aia-pillBar-pwTXe",pillScroll:"aia-pillScroll-Tpzus",skip:"aia-skip-7-olS",skeletonBars:"aia-skeletonBars-HVr9C",skeletonBarsIn:"aia-skeletonBarsIn-BdPrL",skeletonBarsOut:"aia-skeletonBarsOut-TqKeD",skeletonBar:"aia-skeletonBar-O3xIx",aiaSkeletonPulse:"aia-aiaSkeletonPulse-G8W7q"};var M=require("@magicx-eng/ai-autocomplete-vanilla"),Tt=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-f687bd03")){let e=document.createElement("style");e.id="ac-style-f687bd03",e.textContent=`/* --- Datepicker (replaces the options grid for date suggestions) ---
1101
+ `,document.head.appendChild(e)}var xe={dropdown:"aia-dropdown-yz2KC",visible:"aia-visible-QCoXj",scrollArrow:"aia-scrollArrow-uUzV0","magicx-aia-scroll-arrow-bob":"aia-magicx-aia-scroll-arrow-bob-z-HXC",pillBar:"aia-pillBar-pwTXe",pillScroll:"aia-pillScroll-Tpzus",skip:"aia-skip-7-olS",skeletonBars:"aia-skeletonBars-HVr9C",skeletonBarsIn:"aia-skeletonBarsIn-BdPrL",skeletonBarsOut:"aia-skeletonBarsOut-TqKeD",skeletonBar:"aia-skeletonBar-O3xIx",aiaSkeletonPulse:"aia-aiaSkeletonPulse-G8W7q"};var M=require("@magicx-eng/ai-autocomplete-vanilla"),At=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-f687bd03")){let e=document.createElement("style");e.id="ac-style-f687bd03",e.textContent=`/* --- Datepicker (replaces the options grid for date suggestions) ---
1049
1102
 
1050
1103
  One of three hand-maintained copies (vanilla styles.css, this file, Angular's
1051
1104
  date-grid.component.css). Only the class-naming layer differs \u2014 the
@@ -1208,7 +1261,7 @@
1208
1261
  opacity: 0.8;
1209
1262
  background: rgba(var(--aia-streak-rgb, 255, 255, 255), 0.06);
1210
1263
  }
1211
- `,document.head.appendChild(e)}var z={datepicker:"aia-datepicker-6RrTs",header:"aia-header-z4LRk",month:"aia-month-urB2T",nav:"aia-nav-ap4AN",weekdays:"aia-weekdays-3EA3q",grid:"aia-grid-mQCgw",weekday:"aia-weekday-3lF4B",cell:"aia-cell-59k0y",number:"aia-number-aoT01",day:"aia-day-cB3u9",blank:"aia-blank-ivgRC",past:"aia-past-CEZsj",highlighted:"aia-highlighted-YIdtK",today:"aia-today-iI3ME",inRange:"aia-inRange-r9S2q",selected:"aia-selected-28KDn",pressed:"aia-pressed-bEyyN"};var $=require("react/jsx-runtime"),ca=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function At({options:e,activeIndex:a,listboxId:t,view:n,selection:i,onSelect:r,onHighlight:o,onUnhighlight:p,onPreviousMonth:c,onNextMonth:k}){let S=(0,M.isoDate)(new Date),I=(0,M.visibleDateRange)({pendingStart:i.rangeStart,highlightedIso:(0,M.cellIso)(e[a]),selected:i.selectedRange});return(0,$.jsxs)("div",{className:z.datepicker,"data-aia-datepicker":"",children:[(0,$.jsxs)("div",{className:z.header,children:[(0,$.jsx)("button",{type:"button",tabIndex:-1,className:z.nav,"data-aia-date-prev":"","aria-label":"Previous month",onMouseDown:m=>m.preventDefault(),onClick:c,children:"\u2039"}),(0,$.jsx)("span",{className:z.month,"data-aia-date-month":"","aria-live":"polite",children:(0,M.monthLabel)(n)}),(0,$.jsx)("button",{type:"button",tabIndex:-1,className:z.nav,"data-aia-date-next":"","aria-label":"Next month",onMouseDown:m=>m.preventDefault(),onClick:k,children:"\u203A"})]}),(0,$.jsx)("div",{className:z.weekdays,"aria-hidden":"true",children:M.WEEKDAY_LABELS.map((m,b)=>(0,$.jsx)("span",{className:z.weekday,children:m},ca[b]))}),(0,$.jsx)("div",{className:z.grid,"data-aia-date-grid":"",children:e.map((m,b)=>(0,$.jsx)(pa,{option:m,id:`${t}-option-${b}`,index:b,isHighlighted:b===a&&m.is_tappable,isToday:(0,M.cellIso)(m)===S,isPast:(0,M.cellIso)(m)!=null&&(0,M.cellIso)(m)<S,marks:(0,M.dateCellMarks)((0,M.cellIso)(m),{selectedIso:i.selectedIso,range:I}),onSelect:r,onHighlight:o,onUnhighlight:p},(0,M.cellIso)(m)??`pad-${b}`))})]})}function pa({option:e,id:a,index:t,isHighlighted:n,isToday:i,isPast:r,marks:o,onSelect:p,onHighlight:c,onUnhighlight:k}){let[S,I]=(0,Tt.useState)(!1),m=(0,M.cellDay)(e);if(m==null)return(0,$.jsx)("div",{id:a,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-hidden":"true","aria-selected":!1,tabIndex:-1,className:`${z.cell} ${z.blank}`});let b=()=>{I(!0),p(e),setTimeout(()=>I(!1),170)},A=[z.cell,z.day,r?z.past:"",n?z.highlighted:"",i?z.today:"",o.inRange?z.inRange:"",o.selected?z.selected:"",S?z.pressed:""].filter(Boolean).join(" ");return(0,$.jsx)("div",{id:a,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-selected":n,"aria-label":e.text,tabIndex:0,className:A,onClick:b,onKeyDown:B=>{(B.key==="Enter"||B.key===" ")&&(B.preventDefault(),b())},onMouseEnter:()=>c(t),onMouseLeave:k?()=>k(t):void 0,children:(0,$.jsx)("span",{className:z.number,children:m})})}var De=require("@magicx-eng/ai-autocomplete-vanilla"),ot=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-5259a217")){let e=document.createElement("style");e.id="ac-style-5259a217",e.textContent=`.aia-cluster {
1264
+ `,document.head.appendChild(e)}var L={datepicker:"aia-datepicker-6RrTs",header:"aia-header-z4LRk",month:"aia-month-urB2T",nav:"aia-nav-ap4AN",weekdays:"aia-weekdays-3EA3q",grid:"aia-grid-mQCgw",weekday:"aia-weekday-3lF4B",cell:"aia-cell-59k0y",number:"aia-number-aoT01",day:"aia-day-cB3u9",blank:"aia-blank-ivgRC",past:"aia-past-CEZsj",highlighted:"aia-highlighted-YIdtK",today:"aia-today-iI3ME",inRange:"aia-inRange-r9S2q",selected:"aia-selected-28KDn",pressed:"aia-pressed-bEyyN"};var J=require("react/jsx-runtime"),pa=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function Rt({options:e,activeIndex:a,listboxId:t,view:i,selection:o,onSelect:r,onHighlight:n,onUnhighlight:h,onPreviousMonth:d,onNextMonth:x}){let E=(0,M.isoDate)(new Date),I=(0,M.visibleDateRange)({pendingStart:o.rangeStart,highlightedIso:(0,M.cellIso)(e[a]),selected:o.selectedRange});return(0,J.jsxs)("div",{className:L.datepicker,"data-aia-datepicker":"",children:[(0,J.jsxs)("div",{className:L.header,children:[(0,J.jsx)("button",{type:"button",tabIndex:-1,className:L.nav,"data-aia-date-prev":"","aria-label":"Previous month",onMouseDown:m=>m.preventDefault(),onClick:d,children:"\u2039"}),(0,J.jsx)("span",{className:L.month,"data-aia-date-month":"","aria-live":"polite",children:(0,M.monthLabel)(i)}),(0,J.jsx)("button",{type:"button",tabIndex:-1,className:L.nav,"data-aia-date-next":"","aria-label":"Next month",onMouseDown:m=>m.preventDefault(),onClick:x,children:"\u203A"})]}),(0,J.jsx)("div",{className:L.weekdays,"aria-hidden":"true",children:M.WEEKDAY_LABELS.map((m,w)=>(0,J.jsx)("span",{className:L.weekday,children:m},pa[w]))}),(0,J.jsx)("div",{className:L.grid,"data-aia-date-grid":"",children:e.map((m,w)=>(0,J.jsx)(ha,{option:m,id:`${t}-option-${w}`,index:w,isHighlighted:w===a&&m.is_tappable,isToday:(0,M.cellIso)(m)===E,isPast:(0,M.cellIso)(m)!=null&&(0,M.cellIso)(m)<E,marks:(0,M.dateCellMarks)((0,M.cellIso)(m),{selectedIso:o.selectedIso,range:I}),onSelect:r,onHighlight:n,onUnhighlight:h},(0,M.cellIso)(m)??`pad-${w}`))})]})}function ha({option:e,id:a,index:t,isHighlighted:i,isToday:o,isPast:r,marks:n,onSelect:h,onHighlight:d,onUnhighlight:x}){let[E,I]=(0,At.useState)(!1),m=(0,M.cellDay)(e);if(m==null)return(0,J.jsx)("div",{id:a,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-hidden":"true","aria-selected":!1,tabIndex:-1,className:`${L.cell} ${L.blank}`});let w=()=>{I(!0),h(e),setTimeout(()=>I(!1),170)},T=[L.cell,L.day,r?L.past:"",i?L.highlighted:"",o?L.today:"",n.inRange?L.inRange:"",n.selected?L.selected:"",E?L.pressed:""].filter(Boolean).join(" ");return(0,J.jsx)("div",{id:a,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-selected":i,"aria-label":e.text,tabIndex:0,className:T,onClick:w,onKeyDown:F=>{(F.key==="Enter"||F.key===" ")&&(F.preventDefault(),w())},onMouseEnter:()=>d(t),onMouseLeave:x?()=>x(t):void 0,children:(0,J.jsx)("span",{className:L.number,children:m})})}var Me=require("@magicx-eng/ai-autocomplete-vanilla"),nt=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-5259a217")){let e=document.createElement("style");e.id="ac-style-5259a217",e.textContent=`.aia-cluster {
1212
1265
  display: flex;
1213
1266
  flex-wrap: wrap;
1214
1267
  gap: var(--aia-cluster-gap, 0.5rem);
@@ -1248,7 +1301,7 @@
1248
1301
  .aia-cluster[data-justify="around"] {
1249
1302
  justify-content: space-around;
1250
1303
  }
1251
- `,document.head.appendChild(e)}var ft=require("react/jsx-runtime");function $e({gap:e,align:a="center",justify:t="start",noWrap:n=!1,inline:i=!1,className:r,children:o,...p}){let c=e?{"--aia-cluster-gap":e}:void 0,k={className:r?`aia-cluster ${r}`:"aia-cluster","data-align":a,"data-justify":t,"data-nowrap":n||void 0,"data-inline":i||void 0,style:c,...p};return i?(0,ft.jsx)("span",{...k,children:o}):(0,ft.jsx)("div",{...k,children:o})}if(typeof document<"u"&&!document.getElementById("ac-style-56b0c577")){let e=document.createElement("style");e.id="ac-style-56b0c577",e.textContent=`/* The footer adds its own 8px horizontal inset so it stays clear of the
1304
+ `,document.head.appendChild(e)}var bt=require("react/jsx-runtime");function $e({gap:e,align:a="center",justify:t="start",noWrap:i=!1,inline:o=!1,className:r,children:n,...h}){let d=e?{"--aia-cluster-gap":e}:void 0,x={className:r?`aia-cluster ${r}`:"aia-cluster","data-align":a,"data-justify":t,"data-nowrap":i||void 0,"data-inline":o||void 0,style:d,...h};return o?(0,bt.jsx)("span",{...x,children:n}):(0,bt.jsx)("div",{...x,children:n})}if(typeof document<"u"&&!document.getElementById("ac-style-56b0c577")){let e=document.createElement("style");e.id="ac-style-56b0c577",e.textContent=`/* The footer adds its own 8px horizontal inset so it stays clear of the
1252
1305
  dropdown's rounded edges. The top inset (--aia-footer-gap) adds breathing
1253
1306
  room above the hint/branding row so the footer doesn't butt against the last
1254
1307
  option row \u2014 additive to the dropdown's 8px section gap. */
@@ -1395,7 +1448,7 @@
1395
1448
  justify-content: flex-end;
1396
1449
  }
1397
1450
  }
1398
- `,document.head.appendChild(e)}var ye={footer:"aia-footer-qQQ7x",row:"aia-row-BgZ6Q",hintGroup:"aia-hintGroup-ZzbPf",brandLink:"aia-brandLink-r4f3R",key:"aia-key-Bz1H-",hint:"aia-hint-GKEOH",brand:"aia-brand-Al-lR",badge:"aia-badge-Fk9vg"};var pe=require("react/jsx-runtime");function Rt({isOptionHighlighted:e=!1,isInputEmpty:a=!1,strings:t=(0,De.uiStringsFor)()}){let{key:n,hint:i}=(0,De.getFooterHint)(e,a,t),[r,o]=(0,ot.useState)(De.ATTRIBUTION_URL);return(0,ot.useEffect)(()=>{o((0,De.buildAttributionUrl)())},[]),(0,pe.jsx)("footer",{className:ye.footer,"data-aia-footer":"",children:(0,pe.jsxs)($e,{justify:"between",noWrap:!0,className:ye.row,children:[(0,pe.jsxs)($e,{gap:"5px",className:ye.hintGroup,children:[(0,pe.jsx)("kbd",{className:ye.key,children:n}),(0,pe.jsx)("span",{className:ye.hint,children:i})]}),(0,pe.jsxs)("a",{className:ye.brandLink,href:r,target:"_blank",rel:"noopener noreferrer",children:[(0,pe.jsx)("span",{className:ye.brand,children:"AI"}),(0,pe.jsx)("span",{className:ye.badge,children:"Autocomplete"})]})]})})}if(typeof document<"u"&&!document.getElementById("ac-style-199d0432")){let e=document.createElement("style");e.id="ac-style-199d0432",e.textContent=`/* ParamPill (Figma "ParamPill") \u2014 unfilled suggestion pill: transparent fill,
1451
+ `,document.head.appendChild(e)}var ye={footer:"aia-footer-qQQ7x",row:"aia-row-BgZ6Q",hintGroup:"aia-hintGroup-ZzbPf",brandLink:"aia-brandLink-r4f3R",key:"aia-key-Bz1H-",hint:"aia-hint-GKEOH",brand:"aia-brand-Al-lR",badge:"aia-badge-Fk9vg"};var de=require("react/jsx-runtime");function Ot({isOptionHighlighted:e=!1,isInputEmpty:a=!1,strings:t=(0,Me.uiStringsFor)()}){let{key:i,hint:o}=(0,Me.getFooterHint)(e,a,t),[r,n]=(0,nt.useState)(Me.ATTRIBUTION_URL);return(0,nt.useEffect)(()=>{n((0,Me.buildAttributionUrl)())},[]),(0,de.jsx)("footer",{className:ye.footer,"data-aia-footer":"",children:(0,de.jsxs)($e,{justify:"between",noWrap:!0,className:ye.row,children:[(0,de.jsxs)($e,{gap:"5px",className:ye.hintGroup,children:[(0,de.jsx)("kbd",{className:ye.key,children:i}),(0,de.jsx)("span",{className:ye.hint,children:o})]}),(0,de.jsxs)("a",{className:ye.brandLink,href:r,target:"_blank",rel:"noopener noreferrer",children:[(0,de.jsx)("span",{className:ye.brand,children:"AI"}),(0,de.jsx)("span",{className:ye.badge,children:"Autocomplete"})]})]})})}if(typeof document<"u"&&!document.getElementById("ac-style-199d0432")){let e=document.createElement("style");e.id="ac-style-199d0432",e.textContent=`/* ParamPill (Figma "ParamPill") \u2014 unfilled suggestion pill: transparent fill,
1399
1452
  no outline. ~28px via 6px padding + 14px text + the 1px border (border-box).
1400
1453
  The border is kept as a 1px transparent line so the box stays the same size
1401
1454
  as it was when the outline was dashed. */
@@ -1471,7 +1524,7 @@
1471
1524
  opacity: 0;
1472
1525
  }
1473
1526
  }
1474
- `,document.head.appendChild(e)}var Le={pill:"aia-pill-6Ga7S",fadeIn:"aia-fadeIn-Ux4eQ",rounded:"aia-rounded-y7xA9",skeleton:"aia-skeleton-57P0T",skeletonIn:"aia-skeletonIn-54kMv",skeletonPulse:"aia-skeletonPulse-xGcUy",skeletonOut:"aia-skeletonOut-1sJ-r"};var Dt=require("react/jsx-runtime"),bt={selected:1,first:.7,next:.4,last:.2};function Ot({label:e,state:a,rounded:t,loading:n,onClick:i}){let r=[Le.pill,t?Le.rounded:"",n?Le.skeleton:""].filter(Boolean).join(" ");return(0,Dt.jsx)("button",{type:"button","data-aia-pill":"","data-aia-loading":n?"":void 0,tabIndex:-1,contentEditable:!1,suppressContentEditableWarning:!0,className:r,style:{opacity:bt[a]},onMouseDown:o=>o.preventDefault(),onClick:n?void 0:i,disabled:n,children:e})}if(typeof document<"u"&&!document.getElementById("ac-style-0fcb7940")){let e=document.createElement("style");e.id="ac-style-0fcb7940",e.textContent=`.aia-list-qvLqO {
1527
+ `,document.head.appendChild(e)}var Ne={pill:"aia-pill-6Ga7S",fadeIn:"aia-fadeIn-Ux4eQ",rounded:"aia-rounded-y7xA9",skeleton:"aia-skeleton-57P0T",skeletonIn:"aia-skeletonIn-54kMv",skeletonPulse:"aia-skeletonPulse-xGcUy",skeletonOut:"aia-skeletonOut-1sJ-r"};var Lt=require("react/jsx-runtime"),wt={selected:1,first:.7,next:.4,last:.2};function Dt({label:e,state:a,rounded:t,loading:i,onClick:o}){let r=[Ne.pill,t?Ne.rounded:"",i?Ne.skeleton:""].filter(Boolean).join(" ");return(0,Lt.jsx)("button",{type:"button","data-aia-pill":"","data-aia-loading":i?"":void 0,tabIndex:-1,contentEditable:!1,suppressContentEditableWarning:!0,className:r,style:{opacity:wt[a]},onMouseDown:n=>n.preventDefault(),onClick:i?void 0:o,disabled:i,children:e})}if(typeof document<"u"&&!document.getElementById("ac-style-0fcb7940")){let e=document.createElement("style");e.id="ac-style-0fcb7940",e.textContent=`.aia-list-qvLqO {
1475
1528
  position: relative;
1476
1529
  z-index: 1;
1477
1530
  pointer-events: auto;
@@ -1481,7 +1534,7 @@
1481
1534
  align-items: center;
1482
1535
  vertical-align: middle;
1483
1536
  }
1484
- `,document.head.appendChild(e)}var vt={list:"aia-list-qvLqO"};var Ve=require("react/jsx-runtime"),ha=[125,69];function Lt(e){return e===0?"first":e===1?"next":"last"}function nt({pills:e,activePillIndex:a,onSelectPill:t,activeSelected:n,rounded:i,loading:r}){return r&&e.length===0?(0,Ve.jsx)("span",{className:vt.list,"data-aia-pill-list-loading":"",children:ha.map((o,p)=>(0,Ve.jsx)("span",{"data-aia-pill-skeleton":"",className:`${Le.pill} ${i?Le.rounded:""} ${Le.skeleton}`,style:{width:o,opacity:bt[Lt(p)]}},`skel-${o}`))}):(0,Ve.jsx)("span",{className:vt.list,"data-aia-pill-list-loading":r?"":void 0,children:e.map((o,p)=>{let c=!!n&&p===a;return(0,Ve.jsx)(Ot,{label:o.text,state:c?"selected":Lt(p),selected:c,rounded:i,loading:r,onClick:()=>t(p)},`${o.parameter}-${o.text}`)})})}var he=require("@magicx-eng/ai-autocomplete-vanilla"),Ue=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-fef1688d")){let e=document.createElement("style");e.id="ac-style-fef1688d",e.textContent=`/* Product strip \u2014 the React counterpart of the vanilla core's strip rules
1537
+ `,document.head.appendChild(e)}var vt={list:"aia-list-qvLqO"};var Xe=require("react/jsx-runtime"),ua=[125,69];function zt(e){return e===0?"first":e===1?"next":"last"}function rt({pills:e,activePillIndex:a,onSelectPill:t,activeSelected:i,rounded:o,loading:r}){return r&&e.length===0?(0,Xe.jsx)("span",{className:vt.list,"data-aia-pill-list-loading":"",children:ua.map((n,h)=>(0,Xe.jsx)("span",{"data-aia-pill-skeleton":"",className:`${Ne.pill} ${o?Ne.rounded:""} ${Ne.skeleton}`,style:{width:n,opacity:wt[zt(h)]}},`skel-${n}`))}):(0,Xe.jsx)("span",{className:vt.list,"data-aia-pill-list-loading":r?"":void 0,children:e.map((n,h)=>{let d=!!i&&h===a;return(0,Xe.jsx)(Dt,{label:n.text,state:d?"selected":zt(h),selected:d,rounded:o,loading:r,onClick:()=>t(h)},`${n.parameter}-${n.text}`)})})}var ce=require("@magicx-eng/ai-autocomplete-vanilla"),qe=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-fef1688d")){let e=document.createElement("style");e.id="ac-style-fef1688d",e.textContent=`/* Product strip \u2014 the React counterpart of the vanilla core's strip rules
1485
1538
  (packages/vanilla/src/styles.css). Same tokens, same defaults, so a consumer
1486
1539
  theming one package sees the same result in the other.
1487
1540
 
@@ -1765,7 +1818,7 @@
1765
1818
  letter-spacing: 0.02em;
1766
1819
  text-align: center;
1767
1820
  }
1768
- `,document.head.appendChild(e)}var ae={section:"aia-section-Hugfg",label:"aia-label-nuc93",row:"aia-row-WDVBX",card:"aia-card-JBGYT",media:"aia-media-RrbGe",image:"aia-image-5pNL7",body:"aia-body-ly032",vendor:"aia-vendor-Gvu7G",title:"aia-title-gCNmq",price:"aia-price-gULcE",badge:"aia-badge-j9Hcd"};var Q=require("react/jsx-runtime");function zt({products:e,listboxId:a,onSelect:t,onFocusChange:n,focusable:i=!0,layout:r="row",imageFallback:o="image",strings:p=(0,he.uiStringsFor)()}){let c=e.length>0,k=(0,Ue.useRef)(null);if((0,Ue.useEffect)(()=>{let I=k.current;if(!(!c||!I))return(0,he.attachProductRowWheel)(I)},[c]),!c)return null;let S=`${a}-products-label`;return(0,Q.jsxs)("section",{className:ae.section,"data-aia-products":"","data-aia-products-layout":r,role:"group","aria-labelledby":S,children:[(0,Q.jsx)("div",{className:ae.label,id:S,"data-aia-products-label":"",children:p.products}),(0,Q.jsx)("div",{ref:k,className:ae.row,"data-aia-products-row":"",children:e.map((I,m)=>(0,Q.jsx)(ua,{product:I,id:`${a}-product-${m}`,onSelect:t,onFocusChange:n,focusable:i,imageFallback:o,soldOut:p.soldOut},I.id))})]})}function ua({product:e,id:a,onSelect:t,onFocusChange:n,focusable:i,imageFallback:r,soldOut:o}){let p=c=>{c.metaKey||c.ctrlKey||c.shiftKey||c.altKey||c.button!==0||(c.preventDefault(),t(e))};return(0,Q.jsxs)("a",{id:a,className:ae.card,"data-aia-product":"","data-aia-product-sold-out":e.available===!1?"":void 0,role:"option","aria-selected":!1,href:e.url,tabIndex:i?0:-1,onClick:p,onKeyDown:c=>{c.key!=="Enter"&&c.key!==" "||(c.preventDefault(),t(e))},onFocus:()=>n?.(!0),onBlur:c=>{c.relatedTarget?.closest("[data-aia-dropdown]")||n?.(!1)},children:[(0,Q.jsx)(ma,{sources:(0,he.productImageSources)(e.imageUrl),title:e.title,fallback:r},(0,he.productImageSrc)(e.imageUrl)??""),(0,Q.jsxs)("span",{className:ae.body,children:[e.vendor?(0,Q.jsx)("span",{className:ae.vendor,children:e.vendor}):null,(0,Q.jsx)("span",{className:ae.title,children:e.title}),e.price?(0,Q.jsx)("span",{className:ae.price,children:e.price}):null,e.available===!1?(0,Q.jsx)("span",{className:ae.badge,children:o}):null]})]})}function ma({sources:e,title:a,fallback:t}){let[n,i]=(0,Ue.useState)(0),r=e[n],o=!!r,p=!o&&t==="initial";return(0,Q.jsxs)("span",{className:ae.media,"aria-hidden":"true","data-aia-product-placeholder":!o&&!p?"":void 0,"data-aia-product-initial":p?"":void 0,children:[o?(0,Q.jsx)("img",{className:ae.image,src:r,alt:"",loading:"lazy",decoding:"async",onError:()=>i(c=>c+1)}):null,p?(0,he.productInitial)(a):null]})}var Y=require("@magicx-eng/ai-autocomplete-vanilla"),fe=require("react");var Mt=require("@magicx-eng/ai-autocomplete-vanilla"),rt=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-948e58da")){let e=document.createElement("style");e.id="ac-style-948e58da",e.textContent=`.aia-grid {
1821
+ `,document.head.appendChild(e)}var oe={section:"aia-section-Hugfg",label:"aia-label-nuc93",row:"aia-row-WDVBX",card:"aia-card-JBGYT",media:"aia-media-RrbGe",image:"aia-image-5pNL7",body:"aia-body-ly032",vendor:"aia-vendor-Gvu7G",title:"aia-title-gCNmq",price:"aia-price-gULcE",badge:"aia-badge-j9Hcd"};var Z=require("react/jsx-runtime");function Mt({products:e,listboxId:a,onSelect:t,onFocusChange:i,focusable:o=!0,layout:r="row",imageFallback:n="image",strings:h=(0,ce.uiStringsFor)()}){let d=e.length>0,x=(0,qe.useRef)(null);if((0,qe.useEffect)(()=>{let I=x.current;if(!(!d||!I))return(0,ce.attachProductRowWheel)(I)},[d]),!d)return null;let E=`${a}-products-label`;return(0,Z.jsxs)("section",{className:oe.section,"data-aia-products":"","data-aia-products-layout":r,role:"group","aria-labelledby":E,children:[(0,Z.jsx)("div",{className:oe.label,id:E,"data-aia-products-label":"",children:h.products}),(0,Z.jsx)("div",{ref:x,className:oe.row,"data-aia-products-row":"",children:e.map((I,m)=>(0,Z.jsx)(ga,{product:I,id:`${a}-product-${m}`,onSelect:t,onFocusChange:i,focusable:o,imageFallback:n,soldOut:h.soldOut},I.id))})]})}function ga({product:e,id:a,onSelect:t,onFocusChange:i,focusable:o,imageFallback:r,soldOut:n}){let h=d=>{d.metaKey||d.ctrlKey||d.shiftKey||d.altKey||d.button!==0||(d.preventDefault(),t(e))};return(0,Z.jsxs)("a",{id:a,className:oe.card,"data-aia-product":"","data-aia-product-sold-out":e.available===!1?"":void 0,role:"option","aria-selected":!1,href:e.url,tabIndex:o?0:-1,onClick:h,onKeyDown:d=>{d.key!=="Enter"&&d.key!==" "||(d.preventDefault(),t(e))},onFocus:()=>i?.(!0),onBlur:d=>{d.relatedTarget?.closest("[data-aia-dropdown]")||i?.(!1)},children:[(0,Z.jsx)(ma,{sources:(0,ce.productImageSources)(e.imageUrl),title:e.title,fallback:r},(0,ce.productImageSrc)(e.imageUrl)??""),(0,Z.jsxs)("span",{className:oe.body,children:[e.vendor?(0,Z.jsx)("span",{className:oe.vendor,children:e.vendor}):null,(0,Z.jsx)("span",{className:oe.title,children:e.title}),e.price?(0,Z.jsx)("span",{className:oe.price,children:e.price}):null,e.available===!1?(0,Z.jsx)("span",{className:oe.badge,children:n}):null]})]})}function ma({sources:e,title:a,fallback:t}){let[i,o]=(0,qe.useState)(0),r=e[i],n=!!r,h=!n&&t==="initial";return(0,Z.jsxs)("span",{className:oe.media,"aria-hidden":"true","data-aia-product-placeholder":!n&&!h?"":void 0,"data-aia-product-initial":h?"":void 0,children:[n?(0,Z.jsx)("img",{className:oe.image,src:r,alt:"",loading:"lazy",decoding:"async",onError:()=>o(d=>d+1)}):null,h?(0,ce.productInitial)(a):null]})}var V=require("@magicx-eng/ai-autocomplete-vanilla"),ge=require("react");var Nt=require("@magicx-eng/ai-autocomplete-vanilla"),st=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-948e58da")){let e=document.createElement("style");e.id="ac-style-948e58da",e.textContent=`.aia-grid {
1769
1822
  display: grid;
1770
1823
  grid-template-columns: repeat(
1771
1824
  auto-fit,
@@ -1801,7 +1854,7 @@
1801
1854
  .aia-grid[data-scroll]::-webkit-scrollbar {
1802
1855
  display: none;
1803
1856
  }
1804
- `,document.head.appendChild(e)}var Bt=require("react/jsx-runtime");function Nt({min:e="16rem",max:a,gap:t,scroll:n=!1,maxHeight:i,scrollResetKey:r,cols:o,template:p,innerRef:c,className:k,children:S,...I}){let m=(0,rt.useRef)(null);(0,rt.useLayoutEffect)(()=>{if(r===void 0)return;let A=m.current;A&&(A.scrollTop=0)},[r]);let b={"--aia-grid-min":e};return a&&(b["--aia-grid-max"]=a),t&&(b["--aia-grid-gap"]=t),i&&(b["--aia-grid-max-height"]=i),o&&(b.gridTemplateColumns=(0,Mt.optionsGridTemplateColumns)(o)),p&&(b.gridTemplateColumns=p),(0,Bt.jsx)("div",{ref:A=>{m.current=A,c?.(A)},className:k?`aia-grid ${k}`:"aia-grid","data-scroll":n||void 0,style:b,...I,children:S})}var ge=require("@magicx-eng/ai-autocomplete-vanilla"),me=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-82820da7")){let e=document.createElement("style");e.id="ac-style-82820da7",e.textContent=`.aia-item-d4vpD {
1857
+ `,document.head.appendChild(e)}var Bt=require("react/jsx-runtime");function Ft({min:e="16rem",max:a,gap:t,scroll:i=!1,maxHeight:o,scrollResetKey:r,cols:n,template:h,innerRef:d,className:x,children:E,...I}){let m=(0,st.useRef)(null);(0,st.useLayoutEffect)(()=>{if(r===void 0)return;let T=m.current;T&&(T.scrollTop=0)},[r]);let w={"--aia-grid-min":e};return a&&(w["--aia-grid-max"]=a),t&&(w["--aia-grid-gap"]=t),o&&(w["--aia-grid-max-height"]=o),n&&(w.gridTemplateColumns=(0,Nt.optionsGridTemplateColumns)(n)),h&&(w.gridTemplateColumns=h),(0,Bt.jsx)("div",{ref:T=>{m.current=T,d?.(T)},className:x?`aia-grid ${x}`:"aia-grid","data-scroll":i||void 0,style:w,...I,children:E})}var ue=require("@magicx-eng/ai-autocomplete-vanilla"),he=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-82820da7")){let e=document.createElement("style");e.id="ac-style-82820da7",e.textContent=`.aia-item-d4vpD {
1805
1858
  position: relative;
1806
1859
  /* Clip, not visible: the entrance rise below runs on the inner content,
1807
1860
  and a transformed box extends its scroll container's scrollable area.
@@ -1935,6 +1988,13 @@
1935
1988
  mask-image: linear-gradient(to bottom, rgb(0 0 0), rgb(0 0 0 / 0.6));
1936
1989
  }
1937
1990
 
1991
+ /* A panel fitted to the viewport (data-aia-fit, see appearance.css) shows
1992
+ every row, so the row the hint picked is not the last one on screen. */
1993
+ [data-aia-fit] .aia-scrollHint-xKXPt .aia-content-T-Qba {
1994
+ -webkit-mask-image: none;
1995
+ mask-image: none;
1996
+ }
1997
+
1938
1998
  /* Loading state \u2014 preserve the row's exact dimensions. The content stays an
1939
1999
  inline span so the line box and padding match the non-loading state byte
1940
2000
  for byte. Just hide the text and apply a background as a skeleton bar; the
@@ -2198,7 +2258,7 @@
2198
2258
  opacity: 0;
2199
2259
  }
2200
2260
  }
2201
- `,document.head.appendChild(e)}var ee={item:"aia-item-d4vpD",content:"aia-content-T-Qba",riseIn:"aia-riseIn-etXZT",fadeIn:"aia-fadeIn-I8u35",tappable:"aia-tappable-70KcX",nonTappable:"aia-nonTappable-xSZM-",highlighted:"aia-highlighted-Hb0SU",tag:"aia-tag-e3Fwe",pressed:"aia-pressed-98o-r",pressCompress:"aia-pressCompress-ICV3q",scrollHint:"aia-scrollHint-xKXPt",skeletonPulse:"aia-skeletonPulse-plvdD",text:"aia-text-yqoh9",skeletonBarIn:"aia-skeletonBarIn-ZlEM0",icon:"aia-icon-Qw938",count:"aia-count-IpYbQ",image:"aia-image-YZAbO",skeletonOut:"aia-skeletonOut-x6NRd"};var ue=require("react/jsx-runtime");function Ht({option:e,isHighlighted:a,onSelect:t,onHighlight:n,onUnhighlight:i,id:r,loading:o,showIcon:p=!0,showImage:c=!0,showCount:k=!0,scrollHint:S,enterDelayMs:I=0}){let[m]=(0,me.useState)(I),[b,A]=(0,me.useState)(!1),B=c?(0,ge.optionImageSources)(e.image_url):[],H=B[0]??null,[j,R]=(0,me.useState)([]),T=B.find(W=>!j.includes(W))??null,F=(0,me.useMemo)(()=>!H&&p&&e.icon_svg?(0,ge.sanitizeOptionIconSvg)(e.icon_svg):null,[H,p,e.icon_svg]),K=k?(0,ge.formatOptionCount)(e.item_count):null,C=(0,me.useRef)(void 0);(0,me.useEffect)(()=>()=>clearTimeout(C.current),[]);let G=()=>{o||!e.is_tappable||b||(A(!0),t(e),clearTimeout(C.current),C.current=setTimeout(()=>A(!1),170))},oe=[ee.item,a&&!o?ee.highlighted:"",e.is_tappable?ee.tappable:ee.nonTappable,b?ee.pressed:"",S?ee.scrollHint:""].filter(Boolean).join(" ");return(0,ue.jsx)("div",{id:r,role:"option","data-aia-option":"","data-aia-loading":o?"":void 0,"data-aia-icon":F&&e.icon?e.icon:void 0,"data-aia-image":H?"":void 0,"data-aia-item-count":K!==null?e.item_count:void 0,"aria-selected":a,className:oe,style:{[ge.OPTION_ENTER_DELAY_VAR]:`${m}ms`},tabIndex:o||!e.is_tappable?-1:0,onClick:G,onKeyDown:W=>{!o&&e.is_tappable&&(W.key==="Enter"||W.key===" ")&&(W.preventDefault(),G())},onMouseEnter:!o&&e.is_tappable?n:void 0,onMouseLeave:i,children:(0,ue.jsxs)("span",{className:ee.content,children:[H&&(0,ue.jsx)("span",{className:`${ee.image} magicx-aia-option-image`,"aria-hidden":"true",children:(0,ue.jsx)("img",{src:T??H,alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",draggable:!1,hidden:T===null,onError:()=>{T!==null&&R(W=>[...W,T])}})}),F&&(0,ue.jsx)("span",{className:`${ee.icon} magicx-aia-option-icon`,"aria-hidden":"true",dangerouslySetInnerHTML:{__html:F}}),(0,ue.jsx)("span",{className:ee.text,children:(0,ge.optionLabel)(e)}),e.tag&&(0,ue.jsx)("span",{className:ee.tag,children:e.tag}),K!==null&&(0,ue.jsx)("span",{className:`${ee.count} magicx-aia-option-count`,children:K})]})})}var wt=require("react/jsx-runtime");function ga(){let[e,a]=(0,fe.useState)(Y.isOptionsGridMobileViewport);return(0,fe.useEffect)(()=>{if(typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia(Y.OPTIONS_GRID_MOBILE_QUERY),n=()=>a(t.matches);return n(),t.addEventListener("change",n),()=>t.removeEventListener("change",n)},[]),e}function Ft({options:e,activeIndex:a,onSelect:t,onHighlight:n,onUnhighlight:i,listboxId:r,loading:o,groupKey:p="",optionsPosition:c="below",showIcons:k=!0,showImages:S=!0,showCounts:I=!0}){let m=ga(),b=(0,fe.useRef)(null),[A,B]=(0,fe.useState)(null),H=(0,fe.useRef)(null);(0,fe.useLayoutEffect)(()=>{if(o&&(0,Y.sameOptionRows)(H.current,e))return;H.current=o?null:e;let R=b.current,F=R&&!o&&(0,Y.needsOptionsGridMeasurement)(e.length,m)?(0,Y.measureOptionsGrid)(R):null;B(F?(0,Y.planOptionsGrid)(e.length,m,F.rowWidths,F.gridWidth):null)},[e,m,o]);let j=A??(0,Y.planOptionsGrid)(e.length,m,null,null);return(0,wt.jsx)(Nt,{min:"250px",max:"1fr",gap:"0",scroll:!0,scrollResetKey:p,template:j.template,maxHeight:j.maxHeight,innerRef:R=>{b.current=R},"data-aia-group":p,children:e.map((R,T)=>(0,wt.jsx)(Ht,{option:R,isHighlighted:T===a,onSelect:t,onHighlight:()=>n(T),onUnhighlight:i?()=>i(T):void 0,id:`${r}-option-${T}`,loading:o,showIcon:k,showImage:S,showCount:I,scrollHint:!o&&j.scrollHintIndices.includes(T),enterDelayMs:o?0:(0,Y.optionEnterDelayMs)(T,j.cols,e.length,c)},`${p}\0${R.text}`))})}if(typeof document<"u"&&!document.getElementById("ac-style-8414cd5f")){let e=document.createElement("style");e.id="ac-style-8414cd5f",e.textContent=`.aia-stack {
2261
+ `,document.head.appendChild(e)}var ee={item:"aia-item-d4vpD",content:"aia-content-T-Qba",riseIn:"aia-riseIn-etXZT",fadeIn:"aia-fadeIn-I8u35",tappable:"aia-tappable-70KcX",nonTappable:"aia-nonTappable-xSZM-",highlighted:"aia-highlighted-Hb0SU",tag:"aia-tag-e3Fwe",pressed:"aia-pressed-98o-r",pressCompress:"aia-pressCompress-ICV3q",scrollHint:"aia-scrollHint-xKXPt",skeletonPulse:"aia-skeletonPulse-plvdD",text:"aia-text-yqoh9",skeletonBarIn:"aia-skeletonBarIn-ZlEM0",icon:"aia-icon-Qw938",count:"aia-count-IpYbQ",image:"aia-image-YZAbO",skeletonOut:"aia-skeletonOut-x6NRd"};var pe=require("react/jsx-runtime");function Ht({option:e,isHighlighted:a,onSelect:t,onHighlight:i,onUnhighlight:o,id:r,loading:n,showIcon:h=!0,showImage:d=!0,showCount:x=!0,scrollHint:E,enterDelayMs:I=0}){let[m]=(0,he.useState)(I),[w,T]=(0,he.useState)(!1),F=d?(0,ue.optionImageSources)(e.image_url):[],B=F[0]??null,[j,z]=(0,he.useState)([]),A=F.find(G=>!j.includes(G))??null,U=(0,he.useMemo)(()=>!B&&h&&e.icon_svg?(0,ue.sanitizeOptionIconSvg)(e.icon_svg):null,[B,h,e.icon_svg]),H=x?(0,ue.formatOptionCount)(e.item_count):null,P=(0,he.useRef)(void 0);(0,he.useEffect)(()=>()=>clearTimeout(P.current),[]);let K=()=>{n||!e.is_tappable||w||(T(!0),t(e),clearTimeout(P.current),P.current=setTimeout(()=>T(!1),170))},Q=[ee.item,a&&!n?ee.highlighted:"",e.is_tappable?ee.tappable:ee.nonTappable,w?ee.pressed:"",E?ee.scrollHint:""].filter(Boolean).join(" ");return(0,pe.jsx)("div",{id:r,role:"option","data-aia-option":"","data-aia-loading":n?"":void 0,"data-aia-icon":U&&e.icon?e.icon:void 0,"data-aia-image":B?"":void 0,"data-aia-item-count":H!==null?e.item_count:void 0,"aria-selected":a,className:Q,style:{[ue.OPTION_ENTER_DELAY_VAR]:`${m}ms`},tabIndex:n||!e.is_tappable?-1:0,onClick:K,onKeyDown:G=>{!n&&e.is_tappable&&(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),K())},onMouseEnter:!n&&e.is_tappable?i:void 0,onMouseLeave:o,children:(0,pe.jsxs)("span",{className:ee.content,children:[B&&(0,pe.jsx)("span",{className:`${ee.image} magicx-aia-option-image`,"aria-hidden":"true",children:(0,pe.jsx)("img",{src:A??B,alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",draggable:!1,hidden:A===null,onError:()=>{A!==null&&z(G=>[...G,A])}})}),U&&(0,pe.jsx)("span",{className:`${ee.icon} magicx-aia-option-icon`,"aria-hidden":"true",dangerouslySetInnerHTML:{__html:U}}),(0,pe.jsx)("span",{className:ee.text,children:(0,ue.optionLabel)(e)}),e.tag&&(0,pe.jsx)("span",{className:ee.tag,children:e.tag}),H!==null&&(0,pe.jsx)("span",{className:`${ee.count} magicx-aia-option-count`,children:H})]})})}var xt=require("react/jsx-runtime");function fa(){let[e,a]=(0,ge.useState)(V.isOptionsGridMobileViewport);return(0,ge.useEffect)(()=>{if(typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia(V.OPTIONS_GRID_MOBILE_QUERY),i=()=>a(t.matches);return i(),t.addEventListener("change",i),()=>t.removeEventListener("change",i)},[]),e}function Kt({options:e,activeIndex:a,onSelect:t,onHighlight:i,onUnhighlight:o,listboxId:r,loading:n,groupKey:h="",optionsPosition:d="below",showIcons:x=!0,showImages:E=!0,showCounts:I=!0}){let m=fa(),w=(0,ge.useRef)(null),[T,F]=(0,ge.useState)(null),B=(0,ge.useRef)(null);(0,ge.useLayoutEffect)(()=>{if(n&&(0,V.sameOptionRows)(B.current,e))return;B.current=n?null:e;let z=w.current,U=z&&!n&&(0,V.needsOptionsGridMeasurement)(e.length,m)?(0,V.measureOptionsGrid)(z):null;F(U?(0,V.planOptionsGrid)(e.length,m,U.rowWidths,U.gridWidth):null)},[e,m,n]);let j=T??(0,V.planOptionsGrid)(e.length,m,null,null);return(0,xt.jsx)(Ft,{min:"250px",max:"1fr",gap:"0",scroll:!0,scrollResetKey:h,template:j.template,maxHeight:j.maxHeight,innerRef:z=>{w.current=z},"data-aia-group":h,children:e.map((z,A)=>(0,xt.jsx)(Ht,{option:z,isHighlighted:A===a,onSelect:t,onHighlight:()=>i(A),onUnhighlight:o?()=>o(A):void 0,id:`${r}-option-${A}`,loading:n,showIcon:x,showImage:E,showCount:I,scrollHint:!n&&j.scrollHintIndices.includes(A),enterDelayMs:n?0:(0,V.optionEnterDelayMs)(A,j.cols,e.length,d)},`${h}\0${z.text}`))})}if(typeof document<"u"&&!document.getElementById("ac-style-8414cd5f")){let e=document.createElement("style");e.id="ac-style-8414cd5f",e.textContent=`.aia-stack {
2202
2262
  display: flex;
2203
2263
  flex-direction: column;
2204
2264
  gap: var(--aia-stack-space, 0.5rem);
@@ -2213,7 +2273,7 @@
2213
2273
  align-items: end;
2214
2274
  }
2215
2275
  /* data-align="stretch" is the flex default \u2014 no rule needed. */
2216
- `,document.head.appendChild(e)}var Gt=require("react/jsx-runtime");function Kt({space:e,align:a="stretch",className:t,children:n,...i}){let r=e?{"--aia-stack-space":e}:void 0;return(0,Gt.jsx)("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":a,style:r,...i,children:n})}var _=require("react/jsx-runtime"),fa=[159,119,164],ba=()=>{},Wt=()=>{};function va(e){let a=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[t,n]=(0,ie.useState)(a);if((0,ie.useEffect)(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let i=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>n(i.matches);return i.addEventListener("change",r),()=>i.removeEventListener("change",r)},[e]),e!==void 0)return e==="auto"?t?"dark":"light":e}function wa(e,a){let t=(0,ie.useRef)(null);(0,ie.useEffect)(()=>{let n=e.current,i=a.current;if(!n||!i)return;let r=n.querySelector(".aia-grid[data-scroll]");if(t.current&&t.current.grid!==r&&(t.current.controller.destroy(),t.current=null),r&&!t.current){t.current={grid:r,controller:(0,ze.attachScrollArrow)({dropdown:n,grid:r,button:i})};return}t.current?.controller.update()}),(0,ie.useEffect)(()=>()=>{t.current?.controller.destroy(),t.current=null},[])}function st({suggestions:e,activeIndex:a,onSelect:t,onHighlight:n,onUnhighlight:i,isOpen:r,id:o,className:p,pills:c,onPillClick:k,showPills:S=!0,onSkip:I,showSkipButton:m=!0,showOptionIcons:b=!0,showOptionImages:A=!0,showOptionCounts:B=!0,skipDisabled:H=!1,activeSelected:j=!1,isLoading:R=!1,skeletonExiting:T=!1,isInputEmpty:F=!1,language:K,products:C,onProductSelect:G,onProductFocusChange:oe,productsLayout:W="row",productImageFallback:ke="image",formatType:re="options",dateView:V=null,selectedDateIso:Ne=null,selectedDateRange:Ce=null,dateRangeStart:g=null,onPreviousMonth:Be,onNextMonth:Pe,optionsPosition:be="below",mode:Se}){let ve=va(Se),Ie=ve!==void 0,X=(0,ie.useRef)(null),se=(0,ie.useRef)(null);wa(X,se),(0,ie.useEffect)(()=>{if(X.current)return(0,ze.containScroll)(X.current)},[]);let l=e[0]?.options??[],f=!!(c&&c.length>0&&k),v=!!(C&&C.length>0),w=r&&(l.length>0||S&&f||R||v),x={suggestions:e,activeIndex:a,pills:c,showPills:S,showSkipButton:m,showOptionIcons:b,showOptionImages:A,showOptionCounts:B,skipDisabled:H,activeSelected:j,isLoading:R,skeletonExiting:T,isInputEmpty:F,products:C,formatType:re,dateView:V,selectedDateIso:Ne,selectedDateRange:Ce,dateRangeStart:g},L=(0,ie.useRef)(x);w&&(L.current=x);let h=w?x:L.current,q=(0,ze.uiStringsFor)(K),J=h.suggestions[0],te=J?.options??[],_e=h.activeIndex>=0&&!!te[h.activeIndex]?.is_tappable,le=!!(h.pills&&h.pills.length>0&&k),Ee=h.showPills&&le,He=h.showPills&&!le&&h.isLoading,y=Ee||He,Te=le&&h.showSkipButton&&!h.isInputEmpty&&!!I,Ae=h.pills?.[0]?.text,we=(0,ze.isCalendarFormat)(h.formatType)&&h.dateView!=null,u=te.length>0&&!we,Fe=te.length>0&&we&&!h.isLoading,je=h.isLoading&&!u&&!Fe,Re=h.products??[];return(0,_.jsxs)("div",{ref:X,id:o,role:"listbox","data-aia-dropdown":"","data-options-position":be,"data-mode":ve,"data-aia-loading":h.isLoading?"":void 0,"data-aia-skeleton-exiting":h.skeletonExiting?"":void 0,"data-aia-has-products":Re.length>0?"":void 0,className:`${Ie?"magicx-aia ":""}${xe.dropdown} ${w?xe.visible:""} ${p??""}`,onMouseDown:de=>de.preventDefault(),children:[(0,_.jsxs)(Kt,{space:"8px",children:[(y||Te)&&(0,_.jsxs)($e,{noWrap:!0,className:xe.pillBar,"data-aia-pillbar":"",children:[y&&(0,_.jsx)("span",{className:xe.pillScroll,"data-aia-pill-scroll":"",children:(0,_.jsx)(nt,{pills:h.pills??[],activePillIndex:0,activeSelected:h.activeSelected,onSelectPill:k??(()=>{}),rounded:!0,loading:h.isLoading})}),Te&&(0,_.jsx)("button",{type:"button",tabIndex:-1,className:xe.skip,"data-aia-skip":"",disabled:h.isLoading||h.skipDisabled,"aria-label":Ae?`${q.skipLabel} ${Ae}`:q.skipLabel,onClick:I,children:q.skip})]}),u&&(0,_.jsx)(Ft,{options:te,activeIndex:h.activeIndex,onSelect:t,onHighlight:n,onUnhighlight:i,listboxId:o,loading:h.isLoading,groupKey:J?`${J.parameter} ${J.text}`:"",optionsPosition:be,showIcons:h.showOptionIcons,showImages:h.showOptionImages,showCounts:h.showOptionCounts}),Fe&&h.dateView&&(0,_.jsx)(At,{options:te,activeIndex:h.activeIndex,listboxId:o,view:h.dateView,selection:{selectedIso:h.selectedDateIso??null,selectedRange:h.selectedDateRange??null,rangeStart:h.dateRangeStart??null},onSelect:t,onHighlight:n,onUnhighlight:i,onPreviousMonth:Be??Wt,onNextMonth:Pe??Wt}),je&&(0,_.jsx)("div",{className:xe.skeletonBars,"data-aia-skeleton-bars":"",children:fa.map(de=>(0,_.jsx)("span",{className:xe.skeletonBar,style:{width:de}},`bar-${de}`))}),(0,_.jsx)(zt,{products:Re,listboxId:o,onSelect:G??ba,onFocusChange:oe,focusable:w,layout:W,imageFallback:ke,strings:q}),(0,_.jsx)(Rt,{isOptionHighlighted:_e,isInputEmpty:h.isInputEmpty,strings:q})]}),(0,_.jsx)("button",{ref:se,type:"button",tabIndex:-1,className:xe.scrollArrow,"data-aia-scroll-arrow":"","aria-label":q.scrollArrow,"aria-hidden":"true",children:(0,_.jsx)("svg",{viewBox:"0 0 16 16",width:"18",height:"18",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:(0,_.jsx)("path",{d:"M4 6.5 8 10.5l4-4"})})})]})}var Me=require("@magicx-eng/ai-autocomplete-vanilla");var Ut=require("@magicx-eng/ai-autocomplete-vanilla");if(typeof document<"u"&&!document.getElementById("ac-style-fdee06e6")){let e=document.createElement("style");e.id="ac-style-fdee06e6",e.textContent=`.aia-submitButton-otz7H {
2276
+ `,document.head.appendChild(e)}var Wt=require("react/jsx-runtime");function Gt({space:e,align:a="stretch",className:t,children:i,...o}){let r=e?{"--aia-stack-space":e}:void 0;return(0,Wt.jsx)("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":a,style:r,...o,children:i})}var W=require("react/jsx-runtime"),ba=[159,119,164],wa=()=>{},_t=()=>{};function va(e){let a=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[t,i]=(0,q.useState)(a);if((0,q.useEffect)(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let o=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>i(o.matches);return o.addEventListener("change",r),()=>o.removeEventListener("change",r)},[e]),e!==void 0)return e==="auto"?t?"dark":"light":e}function xa(e,a){let t=(0,q.useRef)(null);(0,q.useEffect)(()=>{let i=e.current,o=a.current;if(!i||!o)return;let r=i.querySelector(".aia-grid[data-scroll]");if(t.current&&t.current.grid!==r&&(t.current.controller.destroy(),t.current=null),r&&!t.current){t.current={grid:r,controller:(0,me.attachScrollArrow)({dropdown:i,grid:r,button:o})};return}t.current?.controller.update()}),(0,q.useEffect)(()=>()=>{t.current?.controller.destroy(),t.current=null},[])}function ya(e,a){let t=(0,q.useRef)(a);t.current=a;let i=(0,q.useRef)(null);(0,q.useEffect)(()=>{let o=e.current;if(o){if(!i.current){i.current=(0,me.attachViewportFit)({dropdown:o,isOpen:()=>t.current});return}i.current.update()}}),(0,q.useEffect)(()=>()=>{i.current?.destroy(),i.current=null},[])}function lt({suggestions:e,activeIndex:a,onSelect:t,onHighlight:i,onUnhighlight:o,isOpen:r,id:n,className:h,pills:d,onPillClick:x,showPills:E=!0,onSkip:I,showSkipButton:m=!0,showOptionIcons:w=!0,showOptionImages:T=!0,showOptionCounts:F=!0,skipDisabled:B=!1,activeSelected:j=!1,isLoading:z=!1,skeletonExiting:A=!1,isInputEmpty:U=!1,language:H,products:P,onProductSelect:K,onProductFocusChange:Q,productsLayout:G="row",productImageFallback:fe="image",formatType:ke="options",dateView:$=null,selectedDateIso:Ce=null,selectedDateRange:Be=null,dateRangeStart:Pe=null,onPreviousMonth:g,onNextMonth:He,optionsPosition:be="below",mode:Se}){let we=va(Se),Ie=we!==void 0,te=(0,q.useRef)(null),ne=(0,q.useRef)(null);xa(te,ne),(0,q.useEffect)(()=>{if(te.current)return(0,me.containScroll)(te.current)},[]);let l=e[0]?.options??[],f=!!(d&&d.length>0&&x),b=!!(P&&P.length>0),v=r&&(l.length>0||E&&f||z||b);ya(te,v);let k={suggestions:e,activeIndex:a,pills:d,showPills:E,showSkipButton:m,showOptionIcons:w,showOptionImages:T,showOptionCounts:F,skipDisabled:B,activeSelected:j,isLoading:z,skeletonExiting:A,isInputEmpty:U,products:P,formatType:ke,dateView:$,selectedDateIso:Ce,selectedDateRange:Be,dateRangeStart:Pe},R=(0,q.useRef)(k);v&&(R.current=k);let p=v?k:R.current,Y=(0,me.uiStringsFor)(H),ae=p.suggestions[0],ie=ae?.options??[],Ee=p.activeIndex>=0&&!!ie[p.activeIndex]?.is_tappable,Te=!!(p.pills&&p.pills.length>0&&x),Ae=p.showPills&&Te,Re=p.showPills&&!Te&&p.isLoading,Oe=Ae||Re,y=Te&&p.showSkipButton&&!p.isInputEmpty&&!!I,De=p.pills?.[0]?.text,Le=(0,me.isCalendarFormat)(p.formatType)&&p.dateView!=null,ve=ie.length>0&&!Le,u=ie.length>0&&Le&&!p.isLoading,_e=p.isLoading&&!ve&&!u,Ue=p.products??[];return(0,W.jsxs)("div",{ref:te,id:n,role:"listbox","data-aia-dropdown":"","data-options-position":be,"data-mode":we,"data-aia-loading":p.isLoading?"":void 0,"data-aia-skeleton-exiting":p.skeletonExiting?"":void 0,"data-aia-has-products":Ue.length>0?"":void 0,className:`${Ie?"magicx-aia ":""}${xe.dropdown} ${v?xe.visible:""} ${h??""}`,onMouseDown:se=>se.preventDefault(),children:[(0,W.jsxs)(Gt,{space:"8px",children:[(Oe||y)&&(0,W.jsxs)($e,{noWrap:!0,className:xe.pillBar,"data-aia-pillbar":"",children:[Oe&&(0,W.jsx)("span",{className:xe.pillScroll,"data-aia-pill-scroll":"",children:(0,W.jsx)(rt,{pills:p.pills??[],activePillIndex:0,activeSelected:p.activeSelected,onSelectPill:x??(()=>{}),rounded:!0,loading:p.isLoading})}),y&&(0,W.jsx)("button",{type:"button",tabIndex:-1,className:xe.skip,"data-aia-skip":"",disabled:p.isLoading||p.skipDisabled,"aria-label":De?`${Y.skipLabel} ${De}`:Y.skipLabel,onClick:I,children:Y.skip})]}),ve&&(0,W.jsx)(Kt,{options:ie,activeIndex:p.activeIndex,onSelect:t,onHighlight:i,onUnhighlight:o,listboxId:n,loading:p.isLoading,groupKey:ae?`${ae.parameter} ${ae.text}`:"",optionsPosition:be,showIcons:p.showOptionIcons,showImages:p.showOptionImages,showCounts:p.showOptionCounts}),u&&p.dateView&&(0,W.jsx)(Rt,{options:ie,activeIndex:p.activeIndex,listboxId:n,view:p.dateView,selection:{selectedIso:p.selectedDateIso??null,selectedRange:p.selectedDateRange??null,rangeStart:p.dateRangeStart??null},onSelect:t,onHighlight:i,onUnhighlight:o,onPreviousMonth:g??_t,onNextMonth:He??_t}),_e&&(0,W.jsx)("div",{className:xe.skeletonBars,"data-aia-skeleton-bars":"",children:ba.map(se=>(0,W.jsx)("span",{className:xe.skeletonBar,style:{width:se}},`bar-${se}`))}),(0,W.jsx)(Mt,{products:Ue,listboxId:n,onSelect:K??wa,onFocusChange:Q,focusable:v,layout:G,imageFallback:fe,strings:Y}),(0,W.jsx)(Ot,{isOptionHighlighted:Ee,isInputEmpty:p.isInputEmpty,strings:Y})]}),(0,W.jsx)("button",{ref:ne,type:"button",tabIndex:-1,className:xe.scrollArrow,"data-aia-scroll-arrow":"","aria-label":Y.scrollArrow,"aria-hidden":"true",children:(0,W.jsx)("svg",{viewBox:"0 0 16 16",width:"18",height:"18",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:(0,W.jsx)("path",{d:"M4 6.5 8 10.5l4-4"})})})]})}var Fe=require("@magicx-eng/ai-autocomplete-vanilla");var qt=require("@magicx-eng/ai-autocomplete-vanilla");if(typeof document<"u"&&!document.getElementById("ac-style-fdee06e6")){let e=document.createElement("style");e.id="ac-style-fdee06e6",e.textContent=`.aia-submitButton-otz7H {
2217
2277
  flex-shrink: 0;
2218
2278
  width: 32px;
2219
2279
  height: 32px;
@@ -2266,5 +2326,5 @@
2266
2326
  );
2267
2327
  cursor: default;
2268
2328
  }
2269
- `,document.head.appendChild(e)}var _t={submitButton:"aia-submitButton-otz7H"};var lt=require("react/jsx-runtime");function qt({disabled:e,onClick:a,label:t=(0,Ut.uiStringsFor)().submit}){return(0,lt.jsx)("button",{type:"button","data-aia-submit":"",className:_t.submitButton,disabled:e,onClick:n=>{n.stopPropagation(),a()},"aria-label":t,children:(0,lt.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":t,children:(0,lt.jsx)("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}var qe=require("@magicx-eng/ai-autocomplete-vanilla"),P=require("react");var xt=require("react");function jt(e){let a=(0,xt.useRef)(e);a.current=e;let t=Object.keys(e??{}).sort().join("\0"),n=(0,xt.useRef)({key:"",overrides:void 0});if(n.current.key!==t){let i={};for(let r of Object.keys(e??{})){let o=(p,c,k)=>{let S=a.current?.[r];return S?S(p,c,k):[]};i[r]=o}n.current={key:t,overrides:e?i:void 0}}return{overrides:n.current.overrides,key:t}}var yt=require("react");function Qt(e){let a=(0,yt.useRef)(e);a.current=e;let t=(0,yt.useRef)(null);t.current===null&&(t.current={fetch:(i,r)=>{let o=a.current;return o?o.fetch(i,r):Promise.reject(new Error("products config removed"))},transform:i=>a.current?.transform(i)??[],get limit(){return a.current?.limit}});let n=e!==void 0;return{config:n?t.current:void 0,enabled:n}}var xa={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],customFields:null,optionSearch:null,activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],dropdownLoading:!0,dropdownOptions:[],skeletonOptions:null,skeletonSuggestion:null,dropdownSuggestion:null,skeletonRequested:!1,skeletonExiting:!1,activeFormatType:"options",dateView:null,dateRangeStart:null,placeholderText:"",optionQuery:"",isSearchingOptions:!1,isDropdownOpen:!1,isActivePillSelected:!1,filterBase:0,filterInProgress:!1,pillTapped:!1,skipNextFetch:!1,lastRawQuery:"",isFocused:!1,editingParam:null,editingIdentified:null,editingAnchor:null,editingTail:null,caretOffset:null,inSelectionAnimation:!1,dateViewMonth:null,pendingRangeStart:null};function dt({onSubmit:e,onResult:a,onError:t,optionOverrides:n,maskCompletedText:i,apiConfig:r,additionalContext:o,language:p,visitorId:c,columns:k=2,dropdownTrigger:S,optionsPosition:I,closeDropdownOnBlur:m,showNonTappableOptions:b,showOptionIcons:A,showOptionImages:B,showOptionCounts:H,showSkipButton:j,showProducts:R,productImageFallback:T="image",onFocus:F,onBlur:K,value:C,completedParams:G,onChange:oe,onParamsChange:W,products:ke,mapProducts:re,onProductSelect:V,source:Ne,setCursor:Ce}){let g=(0,P.useRef)(null),[Be,Pe]=(0,P.useState)(null),be=(0,P.useRef)(e);be.current=e;let Se=(0,P.useRef)(a);Se.current=a;let ve=(0,P.useRef)(t);ve.current=t;let Ie=(0,P.useRef)(oe);Ie.current=oe;let X=(0,P.useRef)(W);X.current=W;let se=(0,P.useRef)(F);se.current=F;let l=(0,P.useRef)(K);l.current=K;let f=(0,P.useRef)(Ce);f.current=Ce;let v=(0,P.useRef)(V);v.current=V;let w=(0,P.useRef)(c);w.current=c;let x=(0,P.useRef)(()=>{let d=w.current;return typeof d=="function"?d():d}).current,L=Qt(ke),h=(0,P.useRef)(re);h.current=re;let q=(0,P.useRef)((d,Z)=>{let O=h.current;return O?O(d,Z):d}).current,J=re?q:void 0,te=jt(n);(0,P.useEffect)(()=>{if(typeof document>"u")return;let d=new qe.AIAutocomplete(document.createElement("div"),{renderMode:"headless",apiConfig:r,additionalContext:o,language:p,visitorId:x,optionOverrides:te.overrides,maskCompletedText:i,columns:k,dropdownTrigger:S,optionsPosition:I,closeDropdownOnBlur:m,showNonTappableOptions:b,showProducts:R,source:Ne,value:C,completedParams:G,onSubmit:(...O)=>be.current?.(...O),onResult:(...O)=>Se.current?.(...O),onError:(...O)=>ve.current?.(...O),onChange:(...O)=>Ie.current?.(...O),onParamsChange:(...O)=>X.current?.(...O),onFocus:()=>se.current?.(),onBlur:()=>l.current?.(),onProductSelect:O=>v.current?.(O),setCursor:O=>f.current?.(O),products:L.config,mapProducts:J});g.current=d,Pe(d.getState());let Z=d.subscribe(O=>Pe(O));return()=>{Z(),d.destroy(),g.current===d&&(g.current=null)}},[]),(0,P.useEffect)(()=>{C!==void 0&&g.current?.setValue(C)},[C]),(0,P.useEffect)(()=>{G!==void 0&&g.current?.setCompletedParams(G)},[G]);let _e=JSON.stringify(r??null),le;try{le=JSON.stringify(o??null)}catch{le="[unstringifiable]"}(0,P.useEffect)(()=>{g.current?.update({apiConfig:r,additionalContext:o,language:p,optionOverrides:te.overrides,dropdownTrigger:S,optionsPosition:I,closeDropdownOnBlur:m,showNonTappableOptions:b,showProducts:R})},[_e,le,p,te.key,S,I,m,b,R]);let Ee=(0,P.useRef)(!1);(0,P.useEffect)(()=>{if(!Ee.current){Ee.current=!0;return}g.current?.update({products:L.config})},[L.enabled]),(0,P.useEffect)(()=>{g.current?.update({mapProducts:J})},[J]);let He=(0,P.useRef)(null);He.current===null&&(He.current={handleTextChange:d=>g.current?.handleTextChange(d),handleKeyDown:d=>{let Z="nativeEvent"in d?d.nativeEvent:d;g.current?.handleKeyDown(Z)},setFocused:d=>g.current?.setFocused(d),startEditingParam:d=>g.current?.startEditingParam(d),exitEditMode:()=>g.current?.exitEditMode(),handleCaretAfterInput:d=>g.current?.handleCaretAfterInput(d),handleCaretMove:d=>g.current?.handleCaretMove(d),replaceEditingRange:d=>g.current?.replaceEditingRange(d)??!1,setActivePill:d=>g.current?.setActivePill(d),skipActivePill:()=>g.current?.skipActivePill(),removeLastParam:()=>g.current?.removeLastParam(),clearNewParamId:()=>g.current?.clearNewParamId(),reset:()=>g.current?.reset(),refreshProducts:()=>g.current?.refreshProducts(),recordSubmit:d=>g.current?.recordSubmit(d),selectOption:d=>g.current?.selectOption(d),selectProduct:d=>g.current?.selectProduct(d),setActiveDropdownIndex:d=>g.current?.setActiveDropdownIndex(d),clearHighlight:d=>g.current?.clearHighlight(d),showPreviousMonth:()=>g.current?.showPreviousMonth(),showNextMonth:()=>g.current?.showNextMonth(),handleFocus:()=>g.current?.setFocused(!0),handleBlur:()=>g.current?.setFocused(!1)});let y=He.current,Te=(0,P.useCallback)(d=>{let Z=d.target.value,ht=Z.length>0&&!d.nativeEvent?.isComposing&&Z[0]!==Z[0].toUpperCase()?Z[0].toUpperCase()+Z.slice(1):Z;g.current?.handleTextChange(ht)},[]),Ae=(0,P.useCallback)(d=>{g.current?.handleKeyDown(d.nativeEvent)},[]),we=g.current,u=Be??xa,Fe=C!==void 0?C:u.text,je=G!==void 0?G:u.completedParams,Re=u.actionableSuggestions,de=Re[0],Ke=we?.listboxId??"",Xe=u.activeDropdownIndex>=0&&we?`${Ke}-option-${u.activeDropdownIndex}`:void 0,Oe=u.editingParam,Ge=u.editingIdentified,Qe=Oe?{parameter:Oe.suggestionParameter,text:Oe.suggestionPlaceholder,required:!0,options:Oe.options}:Ge?{parameter:Ge.parameter,text:(0,qe.identifiedParamLabel)(Ge.parameter),required:!0,options:[]}:null,Je=u.dropdownSuggestion??Qe??de,pt=Qe?[Qe]:Re,Ye=(0,qe.dateSelectionFor)(u),et=!we||u.dropdownLoading;return{completedParams:je,skippedParams:u.skippedParams,identifiedParams:u.identifiedParams,suggestionPills:Re,setActivePill:y.setActivePill,skipActivePill:y.skipActivePill,removeLastParam:y.removeLastParam,segments:u.segments,newParamId:u.newParamId,clearNewParamId:y.clearNewParamId,suggestions:u.suggestions,activeIndex:u.activeDropdownIndex,isReady:u.isReady,isLoading:et,isFocused:u.isFocused,isDropdownOpen:u.isDropdownOpen,isActivePillSelected:u.isActivePillSelected,placeholderText:u.placeholderText,listboxId:Ke,error:u.error,products:u.products,customFields:u.customFields,selectProduct:y.selectProduct,handleTextChange:y.handleTextChange,handleKeyDown:y.handleKeyDown,setFocused:y.setFocused,editingParam:Oe,editingIdentified:Ge,editingAnchor:u.editingAnchor,caretOffset:u.caretOffset,startEditingParam:y.startEditingParam,exitEditMode:y.exitEditMode,handleCaretAfterInput:y.handleCaretAfterInput,handleCaretMove:y.handleCaretMove,replaceEditingRange:y.replaceEditingRange,inputProps:{value:Fe,placeholder:u.placeholderText||void 0,onChange:Te,onKeyDown:Ae,onFocus:y.handleFocus,onBlur:y.handleBlur,role:"combobox","aria-expanded":u.isDropdownOpen,"aria-activedescendant":Xe,"aria-autocomplete":"list","aria-controls":Ke},reset:y.reset,refreshProducts:y.refreshProducts,recordSubmit:y.recordSubmit,dropdownProps:{suggestions:Je?[{...Je,options:u.dropdownOptions}]:[],activeIndex:u.activeDropdownIndex,onSelect:y.selectOption,onHighlight:y.setActiveDropdownIndex,onUnhighlight:y.clearHighlight,isOpen:u.isDropdownOpen,id:Ke,pills:pt,activeSelected:u.isActivePillSelected,onPillClick:y.setActivePill,onSkip:y.skipActivePill,showSkipButton:(j??!0)&&!Oe&&!Ge,showOptionIcons:A??!0,showOptionImages:B??!0,showOptionCounts:H??!0,skipDisabled:u.inSelectionAnimation,isLoading:et,skeletonExiting:u.skeletonExiting,isInputEmpty:Fe.trim().length===0,language:p,products:u.products,productImageFallback:T,onProductSelect:y.selectProduct,onProductFocusChange:y.setFocused,formatType:u.activeFormatType,dateView:u.dateView,selectedDateIso:Ye.selectedIso,selectedDateRange:Ye.selectedRange,dateRangeStart:Ye.rangeStart,onPreviousMonth:y.showPreviousMonth,onNextMonth:y.showNextMonth,optionsPosition:I??"below"}}}var U=require("@magicx-eng/ai-autocomplete-vanilla"),E=require("react"),ct;function ya(){if(ct!==void 0)return ct;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),ct=e.contentEditable==="plaintext-only",ct}function Yt(e){let{segments:a,showChipIcons:t=!0,showChipImages:n=!0,newParamId:i,editingParam:r,editingIdentified:o,editingAnchor:p,caretOffset:c,placeholderText:k,isFocused:S,isDropdownOpen:I,listboxId:m,activeDescendantId:b,autoFocus:A,handleTextChange:B,handleKeyDown:H,handleCaretAfterInput:j,handleCaretMove:R,startEditingParam:T,replaceEditingRange:F,setFocused:K}=e,C=(0,E.useRef)(null),G=(0,E.useRef)(!1),oe=(0,E.useRef)(""),W=(0,E.useRef)(""),ke=(0,E.useRef)(null),re=(0,E.useRef)(0);ke.current=c,(0,E.useEffect)(()=>{if(!A)return;let l=C.current;if(!l)return;document.activeElement===l?K(!0):l.focus();let f=l.ownerDocument??document,v=f.getSelection(),w=v&&v.rangeCount>0&&l.contains(v.anchorNode);if(v&&!w){let x=f.createRange();x.selectNodeContents(l),x.collapse(!0),v.removeAllRanges(),v.addRange(x)}},[A,K]),(0,E.useEffect)(()=>{let l=C.current;if(!l)return;let f=l.ownerDocument??document,v=()=>{let w=f.getSelection();if(!w||w.rangeCount===0||!w.anchorNode||!l.contains(w.anchorNode))return;let x=w.anchorNode,L=x.nodeType===Node.ELEMENT_NODE?x:x.parentElement,q=(w.isCollapsed?L?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,J=r?.id??o?.id??null;if(q&&q!==J){T(q);return}performance.now()-re.current<50||R((0,U.getCursorOffset)(l))};return f.addEventListener("selectionchange",v),()=>f.removeEventListener("selectionchange",v)},[r,o,T,R]),(0,E.useEffect)(()=>{let l=C.current;if(!l)return;let f=v=>{let w=(0,U.chipIdFromTap)(l,v.target);w&&(T(w),(0,U.keepCaretOnChip)(l,w))};return l.addEventListener("click",f),()=>l.removeEventListener("click",f)},[T]),(0,E.useLayoutEffect)(()=>{let l=C.current;l&&(0,U.renderEditableContent)({input:l,segments:a,newParamId:i,editingParamId:r?.id??null,placeholderText:k??"",isFocused:S,showChipIcons:t,showChipImages:n})},[a,i,r,k,S,t,n]),(0,E.useLayoutEffect)(()=>{let l=oe.current,f=i??"";if(oe.current=f,!f||f===l)return;let v=C.current;if(!v)return;v.focus();let w=ke.current??(0,U.plainTextLength)(v);(0,U.setCursorOffset)(v,w)},[i]),(0,E.useLayoutEffect)(()=>{let l=W.current,f=r?.id??"";if(W.current=f,!f||f===l||p==null)return;let v=C.current;v&&(0,U.setCursorOffset)(v,p)},[r,p]);let V=(0,E.useCallback)(()=>{if(G.current)return;let l=C.current;if(!l)return;let f=(0,U.extractPlainText)(l),w=f.length>0&&f[0]!==f[0].toUpperCase()?f[0].toUpperCase()+f.slice(1):f;B(w)},[B]),Ne=(0,E.useCallback)(()=>{re.current=performance.now(),V();let l=C.current;l&&j((0,U.getCursorOffset)(l))},[V,j]);(0,E.useEffect)(()=>{let l=C.current;if(!l)return;let f=v=>{let w=v,x=w.inputType;if(x==="insertParagraph"||x==="insertLineBreak"||x==="insertFromDrop"){v.preventDefault();return}if(x.startsWith("insert")||x.startsWith("delete")){let L=x.startsWith("delete")?"":w.data??"";F(L)&&v.preventDefault()}};return l.addEventListener("beforeinput",f),()=>l.removeEventListener("beforeinput",f)},[F]);let Ce=(0,E.useCallback)(()=>{G.current=!0},[]),g=(0,E.useCallback)(()=>{G.current=!1,V()},[V]),Be=(0,E.useCallback)(l=>{l.preventDefault();let f=C.current;if(!f)return;let v=(l.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!v)return;let w=f.ownerDocument??document,x=w.getSelection();if(!x||x.rangeCount===0)return;let L=x.getRangeAt(0);if(!f.contains(L.startContainer))return;L.deleteContents();let h=w.createTextNode(v);L.insertNode(h),L.setStartAfter(h),L.collapse(!0),x.removeAllRanges(),x.addRange(L),V()},[V]),Pe=(0,E.useCallback)(l=>H(l),[H]),be=(0,E.useCallback)(()=>K(!0),[K]),Se=(0,E.useCallback)(()=>K(!1),[K]),ve=(0,E.useCallback)(()=>C.current?.focus(),[]),Ie=(0,E.useCallback)(()=>C.current?.blur(),[]),X=(0,E.useCallback)(()=>{let l=C.current;return l?(0,U.extractPlainText)(l):""},[]),se=ya()?"plaintext-only":"true";return{inputRef:C,editorProps:{ref:C,contentEditable:se,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":m,"aria-expanded":I,"aria-activedescendant":b,spellCheck:!0,enterKeyHint:"send",onInput:Ne,onKeyDown:Pe,onCompositionStart:Ce,onCompositionEnd:g,onPaste:Be,onFocus:be,onBlur:Se},getPlainText:X,focus:ve,blur:Ie}}var ne=require("react/jsx-runtime");function ka(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Zt=(0,N.forwardRef)(function({onSubmit:a,onResult:t,onError:n,optionOverrides:i,maskCompletedText:r,className:o,apiConfig:p,additionalContext:c,language:k,visitorId:S,columns:I,pillPlacement:m="dropdown",mode:b="auto",optionsPosition:A="below",animations:B=!0,dropdownTrigger:H,closeDropdownOnBlur:j,showNonTappableOptions:R,showOptionIcons:T=!0,showChipIcons:F=!0,showChipImages:K=!0,showOptionImages:C=!0,showOptionCounts:G=!0,showSkipButton:oe,showProducts:W,productsLayout:ke,productImageFallback:re,autoFocus:V=!0,onFocus:Ne,onBlur:Ce,value:g,completedParams:Be,onChange:Pe,onParamsChange:be,products:Se,mapProducts:ve,onProductSelect:Ie,submitButton:X,resetOnSubmit:se=!0},l){let f=(0,N.useRef)(null),v=(0,N.useRef)(null),w=(0,N.useRef)(()=>{}),x=(0,N.useRef)(null),L=(0,N.useRef)(null);(0,N.useEffect)(()=>{let D=f.current;if(D)return x.current?x.current.setMode(b):x.current=new Me.ModeController(D,b),()=>{x.current?.destroy(),x.current=null}},[b]);let h=(0,N.useCallback)(D=>{let ce=L.current?.current;ce&&(ce.focus(),(0,Me.setCursorOffset)(ce,D))},[]),{completedParams:q,skippedParams:J,identifiedParams:te,isReady:_e,customFields:le,suggestionPills:Ee,setActivePill:He,skipActivePill:y,segments:Te,newParamId:Ae,clearNewParamId:we,placeholderText:u,isFocused:Fe,isDropdownOpen:je,isActivePillSelected:Re,isLoading:de,activeIndex:Ke,listboxId:Xe,handleTextChange:Oe,handleKeyDown:Ge,setFocused:Qe,editingParam:Je,editingIdentified:pt,editingAnchor:Ye,caretOffset:et,startEditingParam:d,handleCaretAfterInput:Z,handleCaretMove:O,replaceEditingRange:ht,dropdownProps:$t,reset:tt,refreshProducts:kt,recordSubmit:Ct}=dt({onSubmit:D=>w.current(D),onResult:t,onError:n,optionOverrides:i,maskCompletedText:r,apiConfig:p,additionalContext:c,language:k,visitorId:S,columns:I,dropdownTrigger:H,optionsPosition:A,closeDropdownOnBlur:j,showNonTappableOptions:R,showOptionIcons:T,showOptionImages:C,showOptionCounts:G,showSkipButton:oe,showProducts:W,onFocus:Ne,onBlur:Ce,value:g,completedParams:Be,onChange:Pe,onParamsChange:be,products:Se,mapProducts:ve,onProductSelect:Ie,source:"full-sdk",setCursor:h});(0,N.useEffect)(()=>{if(!Ae)return;let D=window.setTimeout(()=>we(),650);return()=>window.clearTimeout(D)},[Ae,we]);let Vt=Ke>=0?`${Xe}-option-${Ke}`:void 0,{inputRef:ut,editorProps:Xt,focus:at,blur:Pt,getPlainText:St}=Yt({segments:Te,newParamId:Ae,editingParam:Je,editingIdentified:pt,editingAnchor:Ye,caretOffset:et,placeholderText:u,isFocused:Fe,showChipIcons:F,showChipImages:K,isDropdownOpen:je,listboxId:Xe,activeDescendantId:Vt,autoFocus:V,handleTextChange:Oe,handleKeyDown:Ge,handleCaretAfterInput:Z,handleCaretMove:O,startEditingParam:d,replaceEditingRange:ht,setFocused:Qe});L.current=ut,(0,N.useLayoutEffect)(()=>{let D=v.current,ce=ut.current;if(!D||!ce)return;let Ze=()=>{let Et=D.firstElementChild;if(!Et)return;let aa=Et.getBoundingClientRect(),ia=ce.getBoundingClientRect();aa.top>=ia.bottom-2?D.setAttribute("data-aia-pill-wrapped",""):D.removeAttribute("data-aia-pill-wrapped")};Ze();let It=new ResizeObserver(Ze);return It.observe(ce),()=>It.disconnect()},[Te,Ee.length,de,ut]),(0,N.useImperativeHandle)(l,()=>({focus:at,blur:Pt,reset:tt,refreshProducts:kt,setMode:D=>x.current?.setMode(D),skipActivePill:y}),[at,Pt,tt,kt,y]);let it=!!Te.length||q.length>0,mt=(0,N.useCallback)(D=>{if(!it)return;let ce=St(),Ze=(0,Me.buildSubmitResult)(ce,q,J,{identifiedParams:te,isReady:_e,customFields:le});D&&Ct(Ze),a(Ze),se&&tt()},[Ct,se,it,q,J,te,_e,le,a,tt,St]);w.current=()=>mt(!1);let Jt=(0,N.useCallback)(D=>{D.target?.closest("[data-aia-pill]")||at()},[at]),ea=m==="inline",ta=m==="dropdown";return(0,ne.jsxs)("div",{ref:f,className:`magicx-aia ${We.container} ${o??""}`,"data-pill-placement":m,"data-options-position":A,"data-animations":B?"on":"off","data-mode":ka(b),children:[(0,ne.jsx)(st,{...$t,showPills:ta,productsLayout:ke,productImageFallback:re}),(0,ne.jsxs)("div",{className:We.inputWrapper,"data-aia-input-wrapper":"",onClick:Jt,children:[(0,ne.jsxs)("div",{className:We.editorArea,"data-aia-editor":"",children:[(0,ne.jsx)("div",{...Xt,className:We.input,"data-aia-input":""}),ea&&(de||Ee.length>0)&&(0,ne.jsx)("span",{ref:v,className:We.pillListContainer,"data-aia-pill-list-container":"",children:(0,ne.jsx)(nt,{pills:Ee,activePillIndex:0,activeSelected:Re,onSelectPill:He,loading:de})})]}),X===null?null:X===void 0?(0,ne.jsx)(qt,{disabled:!it,onClick:()=>mt(!0),label:(0,Me.uiStringsFor)(k).submit}):(0,ne.jsx)("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:We.submitSlot,onClick:D=>{it&&(D.stopPropagation(),mt(!0))},children:X})]})]})});0&&(module.exports={AIAutocomplete,AIAutocompleteDropdown,DATE_RANGE_META_END,DATE_RANGE_META_START,DEFAULT_OPTION_COUNT_UNIT,PRODUCT_PATH_PREFIX,WEEKDAY_LABELS,buildSubmitResult,cellDay,cellIso,dateCellMarks,formatDate,formatDateRange,formatOptionCount,isoDate,monthLabel,optionCountLabel,optionHasImage,optionImageSources,optionImageSrc,optionLabel,parseDate,parseLooseDate,parseLooseDateRange,productFromMatchedItem,productImageSources,productsFromCustomFields,sanitizeOptionIconSvg,selectedRangeFor,useAIAutocomplete,visibleDateRange,withSkippedParams});
2329
+ `,document.head.appendChild(e)}var Ut={submitButton:"aia-submitButton-otz7H"};var dt=require("react/jsx-runtime");function jt({disabled:e,onClick:a,label:t=(0,qt.uiStringsFor)().submit}){return(0,dt.jsx)("button",{type:"button","data-aia-submit":"",className:Ut.submitButton,disabled:e,onClick:i=>{i.stopPropagation(),a()},"aria-label":t,children:(0,dt.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":t,children:(0,dt.jsx)("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}var je=require("@magicx-eng/ai-autocomplete-vanilla"),C=require("react");var yt=require("react");function Qt(e){let a=(0,yt.useRef)(e);a.current=e;let t=Object.keys(e??{}).sort().join("\0"),i=(0,yt.useRef)({key:"",overrides:void 0});if(i.current.key!==t){let o={};for(let r of Object.keys(e??{})){let n=(h,d,x)=>{let E=a.current?.[r];return E?E(h,d,x):[]};o[r]=n}i.current={key:t,overrides:e?o:void 0}}return{overrides:i.current.overrides,key:t}}var kt=require("react");function Yt(e){let a=(0,kt.useRef)(e);a.current=e;let t=(0,kt.useRef)(null);t.current===null&&(t.current={fetch:(o,r)=>{let n=a.current;return n?n.fetch(o,r):Promise.reject(new Error("products config removed"))},transform:o=>a.current?.transform(o)??[],get limit(){return a.current?.limit}});let i=e!==void 0;return{config:i?t.current:void 0,enabled:i}}var ka={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],customFields:null,optionSearch:null,activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],dropdownLoading:!0,dropdownOptions:[],skeletonOptions:null,skeletonSuggestion:null,dropdownSuggestion:null,skeletonRequested:!1,skeletonExiting:!1,activeFormatType:"options",dateView:null,dateRangeStart:null,placeholderText:"",optionQuery:"",isSearchingOptions:!1,isDropdownOpen:!1,isActivePillSelected:!1,filterBase:0,filterInProgress:!1,pillTapped:!1,skipNextFetch:!1,lastRawQuery:"",isFocused:!1,editingParam:null,editingIdentified:null,editingAnchor:null,editingTail:null,caretOffset:null,inSelectionAnimation:!1,dateViewMonth:null,pendingRangeStart:null};function ct({onSubmit:e,onResult:a,onError:t,optionOverrides:i,maskCompletedText:o,apiConfig:r,additionalContext:n,language:h,productId:d,visitorId:x,columns:E=2,dropdownTrigger:I,optionsPosition:m,closeDropdownOnBlur:w,showNonTappableOptions:T,showOptionIcons:F,showOptionImages:B,showOptionCounts:j,showSkipButton:z,showProducts:A,productImageFallback:U="image",onFocus:H,onBlur:P,value:K,completedParams:Q,onChange:G,onParamsChange:fe,products:ke,mapProducts:$,onProductSelect:Ce,source:Be,setCursor:Pe}){let g=(0,C.useRef)(null),[He,be]=(0,C.useState)(null),Se=(0,C.useRef)(e);Se.current=e;let we=(0,C.useRef)(a);we.current=a;let Ie=(0,C.useRef)(t);Ie.current=t;let te=(0,C.useRef)(G);te.current=G;let ne=(0,C.useRef)(fe);ne.current=fe;let l=(0,C.useRef)(H);l.current=H;let f=(0,C.useRef)(P);f.current=P;let b=(0,C.useRef)(Pe);b.current=Pe;let v=(0,C.useRef)(Ce);v.current=Ce;let k=(0,C.useRef)(x);k.current=x;let R=(0,C.useRef)(()=>{let c=k.current;return typeof c=="function"?c():c}).current,p=Yt(ke),Y=(0,C.useRef)($);Y.current=$;let ae=(0,C.useRef)((c,X)=>{let O=Y.current;return O?O(c,X):c}).current,ie=$?ae:void 0,Ee=Qt(i);(0,C.useEffect)(()=>{if(typeof document>"u")return;let c=new je.AIAutocomplete(document.createElement("div"),{renderMode:"headless",apiConfig:r,additionalContext:n,language:h,productId:d,visitorId:R,optionOverrides:Ee.overrides,maskCompletedText:o,columns:E,dropdownTrigger:I,optionsPosition:m,closeDropdownOnBlur:w,showNonTappableOptions:T,showProducts:A,source:Be,value:K,completedParams:Q,onSubmit:(...O)=>Se.current?.(...O),onResult:(...O)=>we.current?.(...O),onError:(...O)=>Ie.current?.(...O),onChange:(...O)=>te.current?.(...O),onParamsChange:(...O)=>ne.current?.(...O),onFocus:()=>l.current?.(),onBlur:()=>f.current?.(),onProductSelect:O=>v.current?.(O),setCursor:O=>b.current?.(O),products:p.config,mapProducts:ie});g.current=c,be(c.getState());let X=c.subscribe(O=>be(O));return()=>{X(),c.destroy(),g.current===c&&(g.current=null)}},[]),(0,C.useEffect)(()=>{K!==void 0&&g.current?.setValue(K)},[K]),(0,C.useEffect)(()=>{Q!==void 0&&g.current?.setCompletedParams(Q)},[Q]);let Te=JSON.stringify(r??null),Ae;try{Ae=JSON.stringify(n??null)}catch{Ae="[unstringifiable]"}(0,C.useEffect)(()=>{g.current?.update({apiConfig:r,additionalContext:n,language:h,productId:d,optionOverrides:Ee.overrides,dropdownTrigger:I,optionsPosition:m,closeDropdownOnBlur:w,showNonTappableOptions:T,showProducts:A})},[Te,Ae,h,d,Ee.key,I,m,w,T,A]);let Re=(0,C.useRef)(!1);(0,C.useEffect)(()=>{if(!Re.current){Re.current=!0;return}g.current?.update({products:p.config})},[p.enabled]),(0,C.useEffect)(()=>{g.current?.update({mapProducts:ie})},[ie]);let Oe=(0,C.useRef)(null);Oe.current===null&&(Oe.current={handleTextChange:c=>g.current?.handleTextChange(c),handleKeyDown:c=>{let X="nativeEvent"in c?c.nativeEvent:c;g.current?.handleKeyDown(X)},setFocused:c=>g.current?.setFocused(c),startEditingParam:c=>g.current?.startEditingParam(c),exitEditMode:()=>g.current?.exitEditMode(),handleCaretAfterInput:c=>g.current?.handleCaretAfterInput(c),handleCaretMove:c=>g.current?.handleCaretMove(c),replaceEditingRange:c=>g.current?.replaceEditingRange(c)??!1,setActivePill:c=>g.current?.setActivePill(c),skipActivePill:()=>g.current?.skipActivePill(),removeLastParam:()=>g.current?.removeLastParam(),clearNewParamId:()=>g.current?.clearNewParamId(),reset:()=>g.current?.reset(),refreshProducts:()=>g.current?.refreshProducts(),recordSubmit:c=>g.current?.recordSubmit(c),selectOption:c=>g.current?.selectOption(c),selectProduct:c=>g.current?.selectProduct(c),setActiveDropdownIndex:c=>g.current?.setActiveDropdownIndex(c),clearHighlight:c=>g.current?.clearHighlight(c),showPreviousMonth:()=>g.current?.showPreviousMonth(),showNextMonth:()=>g.current?.showNextMonth(),handleFocus:()=>g.current?.setFocused(!0),handleBlur:()=>g.current?.setFocused(!1)});let y=Oe.current,De=(0,C.useCallback)(c=>{let X=c.target.value,ut=X.length>0&&!c.nativeEvent?.isComposing&&X[0]!==X[0].toUpperCase()?X[0].toUpperCase()+X.slice(1):X;g.current?.handleTextChange(ut)},[]),Le=(0,C.useCallback)(c=>{g.current?.handleKeyDown(c.nativeEvent)},[]),ve=g.current,u=He??ka,_e=K!==void 0?K:u.text,Ue=Q!==void 0?Q:u.completedParams,se=u.actionableSuggestions,Qe=se[0],Ke=ve?.listboxId??"",Je=u.activeDropdownIndex>=0&&ve?`${Ke}-option-${u.activeDropdownIndex}`:void 0,ze=u.editingParam,Ge=u.editingIdentified,Ye=ze?{parameter:ze.suggestionParameter,text:ze.suggestionPlaceholder,required:!0,options:ze.options}:Ge?{parameter:Ge.parameter,text:(0,je.identifiedParamLabel)(Ge.parameter),required:!0,options:[]}:null,et=u.dropdownSuggestion??Ye??Qe,ht=Ye?[Ye]:se,Ze=(0,je.dateSelectionFor)(u),tt=!ve||u.dropdownLoading;return{completedParams:Ue,skippedParams:u.skippedParams,identifiedParams:u.identifiedParams,suggestionPills:se,setActivePill:y.setActivePill,skipActivePill:y.skipActivePill,removeLastParam:y.removeLastParam,segments:u.segments,newParamId:u.newParamId,clearNewParamId:y.clearNewParamId,suggestions:u.suggestions,activeIndex:u.activeDropdownIndex,isReady:u.isReady,isLoading:tt,isFocused:u.isFocused,isDropdownOpen:u.isDropdownOpen,isActivePillSelected:u.isActivePillSelected,placeholderText:u.placeholderText,listboxId:Ke,error:u.error,products:u.products,customFields:u.customFields,selectProduct:y.selectProduct,handleTextChange:y.handleTextChange,handleKeyDown:y.handleKeyDown,setFocused:y.setFocused,editingParam:ze,editingIdentified:Ge,editingAnchor:u.editingAnchor,caretOffset:u.caretOffset,startEditingParam:y.startEditingParam,exitEditMode:y.exitEditMode,handleCaretAfterInput:y.handleCaretAfterInput,handleCaretMove:y.handleCaretMove,replaceEditingRange:y.replaceEditingRange,inputProps:{value:_e,placeholder:u.placeholderText||void 0,onChange:De,onKeyDown:Le,onFocus:y.handleFocus,onBlur:y.handleBlur,role:"combobox","aria-expanded":u.isDropdownOpen,"aria-activedescendant":Je,"aria-autocomplete":"list","aria-controls":Ke},reset:y.reset,refreshProducts:y.refreshProducts,recordSubmit:y.recordSubmit,dropdownProps:{suggestions:et?[{...et,options:u.dropdownOptions}]:[],activeIndex:u.activeDropdownIndex,onSelect:y.selectOption,onHighlight:y.setActiveDropdownIndex,onUnhighlight:y.clearHighlight,isOpen:u.isDropdownOpen,id:Ke,pills:ht,activeSelected:u.isActivePillSelected,onPillClick:y.setActivePill,onSkip:y.skipActivePill,showSkipButton:(z??!0)&&!ze&&!Ge,showOptionIcons:F??!0,showOptionImages:B??!0,showOptionCounts:j??!0,skipDisabled:u.inSelectionAnimation,isLoading:tt,skeletonExiting:u.skeletonExiting,isInputEmpty:_e.trim().length===0,language:h,products:u.products,productImageFallback:U,onProductSelect:y.selectProduct,onProductFocusChange:y.setFocused,formatType:u.activeFormatType,dateView:u.dateView,selectedDateIso:Ze.selectedIso,selectedDateRange:Ze.selectedRange,dateRangeStart:Ze.rangeStart,onPreviousMonth:y.showPreviousMonth,onNextMonth:y.showNextMonth,optionsPosition:m??"below"}}}var _=require("@magicx-eng/ai-autocomplete-vanilla"),S=require("react"),pt;function Ca(){if(pt!==void 0)return pt;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),pt=e.contentEditable==="plaintext-only",pt}function Zt(e){let{segments:a,showChipIcons:t=!0,showChipImages:i=!0,newParamId:o,editingParam:r,editingIdentified:n,editingAnchor:h,caretOffset:d,placeholderText:x,isFocused:E,isDropdownOpen:I,listboxId:m,activeDescendantId:w,autoFocus:T,handleTextChange:F,handleKeyDown:B,handleCaretAfterInput:j,handleCaretMove:z,startEditingParam:A,replaceEditingRange:U,setFocused:H}=e,P=(0,S.useRef)(null),K=(0,S.useRef)(!1),Q=(0,S.useRef)(""),G=(0,S.useRef)(""),fe=(0,S.useRef)(null),ke=(0,S.useRef)(0);fe.current=d,(0,S.useEffect)(()=>{if(!T)return;let l=P.current;if(!l)return;document.activeElement===l?H(!0):l.focus();let f=l.ownerDocument??document,b=f.getSelection(),v=b&&b.rangeCount>0&&l.contains(b.anchorNode);if(b&&!v){let k=f.createRange();k.selectNodeContents(l),k.collapse(!0),b.removeAllRanges(),b.addRange(k)}},[T,H]),(0,S.useEffect)(()=>{let l=P.current;if(!l)return;let f=l.ownerDocument??document,b=()=>{let v=f.getSelection();if(!v||v.rangeCount===0||!v.anchorNode||!l.contains(v.anchorNode))return;let k=v.anchorNode,R=k.nodeType===Node.ELEMENT_NODE?k:k.parentElement,Y=(v.isCollapsed?R?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,ae=r?.id??n?.id??null;if(Y&&Y!==ae){A(Y);return}performance.now()-ke.current<50||z((0,_.getCursorOffset)(l))};return f.addEventListener("selectionchange",b),()=>f.removeEventListener("selectionchange",b)},[r,n,A,z]),(0,S.useEffect)(()=>{let l=P.current;if(!l)return;let f=b=>{let v=(0,_.chipIdFromTap)(l,b.target);v&&(A(v),(0,_.keepCaretOnChip)(l,v))};return l.addEventListener("click",f),()=>l.removeEventListener("click",f)},[A]),(0,S.useLayoutEffect)(()=>{let l=P.current;l&&(0,_.renderEditableContent)({input:l,segments:a,newParamId:o,editingParamId:r?.id??null,placeholderText:x??"",isFocused:E,showChipIcons:t,showChipImages:i})},[a,o,r,x,E,t,i]),(0,S.useLayoutEffect)(()=>{let l=Q.current,f=o??"";if(Q.current=f,!f||f===l)return;let b=P.current;if(!b)return;b.focus();let v=fe.current??(0,_.plainTextLength)(b);(0,_.setCursorOffset)(b,v)},[o]),(0,S.useLayoutEffect)(()=>{let l=G.current,f=r?.id??"";if(G.current=f,!f||f===l||h==null)return;let b=P.current;b&&(0,_.setCursorOffset)(b,h)},[r,h]);let $=(0,S.useCallback)(()=>{if(K.current)return;let l=P.current;if(!l)return;let f=(0,_.extractPlainText)(l),v=f.length>0&&f[0]!==f[0].toUpperCase()?f[0].toUpperCase()+f.slice(1):f;F(v)},[F]),Ce=(0,S.useCallback)(()=>{ke.current=performance.now(),$();let l=P.current;l&&j((0,_.getCursorOffset)(l))},[$,j]);(0,S.useEffect)(()=>{let l=P.current;if(!l)return;let f=b=>{let v=b,k=v.inputType;if(k==="insertParagraph"||k==="insertLineBreak"||k==="insertFromDrop"){b.preventDefault();return}if(k.startsWith("insert")||k.startsWith("delete")){let R=k.startsWith("delete")?"":v.data??"";U(R)&&b.preventDefault()}};return l.addEventListener("beforeinput",f),()=>l.removeEventListener("beforeinput",f)},[U]);let Be=(0,S.useCallback)(()=>{K.current=!0},[]),Pe=(0,S.useCallback)(()=>{K.current=!1,$()},[$]),g=(0,S.useCallback)(l=>{l.preventDefault();let f=P.current;if(!f)return;let b=(l.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!b)return;let v=f.ownerDocument??document,k=v.getSelection();if(!k||k.rangeCount===0)return;let R=k.getRangeAt(0);if(!f.contains(R.startContainer))return;R.deleteContents();let p=v.createTextNode(b);R.insertNode(p),R.setStartAfter(p),R.collapse(!0),k.removeAllRanges(),k.addRange(R),$()},[$]),He=(0,S.useCallback)(l=>B(l),[B]),be=(0,S.useCallback)(()=>H(!0),[H]),Se=(0,S.useCallback)(()=>H(!1),[H]),we=(0,S.useCallback)(()=>P.current?.focus(),[]),Ie=(0,S.useCallback)(()=>P.current?.blur(),[]),te=(0,S.useCallback)(()=>{let l=P.current;return l?(0,_.extractPlainText)(l):""},[]),ne=Ca()?"plaintext-only":"true";return{inputRef:P,editorProps:{ref:P,contentEditable:ne,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":m,"aria-expanded":I,"aria-activedescendant":w,spellCheck:!0,enterKeyHint:"send",onInput:Ce,onKeyDown:He,onCompositionStart:Be,onCompositionEnd:Pe,onPaste:g,onFocus:be,onBlur:Se},getPlainText:te,focus:we,blur:Ie}}var re=require("react/jsx-runtime");function Pa(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Vt=(0,N.forwardRef)(function({onSubmit:a,onResult:t,onError:i,optionOverrides:o,maskCompletedText:r,className:n,apiConfig:h,additionalContext:d,language:x,productId:E,visitorId:I,columns:m,pillPlacement:w="dropdown",mode:T="auto",optionsPosition:F="below",animations:B=!0,dropdownTrigger:j,closeDropdownOnBlur:z,showNonTappableOptions:A,showOptionIcons:U=!0,showChipIcons:H=!0,showChipImages:P=!0,showOptionImages:K=!0,showOptionCounts:Q=!0,showSkipButton:G,showProducts:fe,productsLayout:ke,productImageFallback:$,autoFocus:Ce=!0,onFocus:Be,onBlur:Pe,value:g,completedParams:He,onChange:be,onParamsChange:Se,products:we,mapProducts:Ie,onProductSelect:te,submitButton:ne,resetOnSubmit:l=!0},f){let b=(0,N.useRef)(null),v=(0,N.useRef)(null),k=(0,N.useRef)(()=>{}),R=(0,N.useRef)(null),p=(0,N.useRef)(null);(0,N.useEffect)(()=>{let D=b.current;if(D)return R.current?R.current.setMode(T):R.current=new Fe.ModeController(D,T),()=>{R.current?.destroy(),R.current=null}},[T]);let Y=(0,N.useCallback)(D=>{let le=p.current?.current;le&&(le.focus(),(0,Fe.setCursorOffset)(le,D))},[]),{completedParams:ae,skippedParams:ie,identifiedParams:Ee,isReady:Te,customFields:Ae,suggestionPills:Re,setActivePill:Oe,skipActivePill:y,segments:De,newParamId:Le,clearNewParamId:ve,placeholderText:u,isFocused:_e,isDropdownOpen:Ue,isActivePillSelected:se,isLoading:Qe,activeIndex:Ke,listboxId:Je,handleTextChange:ze,handleKeyDown:Ge,setFocused:Ye,editingParam:et,editingIdentified:ht,editingAnchor:Ze,caretOffset:tt,startEditingParam:c,handleCaretAfterInput:X,handleCaretMove:O,replaceEditingRange:ut,dropdownProps:$t,reset:at,refreshProducts:Ct,recordSubmit:Pt}=ct({onSubmit:D=>k.current(D),onResult:t,onError:i,optionOverrides:o,maskCompletedText:r,apiConfig:h,additionalContext:d,language:x,productId:E,visitorId:I,columns:m,dropdownTrigger:j,optionsPosition:F,closeDropdownOnBlur:z,showNonTappableOptions:A,showOptionIcons:U,showOptionImages:K,showOptionCounts:Q,showSkipButton:G,showProducts:fe,onFocus:Be,onBlur:Pe,value:g,completedParams:He,onChange:be,onParamsChange:Se,products:we,mapProducts:Ie,onProductSelect:te,source:"full-sdk",setCursor:Y});(0,N.useEffect)(()=>{if(!Le)return;let D=window.setTimeout(()=>ve(),650);return()=>window.clearTimeout(D)},[Le,ve]);let Xt=Ke>=0?`${Je}-option-${Ke}`:void 0,{inputRef:gt,editorProps:Jt,focus:it,blur:St,getPlainText:It}=Zt({segments:De,newParamId:Le,editingParam:et,editingIdentified:ht,editingAnchor:Ze,caretOffset:tt,placeholderText:u,isFocused:_e,showChipIcons:H,showChipImages:P,isDropdownOpen:Ue,listboxId:Je,activeDescendantId:Xt,autoFocus:Ce,handleTextChange:ze,handleKeyDown:Ge,handleCaretAfterInput:X,handleCaretMove:O,startEditingParam:c,replaceEditingRange:ut,setFocused:Ye});p.current=gt,(0,N.useLayoutEffect)(()=>{let D=v.current,le=gt.current;if(!D||!le)return;let Ve=()=>{let Tt=D.firstElementChild;if(!Tt)return;let ia=Tt.getBoundingClientRect(),oa=le.getBoundingClientRect();ia.top>=oa.bottom-2?D.setAttribute("data-aia-pill-wrapped",""):D.removeAttribute("data-aia-pill-wrapped")};Ve();let Et=new ResizeObserver(Ve);return Et.observe(le),()=>Et.disconnect()},[De,Re.length,Qe,gt]),(0,N.useImperativeHandle)(f,()=>({focus:it,blur:St,reset:at,refreshProducts:Ct,setMode:D=>R.current?.setMode(D),skipActivePill:y}),[it,St,at,Ct,y]);let ot=!!De.length||ae.length>0,mt=(0,N.useCallback)(D=>{if(!ot)return;let le=It(),Ve=(0,Fe.buildSubmitResult)(le,ae,ie,{identifiedParams:Ee,isReady:Te,customFields:Ae});D&&Pt(Ve),a(Ve),l&&at()},[Pt,l,ot,ae,ie,Ee,Te,Ae,a,at,It]);k.current=()=>mt(!1);let ea=(0,N.useCallback)(D=>{D.target?.closest("[data-aia-pill]")||it()},[it]),ta=w==="inline",aa=w==="dropdown";return(0,re.jsxs)("div",{ref:b,className:`magicx-aia ${We.container} ${n??""}`,"data-pill-placement":w,"data-options-position":F,"data-animations":B?"on":"off","data-mode":Pa(T),children:[(0,re.jsx)(lt,{...$t,showPills:aa,productsLayout:ke,productImageFallback:$}),(0,re.jsxs)("div",{className:We.inputWrapper,"data-aia-input-wrapper":"",onClick:ea,children:[(0,re.jsxs)("div",{className:We.editorArea,"data-aia-editor":"",children:[(0,re.jsx)("div",{...Jt,className:We.input,"data-aia-input":""}),ta&&(Qe||Re.length>0)&&(0,re.jsx)("span",{ref:v,className:We.pillListContainer,"data-aia-pill-list-container":"",children:(0,re.jsx)(rt,{pills:Re,activePillIndex:0,activeSelected:se,onSelectPill:Oe,loading:Qe})})]}),ne===null?null:ne===void 0?(0,re.jsx)(jt,{disabled:!ot,onClick:()=>mt(!0),label:(0,Fe.uiStringsFor)(x).submit}):(0,re.jsx)("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:We.submitSlot,onClick:D=>{ot&&(D.stopPropagation(),mt(!0))},children:ne})]})]})});0&&(module.exports={AIAutocomplete,AIAutocompleteDropdown,DATE_RANGE_META_END,DATE_RANGE_META_START,DEFAULT_OPTION_COUNT_UNIT,PRODUCT_PATH_PREFIX,WEEKDAY_LABELS,buildSubmitResult,cellDay,cellIso,dateCellMarks,formatDate,formatDateRange,formatOptionCount,isoDate,monthLabel,optionCountLabel,optionHasImage,optionImageSources,optionImageSrc,optionLabel,parseDate,parseLooseDate,parseLooseDateRange,productFromMatchedItem,productImageSources,productsFromCustomFields,sanitizeOptionIconSvg,selectedRangeFor,useAIAutocomplete,visibleDateRange,withSkippedParams});
2270
2330
  //# sourceMappingURL=index.js.map