@magicx-eng/ai-autocomplete-react 0.39.5 → 0.40.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/README.md +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +17 -14
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +15 -12
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{buildSubmitResult as
|
|
1
|
+
import{buildSubmitResult as En,cellDay as An,cellIso as Rn,DATE_RANGE_META_END as Dn,DATE_RANGE_META_START as On,DEFAULT_OPTION_COUNT_UNIT as Ln,dateCellMarks as zn,formatDate as Mn,formatDateRange as Nn,formatOptionCount as Fn,isoDate as Bn,monthLabel as Hn,optionCountLabel as Kn,optionHasImage as Gn,optionImageSources as Wn,optionImageSrc as _n,optionLabel as qn,optionsShowLeadingVisuals as Un,PRODUCT_PATH_PREFIX as jn,parseDate as Qn,parseLooseDate as Yn,parseLooseDateRange as Vn,productFromMatchedItem as Zn,productImageSources as $n,productsFromCustomFields as Xn,sanitizeOptionIconSvg as Jn,selectedRangeFor as er,visibleDateRange as tr,WEEKDAY_LABELS as ar,withSkippedParams as ir}from"@magicx-eng/ai-autocomplete-vanilla";import{forwardRef as Ti,useCallback as mt,useEffect as $t,useImperativeHandle as Ei,useLayoutEffect as Ai,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
|
|
@@ -166,7 +166,7 @@ import{buildSubmitResult as Tn,cellDay as En,cellIso as An,DATE_RANGE_META_END a
|
|
|
166
166
|
margin-right: 5px;
|
|
167
167
|
border-radius: var(--aia-chip-image-radius, 4px);
|
|
168
168
|
background:
|
|
169
|
-
var(--aia-chip-image, none) center /
|
|
169
|
+
var(--aia-chip-image, none) center / contain no-repeat,
|
|
170
170
|
var(--aia-chip-image-bg, var(--aia-skeleton-bg, rgba(189, 189, 189, 0.083)));
|
|
171
171
|
pointer-events: none;
|
|
172
172
|
user-select: none;
|
|
@@ -268,7 +268,7 @@ import{buildSubmitResult as Tn,cellDay as En,cellIso as An,DATE_RANGE_META_END a
|
|
|
268
268
|
opacity: 0;
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
|
-
`,document.head.appendChild(e)}var Ae={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"};import{attachScrollArrow as
|
|
271
|
+
`,document.head.appendChild(e)}var Ae={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"};import{attachScrollArrow as ai,attachViewportFit as ii,containScroll as oi,hasSkippablePill as ni,isCalendarFormat as ri,labelTraditionalAutocomplete as si,uiStringsFor as li}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Oe,useRef as De,useState as di}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-0ae03977")){let e=document.createElement("style");e.id="ac-style-0ae03977",e.textContent=`/*
|
|
272
272
|
* Built-in appearance defaults \u2014 zero specificity via :where().
|
|
273
273
|
* Consumer CSS always wins without !important.
|
|
274
274
|
*
|
|
@@ -1277,7 +1277,7 @@ import{buildSubmitResult as Tn,cellDay as En,cellIso as An,DATE_RANGE_META_END a
|
|
|
1277
1277
|
opacity: 0.8;
|
|
1278
1278
|
background: rgba(var(--aia-streak-rgb, 255, 255, 255), 0.06);
|
|
1279
1279
|
}
|
|
1280
|
-
`,document.head.appendChild(e)}var
|
|
1280
|
+
`,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"};import{jsx as ae,jsxs as Ct}from"react/jsx-runtime";var ha=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function Pt({options:e,activeIndex:o,listboxId:t,view:a,selection:n,onSelect:r,onHighlight:i,onUnhighlight:c,onPreviousMonth:l,onNextMonth:b}){let C=sa(new Date),P=da({pendingStart:n.rangeStart,highlightedIso:Re(e[o]),selected:n.selectedRange});return Ct("div",{className:L.datepicker,"data-aia-datepicker":"",children:[Ct("div",{className:L.header,children:[ae("button",{type:"button",tabIndex:-1,className:L.nav,"data-aia-date-prev":"","aria-label":"Previous month",onMouseDown:g=>g.preventDefault(),onClick:l,children:"\u2039"}),ae("span",{className:L.month,"data-aia-date-month":"","aria-live":"polite",children:la(a)}),ae("button",{type:"button",tabIndex:-1,className:L.nav,"data-aia-date-next":"","aria-label":"Next month",onMouseDown:g=>g.preventDefault(),onClick:b,children:"\u203A"})]}),ae("div",{className:L.weekdays,"aria-hidden":"true",children:ca.map((g,w)=>ae("span",{className:L.weekday,children:g},ha[w]))}),ae("div",{className:L.grid,"data-aia-date-grid":"",children:e.map((g,w)=>ae(ua,{option:g,id:`${t}-option-${w}`,index:w,isHighlighted:w===o&&g.is_tappable,isToday:Re(g)===C,isPast:Re(g)!=null&&Re(g)<C,marks:ra(Re(g),{selectedIso:n.selectedIso,range:P}),onSelect:r,onHighlight:i,onUnhighlight:c},Re(g)??`pad-${w}`))})]})}function ua({option:e,id:o,index:t,isHighlighted:a,isToday:n,isPast:r,marks:i,onSelect:c,onHighlight:l,onUnhighlight:b}){let[C,P]=pa(!1),g=na(e);if(g==null)return ae("div",{id:o,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-hidden":"true","aria-selected":!1,tabIndex:-1,className:`${L.cell} ${L.blank}`});let w=()=>{P(!0),c(e),setTimeout(()=>P(!1),170)},S=[L.cell,L.day,r?L.past:"",a?L.highlighted:"",n?L.today:"",i.inRange?L.inRange:"",i.selected?L.selected:"",C?L.pressed:""].filter(Boolean).join(" ");return ae("div",{id:o,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-selected":a,"aria-label":e.text,tabIndex:0,className:S,onClick:w,onKeyDown:z=>{(z.key==="Enter"||z.key===" ")&&(z.preventDefault(),w())},onMouseEnter:()=>l(t),onMouseLeave:b?()=>b(t):void 0,children:ae("span",{className:L.number,children:g})})}import{ATTRIBUTION_URL as ga,buildAttributionUrl as ma,getFooterHint as fa,uiStringsFor as ba}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as wa,useState as va}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-5259a217")){let e=document.createElement("style");e.id="ac-style-5259a217",e.textContent=`.aia-cluster {
|
|
1281
1281
|
display: flex;
|
|
1282
1282
|
flex-wrap: wrap;
|
|
1283
1283
|
gap: var(--aia-cluster-gap, 0.5rem);
|
|
@@ -1317,7 +1317,7 @@ import{buildSubmitResult as Tn,cellDay as En,cellIso as An,DATE_RANGE_META_END a
|
|
|
1317
1317
|
.aia-cluster[data-justify="around"] {
|
|
1318
1318
|
justify-content: space-around;
|
|
1319
1319
|
}
|
|
1320
|
-
`,document.head.appendChild(e)}import{jsx as St}from"react/jsx-runtime";function Ke({gap:e,align:o="center",justify:t="start",noWrap:a=!1,inline:n=!1,className:r,children:i,...c}){let l=e?{"--aia-cluster-gap":e}:void 0,
|
|
1320
|
+
`,document.head.appendChild(e)}import{jsx as St}from"react/jsx-runtime";function Ke({gap:e,align:o="center",justify:t="start",noWrap:a=!1,inline:n=!1,className:r,children:i,...c}){let l=e?{"--aia-cluster-gap":e}:void 0,b={className:r?`aia-cluster ${r}`:"aia-cluster","data-align":o,"data-justify":t,"data-nowrap":a||void 0,"data-inline":n||void 0,style:l,...c};return n?St("span",{...b,children:i}):St("div",{...b,children:i})}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
|
|
1321
1321
|
dropdown's rounded edges. The top inset (--aia-footer-gap) adds breathing
|
|
1322
1322
|
room above the hint/branding row so the footer doesn't butt against the last
|
|
1323
1323
|
option row \u2014 additive to the dropdown's 8px section gap. */
|
|
@@ -1550,7 +1550,7 @@ import{buildSubmitResult as Tn,cellDay as En,cellIso as An,DATE_RANGE_META_END a
|
|
|
1550
1550
|
align-items: center;
|
|
1551
1551
|
vertical-align: middle;
|
|
1552
1552
|
}
|
|
1553
|
-
`,document.head.appendChild(e)}var st={list:"aia-list-qvLqO"};import{jsx as
|
|
1553
|
+
`,document.head.appendChild(e)}var st={list:"aia-list-qvLqO"};import{jsx as Ve}from"react/jsx-runtime";var ya=[125,69];function Et(e){return e===0?"first":e===1?"next":"last"}function Ze({pills:e,activePillIndex:o,onSelectPill:t,activeSelected:a,rounded:n,loading:r}){return r&&e.length===0?Ve("span",{className:st.list,"data-aia-pill-list-loading":"",children:ya.map((i,c)=>Ve("span",{"data-aia-pill-skeleton":"",className:`${ye.pill} ${n?ye.rounded:""} ${ye.skeleton}`,style:{width:i,opacity:rt[Et(c)]}},`skel-${i}`))}):Ve("span",{className:st.list,"data-aia-pill-list-loading":r?"":void 0,children:e.map((i,c)=>{let l=!!a&&c===o;return Ve(Tt,{label:i.text,state:l?"selected":Et(c),selected:l,rounded:n,loading:r,onClick:()=>t(c)},`${i.parameter}-${i.text}`)})})}import{attachProductRowWheel as ka,productImageSources as Ca,productImageSrc as Pa,productInitial as Sa,uiStringsFor as Ia}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Ta,useRef as Ea,useState as Aa}from"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
|
|
1554
1554
|
(packages/vanilla/src/styles.css). Same tokens, same defaults, so a consumer
|
|
1555
1555
|
theming one package sees the same result in the other.
|
|
1556
1556
|
|
|
@@ -1837,7 +1837,7 @@ import{buildSubmitResult as Tn,cellDay as En,cellIso as An,DATE_RANGE_META_END a
|
|
|
1837
1837
|
letter-spacing: 0.02em;
|
|
1838
1838
|
text-align: center;
|
|
1839
1839
|
}
|
|
1840
|
-
`,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 At({products:e,listboxId:o,onSelect:t,onFocusChange:a,focusable:n=!0,layout:r="row",imageFallback:i="image",strings:c=Ia()}){let l=e.length>0,
|
|
1840
|
+
`,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 At({products:e,listboxId:o,onSelect:t,onFocusChange:a,focusable:n=!0,layout:r="row",imageFallback:i="image",strings:c=Ia()}){let l=e.length>0,b=Ea(null);if(Ta(()=>{let P=b.current;if(!(!l||!P))return ka(P)},[l]),!l)return null;let C=`${o}-products-label`;return $e("section",{className:Y.section,"data-aia-products":"","data-aia-products-layout":r,role:"group","aria-labelledby":C,children:[de("div",{className:Y.label,id:C,"data-aia-products-label":"",children:c.products}),de("div",{ref:b,className:Y.row,"data-aia-products-row":"",children:e.map((P,g)=>de(Ra,{product:P,id:`${o}-product-${g}`,onSelect:t,onFocusChange:a,focusable:n,imageFallback:i,soldOut:c.soldOut},P.id))})]})}function Ra({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(Da,{sources:Ca(e.imageUrl),title:e.title,fallback:r},Pa(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 Da({sources:e,title:o,fallback:t}){let[a,n]=Aa(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?Sa(o):null]})}import{isOptionsGridMobileViewport as Ua,measureOptionsGrid as ja,needsOptionsGridMeasurement as Qa,OPTIONS_GRID_MOBILE_QUERY as Ya,optionEnterDelayMs as Va,optionsShowLeadingVisuals as Za,planOptionsGrid as Lt,sameOptionRows as $a}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Xa,useLayoutEffect as Ja,useRef as zt,useState as Nt}from"react";import{optionsGridTemplateColumns as Oa}from"@magicx-eng/ai-autocomplete-vanilla";import{useLayoutEffect as La,useRef as za}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 {
|
|
1841
1841
|
display: grid;
|
|
1842
1842
|
grid-template-columns: repeat(
|
|
1843
1843
|
auto-fit,
|
|
@@ -1873,7 +1873,7 @@ import{buildSubmitResult as Tn,cellDay as En,cellIso as An,DATE_RANGE_META_END a
|
|
|
1873
1873
|
.aia-grid[data-scroll]::-webkit-scrollbar {
|
|
1874
1874
|
display: none;
|
|
1875
1875
|
}
|
|
1876
|
-
`,document.head.appendChild(e)}import{jsx as Ma}from"react/jsx-runtime";function Rt({min:e="16rem",max:o,gap:t,scroll:a=!1,maxHeight:n,scrollResetKey:r,cols:i,template:c,innerRef:l,className:
|
|
1876
|
+
`,document.head.appendChild(e)}import{jsx as Ma}from"react/jsx-runtime";function Rt({min:e="16rem",max:o,gap:t,scroll:a=!1,maxHeight:n,scrollResetKey:r,cols:i,template:c,innerRef:l,className:b,children:C,...P}){let g=za(null);La(()=>{if(r===void 0)return;let S=g.current;S&&(S.scrollTop=0)},[r]);let w={"--aia-grid-min":e};return o&&(w["--aia-grid-max"]=o),t&&(w["--aia-grid-gap"]=t),n&&(w["--aia-grid-max-height"]=n),i&&(w.gridTemplateColumns=Oa(i)),c&&(w.gridTemplateColumns=c),Ma("div",{ref:S=>{g.current=S,l?.(S)},className:b?`aia-grid ${b}`:"aia-grid","data-scroll":a||void 0,style:w,...P,children:C})}import{formatOptionCount as Na,highlightParts as Fa,OPTION_ENTER_DELAY_VAR as Ba,optionImageSources as Ha,optionLabel as Dt,sanitizeOptionIconSvg as Ka}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Ga,useMemo as Wa,useRef as _a,useState as lt}from"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 {
|
|
1877
1877
|
position: relative;
|
|
1878
1878
|
/* Clip, not visible: the entrance rise below runs on the inner content,
|
|
1879
1879
|
and a transformed box extends its scroll container's scrollable area.
|
|
@@ -2153,11 +2153,14 @@ import{buildSubmitResult as Tn,cellDay as En,cellIso as An,DATE_RANGE_META_END a
|
|
|
2153
2153
|
background: var(--aia-option-image-bg, var(--aia-skeleton-bg, rgba(189, 189, 189, 0.083)));
|
|
2154
2154
|
}
|
|
2155
2155
|
|
|
2156
|
+
/* \`contain\`, not \`cover\`: option pictures come in any aspect ratio, and a
|
|
2157
|
+
square crop cuts the top and bottom off a tall one (a pint bottle). The
|
|
2158
|
+
picture scales by its longer side and the tile's fill shows around it. */
|
|
2156
2159
|
.aia-image-YZAbO img {
|
|
2157
2160
|
display: block;
|
|
2158
2161
|
width: 100%;
|
|
2159
2162
|
height: 100%;
|
|
2160
|
-
object-fit:
|
|
2163
|
+
object-fit: contain;
|
|
2161
2164
|
}
|
|
2162
2165
|
|
|
2163
2166
|
/* A picture that failed to load hides itself with the \`hidden\` attribute.
|
|
@@ -2302,7 +2305,7 @@ import{buildSubmitResult as Tn,cellDay as En,cellIso as An,DATE_RANGE_META_END a
|
|
|
2302
2305
|
opacity: 0;
|
|
2303
2306
|
}
|
|
2304
2307
|
}
|
|
2305
|
-
`,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",parameter:"aia-parameter-Dt2zF",icon:"aia-icon-Qw938",count:"aia-count-IpYbQ",image:"aia-image-YZAbO",skeletonOut:"aia-skeletonOut-x6NRd"};import{Fragment as qa,jsx as ke,jsxs as dt}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:
|
|
2308
|
+
`,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",parameter:"aia-parameter-Dt2zF",icon:"aia-icon-Qw938",count:"aia-count-IpYbQ",image:"aia-image-YZAbO",skeletonOut:"aia-skeletonOut-x6NRd"};import{Fragment as qa,jsx as ke,jsxs as dt}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:b=!0,scrollHint:C,enterDelayMs:P=0}){let[g]=lt(P),[w,S]=lt(!1),z=l?Ha(e.image_url):[],M=z[0]??null,[H,G]=lt([]),I=z.find(A=>!H.includes(A))??null,O=Wa(()=>!M&&c&&e.icon_svg?Ka(e.icon_svg):null,[M,c,e.icon_svg]),E=b?Na(e.item_count):null,y=_a(void 0);Ga(()=>()=>clearTimeout(y.current),[]);let N=()=>{i||!e.is_tappable||w||(S(!0),t(e),clearTimeout(y.current),y.current=setTimeout(()=>S(!1),170))},K=[q.item,o&&!i?q.highlighted:"",e.is_tappable?q.tappable:q.nonTappable,w?q.pressed:"",C?q.scrollHint:""].filter(Boolean).join(" ");return ke("div",{id:r,role:"option","data-aia-option":"","data-aia-loading":i?"":void 0,"data-aia-icon":O&&e.icon?e.icon:void 0,"data-aia-image":M?"":void 0,"data-aia-item-count":E!==null?e.item_count:void 0,"aria-selected":o,className:K,style:{[Ba]:`${g}ms`},tabIndex:i||!e.is_tappable?-1:0,onClick:N,onKeyDown:A=>{!i&&e.is_tappable&&(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),N())},onMouseEnter:!i&&e.is_tappable?a:void 0,onMouseLeave:n,children:dt("span",{className:q.content,children:[M&&ke("span",{className:`${q.image} magicx-aia-option-image`,"aria-hidden":"true",children:ke("img",{src:I??M,alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",draggable:!1,hidden:I===null,onError:()=>{I!==null&&G(A=>[...A,I])}})}),O&&ke("span",{className:`${q.icon} magicx-aia-option-icon`,"aria-hidden":"true",dangerouslySetInnerHTML:{__html:O}}),dt("span",{className:q.text,children:[e.matchedText?Fa(Dt(e),e.matchedText).map((A,Z)=>A.bold?ke("strong",{children:A.text},Z):A.text):Dt(e),e.parameterLabel&&dt(qa,{children:[" ",ke("span",{className:`${q.parameter} magicx-aia-option-parameter`,children:e.parameterLabel})]})]}),e.tag&&ke("span",{className:q.tag,children:e.tag}),E!==null&&ke("span",{className:`${q.count} magicx-aia-option-count`,children:E})]})})}import{jsx as Mt}from"react/jsx-runtime";function ei(){let[e,o]=Nt(Ua);return Xa(()=>{if(typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia(Ya),a=()=>o(t.matches);return a(),t.addEventListener("change",a),()=>t.removeEventListener("change",a)},[]),e}function Ft({options:e,activeIndex:o,onSelect:t,onHighlight:a,onUnhighlight:n,listboxId:r,loading:i,groupKey:c="",optionsPosition:l="below",showIcons:b=!0,showImages:C=!0,showCounts:P=!0}){let g=ei(),w=zt(null),[S,z]=Nt(null),M=zt(null);Ja(()=>{if(i&&$a(M.current,e))return;M.current=i?null:e;let I=w.current,E=I&&!i&&Qa(e.length,g)?ja(I):null;z(E?Lt(e.length,g,E.rowWidths,E.gridWidth):null)},[e,g,i]);let H=S??Lt(e.length,g,null,null),G=Za(e,b,C);return Mt(Rt,{min:"250px",max:"1fr",gap:"0",scroll:!0,scrollResetKey:c,template:H.template,maxHeight:H.maxHeight,innerRef:I=>{w.current=I},"data-aia-group":c,children:e.map((I,O)=>Mt(Ot,{option:I,isHighlighted:O===o,onSelect:t,onHighlight:()=>a(O),onUnhighlight:n?()=>n(O):void 0,id:`${r}-option-${O}`,loading:i,showIcon:b&&G,showImage:C&&G,showCount:P,scrollHint:!i&&H.scrollHintIndices.includes(O),enterDelayMs:i?0:Va(O,H.cols,e.length,l)},`${c}\0${I.text}`))})}if(typeof document<"u"&&!document.getElementById("ac-style-8414cd5f")){let e=document.createElement("style");e.id="ac-style-8414cd5f",e.textContent=`.aia-stack {
|
|
2306
2309
|
display: flex;
|
|
2307
2310
|
flex-direction: column;
|
|
2308
2311
|
gap: var(--aia-stack-space, 0.5rem);
|
|
@@ -2317,7 +2320,7 @@ import{buildSubmitResult as Tn,cellDay as En,cellIso as An,DATE_RANGE_META_END a
|
|
|
2317
2320
|
align-items: end;
|
|
2318
2321
|
}
|
|
2319
2322
|
/* data-align="stretch" is the flex default \u2014 no rule needed. */
|
|
2320
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
2323
|
+
`,document.head.appendChild(e)}import{jsx as ti}from"react/jsx-runtime";function Bt({space:e,align:o="stretch",className:t,children:a,...n}){let r=e?{"--aia-stack-space":e}:void 0;return ti("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":o,style:r,...n,children:a})}import{jsx as V,jsxs as ct}from"react/jsx-runtime";var ci=[159,119,164],pi=()=>{},Ht=()=>{};function hi(e){let o=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[t,a]=di(o);if(Oe(()=>{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 ui(e,o){let t=De(null);Oe(()=>{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:ai({dropdown:a,grid:r,button:n})};return}t.current?.controller.update()}),Oe(()=>()=>{t.current?.controller.destroy(),t.current=null},[])}function gi(e,o){let t=De(o);t.current=o;let a=De(null);Oe(()=>{let n=e.current;if(n){if(!a.current){a.current=ii({dropdown:n,isOpen:()=>t.current});return}a.current.update()}}),Oe(()=>()=>{a.current?.destroy(),a.current=null},[])}function pt({suggestions:e,activeIndex:o,onSelect:t,onHighlight:a,onUnhighlight:n,isOpen:r,id:i,className:c,pills:l,onPillClick:b,showPills:C=!0,onSkip:P,showSkipButton:g=!0,showOptionIcons:w=!0,showOptionImages:S=!0,showOptionCounts:z=!0,skipDisabled:M=!1,activeSelected:H=!1,isLoading:G=!1,skeletonExiting:I=!1,isInputEmpty:O=!1,language:E,products:y,onProductSelect:N,onProductFocusChange:K,productsLayout:A="row",productImageFallback:Z="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=hi(ue),ge=oe!==void 0,U=De(null),$=De(null);ui(U,$),Oe(()=>{if(U.current)return oi(U.current)},[]);let s=e[0]?.options??[],m=!!(l&&l.length>0&&b),f=!!(y&&y.length>0),v=r&&(s.length>0||C&&m||G||f);gi(U,v);let k={suggestions:e,activeIndex:o,pills:l,showPills:C,showSkipButton:g,showOptionIcons:w,showOptionImages:S,showOptionCounts:z,skipDisabled:M,activeSelected:H,isLoading:G,skeletonExiting:I,isInputEmpty:O,products:y,formatType:ce,dateView:W,selectedDateIso:pe,selectedDateRange:Ce,dateRangeStart:he},T=De(k);v&&(T.current=k);let p=v?k:T.current,F=li(E),j=p.suggestions[0],Q=j?.options??[],me=p.activeIndex>=0&&!!Q[p.activeIndex]?.is_tappable,ne=si(p.pills??[],F.keepTyping),J=!!(ne.length>0&&b),fe=p.showPills&&J,Se=p.showPills&&!J&&p.isLoading,x=fe||Se,be=J&&ni(ne)&&p.showSkipButton&&!p.isInputEmpty&&!!P,we=ne[0]?.text,re=ri(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 ct("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} ${v?se.visible:""} ${c??""}`,onMouseDown:ee=>ee.preventDefault(),children:[ct(Bt,{space:"8px",children:[(x||be)&&ct(Ke,{noWrap:!0,className:se.pillBar,"data-aia-pillbar":"",children:[x&&V("span",{className:se.pillScroll,"data-aia-pill-scroll":"",children:V(Ze,{pills:ne,activePillIndex:0,activeSelected:p.activeSelected,onSelectPill:b??(()=>{}),rounded:!0,loading:p.isLoading})}),be&&V("button",{type:"button",tabIndex:-1,className:se.skip,"data-aia-skip":"",disabled:p.isLoading||p.skipDisabled,"aria-label":we?`${F.skipLabel} ${we}`:F.skipLabel,onClick:P,children:F.skip})]}),h&&V(Ft,{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&&V(Pt,{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??Ht,onNextMonth:Pe??Ht}),Ne&&V("div",{className:se.skeletonBars,"data-aia-skeleton-bars":"",children:ci.map(ee=>V("span",{className:se.skeletonBar,style:{width:ee}},`bar-${ee}`))}),V(At,{products:ve,listboxId:i,onSelect:N??pi,onFocusChange:K,focusable:v,layout:A,imageFallback:Z,strings:F}),V(It,{isOptionHighlighted:me,isInputEmpty:p.isInputEmpty,strings:F})]}),V("button",{ref:$,type:"button",tabIndex:-1,className:se.scrollArrow,"data-aia-scroll-arrow":"","aria-label":F.scrollArrow,"aria-hidden":"true",children:V("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:V("path",{d:"M4 6.5 8 10.5l4-4"})})})]})}import{buildSubmitResult as Ri,ModeController as Di,setCursorOffset as Oi,uiStringsFor as Li}from"@magicx-eng/ai-autocomplete-vanilla";import{uiStringsFor as mi}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 {
|
|
2321
2324
|
flex-shrink: 0;
|
|
2322
2325
|
width: 32px;
|
|
2323
2326
|
height: 32px;
|
|
@@ -2370,5 +2373,5 @@ import{buildSubmitResult as Tn,cellDay as En,cellIso as An,DATE_RANGE_META_END a
|
|
|
2370
2373
|
);
|
|
2371
2374
|
cursor: default;
|
|
2372
2375
|
}
|
|
2373
|
-
`,document.head.appendChild(e)}var Kt={submitButton:"aia-submitButton-otz7H"};import{jsx as ht}from"react/jsx-runtime";function Gt({disabled:e,onClick:o,label:t=gi().submit}){return ht("button",{type:"button","data-aia-submit":"",className:Kt.submitButton,disabled:e,onClick:a=>{a.stopPropagation(),o()},"aria-label":t,children:ht("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":t,children:ht("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as mi,dateSelectionFor as fi,identifiedParamLabel as bi,withoutTraditionalAutocomplete as wi}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as jt,useEffect as Le,useRef as H,useState as vi}from"react";import{useRef as Wt}from"react";function _t(e){let o=Wt(e);o.current=e;let t=Object.keys(e??{}).sort().join("\0"),a=Wt({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 qt}from"react";function Ut(e){let o=qt(e);o.current=e;let t=qt(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 xi={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 ut({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:O,showProducts:I,productImageFallback:F="image",onFocus:M,onBlur:y,value:N,completedParams:G,onChange:E,onParamsChange:V,products:ce,mapProducts:W,onProductSelect:pe,source:Ce,setCursor:he}){let u=H(null),[Pe,ie]=vi(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(y);m.current=y;let f=H(he);f.current=he;let w=H(pe);w.current=pe;let k=H(v);k.current=v;let T=H(()=>{let d=k.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=_t(a);Le(()=>{if(typeof document>"u")return;let d=new mi(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=jt(d=>{let _=d.target.value,at=_.length>0&&!d.nativeEvent?.isComposing&&_[0]!==_[0].toUpperCase()?_[0].toUpperCase()+_.slice(1):_;u.current?.handleTextChange(at)},[]),we=jt(d=>{u.current?.handleKeyDown(d.nativeEvent)},[]),re=u.current,h=Pe??xi,Ie=N!==void 0?N:h.text,Ne=G!==void 0?G:h.completedParams,ve=h.actionableSuggestions,ee=ve[0],_e=wi(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:bi(Ee.parameter),required:!0,options:[]}:null,qe=h.dropdownSuggestion??Fe??ee,tt=Fe?[Fe]:ve,Be=fi(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:(O??!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 yi,extractPlainText as Qt,getCursorOffset as Yt,keepCaretOnChip as ki,plainTextLength as Ci,renderEditableContent as Pi,setCursorOffset as Zt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as X,useEffect as Xe,useLayoutEffect as gt,useRef as ze}from"react";var Je;function Si(){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 Vt(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:O,startEditingParam:I,replaceEditingRange:F,setFocused:M}=e,y=ze(null),N=ze(!1),G=ze(""),E=ze(""),V=ze(null),ce=ze(0);V.current=l,Xe(()=>{if(!S)return;let s=y.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 k=m.createRange();k.selectNodeContents(s),k.collapse(!0),f.removeAllRanges(),f.addRange(k)}},[S,M]),Xe(()=>{let s=y.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 k=w.anchorNode,T=k.nodeType===Node.ELEMENT_NODE?k:k.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||O(Yt(s))};return m.addEventListener("selectionchange",f),()=>m.removeEventListener("selectionchange",f)},[r,i,I,O]),Xe(()=>{let s=y.current;if(!s)return;let m=f=>{let w=yi(s,f.target);w&&(I(w),ki(s,w))};return s.addEventListener("click",m),()=>s.removeEventListener("click",m)},[I]),gt(()=>{let s=y.current;s&&Pi({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]),gt(()=>{let s=G.current,m=n??"";if(G.current=m,!m||m===s)return;let f=y.current;if(!f)return;f.focus();let w=V.current??Ci(f);Zt(f,w)},[n]),gt(()=>{let s=E.current,m=r?.id??"";if(E.current=m,!m||m===s||c==null)return;let f=y.current;f&&Zt(f,c)},[r,c]);let W=X(()=>{if(N.current)return;let s=y.current;if(!s)return;let m=Qt(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=y.current;s&&K(Yt(s))},[W,K]);Xe(()=>{let s=y.current;if(!s)return;let m=f=>{let w=f,k=w.inputType;if(k==="insertParagraph"||k==="insertLineBreak"||k==="insertFromDrop"){f.preventDefault();return}if(k.startsWith("insert")||k.startsWith("delete")){let T=k.startsWith("delete")?"":w.data??"";F(T)&&f.preventDefault()}};return s.addEventListener("beforeinput",m),()=>s.removeEventListener("beforeinput",m)},[F]);let Ce=X(()=>{N.current=!0,y.current?.setAttribute("data-aia-composing","true")},[]),he=X(()=>{N.current=!1,y.current?.removeAttribute("data-aia-composing"),W()},[W]),u=X(s=>{s.preventDefault();let m=y.current;if(!m)return;let f=(s.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!f)return;let w=m.ownerDocument??document,k=w.getSelection();if(!k||k.rangeCount===0)return;let T=k.getRangeAt(0);if(!m.contains(T.startContainer))return;T.deleteContents();let p=w.createTextNode(f);T.insertNode(p),T.setStartAfter(p),T.collapse(!0),k.removeAllRanges(),k.addRange(T),W()},[W]),Pe=X(s=>z(s),[z]),ie=X(()=>M(!0),[M]),ue=X(()=>M(!1),[M]),oe=X(()=>y.current?.focus(),[]),ge=X(()=>y.current?.blur(),[]),U=X(()=>{let s=y.current;return s?Qt(s):""},[]),$=Si()?"plaintext-only":"true";return{inputRef:y,editorProps:{ref:y,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 ft}from"react/jsx-runtime";function Li(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var zi=Ii(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:O,showNonTappableOptions:I,showOptionIcons:F=!0,showChipIcons:M=!0,showChipImages:y=!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),k=We(()=>{}),T=We(null),p=We(null);$t(()=>{let R=f.current;if(R)return T.current?T.current.setMode(S):T.current=new Ri(R,S),()=>{T.current?.destroy(),T.current=null}},[S]);let B=mt(R=>{let te=p.current?.current;te&&(te.focus(),Di(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:bt,recordSubmit:wt}=ut({onSubmit:R=>k.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:O,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});$t(()=>{if(!we)return;let R=window.setTimeout(()=>re(),650);return()=>window.clearTimeout(R)},[we,re]);let Xt=_e>=0?`${Te}-option-${_e}`:void 0,{inputRef:it,editorProps:Jt,focus:Qe,blur:vt,getPlainText:xt}=Vt({segments:be,newParamId:we,editingParam:Fe,editingIdentified:qe,editingAnchor:tt,caretOffset:Be,placeholderText:h,isFocused:Ie,showChipIcons:M,showChipImages:y,isDropdownOpen:Ne,listboxId:Te,activeDescendantId:Xt,autoFocus:pe,handleTextChange:et,handleKeyDown:xe,handleCaretAfterInput:d,handleCaretMove:_,startEditingParam:Ue,replaceEditingRange:A,setFocused:Ee});p.current=it,Ei(()=>{let R=w.current,te=it.current;if(!R||!te)return;let He=()=>{let kt=R.firstElementChild;if(!kt)return;let ia=kt.getBoundingClientRect(),oa=te.getBoundingClientRect();ia.top>=oa.bottom-2?R.setAttribute("data-aia-pill-wrapped",""):R.removeAttribute("data-aia-pill-wrapped")};He();let yt=new ResizeObserver(He);return yt.observe(te),()=>yt.disconnect()},[be,fe.length,ee,it]),Ti(m,()=>({focus:Qe,blur:vt,reset:je,refreshProducts:bt,setMode:R=>T.current?.setMode(R),skipActivePill:x}),[Qe,vt,je,bt,x]);let Ye=!!be.length||j.length>0,ot=mt(R=>{if(!Ye)return;let te=xt(),He=Ai(te,j,Q,{identifiedParams:me,isReady:ne,customFields:J});R&&wt(He),o(He),s&&je()},[wt,s,Ye,j,Q,me,ne,J,o,je,xt]);k.current=()=>ot(!1);let ea=mt(R=>{R.target?.closest("[data-aia-pill]")||Qe()},[Qe]),ta=b==="inline",aa=b==="dropdown";return ft("div",{ref:f,className:`magicx-aia ${Ae.container} ${i??""}`,"data-pill-placement":b,"data-options-position":L,"data-animations":z?"on":"off","data-mode":Li(S),children:[Me(pt,{...at,showPills:aa,productsLayout:ce,productImageFallback:W}),ft("div",{className:Ae.inputWrapper,"data-aia-input-wrapper":"",onClick:ea,children:[ft("div",{className:Ae.editorArea,"data-aia-editor":"",children:[Me("div",{...Jt,className:Ae.input,"data-aia-input":""}),ta&&(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(Gt,{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{zi as AIAutocomplete,pt as AIAutocompleteDropdown,Rn as DATE_RANGE_META_END,Dn as DATE_RANGE_META_START,On as DEFAULT_OPTION_COUNT_UNIT,qn as PRODUCT_PATH_PREFIX,er as WEEKDAY_LABELS,Tn as buildSubmitResult,En as cellDay,An as cellIso,Ln as dateCellMarks,zn as formatDate,Mn as formatDateRange,Nn as formatOptionCount,Fn as isoDate,Bn as monthLabel,Hn as optionCountLabel,Kn as optionHasImage,Gn as optionImageSources,Wn as optionImageSrc,_n as optionLabel,Un as parseDate,jn as parseLooseDate,Qn as parseLooseDateRange,Yn as productFromMatchedItem,Zn as productImageSources,Vn as productsFromCustomFields,$n as sanitizeOptionIconSvg,Xn as selectedRangeFor,ut as useAIAutocomplete,Jn as visibleDateRange,tr as withSkippedParams};
|
|
2376
|
+
`,document.head.appendChild(e)}var Kt={submitButton:"aia-submitButton-otz7H"};import{jsx as ht}from"react/jsx-runtime";function Gt({disabled:e,onClick:o,label:t=mi().submit}){return ht("button",{type:"button","data-aia-submit":"",className:Kt.submitButton,disabled:e,onClick:a=>{a.stopPropagation(),o()},"aria-label":t,children:ht("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":t,children:ht("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as fi,dateSelectionFor as bi,identifiedParamLabel as wi,withoutTraditionalAutocomplete as vi}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as jt,useEffect as Le,useRef as B,useState as xi}from"react";import{useRef as Wt}from"react";function _t(e){let o=Wt(e);o.current=e;let t=Object.keys(e??{}).sort().join("\0"),a=Wt({key:"",overrides:void 0});if(a.current.key!==t){let n={};for(let r of Object.keys(e??{})){let i=(c,l,b)=>{let C=o.current?.[r];return C?C(c,l,b):[]};n[r]=i}a.current={key:t,overrides:e?n:void 0}}return{overrides:a.current.overrides,key:t}}import{useRef as qt}from"react";function Ut(e){let o=qt(e);o.current=e;let t=qt(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 yi={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 ut({onSubmit:e,onResult:o,onError:t,optionOverrides:a,maskCompletedText:n,apiConfig:r,additionalContext:i,language:c,productId:l,visitorId:b,columns:C=2,dropdownTrigger:P,optionsPosition:g,closeDropdownOnBlur:w,showNonTappableOptions:S,showOptionIcons:z,showOptionImages:M,showOptionCounts:H,showSkipButton:G,showProducts:I,productImageFallback:O="image",onFocus:E,onBlur:y,value:N,completedParams:K,onChange:A,onParamsChange:Z,products:ce,mapProducts:W,onProductSelect:pe,source:Ce,setCursor:he}){let u=B(null),[Pe,ie]=xi(null),ue=B(e);ue.current=e;let oe=B(o);oe.current=o;let ge=B(t);ge.current=t;let U=B(A);U.current=A;let $=B(Z);$.current=Z;let s=B(E);s.current=E;let m=B(y);m.current=y;let f=B(he);f.current=he;let v=B(pe);v.current=pe;let k=B(b);k.current=b;let T=B(()=>{let d=k.current;return typeof d=="function"?d():d}).current,p=Ut(ce),F=B(W);F.current=W;let j=B((d,_)=>{let R=F.current;return R?R(d,_):d}).current,Q=W?j:void 0,me=_t(a);Le(()=>{if(typeof document>"u")return;let d=new fi(document.createElement("div"),{renderMode:"headless",apiConfig:r,additionalContext:i,language:c,productId:l,visitorId:T,optionOverrides:me.overrides,maskCompletedText:n,columns:C,dropdownTrigger:P,optionsPosition:g,closeDropdownOnBlur:w,showNonTappableOptions:S,showProducts:I,source:Ce,value:N,completedParams:K,onSubmit:(...R)=>ue.current?.(...R),onResult:(...R)=>oe.current?.(...R),onError:(...R)=>ge.current?.(...R),onChange:(...R)=>U.current?.(...R),onParamsChange:(...R)=>$.current?.(...R),onFocus:()=>s.current?.(),onBlur:()=>m.current?.(),onProductSelect:R=>v.current?.(R),setCursor:R=>f.current?.(R),products:p.config,mapProducts:Q});u.current=d,ie(d.getState());let _=d.subscribe(R=>ie(R));return()=>{_(),d.destroy(),u.current===d&&(u.current=null)}},[]),Le(()=>{N!==void 0&&u.current?.setValue(N)},[N]),Le(()=>{K!==void 0&&u.current?.setCompletedParams(K)},[K]);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:P,optionsPosition:g,closeDropdownOnBlur:w,showNonTappableOptions:S,showProducts:I})},[ne,J,c,l,me.key,P,g,w,S,I]);let fe=B(!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=B(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=jt(d=>{let _=d.target.value,at=_.length>0&&!d.nativeEvent?.isComposing&&_[0]!==_[0].toUpperCase()?_[0].toUpperCase()+_.slice(1):_;u.current?.handleTextChange(at)},[]),we=jt(d=>{u.current?.handleKeyDown(d.nativeEvent)},[]),re=u.current,h=Pe??yi,Ie=N!==void 0?N:h.text,Ne=K!==void 0?K:h.completedParams,ve=h.actionableSuggestions,ee=ve[0],_e=vi(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:wi(Ee.parameter),required:!0,options:[]}:null,qe=h.dropdownSuggestion??Fe??ee,tt=Fe?[Fe]:ve,Be=bi(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:(G??!0)&&!xe&&!Ee,showOptionIcons:z??!0,showOptionImages:M??!0,showOptionCounts:H??!0,skipDisabled:h.inSelectionAnimation,isLoading:Ue,skeletonExiting:h.skeletonExiting,isInputEmpty:Ie.trim().length===0,language:c,products:h.products,productImageFallback:O,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 ki,extractPlainText as Qt,getCursorOffset as Yt,keepCaretOnChip as Ci,plainTextLength as Pi,renderEditableContent as Si,setCursorOffset as Vt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as X,useEffect as Xe,useLayoutEffect as gt,useRef as ze}from"react";var Je;function Ii(){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:b,isFocused:C,isDropdownOpen:P,listboxId:g,activeDescendantId:w,autoFocus:S,handleTextChange:z,handleKeyDown:M,handleCaretAfterInput:H,handleCaretMove:G,startEditingParam:I,replaceEditingRange:O,setFocused:E}=e,y=ze(null),N=ze(!1),K=ze(""),A=ze(""),Z=ze(null),ce=ze(0);Z.current=l,Xe(()=>{if(!S)return;let s=y.current;if(!s)return;document.activeElement===s?E(!0):s.focus();let m=s.ownerDocument??document,f=m.getSelection(),v=f&&f.rangeCount>0&&s.contains(f.anchorNode);if(f&&!v){let k=m.createRange();k.selectNodeContents(s),k.collapse(!0),f.removeAllRanges(),f.addRange(k)}},[S,E]),Xe(()=>{let s=y.current;if(!s)return;let m=s.ownerDocument??document,f=()=>{let v=m.getSelection();if(!v||v.rangeCount===0||!v.anchorNode||!s.contains(v.anchorNode))return;let k=v.anchorNode,T=k.nodeType===Node.ELEMENT_NODE?k:k.parentElement,F=(v.isCollapsed?T?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,j=r?.id??i?.id??null;if(F&&F!==j){I(F);return}performance.now()-ce.current<50||G(Yt(s))};return m.addEventListener("selectionchange",f),()=>m.removeEventListener("selectionchange",f)},[r,i,I,G]),Xe(()=>{let s=y.current;if(!s)return;let m=f=>{let v=ki(s,f.target);v&&(I(v),Ci(s,v))};return s.addEventListener("click",m),()=>s.removeEventListener("click",m)},[I]),gt(()=>{let s=y.current;s&&Si({input:s,segments:o,newParamId:n,editingParamId:r?.id??null,placeholderText:b??"",isFocused:C,showChipIcons:t,showChipImages:a})},[o,n,r,b,C,t,a]),gt(()=>{let s=K.current,m=n??"";if(K.current=m,!m||m===s)return;let f=y.current;if(!f)return;f.focus();let v=Z.current??Pi(f);Vt(f,v)},[n]),gt(()=>{let s=A.current,m=r?.id??"";if(A.current=m,!m||m===s||c==null)return;let f=y.current;f&&Vt(f,c)},[r,c]);let W=X(()=>{if(N.current)return;let s=y.current;if(!s)return;let m=Qt(s),v=m.length>0&&m[0]!==m[0].toUpperCase()?m[0].toUpperCase()+m.slice(1):m;z(v)},[z]),pe=X(()=>{ce.current=performance.now(),W();let s=y.current;s&&H(Yt(s))},[W,H]);Xe(()=>{let s=y.current;if(!s)return;let m=f=>{let v=f,k=v.inputType;if(k==="insertParagraph"||k==="insertLineBreak"||k==="insertFromDrop"){f.preventDefault();return}if(k.startsWith("insert")||k.startsWith("delete")){let T=k.startsWith("delete")?"":v.data??"";O(T)&&f.preventDefault()}};return s.addEventListener("beforeinput",m),()=>s.removeEventListener("beforeinput",m)},[O]);let Ce=X(()=>{N.current=!0,y.current?.setAttribute("data-aia-composing","true")},[]),he=X(()=>{N.current=!1,y.current?.removeAttribute("data-aia-composing"),W()},[W]),u=X(s=>{s.preventDefault();let m=y.current;if(!m)return;let f=(s.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!f)return;let v=m.ownerDocument??document,k=v.getSelection();if(!k||k.rangeCount===0)return;let T=k.getRangeAt(0);if(!m.contains(T.startContainer))return;T.deleteContents();let p=v.createTextNode(f);T.insertNode(p),T.setStartAfter(p),T.collapse(!0),k.removeAllRanges(),k.addRange(T),W()},[W]),Pe=X(s=>M(s),[M]),ie=X(()=>E(!0),[E]),ue=X(()=>E(!1),[E]),oe=X(()=>y.current?.focus(),[]),ge=X(()=>y.current?.blur(),[]),U=X(()=>{let s=y.current;return s?Qt(s):""},[]),$=Ii()?"plaintext-only":"true";return{inputRef:y,editorProps:{ref:y,contentEditable:$,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":g,"aria-expanded":P,"aria-activedescendant":w,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 ft}from"react/jsx-runtime";function zi(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Mi=Ti(function({onSubmit:o,onResult:t,onError:a,optionOverrides:n,maskCompletedText:r,className:i,apiConfig:c,additionalContext:l,language:b,productId:C,visitorId:P,columns:g,pillPlacement:w="dropdown",mode:S="auto",optionsPosition:z="below",animations:M=!0,dropdownTrigger:H,closeDropdownOnBlur:G,showNonTappableOptions:I,showOptionIcons:O=!0,showChipIcons:E=!0,showChipImages:y=!0,showOptionImages:N=!0,showOptionCounts:K=!0,showSkipButton:A,showProducts:Z,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),v=We(null),k=We(()=>{}),T=We(null),p=We(null);$t(()=>{let D=f.current;if(D)return T.current?T.current.setMode(S):T.current=new Di(D,S),()=>{T.current?.destroy(),T.current=null}},[S]);let F=mt(D=>{let te=p.current?.current;te&&(te.focus(),Oi(te,D))},[]),{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:R,dropdownProps:at,reset:je,refreshProducts:bt,recordSubmit:wt}=ut({onSubmit:D=>k.current(D),onResult:t,onError:a,optionOverrides:n,maskCompletedText:r,apiConfig:c,additionalContext:l,language:b,productId:C,visitorId:P,columns:g,dropdownTrigger:H,optionsPosition:z,closeDropdownOnBlur:G,showNonTappableOptions:I,showOptionIcons:O,showOptionImages:N,showOptionCounts:K,showSkipButton:A,showProducts:Z,onFocus:Ce,onBlur:he,value:u,completedParams:Pe,onChange:ie,onParamsChange:ue,products:oe,mapProducts:ge,onProductSelect:U,source:"full-sdk",setCursor:F});$t(()=>{if(!we)return;let D=window.setTimeout(()=>re(),650);return()=>window.clearTimeout(D)},[we,re]);let Xt=_e>=0?`${Te}-option-${_e}`:void 0,{inputRef:it,editorProps:Jt,focus:Qe,blur:vt,getPlainText:xt}=Zt({segments:be,newParamId:we,editingParam:Fe,editingIdentified:qe,editingAnchor:tt,caretOffset:Be,placeholderText:h,isFocused:Ie,showChipIcons:E,showChipImages:y,isDropdownOpen:Ne,listboxId:Te,activeDescendantId:Xt,autoFocus:pe,handleTextChange:et,handleKeyDown:xe,handleCaretAfterInput:d,handleCaretMove:_,startEditingParam:Ue,replaceEditingRange:R,setFocused:Ee});p.current=it,Ai(()=>{let D=v.current,te=it.current;if(!D||!te)return;let He=()=>{let kt=D.firstElementChild;if(!kt)return;let ia=kt.getBoundingClientRect(),oa=te.getBoundingClientRect();ia.top>=oa.bottom-2?D.setAttribute("data-aia-pill-wrapped",""):D.removeAttribute("data-aia-pill-wrapped")};He();let yt=new ResizeObserver(He);return yt.observe(te),()=>yt.disconnect()},[be,fe.length,ee,it]),Ei(m,()=>({focus:Qe,blur:vt,reset:je,refreshProducts:bt,setMode:D=>T.current?.setMode(D),skipActivePill:x}),[Qe,vt,je,bt,x]);let Ye=!!be.length||j.length>0,ot=mt(D=>{if(!Ye)return;let te=xt(),He=Ri(te,j,Q,{identifiedParams:me,isReady:ne,customFields:J});D&&wt(He),o(He),s&&je()},[wt,s,Ye,j,Q,me,ne,J,o,je,xt]);k.current=()=>ot(!1);let ea=mt(D=>{D.target?.closest("[data-aia-pill]")||Qe()},[Qe]),ta=w==="inline",aa=w==="dropdown";return ft("div",{ref:f,className:`magicx-aia ${Ae.container} ${i??""}`,"data-pill-placement":w,"data-options-position":z,"data-animations":M?"on":"off","data-mode":zi(S),children:[Me(pt,{...at,showPills:aa,productsLayout:ce,productImageFallback:W}),ft("div",{className:Ae.inputWrapper,"data-aia-input-wrapper":"",onClick:ea,children:[ft("div",{className:Ae.editorArea,"data-aia-editor":"",children:[Me("div",{...Jt,className:Ae.input,"data-aia-input":""}),ta&&(ee||fe.length>0)&&Me("span",{ref:v,className:Ae.pillListContainer,"data-aia-pill-list-container":"",children:Me(Ze,{pills:fe,activePillIndex:0,activeSelected:ve,onSelectPill:Se,loading:ee})})]}),$===null?null:$===void 0?Me(Gt,{disabled:!Ye,onClick:()=>ot(!0),label:Li(b).submit}):Me("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:Ae.submitSlot,onClick:D=>{Ye&&(D.stopPropagation(),ot(!0))},children:$})]})]})});export{Mi as AIAutocomplete,pt as AIAutocompleteDropdown,Dn as DATE_RANGE_META_END,On as DATE_RANGE_META_START,Ln as DEFAULT_OPTION_COUNT_UNIT,jn as PRODUCT_PATH_PREFIX,ar as WEEKDAY_LABELS,En as buildSubmitResult,An as cellDay,Rn as cellIso,zn as dateCellMarks,Mn as formatDate,Nn as formatDateRange,Fn as formatOptionCount,Bn as isoDate,Hn as monthLabel,Kn as optionCountLabel,Gn as optionHasImage,Wn as optionImageSources,_n as optionImageSrc,qn as optionLabel,Un as optionsShowLeadingVisuals,Qn as parseDate,Yn as parseLooseDate,Vn as parseLooseDateRange,Zn as productFromMatchedItem,$n as productImageSources,Xn as productsFromCustomFields,Jn as sanitizeOptionIconSvg,er as selectedRangeFor,ut as useAIAutocomplete,tr as visibleDateRange,ir as withSkippedParams};
|
|
2374
2377
|
//# sourceMappingURL=index.mjs.map
|