@magicx-eng/ai-autocomplete-react 0.37.0 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +13 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +13 -13
- 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 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 {
|
|
2
2
|
position: relative;
|
|
3
3
|
/* Inherits the host page's font by default. Consumers can pin a specific
|
|
4
4
|
font on the library via \`--aia-font-family: 'Custom Font'\` without
|
|
@@ -262,7 +262,7 @@ import{buildSubmitResult as kn,cellDay as Cn,cellIso as Pn,DATE_RANGE_META_END a
|
|
|
262
262
|
opacity: 0;
|
|
263
263
|
}
|
|
264
264
|
}
|
|
265
|
-
`,document.head.appendChild(e)}var
|
|
265
|
+
`,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 ei,attachViewportFit as ti,containScroll as ai,hasSkippablePill as ii,isCalendarFormat as oi,labelTraditionalAutocomplete as ni,uiStringsFor as ri}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as De,useRef as Oe,useState as si}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-0ae03977")){let e=document.createElement("style");e.id="ac-style-0ae03977",e.textContent=`/*
|
|
266
266
|
* Built-in appearance defaults \u2014 zero specificity via :where().
|
|
267
267
|
* Consumer CSS always wins without !important.
|
|
268
268
|
*
|
|
@@ -1098,7 +1098,7 @@ import{buildSubmitResult as kn,cellDay as Cn,cellIso as Pn,DATE_RANGE_META_END a
|
|
|
1098
1098
|
opacity: 0.25;
|
|
1099
1099
|
}
|
|
1100
1100
|
}
|
|
1101
|
-
`,document.head.appendChild(e)}var
|
|
1101
|
+
`,document.head.appendChild(e)}var se={dropdown:"aia-dropdown-yz2KC",visible:"aia-visible-QCoXj",scrollArrow:"aia-scrollArrow-uUzV0","magicx-aia-scroll-arrow-bob":"aia-magicx-aia-scroll-arrow-bob-z-HXC",pillBar:"aia-pillBar-pwTXe",pillScroll:"aia-pillScroll-Tpzus",skip:"aia-skip-7-olS",skeletonBars:"aia-skeletonBars-HVr9C",skeletonBarsIn:"aia-skeletonBarsIn-BdPrL",skeletonBarsOut:"aia-skeletonBarsOut-TqKeD",skeletonBar:"aia-skeletonBar-O3xIx",aiaSkeletonPulse:"aia-aiaSkeletonPulse-G8W7q"};import{cellDay as oa,cellIso as Re,dateCellMarks as na,isoDate as ra,monthLabel as sa,visibleDateRange as la,WEEKDAY_LABELS as da}from"@magicx-eng/ai-autocomplete-vanilla";import{useState as ca}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-f687bd03")){let e=document.createElement("style");e.id="ac-style-f687bd03",e.textContent=`/* --- Datepicker (replaces the options grid for date suggestions) ---
|
|
1102
1102
|
|
|
1103
1103
|
One of three hand-maintained copies (vanilla styles.css, this file, Angular's
|
|
1104
1104
|
date-grid.component.css). Only the class-naming layer differs \u2014 the
|
|
@@ -1261,7 +1261,7 @@ import{buildSubmitResult as kn,cellDay as Cn,cellIso as Pn,DATE_RANGE_META_END a
|
|
|
1261
1261
|
opacity: 0.8;
|
|
1262
1262
|
background: rgba(var(--aia-streak-rgb, 255, 255, 255), 0.06);
|
|
1263
1263
|
}
|
|
1264
|
-
`,document.head.appendChild(e)}var
|
|
1264
|
+
`,document.head.appendChild(e)}var O={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 kt}from"react/jsx-runtime";var pa=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function Ct({options:e,activeIndex:o,listboxId:t,view:a,selection:n,onSelect:r,onHighlight:i,onUnhighlight:c,onPreviousMonth:l,onNextMonth:v}){let P=ra(new Date),C=la({pendingStart:n.rangeStart,highlightedIso:Re(e[o]),selected:n.selectedRange});return kt("div",{className:O.datepicker,"data-aia-datepicker":"",children:[kt("div",{className:O.header,children:[ae("button",{type:"button",tabIndex:-1,className:O.nav,"data-aia-date-prev":"","aria-label":"Previous month",onMouseDown:g=>g.preventDefault(),onClick:l,children:"\u2039"}),ae("span",{className:O.month,"data-aia-date-month":"","aria-live":"polite",children:sa(a)}),ae("button",{type:"button",tabIndex:-1,className:O.nav,"data-aia-date-next":"","aria-label":"Next month",onMouseDown:g=>g.preventDefault(),onClick:v,children:"\u203A"})]}),ae("div",{className:O.weekdays,"aria-hidden":"true",children:da.map((g,b)=>ae("span",{className:O.weekday,children:g},pa[b]))}),ae("div",{className:O.grid,"data-aia-date-grid":"",children:e.map((g,b)=>ae(ha,{option:g,id:`${t}-option-${b}`,index:b,isHighlighted:b===o&&g.is_tappable,isToday:Re(g)===P,isPast:Re(g)!=null&&Re(g)<P,marks:na(Re(g),{selectedIso:n.selectedIso,range:C}),onSelect:r,onHighlight:i,onUnhighlight:c},Re(g)??`pad-${b}`))})]})}function ha({option:e,id:o,index:t,isHighlighted:a,isToday:n,isPast:r,marks:i,onSelect:c,onHighlight:l,onUnhighlight:v}){let[P,C]=ca(!1),g=oa(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:`${O.cell} ${O.blank}`});let b=()=>{C(!0),c(e),setTimeout(()=>C(!1),170)},S=[O.cell,O.day,r?O.past:"",a?O.highlighted:"",n?O.today:"",i.inRange?O.inRange:"",i.selected?O.selected:"",P?O.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:b,onKeyDown:L=>{(L.key==="Enter"||L.key===" ")&&(L.preventDefault(),b())},onMouseEnter:()=>l(t),onMouseLeave:v?()=>v(t):void 0,children:ae("span",{className:O.number,children:g})})}import{ATTRIBUTION_URL as ua,buildAttributionUrl as ga,getFooterHint as ma,uiStringsFor as fa}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as ba,useState as wa}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 {
|
|
1265
1265
|
display: flex;
|
|
1266
1266
|
flex-wrap: wrap;
|
|
1267
1267
|
gap: var(--aia-cluster-gap, 0.5rem);
|
|
@@ -1301,7 +1301,7 @@ import{buildSubmitResult as kn,cellDay as Cn,cellIso as Pn,DATE_RANGE_META_END a
|
|
|
1301
1301
|
.aia-cluster[data-justify="around"] {
|
|
1302
1302
|
justify-content: space-around;
|
|
1303
1303
|
}
|
|
1304
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
1304
|
+
`,document.head.appendChild(e)}import{jsx as Pt}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,v={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?Pt("span",{...v,children:i}):Pt("div",{...v,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
|
|
1305
1305
|
dropdown's rounded edges. The top inset (--aia-footer-gap) adds breathing
|
|
1306
1306
|
room above the hint/branding row so the footer doesn't butt against the last
|
|
1307
1307
|
option row \u2014 additive to the dropdown's 8px section gap. */
|
|
@@ -1448,7 +1448,7 @@ import{buildSubmitResult as kn,cellDay as Cn,cellIso as Pn,DATE_RANGE_META_END a
|
|
|
1448
1448
|
justify-content: flex-end;
|
|
1449
1449
|
}
|
|
1450
1450
|
}
|
|
1451
|
-
`,document.head.appendChild(e)}var
|
|
1451
|
+
`,document.head.appendChild(e)}var le={footer:"aia-footer-qQQ7x",row:"aia-row-BgZ6Q",hintGroup:"aia-hintGroup-ZzbPf",brandLink:"aia-brandLink-r4f3R",key:"aia-key-Bz1H-",hint:"aia-hint-GKEOH",brand:"aia-brand-Al-lR",badge:"aia-badge-Fk9vg"};import{jsx as Ge,jsxs as nt}from"react/jsx-runtime";function St({isOptionHighlighted:e=!1,isInputEmpty:o=!1,strings:t=fa()}){let{key:a,hint:n}=ma(e,o,t),[r,i]=wa(ua);return ba(()=>{i(ga())},[]),Ge("footer",{className:le.footer,"data-aia-footer":"",children:nt(Ke,{justify:"between",noWrap:!0,className:le.row,children:[nt(Ke,{gap:"5px",className:le.hintGroup,children:[Ge("kbd",{className:le.key,children:a}),Ge("span",{className:le.hint,children:n})]}),nt("a",{className:le.brandLink,href:r,target:"_blank",rel:"noopener noreferrer",children:[Ge("span",{className:le.brand,children:"AI"}),Ge("span",{className:le.badge,children:"Autocomplete"})]})]})})}if(typeof document<"u"&&!document.getElementById("ac-style-199d0432")){let e=document.createElement("style");e.id="ac-style-199d0432",e.textContent=`/* ParamPill (Figma "ParamPill") \u2014 unfilled suggestion pill: transparent fill,
|
|
1452
1452
|
no outline. ~28px via 6px padding + 14px text + the 1px border (border-box).
|
|
1453
1453
|
The border is kept as a 1px transparent line so the box stays the same size
|
|
1454
1454
|
as it was when the outline was dashed. */
|
|
@@ -1524,7 +1524,7 @@ import{buildSubmitResult as kn,cellDay as Cn,cellIso as Pn,DATE_RANGE_META_END a
|
|
|
1524
1524
|
opacity: 0;
|
|
1525
1525
|
}
|
|
1526
1526
|
}
|
|
1527
|
-
`,document.head.appendChild(e)}var ye={pill:"aia-pill-6Ga7S",fadeIn:"aia-fadeIn-Ux4eQ",rounded:"aia-rounded-y7xA9",skeleton:"aia-skeleton-57P0T",skeletonIn:"aia-skeletonIn-54kMv",skeletonPulse:"aia-skeletonPulse-xGcUy",skeletonOut:"aia-skeletonOut-1sJ-r"};import{jsx as
|
|
1527
|
+
`,document.head.appendChild(e)}var ye={pill:"aia-pill-6Ga7S",fadeIn:"aia-fadeIn-Ux4eQ",rounded:"aia-rounded-y7xA9",skeleton:"aia-skeleton-57P0T",skeletonIn:"aia-skeletonIn-54kMv",skeletonPulse:"aia-skeletonPulse-xGcUy",skeletonOut:"aia-skeletonOut-1sJ-r"};import{jsx as va}from"react/jsx-runtime";var rt={selected:1,first:.7,next:.4,last:.2};function It({label:e,state:o,rounded:t,loading:a,onClick:n}){let r=[ye.pill,t?ye.rounded:"",a?ye.skeleton:""].filter(Boolean).join(" ");return va("button",{type:"button","data-aia-pill":"","data-aia-loading":a?"":void 0,tabIndex:-1,contentEditable:!1,suppressContentEditableWarning:!0,className:r,style:{opacity:rt[o]},onMouseDown:i=>i.preventDefault(),onClick:a?void 0:n,disabled:a,children:e})}if(typeof document<"u"&&!document.getElementById("ac-style-0fcb7940")){let e=document.createElement("style");e.id="ac-style-0fcb7940",e.textContent=`.aia-list-qvLqO {
|
|
1528
1528
|
position: relative;
|
|
1529
1529
|
z-index: 1;
|
|
1530
1530
|
pointer-events: auto;
|
|
@@ -1534,7 +1534,7 @@ import{buildSubmitResult as kn,cellDay as Cn,cellIso as Pn,DATE_RANGE_META_END a
|
|
|
1534
1534
|
align-items: center;
|
|
1535
1535
|
vertical-align: middle;
|
|
1536
1536
|
}
|
|
1537
|
-
`,document.head.appendChild(e)}var
|
|
1537
|
+
`,document.head.appendChild(e)}var st={list:"aia-list-qvLqO"};import{jsx as Ze}from"react/jsx-runtime";var xa=[125,69];function Tt(e){return e===0?"first":e===1?"next":"last"}function Ve({pills:e,activePillIndex:o,onSelectPill:t,activeSelected:a,rounded:n,loading:r}){return r&&e.length===0?Ze("span",{className:st.list,"data-aia-pill-list-loading":"",children:xa.map((i,c)=>Ze("span",{"data-aia-pill-skeleton":"",className:`${ye.pill} ${n?ye.rounded:""} ${ye.skeleton}`,style:{width:i,opacity:rt[Tt(c)]}},`skel-${i}`))}):Ze("span",{className:st.list,"data-aia-pill-list-loading":r?"":void 0,children:e.map((i,c)=>{let l=!!a&&c===o;return Ze(It,{label:i.text,state:l?"selected":Tt(c),selected:l,rounded:n,loading:r,onClick:()=>t(c)},`${i.parameter}-${i.text}`)})})}import{attachProductRowWheel as ya,productImageSources as ka,productImageSrc as Ca,productInitial as Pa,uiStringsFor as Sa}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Ia,useRef as Ta,useState as Ea}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
|
|
1538
1538
|
(packages/vanilla/src/styles.css). Same tokens, same defaults, so a consumer
|
|
1539
1539
|
theming one package sees the same result in the other.
|
|
1540
1540
|
|
|
@@ -1818,7 +1818,7 @@ import{buildSubmitResult as kn,cellDay as Cn,cellIso as Pn,DATE_RANGE_META_END a
|
|
|
1818
1818
|
letter-spacing: 0.02em;
|
|
1819
1819
|
text-align: center;
|
|
1820
1820
|
}
|
|
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
|
|
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 {
|
|
1822
1822
|
display: grid;
|
|
1823
1823
|
grid-template-columns: repeat(
|
|
1824
1824
|
auto-fit,
|
|
@@ -1854,7 +1854,7 @@ import{buildSubmitResult as kn,cellDay as Cn,cellIso as Pn,DATE_RANGE_META_END a
|
|
|
1854
1854
|
.aia-grid[data-scroll]::-webkit-scrollbar {
|
|
1855
1855
|
display: none;
|
|
1856
1856
|
}
|
|
1857
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
1857
|
+
`,document.head.appendChild(e)}import{jsx as za}from"react/jsx-runtime";function At({min:e="16rem",max:o,gap:t,scroll:a=!1,maxHeight:n,scrollResetKey:r,cols:i,template:c,innerRef:l,className:v,children:P,...C}){let g=La(null);Da(()=>{if(r===void 0)return;let S=g.current;S&&(S.scrollTop=0)},[r]);let b={"--aia-grid-min":e};return o&&(b["--aia-grid-max"]=o),t&&(b["--aia-grid-gap"]=t),n&&(b["--aia-grid-max-height"]=n),i&&(b.gridTemplateColumns=Oa(i)),c&&(b.gridTemplateColumns=c),za("div",{ref:S=>{g.current=S,l?.(S)},className:v?`aia-grid ${v}`:"aia-grid","data-scroll":a||void 0,style:b,...C,children:P})}import{formatOptionCount as Ma,highlightParts as Na,OPTION_ENTER_DELAY_VAR as Fa,optionImageSources as Ba,optionLabel as Rt,sanitizeOptionIconSvg as Ha}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Ka,useMemo as Ga,useRef as Wa,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 {
|
|
1858
1858
|
position: relative;
|
|
1859
1859
|
/* Clip, not visible: the entrance rise below runs on the inner content,
|
|
1860
1860
|
and a transformed box extends its scroll container's scrollable area.
|
|
@@ -2258,7 +2258,7 @@ import{buildSubmitResult as kn,cellDay as Cn,cellIso as Pn,DATE_RANGE_META_END a
|
|
|
2258
2258
|
opacity: 0;
|
|
2259
2259
|
}
|
|
2260
2260
|
}
|
|
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
|
|
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 {
|
|
2262
2262
|
display: flex;
|
|
2263
2263
|
flex-direction: column;
|
|
2264
2264
|
gap: var(--aia-stack-space, 0.5rem);
|
|
@@ -2273,7 +2273,7 @@ import{buildSubmitResult as kn,cellDay as Cn,cellIso as Pn,DATE_RANGE_META_END a
|
|
|
2273
2273
|
align-items: end;
|
|
2274
2274
|
}
|
|
2275
2275
|
/* data-align="stretch" is the flex default \u2014 no rule needed. */
|
|
2276
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
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 {
|
|
2277
2277
|
flex-shrink: 0;
|
|
2278
2278
|
width: 32px;
|
|
2279
2279
|
height: 32px;
|
|
@@ -2326,5 +2326,5 @@ import{buildSubmitResult as kn,cellDay as Cn,cellIso as Pn,DATE_RANGE_META_END a
|
|
|
2326
2326
|
);
|
|
2327
2327
|
cursor: default;
|
|
2328
2328
|
}
|
|
2329
|
-
`,document.head.appendChild(e)}var Ft={submitButton:"aia-submitButton-otz7H"};import{jsx as ct}from"react/jsx-runtime";function Bt({disabled:e,onClick:o,label:t=ci().submit}){return ct("button",{type:"button","data-aia-submit":"",className:Ft.submitButton,disabled:e,onClick:a=>{a.stopPropagation(),o()},"aria-label":t,children:ct("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":t,children:ct("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as pi,dateSelectionFor as hi,identifiedParamLabel as ui}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as _t,useEffect as Le,useRef as B,useState as gi}from"react";import{useRef as Ht}from"react";function Kt(e){let o=Ht(e);o.current=e;let t=Object.keys(e??{}).sort().join("\0"),a=Ht({key:"",overrides:void 0});if(a.current.key!==t){let n={};for(let r of Object.keys(e??{})){let i=(p,l,v)=>{let P=o.current?.[r];return P?P(p,l,v):[]};n[r]=i}a.current={key:t,overrides:e?n:void 0}}return{overrides:a.current.overrides,key:t}}import{useRef as Gt}from"react";function Wt(e){let o=Gt(e);o.current=e;let t=Gt(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 mi={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],customFields:null,optionSearch:null,activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],dropdownLoading:!0,dropdownOptions:[],skeletonOptions:null,skeletonSuggestion:null,dropdownSuggestion:null,skeletonRequested:!1,skeletonExiting:!1,activeFormatType:"options",dateView:null,dateRangeStart:null,placeholderText:"",optionQuery:"",isSearchingOptions:!1,isDropdownOpen:!1,isActivePillSelected:!1,filterBase:0,filterInProgress:!1,pillTapped:!1,skipNextFetch:!1,lastRawQuery:"",isFocused:!1,dropdownHeld:!1,editingParam:null,editingIdentified:null,editingAnchor:null,editingTail:null,caretOffset:null,inSelectionAnimation:!1,dateViewMonth:null,pendingRangeStart:null};function pt({onSubmit:e,onResult:o,onError:t,optionOverrides:a,maskCompletedText:n,apiConfig:r,additionalContext:i,language:p,productId:l,visitorId:v,columns:P=2,dropdownTrigger:C,optionsPosition:g,closeDropdownOnBlur:b,showNonTappableOptions:S,showOptionIcons:D,showOptionImages:L,showOptionCounts:H,showSkipButton:O,showProducts:I,productImageFallback:F="image",onFocus:z,onBlur:k,value:M,completedParams:K,onChange:N,onParamsChange:te,products:le,mapProducts:W,onProductSelect:de,source:ke,setCursor:ce}){let u=B(null),[Ce,ae]=gi(null),pe=B(e);pe.current=e;let ie=B(o);ie.current=o;let he=B(t);he.current=t;let q=B(N);q.current=N;let V=B(te);V.current=te;let s=B(z);s.current=z;let m=B(k);m.current=k;let f=B(ce);f.current=ce;let w=B(de);w.current=de;let y=B(v);y.current=v;let E=B(()=>{let d=y.current;return typeof d=="function"?d():d}).current,c=Wt(le),G=B(W);G.current=W;let j=B((d,_)=>{let T=G.current;return T?T(d,_):d}).current,Q=W?j:void 0,ue=Kt(a);Le(()=>{if(typeof document>"u")return;let d=new pi(document.createElement("div"),{renderMode:"headless",apiConfig:r,additionalContext:i,language:p,productId:l,visitorId:E,optionOverrides:ue.overrides,maskCompletedText:n,columns:P,dropdownTrigger:C,optionsPosition:g,closeDropdownOnBlur:b,showNonTappableOptions:S,showProducts:I,source:ke,value:M,completedParams:K,onSubmit:(...T)=>pe.current?.(...T),onResult:(...T)=>ie.current?.(...T),onError:(...T)=>he.current?.(...T),onChange:(...T)=>q.current?.(...T),onParamsChange:(...T)=>V.current?.(...T),onFocus:()=>s.current?.(),onBlur:()=>m.current?.(),onProductSelect:T=>w.current?.(T),setCursor:T=>f.current?.(T),products:c.config,mapProducts:Q});u.current=d,ae(d.getState());let _=d.subscribe(T=>ae(T));return()=>{_(),d.destroy(),u.current===d&&(u.current=null)}},[]),Le(()=>{M!==void 0&&u.current?.setValue(M)},[M]),Le(()=>{K!==void 0&&u.current?.setCompletedParams(K)},[K]);let ge=JSON.stringify(r??null),me;try{me=JSON.stringify(i??null)}catch{me="[unstringifiable]"}Le(()=>{u.current?.update({apiConfig:r,additionalContext:i,language:p,productId:l,optionOverrides:ue.overrides,dropdownTrigger:C,optionsPosition:g,closeDropdownOnBlur:b,showNonTappableOptions:S,showProducts:I})},[ge,me,p,l,ue.key,C,g,b,S,I]);let fe=B(!1);Le(()=>{if(!fe.current){fe.current=!0;return}u.current?.update({products:c.config})},[c.enabled]),Le(()=>{u.current?.update({mapProducts:Q})},[Q]);let be=B(null);be.current===null&&(be.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=be.current,we=_t(d=>{let _=d.target.value,tt=_.length>0&&!d.nativeEvent?.isComposing&&_[0]!==_[0].toUpperCase()?_[0].toUpperCase()+_.slice(1):_;u.current?.handleTextChange(tt)},[]),ve=_t(d=>{u.current?.handleKeyDown(d.nativeEvent)},[]),oe=u.current,h=Ce??mi,Te=M!==void 0?M:h.text,Ae=K!==void 0?K:h.completedParams,X=h.actionableSuggestions,Ne=X[0],Pe=oe?.listboxId??"",_e=h.activeDropdownIndex>=0&&oe?`${Pe}-option-${h.activeDropdownIndex}`:void 0,xe=h.editingParam,Se=h.editingIdentified,Fe=xe?{parameter:xe.suggestionParameter,text:xe.suggestionPlaceholder,required:!0,options:xe.options}:Se?{parameter:Se.parameter,text:ui(Se.parameter),required:!0,options:[]}:null,Ue=h.dropdownSuggestion??Fe??Ne,et=Fe?[Fe]:X,Be=hi(h),qe=!oe||h.dropdownLoading;return{completedParams:Ae,skippedParams:h.skippedParams,identifiedParams:h.identifiedParams,suggestionPills:X,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:Pe,error:h.error,products:h.products,customFields:h.customFields,selectProduct:x.selectProduct,handleTextChange:x.handleTextChange,handleKeyDown:x.handleKeyDown,setFocused:x.setFocused,editingParam:xe,editingIdentified:Se,editingAnchor:h.editingAnchor,caretOffset:h.caretOffset,startEditingParam:x.startEditingParam,exitEditMode:x.exitEditMode,handleCaretAfterInput:x.handleCaretAfterInput,handleCaretMove:x.handleCaretMove,replaceEditingRange:x.replaceEditingRange,inputProps:{value:Te,placeholder:h.placeholderText||void 0,onChange:we,onKeyDown:ve,onFocus:x.handleFocus,onBlur:x.handleBlur,role:"combobox","aria-expanded":h.isDropdownOpen,"aria-activedescendant":_e,"aria-autocomplete":"list","aria-controls":Pe},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:Pe,pills:et,activeSelected:h.isActivePillSelected,onPillClick:x.setActivePill,onSkip:x.skipActivePill,showSkipButton:(O??!0)&&!xe&&!Se,showOptionIcons:D??!0,showOptionImages:L??!0,showOptionCounts:H??!0,skipDisabled:h.inSelectionAnimation,isLoading:qe,skeletonExiting:h.skeletonExiting,isInputEmpty:Te.trim().length===0,language:p,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 fi,extractPlainText as Ut,getCursorOffset as qt,keepCaretOnChip as bi,plainTextLength as wi,renderEditableContent as vi,setCursorOffset as jt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as $,useEffect as Xe,useLayoutEffect as ht,useRef as ze}from"react";var Je;function xi(){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 Qt(e){let{segments:o,showChipIcons:t=!0,showChipImages:a=!0,newParamId:n,editingParam:r,editingIdentified:i,editingAnchor:p,caretOffset:l,placeholderText:v,isFocused:P,isDropdownOpen:C,listboxId:g,activeDescendantId:b,autoFocus:S,handleTextChange:D,handleKeyDown:L,handleCaretAfterInput:H,handleCaretMove:O,startEditingParam:I,replaceEditingRange:F,setFocused:z}=e,k=ze(null),M=ze(!1),K=ze(""),N=ze(""),te=ze(null),le=ze(0);te.current=l,Xe(()=>{if(!S)return;let s=k.current;if(!s)return;document.activeElement===s?z(!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,z]),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,E=y.nodeType===Node.ELEMENT_NODE?y:y.parentElement,G=(w.isCollapsed?E?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,j=r?.id??i?.id??null;if(G&&G!==j){I(G);return}performance.now()-le.current<50||O(qt(s))};return m.addEventListener("selectionchange",f),()=>m.removeEventListener("selectionchange",f)},[r,i,I,O]),Xe(()=>{let s=k.current;if(!s)return;let m=f=>{let w=fi(s,f.target);w&&(I(w),bi(s,w))};return s.addEventListener("click",m),()=>s.removeEventListener("click",m)},[I]),ht(()=>{let s=k.current;s&&vi({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]),ht(()=>{let s=K.current,m=n??"";if(K.current=m,!m||m===s)return;let f=k.current;if(!f)return;f.focus();let w=te.current??wi(f);jt(f,w)},[n]),ht(()=>{let s=N.current,m=r?.id??"";if(N.current=m,!m||m===s||p==null)return;let f=k.current;f&&jt(f,p)},[r,p]);let W=$(()=>{if(M.current)return;let s=k.current;if(!s)return;let m=Ut(s),w=m.length>0&&m[0]!==m[0].toUpperCase()?m[0].toUpperCase()+m.slice(1):m;D(w)},[D]),de=$(()=>{le.current=performance.now(),W();let s=k.current;s&&H(qt(s))},[W,H]);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 E=y.startsWith("delete")?"":w.data??"";F(E)&&f.preventDefault()}};return s.addEventListener("beforeinput",m),()=>s.removeEventListener("beforeinput",m)},[F]);let ke=$(()=>{M.current=!0},[]),ce=$(()=>{M.current=!1,W()},[W]),u=$(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 E=y.getRangeAt(0);if(!m.contains(E.startContainer))return;E.deleteContents();let c=w.createTextNode(f);E.insertNode(c),E.setStartAfter(c),E.collapse(!0),y.removeAllRanges(),y.addRange(E),W()},[W]),Ce=$(s=>L(s),[L]),ae=$(()=>z(!0),[z]),pe=$(()=>z(!1),[z]),ie=$(()=>k.current?.focus(),[]),he=$(()=>k.current?.blur(),[]),q=$(()=>{let s=k.current;return s?Ut(s):""},[]),V=xi()?"plaintext-only":"true";return{inputRef:k,editorProps:{ref:k,contentEditable:V,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:de,onKeyDown:Ce,onCompositionStart:ke,onCompositionEnd:ce,onPaste:u,onFocus:ae,onBlur:pe},getPlainText:q,focus:ie,blur:he}}import{jsx as Me,jsxs as gt}from"react/jsx-runtime";function Ti(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Ai=yi(function({onSubmit:o,onResult:t,onError:a,optionOverrides:n,maskCompletedText:r,className:i,apiConfig:p,additionalContext:l,language:v,productId:P,visitorId:C,columns:g,pillPlacement:b="dropdown",mode:S="auto",optionsPosition:D="below",animations:L=!0,dropdownTrigger:H,closeDropdownOnBlur:O,showNonTappableOptions:I,showOptionIcons:F=!0,showChipIcons:z=!0,showChipImages:k=!0,showOptionImages:M=!0,showOptionCounts:K=!0,showSkipButton:N,showProducts:te,productsLayout:le,productImageFallback:W,autoFocus:de=!0,onFocus:ke,onBlur:ce,value:u,completedParams:Ce,onChange:ae,onParamsChange:pe,products:ie,mapProducts:he,onProductSelect:q,submitButton:V,resetOnSubmit:s=!0},m){let f=We(null),w=We(null),y=We(()=>{}),E=We(null),c=We(null);Yt(()=>{let A=f.current;if(A)return E.current?E.current.setMode(S):E.current=new Si(A,S),()=>{E.current?.destroy(),E.current=null}},[S]);let G=ut(A=>{let J=c.current?.current;J&&(J.focus(),Ii(J,A))},[]),{completedParams:j,skippedParams:Q,identifiedParams:ue,isReady:ge,customFields:me,suggestionPills:fe,setActivePill:be,skipActivePill:x,segments:we,newParamId:ve,clearNewParamId:oe,placeholderText:h,isFocused:Te,isDropdownOpen:Ae,isActivePillSelected:X,isLoading:Ne,activeIndex:Pe,listboxId:_e,handleTextChange:xe,handleKeyDown:Se,setFocused:Fe,editingParam:Ue,editingIdentified:et,editingAnchor:Be,caretOffset:qe,startEditingParam:d,handleCaretAfterInput:_,handleCaretMove:T,replaceEditingRange:tt,dropdownProps:Zt,reset:je,refreshProducts:mt,recordSubmit:ft}=pt({onSubmit:A=>y.current(A),onResult:t,onError:a,optionOverrides:n,maskCompletedText:r,apiConfig:p,additionalContext:l,language:v,productId:P,visitorId:C,columns:g,dropdownTrigger:H,optionsPosition:D,closeDropdownOnBlur:O,showNonTappableOptions:I,showOptionIcons:F,showOptionImages:M,showOptionCounts:K,showSkipButton:N,showProducts:te,onFocus:ke,onBlur:ce,value:u,completedParams:Ce,onChange:ae,onParamsChange:pe,products:ie,mapProducts:he,onProductSelect:q,source:"full-sdk",setCursor:G});Yt(()=>{if(!ve)return;let A=window.setTimeout(()=>oe(),650);return()=>window.clearTimeout(A)},[ve,oe]);let Vt=Pe>=0?`${_e}-option-${Pe}`:void 0,{inputRef:at,editorProps:$t,focus:Qe,blur:bt,getPlainText:wt}=Qt({segments:we,newParamId:ve,editingParam:Ue,editingIdentified:et,editingAnchor:Be,caretOffset:qe,placeholderText:h,isFocused:Te,showChipIcons:z,showChipImages:k,isDropdownOpen:Ae,listboxId:_e,activeDescendantId:Vt,autoFocus:de,handleTextChange:xe,handleKeyDown:Se,handleCaretAfterInput:_,handleCaretMove:T,startEditingParam:d,replaceEditingRange:tt,setFocused:Fe});c.current=at,Ci(()=>{let A=w.current,J=at.current;if(!A||!J)return;let He=()=>{let xt=A.firstElementChild;if(!xt)return;let ta=xt.getBoundingClientRect(),aa=J.getBoundingClientRect();ta.top>=aa.bottom-2?A.setAttribute("data-aia-pill-wrapped",""):A.removeAttribute("data-aia-pill-wrapped")};He();let vt=new ResizeObserver(He);return vt.observe(J),()=>vt.disconnect()},[we,fe.length,Ne,at]),ki(m,()=>({focus:Qe,blur:bt,reset:je,refreshProducts:mt,setMode:A=>E.current?.setMode(A),skipActivePill:x}),[Qe,bt,je,mt,x]);let Ye=!!we.length||j.length>0,it=ut(A=>{if(!Ye)return;let J=wt(),He=Pi(J,j,Q,{identifiedParams:ue,isReady:ge,customFields:me});A&&ft(He),o(He),s&&je()},[ft,s,Ye,j,Q,ue,ge,me,o,je,wt]);y.current=()=>it(!1);let Xt=ut(A=>{A.target?.closest("[data-aia-pill]")||Qe()},[Qe]),Jt=b==="inline",ea=b==="dropdown";return gt("div",{ref:f,className:`magicx-aia ${Ie.container} ${i??""}`,"data-pill-placement":b,"data-options-position":D,"data-animations":L?"on":"off","data-mode":Ti(S),children:[Me(dt,{...Zt,showPills:ea,productsLayout:le,productImageFallback:W}),gt("div",{className:Ie.inputWrapper,"data-aia-input-wrapper":"",onClick:Xt,children:[gt("div",{className:Ie.editorArea,"data-aia-editor":"",children:[Me("div",{...$t,className:Ie.input,"data-aia-input":""}),Jt&&(Ne||fe.length>0)&&Me("span",{ref:w,className:Ie.pillListContainer,"data-aia-pill-list-container":"",children:Me(Ve,{pills:fe,activePillIndex:0,activeSelected:X,onSelectPill:be,loading:Ne})})]}),V===null?null:V===void 0?Me(Bt,{disabled:!Ye,onClick:()=>it(!0),label:Ei(v).submit}):Me("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:Ie.submitSlot,onClick:A=>{Ye&&(A.stopPropagation(),it(!0))},children:V})]})]})});export{Ai as AIAutocomplete,dt as AIAutocompleteDropdown,Sn as DATE_RANGE_META_END,In as DATE_RANGE_META_START,En as DEFAULT_OPTION_COUNT_UNIT,Hn as PRODUCT_PATH_PREFIX,Zn as WEEKDAY_LABELS,kn as buildSubmitResult,Cn as cellDay,Pn as cellIso,Tn as dateCellMarks,An as formatDate,Rn as formatDateRange,On as formatOptionCount,Dn as isoDate,Ln as monthLabel,zn as optionCountLabel,Mn as optionHasImage,Nn as optionImageSources,Fn as optionImageSrc,Bn as optionLabel,Kn as parseDate,Gn as parseLooseDate,Wn as parseLooseDateRange,_n as productFromMatchedItem,Un as productImageSources,qn as productsFromCustomFields,jn as sanitizeOptionIconSvg,Qn as selectedRangeFor,pt as useAIAutocomplete,Yn as visibleDateRange,Vn as withSkippedParams};
|
|
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};
|
|
2330
2330
|
//# sourceMappingURL=index.mjs.map
|