@magicx-eng/ai-autocomplete-react 0.38.0 → 0.38.1

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/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{buildSubmitResult as In,cellDay as Tn,cellIso as En,DATE_RANGE_META_END as An,DATE_RANGE_META_START as Rn,DEFAULT_OPTION_COUNT_UNIT as On,dateCellMarks as Dn,formatDate as Ln,formatDateRange as zn,formatOptionCount as Mn,isoDate as Nn,monthLabel as Fn,optionCountLabel as Bn,optionHasImage as Hn,optionImageSources as Kn,optionImageSrc as Gn,optionLabel as Wn,PRODUCT_PATH_PREFIX as _n,parseDate as Un,parseLooseDate as qn,parseLooseDateRange as jn,productFromMatchedItem as Qn,productImageSources as Yn,productsFromCustomFields as Zn,sanitizeOptionIconSvg as Vn,selectedRangeFor as $n,visibleDateRange as Xn,WEEKDAY_LABELS as Jn,withSkippedParams as er}from"@magicx-eng/ai-autocomplete-vanilla";import{forwardRef as Si,useCallback as gt,useEffect as Vt,useImperativeHandle as Ii,useLayoutEffect as Ti,useRef as We}from"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
+ import{buildSubmitResult as In,cellDay as Tn,cellIso as En,DATE_RANGE_META_END as An,DATE_RANGE_META_START as Rn,DEFAULT_OPTION_COUNT_UNIT as On,dateCellMarks as Dn,formatDate as Ln,formatDateRange as zn,formatOptionCount as Mn,isoDate as Nn,monthLabel as Fn,optionCountLabel as Bn,optionHasImage as Hn,optionImageSources as Kn,optionImageSrc as Gn,optionLabel as Wn,PRODUCT_PATH_PREFIX as _n,parseDate as qn,parseLooseDate as Un,parseLooseDateRange as jn,productFromMatchedItem as Qn,productImageSources as Yn,productsFromCustomFields as Zn,sanitizeOptionIconSvg as Vn,selectedRangeFor as $n,visibleDateRange as Xn,WEEKDAY_LABELS as Jn,withSkippedParams as er}from"@magicx-eng/ai-autocomplete-vanilla";import{forwardRef as Si,useCallback as gt,useEffect as Vt,useImperativeHandle as Ii,useLayoutEffect as Ti,useRef as We}from"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
@@ -1640,11 +1640,14 @@ import{buildSubmitResult as In,cellDay as Tn,cellIso as En,DATE_RANGE_META_END a
1640
1640
  background: var(--aia-product-media-bg, var(--aia-skeleton-bg, rgba(189, 189, 189, 0.25)));
1641
1641
  }
1642
1642
 
1643
+ /* \`contain\`, not \`cover\`: catalog photos come in any aspect ratio, and a
1644
+ square crop cuts the top and bottom off a tall one (a gallon jug). The
1645
+ picture scales by its longer side and the media fill shows around it. */
1643
1646
  .aia-image-5pNL7 {
1644
1647
  display: block;
1645
1648
  width: 100%;
1646
1649
  height: 100%;
1647
- object-fit: cover;
1650
+ object-fit: contain;
1648
1651
  }
1649
1652
 
1650
1653
  /* Placeholder tile for a product with no image \u2014 a storefront pictogram on
@@ -1818,7 +1821,7 @@ import{buildSubmitResult as In,cellDay as Tn,cellIso as En,DATE_RANGE_META_END a
1818
1821
  letter-spacing: 0.02em;
1819
1822
  text-align: center;
1820
1823
  }
1821
- `,document.head.appendChild(e)}var Y={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"};import{jsx as de,jsxs as $e}from"react/jsx-runtime";function Et({products:e,listboxId:o,onSelect:t,onFocusChange:a,focusable:n=!0,layout:r="row",imageFallback:i="image",strings:c=Sa()}){let l=e.length>0,v=Ta(null);if(Ia(()=>{let C=v.current;if(!(!l||!C))return ya(C)},[l]),!l)return null;let P=`${o}-products-label`;return $e("section",{className:Y.section,"data-aia-products":"","data-aia-products-layout":r,role:"group","aria-labelledby":P,children:[de("div",{className:Y.label,id:P,"data-aia-products-label":"",children:c.products}),de("div",{ref:v,className:Y.row,"data-aia-products-row":"",children:e.map((C,g)=>de(Aa,{product:C,id:`${o}-product-${g}`,onSelect:t,onFocusChange:a,focusable:n,imageFallback:i,soldOut:c.soldOut},C.id))})]})}function Aa({product:e,id:o,onSelect:t,onFocusChange:a,focusable:n,imageFallback:r,soldOut:i}){let c=l=>{l.metaKey||l.ctrlKey||l.shiftKey||l.altKey||l.button!==0||(l.preventDefault(),t(e))};return $e("a",{id:o,className:Y.card,"data-aia-product":"","data-aia-product-sold-out":e.available===!1?"":void 0,role:"option","aria-selected":!1,href:e.url,tabIndex:n?0:-1,onClick:c,onKeyDown:l=>{l.key!=="Enter"&&l.key!==" "||(l.preventDefault(),t(e))},onFocus:()=>a?.(!0),onBlur:l=>{l.relatedTarget?.closest("[data-aia-dropdown]")||a?.(!1)},children:[de(Ra,{sources:ka(e.imageUrl),title:e.title,fallback:r},Ca(e.imageUrl)??""),$e("span",{className:Y.body,children:[e.vendor?de("span",{className:Y.vendor,children:e.vendor}):null,de("span",{className:Y.title,children:e.title}),e.price?de("span",{className:Y.price,children:e.price}):null,e.available===!1?de("span",{className:Y.badge,children:i}):null]})]})}function Ra({sources:e,title:o,fallback:t}){let[a,n]=Ea(0),r=e[a],i=!!r,c=!i&&t==="initial";return $e("span",{className:Y.media,"aria-hidden":"true","data-aia-product-placeholder":!i&&!c?"":void 0,"data-aia-product-initial":c?"":void 0,children:[i?de("img",{className:Y.image,src:r,alt:"",loading:"lazy",decoding:"async",onError:()=>n(l=>l+1)}):null,c?Pa(o):null]})}import{isOptionsGridMobileViewport as Ua,measureOptionsGrid as qa,needsOptionsGridMeasurement as ja,OPTIONS_GRID_MOBILE_QUERY as Qa,optionEnterDelayMs as Ya,planOptionsGrid as Dt,sameOptionRows as Za}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Va,useLayoutEffect as $a,useRef as Lt,useState as Mt}from"react";import{optionsGridTemplateColumns as Oa}from"@magicx-eng/ai-autocomplete-vanilla";import{useLayoutEffect as Da,useRef as La}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-948e58da")){let e=document.createElement("style");e.id="ac-style-948e58da",e.textContent=`.aia-grid {
1824
+ `,document.head.appendChild(e)}var Y={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"};import{jsx as de,jsxs as $e}from"react/jsx-runtime";function Et({products:e,listboxId:o,onSelect:t,onFocusChange:a,focusable:n=!0,layout:r="row",imageFallback:i="image",strings:c=Sa()}){let l=e.length>0,v=Ta(null);if(Ia(()=>{let C=v.current;if(!(!l||!C))return ya(C)},[l]),!l)return null;let P=`${o}-products-label`;return $e("section",{className:Y.section,"data-aia-products":"","data-aia-products-layout":r,role:"group","aria-labelledby":P,children:[de("div",{className:Y.label,id:P,"data-aia-products-label":"",children:c.products}),de("div",{ref:v,className:Y.row,"data-aia-products-row":"",children:e.map((C,g)=>de(Aa,{product:C,id:`${o}-product-${g}`,onSelect:t,onFocusChange:a,focusable:n,imageFallback:i,soldOut:c.soldOut},C.id))})]})}function Aa({product:e,id:o,onSelect:t,onFocusChange:a,focusable:n,imageFallback:r,soldOut:i}){let c=l=>{l.metaKey||l.ctrlKey||l.shiftKey||l.altKey||l.button!==0||(l.preventDefault(),t(e))};return $e("a",{id:o,className:Y.card,"data-aia-product":"","data-aia-product-sold-out":e.available===!1?"":void 0,role:"option","aria-selected":!1,href:e.url,tabIndex:n?0:-1,onClick:c,onKeyDown:l=>{l.key!=="Enter"&&l.key!==" "||(l.preventDefault(),t(e))},onFocus:()=>a?.(!0),onBlur:l=>{l.relatedTarget?.closest("[data-aia-dropdown]")||a?.(!1)},children:[de(Ra,{sources:ka(e.imageUrl),title:e.title,fallback:r},Ca(e.imageUrl)??""),$e("span",{className:Y.body,children:[e.vendor?de("span",{className:Y.vendor,children:e.vendor}):null,de("span",{className:Y.title,children:e.title}),e.price?de("span",{className:Y.price,children:e.price}):null,e.available===!1?de("span",{className:Y.badge,children:i}):null]})]})}function Ra({sources:e,title:o,fallback:t}){let[a,n]=Ea(0),r=e[a],i=!!r,c=!i&&t==="initial";return $e("span",{className:Y.media,"aria-hidden":"true","data-aia-product-placeholder":!i&&!c?"":void 0,"data-aia-product-initial":c?"":void 0,children:[i?de("img",{className:Y.image,src:r,alt:"",loading:"lazy",decoding:"async",onError:()=>n(l=>l+1)}):null,c?Pa(o):null]})}import{isOptionsGridMobileViewport as qa,measureOptionsGrid as Ua,needsOptionsGridMeasurement as ja,OPTIONS_GRID_MOBILE_QUERY as Qa,optionEnterDelayMs as Ya,planOptionsGrid as Dt,sameOptionRows as Za}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Va,useLayoutEffect as $a,useRef as Lt,useState as Mt}from"react";import{optionsGridTemplateColumns as Oa}from"@magicx-eng/ai-autocomplete-vanilla";import{useLayoutEffect as Da,useRef as La}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-948e58da")){let e=document.createElement("style");e.id="ac-style-948e58da",e.textContent=`.aia-grid {
1822
1825
  display: grid;
1823
1826
  grid-template-columns: repeat(
1824
1827
  auto-fit,
@@ -2258,7 +2261,7 @@ import{buildSubmitResult as In,cellDay as Tn,cellIso as En,DATE_RANGE_META_END a
2258
2261
  opacity: 0;
2259
2262
  }
2260
2263
  }
2261
- `,document.head.appendChild(e)}var U={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"};import{jsx as ke,jsxs as _a}from"react/jsx-runtime";function Ot({option:e,isHighlighted:o,onSelect:t,onHighlight:a,onUnhighlight:n,id:r,loading:i,showIcon:c=!0,showImage:l=!0,showCount:v=!0,scrollHint:P,enterDelayMs:C=0}){let[g]=lt(C),[b,S]=lt(!1),L=l?Ba(e.image_url):[],z=L[0]??null,[K,D]=lt([]),I=L.find(E=>!K.includes(E))??null,F=Ga(()=>!z&&c&&e.icon_svg?Ha(e.icon_svg):null,[z,c,e.icon_svg]),M=v?Ma(e.item_count):null,k=Wa(void 0);Ka(()=>()=>clearTimeout(k.current),[]);let N=()=>{i||!e.is_tappable||b||(S(!0),t(e),clearTimeout(k.current),k.current=setTimeout(()=>S(!1),170))},G=[U.item,o&&!i?U.highlighted:"",e.is_tappable?U.tappable:U.nonTappable,b?U.pressed:"",P?U.scrollHint:""].filter(Boolean).join(" ");return ke("div",{id:r,role:"option","data-aia-option":"","data-aia-loading":i?"":void 0,"data-aia-icon":F&&e.icon?e.icon:void 0,"data-aia-image":z?"":void 0,"data-aia-item-count":M!==null?e.item_count:void 0,"aria-selected":o,className:G,style:{[Fa]:`${g}ms`},tabIndex:i||!e.is_tappable?-1:0,onClick:N,onKeyDown:E=>{!i&&e.is_tappable&&(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),N())},onMouseEnter:!i&&e.is_tappable?a:void 0,onMouseLeave:n,children:_a("span",{className:U.content,children:[z&&ke("span",{className:`${U.image} magicx-aia-option-image`,"aria-hidden":"true",children:ke("img",{src:I??z,alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",draggable:!1,hidden:I===null,onError:()=>{I!==null&&D(E=>[...E,I])}})}),F&&ke("span",{className:`${U.icon} magicx-aia-option-icon`,"aria-hidden":"true",dangerouslySetInnerHTML:{__html:F}}),ke("span",{className:U.text,children:e.matchedText?Na(Rt(e),e.matchedText).map((E,V)=>E.bold?ke("strong",{children:E.text},V):E.text):Rt(e)}),e.tag&&ke("span",{className:U.tag,children:e.tag}),M!==null&&ke("span",{className:`${U.count} magicx-aia-option-count`,children:M})]})})}import{jsx as zt}from"react/jsx-runtime";function Xa(){let[e,o]=Mt(Ua);return Va(()=>{if(typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia(Qa),a=()=>o(t.matches);return a(),t.addEventListener("change",a),()=>t.removeEventListener("change",a)},[]),e}function Nt({options:e,activeIndex:o,onSelect:t,onHighlight:a,onUnhighlight:n,listboxId:r,loading:i,groupKey:c="",optionsPosition:l="below",showIcons:v=!0,showImages:P=!0,showCounts:C=!0}){let g=Xa(),b=Lt(null),[S,L]=Mt(null),z=Lt(null);$a(()=>{if(i&&Za(z.current,e))return;z.current=i?null:e;let D=b.current,F=D&&!i&&ja(e.length,g)?qa(D):null;L(F?Dt(e.length,g,F.rowWidths,F.gridWidth):null)},[e,g,i]);let K=S??Dt(e.length,g,null,null);return zt(At,{min:"250px",max:"1fr",gap:"0",scroll:!0,scrollResetKey:c,template:K.template,maxHeight:K.maxHeight,innerRef:D=>{b.current=D},"data-aia-group":c,children:e.map((D,I)=>zt(Ot,{option:D,isHighlighted:I===o,onSelect:t,onHighlight:()=>a(I),onUnhighlight:n?()=>n(I):void 0,id:`${r}-option-${I}`,loading:i,showIcon:v,showImage:P,showCount:C,scrollHint:!i&&K.scrollHintIndices.includes(I),enterDelayMs:i?0:Ya(I,K.cols,e.length,l)},`${c}\0${D.text}`))})}if(typeof document<"u"&&!document.getElementById("ac-style-8414cd5f")){let e=document.createElement("style");e.id="ac-style-8414cd5f",e.textContent=`.aia-stack {
2264
+ `,document.head.appendChild(e)}var q={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"};import{jsx as ke,jsxs as _a}from"react/jsx-runtime";function Ot({option:e,isHighlighted:o,onSelect:t,onHighlight:a,onUnhighlight:n,id:r,loading:i,showIcon:c=!0,showImage:l=!0,showCount:v=!0,scrollHint:P,enterDelayMs:C=0}){let[g]=lt(C),[b,S]=lt(!1),L=l?Ba(e.image_url):[],z=L[0]??null,[K,D]=lt([]),I=L.find(E=>!K.includes(E))??null,F=Ga(()=>!z&&c&&e.icon_svg?Ha(e.icon_svg):null,[z,c,e.icon_svg]),M=v?Ma(e.item_count):null,k=Wa(void 0);Ka(()=>()=>clearTimeout(k.current),[]);let N=()=>{i||!e.is_tappable||b||(S(!0),t(e),clearTimeout(k.current),k.current=setTimeout(()=>S(!1),170))},G=[q.item,o&&!i?q.highlighted:"",e.is_tappable?q.tappable:q.nonTappable,b?q.pressed:"",P?q.scrollHint:""].filter(Boolean).join(" ");return ke("div",{id:r,role:"option","data-aia-option":"","data-aia-loading":i?"":void 0,"data-aia-icon":F&&e.icon?e.icon:void 0,"data-aia-image":z?"":void 0,"data-aia-item-count":M!==null?e.item_count:void 0,"aria-selected":o,className:G,style:{[Fa]:`${g}ms`},tabIndex:i||!e.is_tappable?-1:0,onClick:N,onKeyDown:E=>{!i&&e.is_tappable&&(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),N())},onMouseEnter:!i&&e.is_tappable?a:void 0,onMouseLeave:n,children:_a("span",{className:q.content,children:[z&&ke("span",{className:`${q.image} magicx-aia-option-image`,"aria-hidden":"true",children:ke("img",{src:I??z,alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",draggable:!1,hidden:I===null,onError:()=>{I!==null&&D(E=>[...E,I])}})}),F&&ke("span",{className:`${q.icon} magicx-aia-option-icon`,"aria-hidden":"true",dangerouslySetInnerHTML:{__html:F}}),ke("span",{className:q.text,children:e.matchedText?Na(Rt(e),e.matchedText).map((E,V)=>E.bold?ke("strong",{children:E.text},V):E.text):Rt(e)}),e.tag&&ke("span",{className:q.tag,children:e.tag}),M!==null&&ke("span",{className:`${q.count} magicx-aia-option-count`,children:M})]})})}import{jsx as zt}from"react/jsx-runtime";function Xa(){let[e,o]=Mt(qa);return Va(()=>{if(typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia(Qa),a=()=>o(t.matches);return a(),t.addEventListener("change",a),()=>t.removeEventListener("change",a)},[]),e}function Nt({options:e,activeIndex:o,onSelect:t,onHighlight:a,onUnhighlight:n,listboxId:r,loading:i,groupKey:c="",optionsPosition:l="below",showIcons:v=!0,showImages:P=!0,showCounts:C=!0}){let g=Xa(),b=Lt(null),[S,L]=Mt(null),z=Lt(null);$a(()=>{if(i&&Za(z.current,e))return;z.current=i?null:e;let D=b.current,F=D&&!i&&ja(e.length,g)?Ua(D):null;L(F?Dt(e.length,g,F.rowWidths,F.gridWidth):null)},[e,g,i]);let K=S??Dt(e.length,g,null,null);return zt(At,{min:"250px",max:"1fr",gap:"0",scroll:!0,scrollResetKey:c,template:K.template,maxHeight:K.maxHeight,innerRef:D=>{b.current=D},"data-aia-group":c,children:e.map((D,I)=>zt(Ot,{option:D,isHighlighted:I===o,onSelect:t,onHighlight:()=>a(I),onUnhighlight:n?()=>n(I):void 0,id:`${r}-option-${I}`,loading:i,showIcon:v,showImage:P,showCount:C,scrollHint:!i&&K.scrollHintIndices.includes(I),enterDelayMs:i?0:Ya(I,K.cols,e.length,l)},`${c}\0${D.text}`))})}if(typeof document<"u"&&!document.getElementById("ac-style-8414cd5f")){let e=document.createElement("style");e.id="ac-style-8414cd5f",e.textContent=`.aia-stack {
2262
2265
  display: flex;
2263
2266
  flex-direction: column;
2264
2267
  gap: var(--aia-stack-space, 0.5rem);
@@ -2273,7 +2276,7 @@ import{buildSubmitResult as In,cellDay as Tn,cellIso as En,DATE_RANGE_META_END a
2273
2276
  align-items: end;
2274
2277
  }
2275
2278
  /* data-align="stretch" is the flex default \u2014 no rule needed. */
2276
- `,document.head.appendChild(e)}import{jsx as Ja}from"react/jsx-runtime";function Ft({space:e,align:o="stretch",className:t,children:a,...n}){let r=e?{"--aia-stack-space":e}:void 0;return Ja("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":o,style:r,...n,children:a})}import{jsx as Z,jsxs as dt}from"react/jsx-runtime";var li=[159,119,164],di=()=>{},Bt=()=>{};function ci(e){let o=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[t,a]=si(o);if(De(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let n=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>a(n.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[e]),e!==void 0)return e==="auto"?t?"dark":"light":e}function pi(e,o){let t=Oe(null);De(()=>{let a=e.current,n=o.current;if(!a||!n)return;let r=a.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:ei({dropdown:a,grid:r,button:n})};return}t.current?.controller.update()}),De(()=>()=>{t.current?.controller.destroy(),t.current=null},[])}function hi(e,o){let t=Oe(o);t.current=o;let a=Oe(null);De(()=>{let n=e.current;if(n){if(!a.current){a.current=ti({dropdown:n,isOpen:()=>t.current});return}a.current.update()}}),De(()=>()=>{a.current?.destroy(),a.current=null},[])}function ct({suggestions:e,activeIndex:o,onSelect:t,onHighlight:a,onUnhighlight:n,isOpen:r,id:i,className:c,pills:l,onPillClick:v,showPills:P=!0,onSkip:C,showSkipButton:g=!0,showOptionIcons:b=!0,showOptionImages:S=!0,showOptionCounts:L=!0,skipDisabled:z=!1,activeSelected:K=!1,isLoading:D=!1,skeletonExiting:I=!1,isInputEmpty:F=!1,language:M,products:k,onProductSelect:N,onProductFocusChange:G,productsLayout:E="row",productImageFallback:V="image",formatType:ce="options",dateView:W=null,selectedDateIso:pe=null,selectedDateRange:Ce=null,dateRangeStart:he=null,onPreviousMonth:u,onNextMonth:Pe,optionsPosition:ie="below",mode:ue}){let oe=ci(ue),ge=oe!==void 0,q=Oe(null),$=Oe(null);pi(q,$),De(()=>{if(q.current)return ai(q.current)},[]);let s=e[0]?.options??[],m=!!(l&&l.length>0&&v),f=!!(k&&k.length>0),w=r&&(s.length>0||P&&m||D||f);hi(q,w);let y={suggestions:e,activeIndex:o,pills:l,showPills:P,showSkipButton:g,showOptionIcons:b,showOptionImages:S,showOptionCounts:L,skipDisabled:z,activeSelected:K,isLoading:D,skeletonExiting:I,isInputEmpty:F,products:k,formatType:ce,dateView:W,selectedDateIso:pe,selectedDateRange:Ce,dateRangeStart:he},T=Oe(y);w&&(T.current=y);let p=w?y:T.current,B=ri(M),j=p.suggestions[0],Q=j?.options??[],me=p.activeIndex>=0&&!!Q[p.activeIndex]?.is_tappable,ne=ni(p.pills??[],B.keepTyping),J=!!(ne.length>0&&v),fe=p.showPills&&J,Se=p.showPills&&!J&&p.isLoading,x=fe||Se,be=J&&ii(ne)&&p.showSkipButton&&!p.isInputEmpty&&!!C,we=ne[0]?.text,re=oi(p.formatType)&&p.dateView!=null,h=Q.length>0&&!re,Ie=Q.length>0&&re&&!p.isLoading,Ne=p.isLoading&&!h&&!Ie,ve=p.products??[];return dt("div",{ref:q,id:i,role:"listbox","data-aia-dropdown":"","data-options-position":ie,"data-mode":oe,"data-aia-loading":p.isLoading?"":void 0,"data-aia-skeleton-exiting":p.skeletonExiting?"":void 0,"data-aia-has-products":ve.length>0?"":void 0,className:`${ge?"magicx-aia ":""}${se.dropdown} ${w?se.visible:""} ${c??""}`,onMouseDown:ee=>ee.preventDefault(),children:[dt(Ft,{space:"8px",children:[(x||be)&&dt(Ke,{noWrap:!0,className:se.pillBar,"data-aia-pillbar":"",children:[x&&Z("span",{className:se.pillScroll,"data-aia-pill-scroll":"",children:Z(Ve,{pills:ne,activePillIndex:0,activeSelected:p.activeSelected,onSelectPill:v??(()=>{}),rounded:!0,loading:p.isLoading})}),be&&Z("button",{type:"button",tabIndex:-1,className:se.skip,"data-aia-skip":"",disabled:p.isLoading||p.skipDisabled,"aria-label":we?`${B.skipLabel} ${we}`:B.skipLabel,onClick:C,children:B.skip})]}),h&&Z(Nt,{options:Q,activeIndex:p.activeIndex,onSelect:t,onHighlight:a,onUnhighlight:n,listboxId:i,loading:p.isLoading,groupKey:j?`${j.parameter} ${j.text}`:"",optionsPosition:ie,showIcons:p.showOptionIcons,showImages:p.showOptionImages,showCounts:p.showOptionCounts}),Ie&&p.dateView&&Z(Ct,{options:Q,activeIndex:p.activeIndex,listboxId:i,view:p.dateView,selection:{selectedIso:p.selectedDateIso??null,selectedRange:p.selectedDateRange??null,rangeStart:p.dateRangeStart??null},onSelect:t,onHighlight:a,onUnhighlight:n,onPreviousMonth:u??Bt,onNextMonth:Pe??Bt}),Ne&&Z("div",{className:se.skeletonBars,"data-aia-skeleton-bars":"",children:li.map(ee=>Z("span",{className:se.skeletonBar,style:{width:ee}},`bar-${ee}`))}),Z(Et,{products:ve,listboxId:i,onSelect:N??di,onFocusChange:G,focusable:w,layout:E,imageFallback:V,strings:B}),Z(St,{isOptionHighlighted:me,isInputEmpty:p.isInputEmpty,strings:B})]}),Z("button",{ref:$,type:"button",tabIndex:-1,className:se.scrollArrow,"data-aia-scroll-arrow":"","aria-label":B.scrollArrow,"aria-hidden":"true",children:Z("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:Z("path",{d:"M4 6.5 8 10.5l4-4"})})})]})}import{buildSubmitResult as Ei,ModeController as Ai,setCursorOffset as Ri,uiStringsFor as Oi}from"@magicx-eng/ai-autocomplete-vanilla";import{uiStringsFor as ui}from"@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 {
2279
+ `,document.head.appendChild(e)}import{jsx as Ja}from"react/jsx-runtime";function Ft({space:e,align:o="stretch",className:t,children:a,...n}){let r=e?{"--aia-stack-space":e}:void 0;return Ja("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":o,style:r,...n,children:a})}import{jsx as Z,jsxs as dt}from"react/jsx-runtime";var li=[159,119,164],di=()=>{},Bt=()=>{};function ci(e){let o=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[t,a]=si(o);if(De(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let n=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>a(n.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[e]),e!==void 0)return e==="auto"?t?"dark":"light":e}function pi(e,o){let t=Oe(null);De(()=>{let a=e.current,n=o.current;if(!a||!n)return;let r=a.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:ei({dropdown:a,grid:r,button:n})};return}t.current?.controller.update()}),De(()=>()=>{t.current?.controller.destroy(),t.current=null},[])}function hi(e,o){let t=Oe(o);t.current=o;let a=Oe(null);De(()=>{let n=e.current;if(n){if(!a.current){a.current=ti({dropdown:n,isOpen:()=>t.current});return}a.current.update()}}),De(()=>()=>{a.current?.destroy(),a.current=null},[])}function ct({suggestions:e,activeIndex:o,onSelect:t,onHighlight:a,onUnhighlight:n,isOpen:r,id:i,className:c,pills:l,onPillClick:v,showPills:P=!0,onSkip:C,showSkipButton:g=!0,showOptionIcons:b=!0,showOptionImages:S=!0,showOptionCounts:L=!0,skipDisabled:z=!1,activeSelected:K=!1,isLoading:D=!1,skeletonExiting:I=!1,isInputEmpty:F=!1,language:M,products:k,onProductSelect:N,onProductFocusChange:G,productsLayout:E="row",productImageFallback:V="image",formatType:ce="options",dateView:W=null,selectedDateIso:pe=null,selectedDateRange:Ce=null,dateRangeStart:he=null,onPreviousMonth:u,onNextMonth:Pe,optionsPosition:ie="below",mode:ue}){let oe=ci(ue),ge=oe!==void 0,U=Oe(null),$=Oe(null);pi(U,$),De(()=>{if(U.current)return ai(U.current)},[]);let s=e[0]?.options??[],m=!!(l&&l.length>0&&v),f=!!(k&&k.length>0),w=r&&(s.length>0||P&&m||D||f);hi(U,w);let y={suggestions:e,activeIndex:o,pills:l,showPills:P,showSkipButton:g,showOptionIcons:b,showOptionImages:S,showOptionCounts:L,skipDisabled:z,activeSelected:K,isLoading:D,skeletonExiting:I,isInputEmpty:F,products:k,formatType:ce,dateView:W,selectedDateIso:pe,selectedDateRange:Ce,dateRangeStart:he},T=Oe(y);w&&(T.current=y);let p=w?y:T.current,B=ri(M),j=p.suggestions[0],Q=j?.options??[],me=p.activeIndex>=0&&!!Q[p.activeIndex]?.is_tappable,ne=ni(p.pills??[],B.keepTyping),J=!!(ne.length>0&&v),fe=p.showPills&&J,Se=p.showPills&&!J&&p.isLoading,x=fe||Se,be=J&&ii(ne)&&p.showSkipButton&&!p.isInputEmpty&&!!C,we=ne[0]?.text,re=oi(p.formatType)&&p.dateView!=null,h=Q.length>0&&!re,Ie=Q.length>0&&re&&!p.isLoading,Ne=p.isLoading&&!h&&!Ie,ve=p.products??[];return dt("div",{ref:U,id:i,role:"listbox","data-aia-dropdown":"","data-options-position":ie,"data-mode":oe,"data-aia-loading":p.isLoading?"":void 0,"data-aia-skeleton-exiting":p.skeletonExiting?"":void 0,"data-aia-has-products":ve.length>0?"":void 0,className:`${ge?"magicx-aia ":""}${se.dropdown} ${w?se.visible:""} ${c??""}`,onMouseDown:ee=>ee.preventDefault(),children:[dt(Ft,{space:"8px",children:[(x||be)&&dt(Ke,{noWrap:!0,className:se.pillBar,"data-aia-pillbar":"",children:[x&&Z("span",{className:se.pillScroll,"data-aia-pill-scroll":"",children:Z(Ve,{pills:ne,activePillIndex:0,activeSelected:p.activeSelected,onSelectPill:v??(()=>{}),rounded:!0,loading:p.isLoading})}),be&&Z("button",{type:"button",tabIndex:-1,className:se.skip,"data-aia-skip":"",disabled:p.isLoading||p.skipDisabled,"aria-label":we?`${B.skipLabel} ${we}`:B.skipLabel,onClick:C,children:B.skip})]}),h&&Z(Nt,{options:Q,activeIndex:p.activeIndex,onSelect:t,onHighlight:a,onUnhighlight:n,listboxId:i,loading:p.isLoading,groupKey:j?`${j.parameter} ${j.text}`:"",optionsPosition:ie,showIcons:p.showOptionIcons,showImages:p.showOptionImages,showCounts:p.showOptionCounts}),Ie&&p.dateView&&Z(Ct,{options:Q,activeIndex:p.activeIndex,listboxId:i,view:p.dateView,selection:{selectedIso:p.selectedDateIso??null,selectedRange:p.selectedDateRange??null,rangeStart:p.dateRangeStart??null},onSelect:t,onHighlight:a,onUnhighlight:n,onPreviousMonth:u??Bt,onNextMonth:Pe??Bt}),Ne&&Z("div",{className:se.skeletonBars,"data-aia-skeleton-bars":"",children:li.map(ee=>Z("span",{className:se.skeletonBar,style:{width:ee}},`bar-${ee}`))}),Z(Et,{products:ve,listboxId:i,onSelect:N??di,onFocusChange:G,focusable:w,layout:E,imageFallback:V,strings:B}),Z(St,{isOptionHighlighted:me,isInputEmpty:p.isInputEmpty,strings:B})]}),Z("button",{ref:$,type:"button",tabIndex:-1,className:se.scrollArrow,"data-aia-scroll-arrow":"","aria-label":B.scrollArrow,"aria-hidden":"true",children:Z("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:Z("path",{d:"M4 6.5 8 10.5l4-4"})})})]})}import{buildSubmitResult as Ei,ModeController as Ai,setCursorOffset as Ri,uiStringsFor as Oi}from"@magicx-eng/ai-autocomplete-vanilla";import{uiStringsFor as ui}from"@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 {
2277
2280
  flex-shrink: 0;
2278
2281
  width: 32px;
2279
2282
  height: 32px;
@@ -2326,5 +2329,5 @@ import{buildSubmitResult as In,cellDay as Tn,cellIso as En,DATE_RANGE_META_END a
2326
2329
  );
2327
2330
  cursor: default;
2328
2331
  }
2329
- `,document.head.appendChild(e)}var Ht={submitButton:"aia-submitButton-otz7H"};import{jsx as pt}from"react/jsx-runtime";function Kt({disabled:e,onClick:o,label:t=ui().submit}){return pt("button",{type:"button","data-aia-submit":"",className:Ht.submitButton,disabled:e,onClick:a=>{a.stopPropagation(),o()},"aria-label":t,children:pt("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":t,children:pt("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as gi,dateSelectionFor as mi,identifiedParamLabel as fi,withoutTraditionalAutocomplete as bi}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as qt,useEffect as Le,useRef as H,useState as wi}from"react";import{useRef as Gt}from"react";function Wt(e){let o=Gt(e);o.current=e;let t=Object.keys(e??{}).sort().join("\0"),a=Gt({key:"",overrides:void 0});if(a.current.key!==t){let n={};for(let r of Object.keys(e??{})){let i=(c,l,v)=>{let P=o.current?.[r];return P?P(c,l,v):[]};n[r]=i}a.current={key:t,overrides:e?n:void 0}}return{overrides:a.current.overrides,key:t}}import{useRef as _t}from"react";function Ut(e){let o=_t(e);o.current=e;let t=_t(null);t.current===null&&(t.current={fetch:(n,r)=>{let i=o.current;return i?i.fetch(n,r):Promise.reject(new Error("products config removed"))},transform:n=>o.current?.transform(n)??[],get limit(){return o.current?.limit}});let a=e!==void 0;return{config:a?t.current:void 0,enabled:a}}var vi={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],traditionalAutocomplete:!1,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,dropdownHeld:!1,editingParam:null,editingIdentified:null,editingAnchor:null,editingTail:null,caretOffset:null,inSelectionAnimation:!1,dateViewMonth:null,pendingRangeStart:null};function ht({onSubmit:e,onResult:o,onError:t,optionOverrides:a,maskCompletedText:n,apiConfig:r,additionalContext:i,language:c,productId:l,visitorId:v,columns:P=2,dropdownTrigger:C,optionsPosition:g,closeDropdownOnBlur:b,showNonTappableOptions:S,showOptionIcons:L,showOptionImages:z,showOptionCounts:K,showSkipButton:D,showProducts:I,productImageFallback:F="image",onFocus:M,onBlur:k,value:N,completedParams:G,onChange:E,onParamsChange:V,products:ce,mapProducts:W,onProductSelect:pe,source:Ce,setCursor:he}){let u=H(null),[Pe,ie]=wi(null),ue=H(e);ue.current=e;let oe=H(o);oe.current=o;let ge=H(t);ge.current=t;let q=H(E);q.current=E;let $=H(V);$.current=V;let s=H(M);s.current=M;let m=H(k);m.current=k;let f=H(he);f.current=he;let w=H(pe);w.current=pe;let y=H(v);y.current=v;let T=H(()=>{let d=y.current;return typeof d=="function"?d():d}).current,p=Ut(ce),B=H(W);B.current=W;let j=H((d,_)=>{let A=B.current;return A?A(d,_):d}).current,Q=W?j:void 0,me=Wt(a);Le(()=>{if(typeof document>"u")return;let d=new gi(document.createElement("div"),{renderMode:"headless",apiConfig:r,additionalContext:i,language:c,productId:l,visitorId:T,optionOverrides:me.overrides,maskCompletedText:n,columns:P,dropdownTrigger:C,optionsPosition:g,closeDropdownOnBlur:b,showNonTappableOptions:S,showProducts:I,source:Ce,value:N,completedParams:G,onSubmit:(...A)=>ue.current?.(...A),onResult:(...A)=>oe.current?.(...A),onError:(...A)=>ge.current?.(...A),onChange:(...A)=>q.current?.(...A),onParamsChange:(...A)=>$.current?.(...A),onFocus:()=>s.current?.(),onBlur:()=>m.current?.(),onProductSelect:A=>w.current?.(A),setCursor:A=>f.current?.(A),products:p.config,mapProducts:Q});u.current=d,ie(d.getState());let _=d.subscribe(A=>ie(A));return()=>{_(),d.destroy(),u.current===d&&(u.current=null)}},[]),Le(()=>{N!==void 0&&u.current?.setValue(N)},[N]),Le(()=>{G!==void 0&&u.current?.setCompletedParams(G)},[G]);let ne=JSON.stringify(r??null),J;try{J=JSON.stringify(i??null)}catch{J="[unstringifiable]"}Le(()=>{u.current?.update({apiConfig:r,additionalContext:i,language:c,productId:l,optionOverrides:me.overrides,dropdownTrigger:C,optionsPosition:g,closeDropdownOnBlur:b,showNonTappableOptions:S,showProducts:I})},[ne,J,c,l,me.key,C,g,b,S,I]);let fe=H(!1);Le(()=>{if(!fe.current){fe.current=!0;return}u.current?.update({products:p.config})},[p.enabled]),Le(()=>{u.current?.update({mapProducts:Q})},[Q]);let Se=H(null);Se.current===null&&(Se.current={handleTextChange:d=>u.current?.handleTextChange(d),handleKeyDown:d=>{let _="nativeEvent"in d?d.nativeEvent:d;u.current?.handleKeyDown(_)},setFocused:d=>u.current?.setFocused(d),startEditingParam:d=>u.current?.startEditingParam(d),exitEditMode:()=>u.current?.exitEditMode(),handleCaretAfterInput:d=>u.current?.handleCaretAfterInput(d),handleCaretMove:d=>u.current?.handleCaretMove(d),replaceEditingRange:d=>u.current?.replaceEditingRange(d)??!1,setActivePill:d=>u.current?.setActivePill(d),skipActivePill:()=>u.current?.skipActivePill(),removeLastParam:()=>u.current?.removeLastParam(),clearNewParamId:()=>u.current?.clearNewParamId(),reset:()=>u.current?.reset(),refreshProducts:()=>u.current?.refreshProducts(),recordSubmit:d=>u.current?.recordSubmit(d),selectOption:d=>u.current?.selectOption(d),selectProduct:d=>u.current?.selectProduct(d),setActiveDropdownIndex:d=>u.current?.setActiveDropdownIndex(d),clearHighlight:d=>u.current?.clearHighlight(d),showPreviousMonth:()=>u.current?.showPreviousMonth(),showNextMonth:()=>u.current?.showNextMonth(),handleFocus:()=>u.current?.setFocused(!0),handleBlur:()=>u.current?.setFocused(!1)});let x=Se.current,be=qt(d=>{let _=d.target.value,at=_.length>0&&!d.nativeEvent?.isComposing&&_[0]!==_[0].toUpperCase()?_[0].toUpperCase()+_.slice(1):_;u.current?.handleTextChange(at)},[]),we=qt(d=>{u.current?.handleKeyDown(d.nativeEvent)},[]),re=u.current,h=Pe??vi,Ie=N!==void 0?N:h.text,Ne=G!==void 0?G:h.completedParams,ve=h.actionableSuggestions,ee=ve[0],_e=bi(ve),Te=re?.listboxId??"",et=h.activeDropdownIndex>=0&&re?`${Te}-option-${h.activeDropdownIndex}`:void 0,xe=h.editingParam,Ee=h.editingIdentified,Fe=xe?{parameter:xe.suggestionParameter,text:xe.suggestionPlaceholder,required:!0,options:xe.options}:Ee?{parameter:Ee.parameter,text:fi(Ee.parameter),required:!0,options:[]}:null,Ue=h.dropdownSuggestion??Fe??ee,tt=Fe?[Fe]:ve,Be=mi(h),qe=!re||h.dropdownLoading;return{completedParams:Ne,skippedParams:h.skippedParams,identifiedParams:h.identifiedParams,suggestionPills:_e,setActivePill:x.setActivePill,skipActivePill:x.skipActivePill,removeLastParam:x.removeLastParam,segments:h.segments,newParamId:h.newParamId,clearNewParamId:x.clearNewParamId,suggestions:h.suggestions,activeIndex:h.activeDropdownIndex,isReady:h.isReady,isLoading:qe,isFocused:h.isFocused,isDropdownOpen:h.isDropdownOpen,isActivePillSelected:h.isActivePillSelected,placeholderText:h.placeholderText,listboxId:Te,error:h.error,products:h.products,customFields:h.customFields,selectProduct:x.selectProduct,handleTextChange:x.handleTextChange,handleKeyDown:x.handleKeyDown,setFocused:x.setFocused,editingParam:xe,editingIdentified:Ee,editingAnchor:h.editingAnchor,caretOffset:h.caretOffset,startEditingParam:x.startEditingParam,exitEditMode:x.exitEditMode,handleCaretAfterInput:x.handleCaretAfterInput,handleCaretMove:x.handleCaretMove,replaceEditingRange:x.replaceEditingRange,inputProps:{value:Ie,placeholder:h.placeholderText||void 0,onChange:be,onKeyDown:we,onFocus:x.handleFocus,onBlur:x.handleBlur,role:"combobox","aria-expanded":h.isDropdownOpen,"aria-activedescendant":et,"aria-autocomplete":"list","aria-controls":Te},reset:x.reset,refreshProducts:x.refreshProducts,recordSubmit:x.recordSubmit,dropdownProps:{suggestions:Ue?[{...Ue,options:h.dropdownOptions}]:[],activeIndex:h.activeDropdownIndex,onSelect:x.selectOption,onHighlight:x.setActiveDropdownIndex,onUnhighlight:x.clearHighlight,isOpen:h.isDropdownOpen,id:Te,pills:tt,activeSelected:h.isActivePillSelected,onPillClick:x.setActivePill,onSkip:x.skipActivePill,showSkipButton:(D??!0)&&!xe&&!Ee,showOptionIcons:L??!0,showOptionImages:z??!0,showOptionCounts:K??!0,skipDisabled:h.inSelectionAnimation,isLoading:qe,skeletonExiting:h.skeletonExiting,isInputEmpty:Ie.trim().length===0,language:c,products:h.products,productImageFallback:F,onProductSelect:x.selectProduct,onProductFocusChange:x.setFocused,formatType:h.activeFormatType,dateView:h.dateView,selectedDateIso:Be.selectedIso,selectedDateRange:Be.selectedRange,dateRangeStart:Be.rangeStart,onPreviousMonth:x.showPreviousMonth,onNextMonth:x.showNextMonth,optionsPosition:g??"below"}}}import{chipIdFromTap as xi,extractPlainText as jt,getCursorOffset as Qt,keepCaretOnChip as yi,plainTextLength as ki,renderEditableContent as Ci,setCursorOffset as Yt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as X,useEffect as Xe,useLayoutEffect as ut,useRef as ze}from"react";var Je;function Pi(){if(Je!==void 0)return Je;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),Je=e.contentEditable==="plaintext-only",Je}function Zt(e){let{segments:o,showChipIcons:t=!0,showChipImages:a=!0,newParamId:n,editingParam:r,editingIdentified:i,editingAnchor:c,caretOffset:l,placeholderText:v,isFocused:P,isDropdownOpen:C,listboxId:g,activeDescendantId:b,autoFocus:S,handleTextChange:L,handleKeyDown:z,handleCaretAfterInput:K,handleCaretMove:D,startEditingParam:I,replaceEditingRange:F,setFocused:M}=e,k=ze(null),N=ze(!1),G=ze(""),E=ze(""),V=ze(null),ce=ze(0);V.current=l,Xe(()=>{if(!S)return;let s=k.current;if(!s)return;document.activeElement===s?M(!0):s.focus();let m=s.ownerDocument??document,f=m.getSelection(),w=f&&f.rangeCount>0&&s.contains(f.anchorNode);if(f&&!w){let y=m.createRange();y.selectNodeContents(s),y.collapse(!0),f.removeAllRanges(),f.addRange(y)}},[S,M]),Xe(()=>{let s=k.current;if(!s)return;let m=s.ownerDocument??document,f=()=>{let w=m.getSelection();if(!w||w.rangeCount===0||!w.anchorNode||!s.contains(w.anchorNode))return;let y=w.anchorNode,T=y.nodeType===Node.ELEMENT_NODE?y:y.parentElement,B=(w.isCollapsed?T?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,j=r?.id??i?.id??null;if(B&&B!==j){I(B);return}performance.now()-ce.current<50||D(Qt(s))};return m.addEventListener("selectionchange",f),()=>m.removeEventListener("selectionchange",f)},[r,i,I,D]),Xe(()=>{let s=k.current;if(!s)return;let m=f=>{let w=xi(s,f.target);w&&(I(w),yi(s,w))};return s.addEventListener("click",m),()=>s.removeEventListener("click",m)},[I]),ut(()=>{let s=k.current;s&&Ci({input:s,segments:o,newParamId:n,editingParamId:r?.id??null,placeholderText:v??"",isFocused:P,showChipIcons:t,showChipImages:a})},[o,n,r,v,P,t,a]),ut(()=>{let s=G.current,m=n??"";if(G.current=m,!m||m===s)return;let f=k.current;if(!f)return;f.focus();let w=V.current??ki(f);Yt(f,w)},[n]),ut(()=>{let s=E.current,m=r?.id??"";if(E.current=m,!m||m===s||c==null)return;let f=k.current;f&&Yt(f,c)},[r,c]);let W=X(()=>{if(N.current)return;let s=k.current;if(!s)return;let m=jt(s),w=m.length>0&&m[0]!==m[0].toUpperCase()?m[0].toUpperCase()+m.slice(1):m;L(w)},[L]),pe=X(()=>{ce.current=performance.now(),W();let s=k.current;s&&K(Qt(s))},[W,K]);Xe(()=>{let s=k.current;if(!s)return;let m=f=>{let w=f,y=w.inputType;if(y==="insertParagraph"||y==="insertLineBreak"||y==="insertFromDrop"){f.preventDefault();return}if(y.startsWith("insert")||y.startsWith("delete")){let T=y.startsWith("delete")?"":w.data??"";F(T)&&f.preventDefault()}};return s.addEventListener("beforeinput",m),()=>s.removeEventListener("beforeinput",m)},[F]);let Ce=X(()=>{N.current=!0},[]),he=X(()=>{N.current=!1,W()},[W]),u=X(s=>{s.preventDefault();let m=k.current;if(!m)return;let f=(s.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!f)return;let w=m.ownerDocument??document,y=w.getSelection();if(!y||y.rangeCount===0)return;let T=y.getRangeAt(0);if(!m.contains(T.startContainer))return;T.deleteContents();let p=w.createTextNode(f);T.insertNode(p),T.setStartAfter(p),T.collapse(!0),y.removeAllRanges(),y.addRange(T),W()},[W]),Pe=X(s=>z(s),[z]),ie=X(()=>M(!0),[M]),ue=X(()=>M(!1),[M]),oe=X(()=>k.current?.focus(),[]),ge=X(()=>k.current?.blur(),[]),q=X(()=>{let s=k.current;return s?jt(s):""},[]),$=Pi()?"plaintext-only":"true";return{inputRef:k,editorProps:{ref:k,contentEditable:$,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":g,"aria-expanded":C,"aria-activedescendant":b,spellCheck:!0,enterKeyHint:"send",onInput:pe,onKeyDown:Pe,onCompositionStart:Ce,onCompositionEnd:he,onPaste:u,onFocus:ie,onBlur:ue},getPlainText:q,focus:oe,blur:ge}}import{jsx as Me,jsxs as mt}from"react/jsx-runtime";function Di(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Li=Si(function({onSubmit:o,onResult:t,onError:a,optionOverrides:n,maskCompletedText:r,className:i,apiConfig:c,additionalContext:l,language:v,productId:P,visitorId:C,columns:g,pillPlacement:b="dropdown",mode:S="auto",optionsPosition:L="below",animations:z=!0,dropdownTrigger:K,closeDropdownOnBlur:D,showNonTappableOptions:I,showOptionIcons:F=!0,showChipIcons:M=!0,showChipImages:k=!0,showOptionImages:N=!0,showOptionCounts:G=!0,showSkipButton:E,showProducts:V,productsLayout:ce,productImageFallback:W,autoFocus:pe=!0,onFocus:Ce,onBlur:he,value:u,completedParams:Pe,onChange:ie,onParamsChange:ue,products:oe,mapProducts:ge,onProductSelect:q,submitButton:$,resetOnSubmit:s=!0},m){let f=We(null),w=We(null),y=We(()=>{}),T=We(null),p=We(null);Vt(()=>{let R=f.current;if(R)return T.current?T.current.setMode(S):T.current=new Ai(R,S),()=>{T.current?.destroy(),T.current=null}},[S]);let B=gt(R=>{let te=p.current?.current;te&&(te.focus(),Ri(te,R))},[]),{completedParams:j,skippedParams:Q,identifiedParams:me,isReady:ne,customFields:J,suggestionPills:fe,setActivePill:Se,skipActivePill:x,segments:be,newParamId:we,clearNewParamId:re,placeholderText:h,isFocused:Ie,isDropdownOpen:Ne,isActivePillSelected:ve,isLoading:ee,activeIndex:_e,listboxId:Te,handleTextChange:et,handleKeyDown:xe,setFocused:Ee,editingParam:Fe,editingIdentified:Ue,editingAnchor:tt,caretOffset:Be,startEditingParam:qe,handleCaretAfterInput:d,handleCaretMove:_,replaceEditingRange:A,dropdownProps:at,reset:je,refreshProducts:ft,recordSubmit:bt}=ht({onSubmit:R=>y.current(R),onResult:t,onError:a,optionOverrides:n,maskCompletedText:r,apiConfig:c,additionalContext:l,language:v,productId:P,visitorId:C,columns:g,dropdownTrigger:K,optionsPosition:L,closeDropdownOnBlur:D,showNonTappableOptions:I,showOptionIcons:F,showOptionImages:N,showOptionCounts:G,showSkipButton:E,showProducts:V,onFocus:Ce,onBlur:he,value:u,completedParams:Pe,onChange:ie,onParamsChange:ue,products:oe,mapProducts:ge,onProductSelect:q,source:"full-sdk",setCursor:B});Vt(()=>{if(!we)return;let R=window.setTimeout(()=>re(),650);return()=>window.clearTimeout(R)},[we,re]);let $t=_e>=0?`${Te}-option-${_e}`:void 0,{inputRef:it,editorProps:Xt,focus:Qe,blur:wt,getPlainText:vt}=Zt({segments:be,newParamId:we,editingParam:Fe,editingIdentified:Ue,editingAnchor:tt,caretOffset:Be,placeholderText:h,isFocused:Ie,showChipIcons:M,showChipImages:k,isDropdownOpen:Ne,listboxId:Te,activeDescendantId:$t,autoFocus:pe,handleTextChange:et,handleKeyDown:xe,handleCaretAfterInput:d,handleCaretMove:_,startEditingParam:qe,replaceEditingRange:A,setFocused:Ee});p.current=it,Ti(()=>{let R=w.current,te=it.current;if(!R||!te)return;let He=()=>{let yt=R.firstElementChild;if(!yt)return;let aa=yt.getBoundingClientRect(),ia=te.getBoundingClientRect();aa.top>=ia.bottom-2?R.setAttribute("data-aia-pill-wrapped",""):R.removeAttribute("data-aia-pill-wrapped")};He();let xt=new ResizeObserver(He);return xt.observe(te),()=>xt.disconnect()},[be,fe.length,ee,it]),Ii(m,()=>({focus:Qe,blur:wt,reset:je,refreshProducts:ft,setMode:R=>T.current?.setMode(R),skipActivePill:x}),[Qe,wt,je,ft,x]);let Ye=!!be.length||j.length>0,ot=gt(R=>{if(!Ye)return;let te=vt(),He=Ei(te,j,Q,{identifiedParams:me,isReady:ne,customFields:J});R&&bt(He),o(He),s&&je()},[bt,s,Ye,j,Q,me,ne,J,o,je,vt]);y.current=()=>ot(!1);let Jt=gt(R=>{R.target?.closest("[data-aia-pill]")||Qe()},[Qe]),ea=b==="inline",ta=b==="dropdown";return mt("div",{ref:f,className:`magicx-aia ${Ae.container} ${i??""}`,"data-pill-placement":b,"data-options-position":L,"data-animations":z?"on":"off","data-mode":Di(S),children:[Me(ct,{...at,showPills:ta,productsLayout:ce,productImageFallback:W}),mt("div",{className:Ae.inputWrapper,"data-aia-input-wrapper":"",onClick:Jt,children:[mt("div",{className:Ae.editorArea,"data-aia-editor":"",children:[Me("div",{...Xt,className:Ae.input,"data-aia-input":""}),ea&&(ee||fe.length>0)&&Me("span",{ref:w,className:Ae.pillListContainer,"data-aia-pill-list-container":"",children:Me(Ve,{pills:fe,activePillIndex:0,activeSelected:ve,onSelectPill:Se,loading:ee})})]}),$===null?null:$===void 0?Me(Kt,{disabled:!Ye,onClick:()=>ot(!0),label:Oi(v).submit}):Me("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:Ae.submitSlot,onClick:R=>{Ye&&(R.stopPropagation(),ot(!0))},children:$})]})]})});export{Li as AIAutocomplete,ct as AIAutocompleteDropdown,An as DATE_RANGE_META_END,Rn as DATE_RANGE_META_START,On as DEFAULT_OPTION_COUNT_UNIT,_n as PRODUCT_PATH_PREFIX,Jn as WEEKDAY_LABELS,In as buildSubmitResult,Tn as cellDay,En as cellIso,Dn as dateCellMarks,Ln as formatDate,zn as formatDateRange,Mn as formatOptionCount,Nn as isoDate,Fn as monthLabel,Bn as optionCountLabel,Hn as optionHasImage,Kn as optionImageSources,Gn as optionImageSrc,Wn as optionLabel,Un as parseDate,qn as parseLooseDate,jn as parseLooseDateRange,Qn as productFromMatchedItem,Yn as productImageSources,Zn as productsFromCustomFields,Vn as sanitizeOptionIconSvg,$n as selectedRangeFor,ht as useAIAutocomplete,Xn as visibleDateRange,er as withSkippedParams};
2332
+ `,document.head.appendChild(e)}var Ht={submitButton:"aia-submitButton-otz7H"};import{jsx as pt}from"react/jsx-runtime";function Kt({disabled:e,onClick:o,label:t=ui().submit}){return pt("button",{type:"button","data-aia-submit":"",className:Ht.submitButton,disabled:e,onClick:a=>{a.stopPropagation(),o()},"aria-label":t,children:pt("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":t,children:pt("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as gi,dateSelectionFor as mi,identifiedParamLabel as fi,withoutTraditionalAutocomplete as bi}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as Ut,useEffect as Le,useRef as H,useState as wi}from"react";import{useRef as Gt}from"react";function Wt(e){let o=Gt(e);o.current=e;let t=Object.keys(e??{}).sort().join("\0"),a=Gt({key:"",overrides:void 0});if(a.current.key!==t){let n={};for(let r of Object.keys(e??{})){let i=(c,l,v)=>{let P=o.current?.[r];return P?P(c,l,v):[]};n[r]=i}a.current={key:t,overrides:e?n:void 0}}return{overrides:a.current.overrides,key:t}}import{useRef as _t}from"react";function qt(e){let o=_t(e);o.current=e;let t=_t(null);t.current===null&&(t.current={fetch:(n,r)=>{let i=o.current;return i?i.fetch(n,r):Promise.reject(new Error("products config removed"))},transform:n=>o.current?.transform(n)??[],get limit(){return o.current?.limit}});let a=e!==void 0;return{config:a?t.current:void 0,enabled:a}}var vi={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],traditionalAutocomplete:!1,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,dropdownHeld:!1,editingParam:null,editingIdentified:null,editingAnchor:null,editingTail:null,caretOffset:null,inSelectionAnimation:!1,dateViewMonth:null,pendingRangeStart:null};function ht({onSubmit:e,onResult:o,onError:t,optionOverrides:a,maskCompletedText:n,apiConfig:r,additionalContext:i,language:c,productId:l,visitorId:v,columns:P=2,dropdownTrigger:C,optionsPosition:g,closeDropdownOnBlur:b,showNonTappableOptions:S,showOptionIcons:L,showOptionImages:z,showOptionCounts:K,showSkipButton:D,showProducts:I,productImageFallback:F="image",onFocus:M,onBlur:k,value:N,completedParams:G,onChange:E,onParamsChange:V,products:ce,mapProducts:W,onProductSelect:pe,source:Ce,setCursor:he}){let u=H(null),[Pe,ie]=wi(null),ue=H(e);ue.current=e;let oe=H(o);oe.current=o;let ge=H(t);ge.current=t;let U=H(E);U.current=E;let $=H(V);$.current=V;let s=H(M);s.current=M;let m=H(k);m.current=k;let f=H(he);f.current=he;let w=H(pe);w.current=pe;let y=H(v);y.current=v;let T=H(()=>{let d=y.current;return typeof d=="function"?d():d}).current,p=qt(ce),B=H(W);B.current=W;let j=H((d,_)=>{let A=B.current;return A?A(d,_):d}).current,Q=W?j:void 0,me=Wt(a);Le(()=>{if(typeof document>"u")return;let d=new gi(document.createElement("div"),{renderMode:"headless",apiConfig:r,additionalContext:i,language:c,productId:l,visitorId:T,optionOverrides:me.overrides,maskCompletedText:n,columns:P,dropdownTrigger:C,optionsPosition:g,closeDropdownOnBlur:b,showNonTappableOptions:S,showProducts:I,source:Ce,value:N,completedParams:G,onSubmit:(...A)=>ue.current?.(...A),onResult:(...A)=>oe.current?.(...A),onError:(...A)=>ge.current?.(...A),onChange:(...A)=>U.current?.(...A),onParamsChange:(...A)=>$.current?.(...A),onFocus:()=>s.current?.(),onBlur:()=>m.current?.(),onProductSelect:A=>w.current?.(A),setCursor:A=>f.current?.(A),products:p.config,mapProducts:Q});u.current=d,ie(d.getState());let _=d.subscribe(A=>ie(A));return()=>{_(),d.destroy(),u.current===d&&(u.current=null)}},[]),Le(()=>{N!==void 0&&u.current?.setValue(N)},[N]),Le(()=>{G!==void 0&&u.current?.setCompletedParams(G)},[G]);let ne=JSON.stringify(r??null),J;try{J=JSON.stringify(i??null)}catch{J="[unstringifiable]"}Le(()=>{u.current?.update({apiConfig:r,additionalContext:i,language:c,productId:l,optionOverrides:me.overrides,dropdownTrigger:C,optionsPosition:g,closeDropdownOnBlur:b,showNonTappableOptions:S,showProducts:I})},[ne,J,c,l,me.key,C,g,b,S,I]);let fe=H(!1);Le(()=>{if(!fe.current){fe.current=!0;return}u.current?.update({products:p.config})},[p.enabled]),Le(()=>{u.current?.update({mapProducts:Q})},[Q]);let Se=H(null);Se.current===null&&(Se.current={handleTextChange:d=>u.current?.handleTextChange(d),handleKeyDown:d=>{let _="nativeEvent"in d?d.nativeEvent:d;u.current?.handleKeyDown(_)},setFocused:d=>u.current?.setFocused(d),startEditingParam:d=>u.current?.startEditingParam(d),exitEditMode:()=>u.current?.exitEditMode(),handleCaretAfterInput:d=>u.current?.handleCaretAfterInput(d),handleCaretMove:d=>u.current?.handleCaretMove(d),replaceEditingRange:d=>u.current?.replaceEditingRange(d)??!1,setActivePill:d=>u.current?.setActivePill(d),skipActivePill:()=>u.current?.skipActivePill(),removeLastParam:()=>u.current?.removeLastParam(),clearNewParamId:()=>u.current?.clearNewParamId(),reset:()=>u.current?.reset(),refreshProducts:()=>u.current?.refreshProducts(),recordSubmit:d=>u.current?.recordSubmit(d),selectOption:d=>u.current?.selectOption(d),selectProduct:d=>u.current?.selectProduct(d),setActiveDropdownIndex:d=>u.current?.setActiveDropdownIndex(d),clearHighlight:d=>u.current?.clearHighlight(d),showPreviousMonth:()=>u.current?.showPreviousMonth(),showNextMonth:()=>u.current?.showNextMonth(),handleFocus:()=>u.current?.setFocused(!0),handleBlur:()=>u.current?.setFocused(!1)});let x=Se.current,be=Ut(d=>{let _=d.target.value,at=_.length>0&&!d.nativeEvent?.isComposing&&_[0]!==_[0].toUpperCase()?_[0].toUpperCase()+_.slice(1):_;u.current?.handleTextChange(at)},[]),we=Ut(d=>{u.current?.handleKeyDown(d.nativeEvent)},[]),re=u.current,h=Pe??vi,Ie=N!==void 0?N:h.text,Ne=G!==void 0?G:h.completedParams,ve=h.actionableSuggestions,ee=ve[0],_e=bi(ve),Te=re?.listboxId??"",et=h.activeDropdownIndex>=0&&re?`${Te}-option-${h.activeDropdownIndex}`:void 0,xe=h.editingParam,Ee=h.editingIdentified,Fe=xe?{parameter:xe.suggestionParameter,text:xe.suggestionPlaceholder,required:!0,options:xe.options}:Ee?{parameter:Ee.parameter,text:fi(Ee.parameter),required:!0,options:[]}:null,qe=h.dropdownSuggestion??Fe??ee,tt=Fe?[Fe]:ve,Be=mi(h),Ue=!re||h.dropdownLoading;return{completedParams:Ne,skippedParams:h.skippedParams,identifiedParams:h.identifiedParams,suggestionPills:_e,setActivePill:x.setActivePill,skipActivePill:x.skipActivePill,removeLastParam:x.removeLastParam,segments:h.segments,newParamId:h.newParamId,clearNewParamId:x.clearNewParamId,suggestions:h.suggestions,activeIndex:h.activeDropdownIndex,isReady:h.isReady,isLoading:Ue,isFocused:h.isFocused,isDropdownOpen:h.isDropdownOpen,isActivePillSelected:h.isActivePillSelected,placeholderText:h.placeholderText,listboxId:Te,error:h.error,products:h.products,customFields:h.customFields,selectProduct:x.selectProduct,handleTextChange:x.handleTextChange,handleKeyDown:x.handleKeyDown,setFocused:x.setFocused,editingParam:xe,editingIdentified:Ee,editingAnchor:h.editingAnchor,caretOffset:h.caretOffset,startEditingParam:x.startEditingParam,exitEditMode:x.exitEditMode,handleCaretAfterInput:x.handleCaretAfterInput,handleCaretMove:x.handleCaretMove,replaceEditingRange:x.replaceEditingRange,inputProps:{value:Ie,placeholder:h.placeholderText||void 0,onChange:be,onKeyDown:we,onFocus:x.handleFocus,onBlur:x.handleBlur,role:"combobox","aria-expanded":h.isDropdownOpen,"aria-activedescendant":et,"aria-autocomplete":"list","aria-controls":Te},reset:x.reset,refreshProducts:x.refreshProducts,recordSubmit:x.recordSubmit,dropdownProps:{suggestions:qe?[{...qe,options:h.dropdownOptions}]:[],activeIndex:h.activeDropdownIndex,onSelect:x.selectOption,onHighlight:x.setActiveDropdownIndex,onUnhighlight:x.clearHighlight,isOpen:h.isDropdownOpen,id:Te,pills:tt,activeSelected:h.isActivePillSelected,onPillClick:x.setActivePill,onSkip:x.skipActivePill,showSkipButton:(D??!0)&&!xe&&!Ee,showOptionIcons:L??!0,showOptionImages:z??!0,showOptionCounts:K??!0,skipDisabled:h.inSelectionAnimation,isLoading:Ue,skeletonExiting:h.skeletonExiting,isInputEmpty:Ie.trim().length===0,language:c,products:h.products,productImageFallback:F,onProductSelect:x.selectProduct,onProductFocusChange:x.setFocused,formatType:h.activeFormatType,dateView:h.dateView,selectedDateIso:Be.selectedIso,selectedDateRange:Be.selectedRange,dateRangeStart:Be.rangeStart,onPreviousMonth:x.showPreviousMonth,onNextMonth:x.showNextMonth,optionsPosition:g??"below"}}}import{chipIdFromTap as xi,extractPlainText as jt,getCursorOffset as Qt,keepCaretOnChip as yi,plainTextLength as ki,renderEditableContent as Ci,setCursorOffset as Yt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as X,useEffect as Xe,useLayoutEffect as ut,useRef as ze}from"react";var Je;function Pi(){if(Je!==void 0)return Je;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),Je=e.contentEditable==="plaintext-only",Je}function Zt(e){let{segments:o,showChipIcons:t=!0,showChipImages:a=!0,newParamId:n,editingParam:r,editingIdentified:i,editingAnchor:c,caretOffset:l,placeholderText:v,isFocused:P,isDropdownOpen:C,listboxId:g,activeDescendantId:b,autoFocus:S,handleTextChange:L,handleKeyDown:z,handleCaretAfterInput:K,handleCaretMove:D,startEditingParam:I,replaceEditingRange:F,setFocused:M}=e,k=ze(null),N=ze(!1),G=ze(""),E=ze(""),V=ze(null),ce=ze(0);V.current=l,Xe(()=>{if(!S)return;let s=k.current;if(!s)return;document.activeElement===s?M(!0):s.focus();let m=s.ownerDocument??document,f=m.getSelection(),w=f&&f.rangeCount>0&&s.contains(f.anchorNode);if(f&&!w){let y=m.createRange();y.selectNodeContents(s),y.collapse(!0),f.removeAllRanges(),f.addRange(y)}},[S,M]),Xe(()=>{let s=k.current;if(!s)return;let m=s.ownerDocument??document,f=()=>{let w=m.getSelection();if(!w||w.rangeCount===0||!w.anchorNode||!s.contains(w.anchorNode))return;let y=w.anchorNode,T=y.nodeType===Node.ELEMENT_NODE?y:y.parentElement,B=(w.isCollapsed?T?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,j=r?.id??i?.id??null;if(B&&B!==j){I(B);return}performance.now()-ce.current<50||D(Qt(s))};return m.addEventListener("selectionchange",f),()=>m.removeEventListener("selectionchange",f)},[r,i,I,D]),Xe(()=>{let s=k.current;if(!s)return;let m=f=>{let w=xi(s,f.target);w&&(I(w),yi(s,w))};return s.addEventListener("click",m),()=>s.removeEventListener("click",m)},[I]),ut(()=>{let s=k.current;s&&Ci({input:s,segments:o,newParamId:n,editingParamId:r?.id??null,placeholderText:v??"",isFocused:P,showChipIcons:t,showChipImages:a})},[o,n,r,v,P,t,a]),ut(()=>{let s=G.current,m=n??"";if(G.current=m,!m||m===s)return;let f=k.current;if(!f)return;f.focus();let w=V.current??ki(f);Yt(f,w)},[n]),ut(()=>{let s=E.current,m=r?.id??"";if(E.current=m,!m||m===s||c==null)return;let f=k.current;f&&Yt(f,c)},[r,c]);let W=X(()=>{if(N.current)return;let s=k.current;if(!s)return;let m=jt(s),w=m.length>0&&m[0]!==m[0].toUpperCase()?m[0].toUpperCase()+m.slice(1):m;L(w)},[L]),pe=X(()=>{ce.current=performance.now(),W();let s=k.current;s&&K(Qt(s))},[W,K]);Xe(()=>{let s=k.current;if(!s)return;let m=f=>{let w=f,y=w.inputType;if(y==="insertParagraph"||y==="insertLineBreak"||y==="insertFromDrop"){f.preventDefault();return}if(y.startsWith("insert")||y.startsWith("delete")){let T=y.startsWith("delete")?"":w.data??"";F(T)&&f.preventDefault()}};return s.addEventListener("beforeinput",m),()=>s.removeEventListener("beforeinput",m)},[F]);let Ce=X(()=>{N.current=!0},[]),he=X(()=>{N.current=!1,W()},[W]),u=X(s=>{s.preventDefault();let m=k.current;if(!m)return;let f=(s.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!f)return;let w=m.ownerDocument??document,y=w.getSelection();if(!y||y.rangeCount===0)return;let T=y.getRangeAt(0);if(!m.contains(T.startContainer))return;T.deleteContents();let p=w.createTextNode(f);T.insertNode(p),T.setStartAfter(p),T.collapse(!0),y.removeAllRanges(),y.addRange(T),W()},[W]),Pe=X(s=>z(s),[z]),ie=X(()=>M(!0),[M]),ue=X(()=>M(!1),[M]),oe=X(()=>k.current?.focus(),[]),ge=X(()=>k.current?.blur(),[]),U=X(()=>{let s=k.current;return s?jt(s):""},[]),$=Pi()?"plaintext-only":"true";return{inputRef:k,editorProps:{ref:k,contentEditable:$,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":g,"aria-expanded":C,"aria-activedescendant":b,spellCheck:!0,enterKeyHint:"send",onInput:pe,onKeyDown:Pe,onCompositionStart:Ce,onCompositionEnd:he,onPaste:u,onFocus:ie,onBlur:ue},getPlainText:U,focus:oe,blur:ge}}import{jsx as Me,jsxs as mt}from"react/jsx-runtime";function Di(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Li=Si(function({onSubmit:o,onResult:t,onError:a,optionOverrides:n,maskCompletedText:r,className:i,apiConfig:c,additionalContext:l,language:v,productId:P,visitorId:C,columns:g,pillPlacement:b="dropdown",mode:S="auto",optionsPosition:L="below",animations:z=!0,dropdownTrigger:K,closeDropdownOnBlur:D,showNonTappableOptions:I,showOptionIcons:F=!0,showChipIcons:M=!0,showChipImages:k=!0,showOptionImages:N=!0,showOptionCounts:G=!0,showSkipButton:E,showProducts:V,productsLayout:ce,productImageFallback:W,autoFocus:pe=!0,onFocus:Ce,onBlur:he,value:u,completedParams:Pe,onChange:ie,onParamsChange:ue,products:oe,mapProducts:ge,onProductSelect:U,submitButton:$,resetOnSubmit:s=!0},m){let f=We(null),w=We(null),y=We(()=>{}),T=We(null),p=We(null);Vt(()=>{let R=f.current;if(R)return T.current?T.current.setMode(S):T.current=new Ai(R,S),()=>{T.current?.destroy(),T.current=null}},[S]);let B=gt(R=>{let te=p.current?.current;te&&(te.focus(),Ri(te,R))},[]),{completedParams:j,skippedParams:Q,identifiedParams:me,isReady:ne,customFields:J,suggestionPills:fe,setActivePill:Se,skipActivePill:x,segments:be,newParamId:we,clearNewParamId:re,placeholderText:h,isFocused:Ie,isDropdownOpen:Ne,isActivePillSelected:ve,isLoading:ee,activeIndex:_e,listboxId:Te,handleTextChange:et,handleKeyDown:xe,setFocused:Ee,editingParam:Fe,editingIdentified:qe,editingAnchor:tt,caretOffset:Be,startEditingParam:Ue,handleCaretAfterInput:d,handleCaretMove:_,replaceEditingRange:A,dropdownProps:at,reset:je,refreshProducts:ft,recordSubmit:bt}=ht({onSubmit:R=>y.current(R),onResult:t,onError:a,optionOverrides:n,maskCompletedText:r,apiConfig:c,additionalContext:l,language:v,productId:P,visitorId:C,columns:g,dropdownTrigger:K,optionsPosition:L,closeDropdownOnBlur:D,showNonTappableOptions:I,showOptionIcons:F,showOptionImages:N,showOptionCounts:G,showSkipButton:E,showProducts:V,onFocus:Ce,onBlur:he,value:u,completedParams:Pe,onChange:ie,onParamsChange:ue,products:oe,mapProducts:ge,onProductSelect:U,source:"full-sdk",setCursor:B});Vt(()=>{if(!we)return;let R=window.setTimeout(()=>re(),650);return()=>window.clearTimeout(R)},[we,re]);let $t=_e>=0?`${Te}-option-${_e}`:void 0,{inputRef:it,editorProps:Xt,focus:Qe,blur:wt,getPlainText:vt}=Zt({segments:be,newParamId:we,editingParam:Fe,editingIdentified:qe,editingAnchor:tt,caretOffset:Be,placeholderText:h,isFocused:Ie,showChipIcons:M,showChipImages:k,isDropdownOpen:Ne,listboxId:Te,activeDescendantId:$t,autoFocus:pe,handleTextChange:et,handleKeyDown:xe,handleCaretAfterInput:d,handleCaretMove:_,startEditingParam:Ue,replaceEditingRange:A,setFocused:Ee});p.current=it,Ti(()=>{let R=w.current,te=it.current;if(!R||!te)return;let He=()=>{let yt=R.firstElementChild;if(!yt)return;let aa=yt.getBoundingClientRect(),ia=te.getBoundingClientRect();aa.top>=ia.bottom-2?R.setAttribute("data-aia-pill-wrapped",""):R.removeAttribute("data-aia-pill-wrapped")};He();let xt=new ResizeObserver(He);return xt.observe(te),()=>xt.disconnect()},[be,fe.length,ee,it]),Ii(m,()=>({focus:Qe,blur:wt,reset:je,refreshProducts:ft,setMode:R=>T.current?.setMode(R),skipActivePill:x}),[Qe,wt,je,ft,x]);let Ye=!!be.length||j.length>0,ot=gt(R=>{if(!Ye)return;let te=vt(),He=Ei(te,j,Q,{identifiedParams:me,isReady:ne,customFields:J});R&&bt(He),o(He),s&&je()},[bt,s,Ye,j,Q,me,ne,J,o,je,vt]);y.current=()=>ot(!1);let Jt=gt(R=>{R.target?.closest("[data-aia-pill]")||Qe()},[Qe]),ea=b==="inline",ta=b==="dropdown";return mt("div",{ref:f,className:`magicx-aia ${Ae.container} ${i??""}`,"data-pill-placement":b,"data-options-position":L,"data-animations":z?"on":"off","data-mode":Di(S),children:[Me(ct,{...at,showPills:ta,productsLayout:ce,productImageFallback:W}),mt("div",{className:Ae.inputWrapper,"data-aia-input-wrapper":"",onClick:Jt,children:[mt("div",{className:Ae.editorArea,"data-aia-editor":"",children:[Me("div",{...Xt,className:Ae.input,"data-aia-input":""}),ea&&(ee||fe.length>0)&&Me("span",{ref:w,className:Ae.pillListContainer,"data-aia-pill-list-container":"",children:Me(Ve,{pills:fe,activePillIndex:0,activeSelected:ve,onSelectPill:Se,loading:ee})})]}),$===null?null:$===void 0?Me(Kt,{disabled:!Ye,onClick:()=>ot(!0),label:Oi(v).submit}):Me("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:Ae.submitSlot,onClick:R=>{Ye&&(R.stopPropagation(),ot(!0))},children:$})]})]})});export{Li as AIAutocomplete,ct as AIAutocompleteDropdown,An as DATE_RANGE_META_END,Rn as DATE_RANGE_META_START,On as DEFAULT_OPTION_COUNT_UNIT,_n as PRODUCT_PATH_PREFIX,Jn as WEEKDAY_LABELS,In as buildSubmitResult,Tn as cellDay,En as cellIso,Dn as dateCellMarks,Ln as formatDate,zn as formatDateRange,Mn as formatOptionCount,Nn as isoDate,Fn as monthLabel,Bn as optionCountLabel,Hn as optionHasImage,Kn as optionImageSources,Gn as optionImageSrc,Wn as optionLabel,qn as parseDate,Un as parseLooseDate,jn as parseLooseDateRange,Qn as productFromMatchedItem,Yn as productImageSources,Zn as productsFromCustomFields,Vn as sanitizeOptionIconSvg,$n as selectedRangeFor,ht as useAIAutocomplete,Xn as visibleDateRange,er as withSkippedParams};
2330
2333
  //# sourceMappingURL=index.mjs.map