@magicx-eng/ai-autocomplete-react 0.42.0 → 0.43.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +5 -1
- package/dist/index.d.ts +5 -1
- 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 +24 -3
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{buildSubmitResult as
|
|
1
|
+
import{buildSubmitResult as zn,cellDay as Mn,cellIso as Nn,DATE_RANGE_META_END as Fn,DATE_RANGE_META_START as Hn,DEFAULT_OPTION_COUNT_UNIT as Bn,dateCellMarks as Kn,formatDate as Gn,formatDateRange as Wn,formatOptionCount as _n,isoDate as qn,monthLabel as Un,optionCountLabel as Vn,optionHasImage as jn,optionImageSources as Yn,optionImageSrc as Qn,optionLabel as Zn,optionsShowLeadingVisuals as $n,PRODUCT_PATH_PREFIX as Xn,parseDate as Jn,parseLooseDate as er,parseLooseDateRange as tr,productFromMatchedItem as ar,productImageSources as ir,productsFromCustomFields as or,sanitizeOptionIconSvg as nr,selectedRangeFor as rr,visibleDateRange as sr,WEEKDAY_LABELS as lr,withSkippedParams as dr}from"@magicx-eng/ai-autocomplete-vanilla";import{forwardRef as Oi,useCallback as ft,useEffect as Jt,useImperativeHandle as Di,useLayoutEffect as Li,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
|
|
@@ -280,7 +280,7 @@ import{buildSubmitResult as Nn,cellDay as Fn,cellIso as Hn,DATE_RANGE_META_END a
|
|
|
280
280
|
opacity: 0;
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
|
-
`,document.head.appendChild(e)}var
|
|
283
|
+
`,document.head.appendChild(e)}var Te={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 si,attachViewportFit as li,containScroll as di,hasSkippablePill as ci,isCalendarFormat as pi,labelTraditionalAutocomplete as hi,uiStringsFor as ui}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Le,useRef as De,useState as mi}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-0ae03977")){let e=document.createElement("style");e.id="ac-style-0ae03977",e.textContent=`/*
|
|
284
284
|
* Built-in appearance defaults \u2014 zero specificity via :where().
|
|
285
285
|
* Consumer CSS always wins without !important.
|
|
286
286
|
*
|
|
@@ -1132,7 +1132,7 @@ import{buildSubmitResult as Nn,cellDay as Fn,cellIso as Hn,DATE_RANGE_META_END a
|
|
|
1132
1132
|
opacity: 0.25;
|
|
1133
1133
|
}
|
|
1134
1134
|
}
|
|
1135
|
-
`,document.head.appendChild(e)}var
|
|
1135
|
+
`,document.head.appendChild(e)}var ce={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 sa,cellIso as Oe,dateCellMarks as la,isoDate as da,monthLabel as ca,visibleDateRange as pa,WEEKDAY_LABELS as ha}from"@magicx-eng/ai-autocomplete-vanilla";import{useState as ua}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) ---
|
|
1136
1136
|
|
|
1137
1137
|
One of three hand-maintained copies (vanilla styles.css, this file, Angular's
|
|
1138
1138
|
date-grid.component.css). Only the class-naming layer differs \u2014 the
|
|
@@ -1295,7 +1295,7 @@ import{buildSubmitResult as Nn,cellDay as Fn,cellIso as Hn,DATE_RANGE_META_END a
|
|
|
1295
1295
|
opacity: 0.8;
|
|
1296
1296
|
background: rgba(var(--aia-streak-rgb, 255, 255, 255), 0.06);
|
|
1297
1297
|
}
|
|
1298
|
-
`,document.head.appendChild(e)}var D={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
|
|
1298
|
+
`,document.head.appendChild(e)}var D={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 te,jsxs as Ct}from"react/jsx-runtime";var ma=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function St({options:e,activeIndex:n,listboxId:t,view:i,selection:o,onSelect:r,onHighlight:a,onUnhighlight:c,onPreviousMonth:s,onNextMonth:m}){let y=da(new Date),P=pa({pendingStart:o.rangeStart,highlightedIso:Oe(e[n]),selected:o.selectedRange});return Ct("div",{className:D.datepicker,"data-aia-datepicker":"",children:[Ct("div",{className:D.header,children:[te("button",{type:"button",tabIndex:-1,className:D.nav,"data-aia-date-prev":"","aria-label":"Previous month",onMouseDown:f=>f.preventDefault(),onClick:s,children:"\u2039"}),te("span",{className:D.month,"data-aia-date-month":"","aria-live":"polite",children:ca(i)}),te("button",{type:"button",tabIndex:-1,className:D.nav,"data-aia-date-next":"","aria-label":"Next month",onMouseDown:f=>f.preventDefault(),onClick:m,children:"\u203A"})]}),te("div",{className:D.weekdays,"aria-hidden":"true",children:ha.map((f,x)=>te("span",{className:D.weekday,children:f},ma[x]))}),te("div",{className:D.grid,"data-aia-date-grid":"",children:e.map((f,x)=>te(ga,{option:f,id:`${t}-option-${x}`,index:x,isHighlighted:x===n&&f.is_tappable,isToday:Oe(f)===y,isPast:Oe(f)!=null&&Oe(f)<y,marks:la(Oe(f),{selectedIso:o.selectedIso,range:P}),onSelect:r,onHighlight:a,onUnhighlight:c},Oe(f)??`pad-${x}`))})]})}function ga({option:e,id:n,index:t,isHighlighted:i,isToday:o,isPast:r,marks:a,onSelect:c,onHighlight:s,onUnhighlight:m}){let[y,P]=ua(!1),f=sa(e);if(f==null)return te("div",{id:n,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-hidden":"true","aria-selected":!1,tabIndex:-1,className:`${D.cell} ${D.blank}`});let x=()=>{P(!0),c(e),setTimeout(()=>P(!1),170)},I=[D.cell,D.day,r?D.past:"",i?D.highlighted:"",o?D.today:"",a.inRange?D.inRange:"",a.selected?D.selected:"",y?D.pressed:""].filter(Boolean).join(" ");return te("div",{id:n,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-selected":i,"aria-label":e.text,tabIndex:0,className:I,onClick:x,onKeyDown:T=>{(T.key==="Enter"||T.key===" ")&&(T.preventDefault(),x())},onMouseEnter:()=>s(t),onMouseLeave:m?()=>m(t):void 0,children:te("span",{className:D.number,children:f})})}import{ATTRIBUTION_URL as fa,buildAttributionUrl as ba,getFooterHint as wa,uiStringsFor as va}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as xa,useState as ya}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 {
|
|
1299
1299
|
display: flex;
|
|
1300
1300
|
flex-wrap: wrap;
|
|
1301
1301
|
gap: var(--aia-cluster-gap, 0.5rem);
|
|
@@ -1335,7 +1335,7 @@ import{buildSubmitResult as Nn,cellDay as Fn,cellIso as Hn,DATE_RANGE_META_END a
|
|
|
1335
1335
|
.aia-cluster[data-justify="around"] {
|
|
1336
1336
|
justify-content: space-around;
|
|
1337
1337
|
}
|
|
1338
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
1338
|
+
`,document.head.appendChild(e)}import{jsx as Pt}from"react/jsx-runtime";function Ke({gap:e,align:n="center",justify:t="start",noWrap:i=!1,inline:o=!1,className:r,children:a,...c}){let s=e?{"--aia-cluster-gap":e}:void 0,m={className:r?`aia-cluster ${r}`:"aia-cluster","data-align":n,"data-justify":t,"data-nowrap":i||void 0,"data-inline":o||void 0,style:s,...c};return o?Pt("span",{...m,children:a}):Pt("div",{...m,children:a})}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
|
|
1339
1339
|
dropdown's rounded edges. The top inset (--aia-footer-gap) adds breathing
|
|
1340
1340
|
room above the hint/branding row so the footer doesn't butt against the last
|
|
1341
1341
|
option row \u2014 additive to the dropdown's 8px section gap. */
|
|
@@ -1482,7 +1482,7 @@ import{buildSubmitResult as Nn,cellDay as Fn,cellIso as Hn,DATE_RANGE_META_END a
|
|
|
1482
1482
|
justify-content: flex-end;
|
|
1483
1483
|
}
|
|
1484
1484
|
}
|
|
1485
|
-
`,document.head.appendChild(e)}var
|
|
1485
|
+
`,document.head.appendChild(e)}var pe={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 rt}from"react/jsx-runtime";function It({isOptionHighlighted:e=!1,isInputEmpty:n=!1,strings:t=va()}){let{key:i,hint:o}=wa(e,n,t),[r,a]=ya(fa);return xa(()=>{a(ba())},[]),Ge("footer",{className:pe.footer,"data-aia-footer":"",children:rt(Ke,{justify:"between",noWrap:!0,className:pe.row,children:[rt(Ke,{gap:"5px",className:pe.hintGroup,children:[Ge("kbd",{className:pe.key,children:i}),Ge("span",{className:pe.hint,children:o})]}),rt("a",{className:pe.brandLink,href:r,target:"_blank",rel:"noopener noreferrer",children:[Ge("span",{className:pe.brand,children:"AI"}),Ge("span",{className:pe.badge,children:"Autocomplete"})]})]})})}import{isSmartSuggestion as Pa,isTraditionalAutocompleteSuggestion as Ia}from"@magicx-eng/ai-autocomplete-vanilla";import{SMART_SUGGESTION_SPARKLE_SVG as ka}from"@magicx-eng/ai-autocomplete-vanilla";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,
|
|
1486
1486
|
no outline. ~28px via 6px padding + 14px text + the 1px border (border-box).
|
|
1487
1487
|
The border is kept as a 1px transparent line so the box stays the same size
|
|
1488
1488
|
as it was when the outline was dashed. */
|
|
@@ -1662,7 +1662,7 @@ import{buildSubmitResult as Nn,cellDay as Fn,cellIso as Hn,DATE_RANGE_META_END a
|
|
|
1662
1662
|
opacity: 0;
|
|
1663
1663
|
}
|
|
1664
1664
|
}
|
|
1665
|
-
`,document.head.appendChild(e)}var
|
|
1665
|
+
`,document.head.appendChild(e)}var ae={pill:"aia-pill-6Ga7S",fadeIn:"aia-fadeIn-Ux4eQ",rounded:"aia-rounded-y7xA9",smartText:"aia-smartText-R0cfw","smartSuggestion-shimmer":"aia-smartSuggestion-shimmer-F-yoD",smartSparkle:"aia-smartSparkle-IVabG","smartSuggestion-sparkle":"aia-smartSuggestion-sparkle-Wfj-4","smartSuggestion-sparkle-small":"aia-smartSuggestion-sparkle-small-3VsWJ",skeleton:"aia-skeleton-57P0T",skeletonIn:"aia-skeletonIn-54kMv",skeletonPulse:"aia-skeletonPulse-xGcUy",skeletonOut:"aia-skeletonOut-1sJ-r"};import{Fragment as Ca,jsx as st,jsxs as Sa}from"react/jsx-runtime";var lt={selected:1,first:.7,next:.4,last:.2};function Tt({label:e,state:n,rounded:t,loading:i,smartSuggestion:o,completionHeader:r,onClick:a}){let c=[ae.pill,t?ae.rounded:"",i?ae.skeleton:""].filter(Boolean).join(" ");return st("button",{type:"button","data-aia-pill":"","data-aia-loading":i?"":void 0,"data-aia-smart-suggestion":o?r?"header":"":void 0,tabIndex:-1,contentEditable:!1,suppressContentEditableWarning:!0,className:c,style:{opacity:lt[n]},onMouseDown:s=>s.preventDefault(),onClick:i?void 0:a,disabled:i,children:o?Sa(Ca,{children:[st("span",{className:`${ae.smartText} magicx-aia-smart-suggestion-text`,children:e}),st("span",{className:`${ae.smartSparkle} magicx-aia-smart-suggestion-sparkle`,dangerouslySetInnerHTML:{__html:ka}})]}):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 {
|
|
1666
1666
|
position: relative;
|
|
1667
1667
|
z-index: 1;
|
|
1668
1668
|
pointer-events: auto;
|
|
@@ -1672,7 +1672,7 @@ import{buildSubmitResult as Nn,cellDay as Fn,cellIso as Hn,DATE_RANGE_META_END a
|
|
|
1672
1672
|
align-items: center;
|
|
1673
1673
|
vertical-align: middle;
|
|
1674
1674
|
}
|
|
1675
|
-
`,document.head.appendChild(e)}var
|
|
1675
|
+
`,document.head.appendChild(e)}var dt={list:"aia-list-qvLqO"};import{jsx as Ye}from"react/jsx-runtime";var Ta=[125,69];function Et(e){return e===0?"first":e===1?"next":"last"}function Qe({pills:e,activePillIndex:n,onSelectPill:t,activeSelected:i,rounded:o,loading:r}){return r&&e.length===0?Ye("span",{className:dt.list,"data-aia-pill-list-loading":"",children:Ta.map((a,c)=>Ye("span",{"data-aia-pill-skeleton":"",className:`${ae.pill} ${o?ae.rounded:""} ${ae.skeleton}`,style:{width:a,opacity:lt[Et(c)]}},`skel-${a}`))}):Ye("span",{className:dt.list,"data-aia-pill-list-loading":r?"":void 0,children:e.map((a,c)=>{let s=!!i&&c===n;return Ye(Tt,{label:a.text,state:s?"selected":Et(c),selected:s,rounded:o,loading:r,smartSuggestion:Pa(a),completionHeader:Ia(a),onClick:()=>t(c)},`${a.parameter}-${a.text}`)})})}import{attachProductRowWheel as Ea,productImageSources as Aa,productImageSrc as Ra,productInitial as Oa,uiStringsFor as Da}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as La,useRef as za,useState as At}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
|
|
1676
1676
|
(packages/vanilla/src/styles.css). Same tokens, same defaults, so a consumer
|
|
1677
1677
|
theming one package sees the same result in the other.
|
|
1678
1678
|
|
|
@@ -1975,7 +1975,7 @@ import{buildSubmitResult as Nn,cellDay as Fn,cellIso as Hn,DATE_RANGE_META_END a
|
|
|
1975
1975
|
letter-spacing: 0.02em;
|
|
1976
1976
|
text-align: center;
|
|
1977
1977
|
}
|
|
1978
|
-
`,document.head.appendChild(e)}var
|
|
1978
|
+
`,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 he,jsxs as Ze}from"react/jsx-runtime";function Rt({products:e,listboxId:n,onSelect:t,onFocusChange:i,focusable:o=!0,layout:r="row",imageFallback:a="image",strings:c=Da()}){let s=e.length>0,m=za(null);if(La(()=>{let P=m.current;if(!(!s||!P))return Ea(P)},[s]),!s)return null;let y=`${n}-products-label`;return Ze("section",{className:Y.section,"data-aia-products":"","data-aia-products-layout":r,role:"group","aria-labelledby":y,children:[he("div",{className:Y.label,id:y,"data-aia-products-label":"",children:c.products}),he("div",{ref:m,className:Y.row,"data-aia-products-row":"",children:e.map((P,f)=>he(Ma,{product:P,id:`${n}-product-${f}`,onSelect:t,onFocusChange:i,focusable:o,imageFallback:a,soldOut:c.soldOut},P.id))})]})}function Ma({product:e,id:n,onSelect:t,onFocusChange:i,focusable:o,imageFallback:r,soldOut:a}){let c=s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||s.button!==0||(s.preventDefault(),t(e))};return Ze("a",{id:n,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:o?0:-1,onClick:c,onKeyDown:s=>{s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),t(e))},onFocus:()=>i?.(!0),onBlur:s=>{s.relatedTarget?.closest("[data-aia-dropdown]")||i?.(!1)},children:[he(Na,{sources:Aa(e.imageUrl),title:e.title,fallback:r},Ra(e.imageUrl)??""),Ze("span",{className:Y.body,children:[e.vendor?he("span",{className:Y.vendor,children:e.vendor}):null,he("span",{className:Y.title,children:e.title}),e.price?he("span",{className:Y.price,children:e.price}):null,e.available===!1?he("span",{className:Y.badge,children:a}):null]})]})}function Na({sources:e,title:n,fallback:t}){let[i,o]=At(0),r=e[i],a=!!r,[c,s]=At(null),m=!a&&t==="initial";return Ze("span",{className:Y.media,"aria-hidden":"true","data-aia-product-placeholder":!a&&!m?"":void 0,"data-aia-product-initial":m?"":void 0,"data-aia-image-loaded":a&&c===r?"":void 0,children:[a?he("img",{className:Y.image,src:r,alt:"",loading:"lazy",decoding:"async",onLoad:()=>s(r),onError:()=>o(y=>y+1)}):null,m?Oa(n):null]})}import{isOptionsGridMobileViewport as Za,measureOptionsGrid as $a,needsOptionsGridMeasurement as Xa,OPTIONS_GRID_MOBILE_QUERY as Ja,optionEnterDelayMs as ei,optionsShowLeadingVisuals as ti,planOptionsGrid as zt,sameOptionRows as ai}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as ii,useLayoutEffect as oi,useRef as Mt,useState as Ft}from"react";import{optionsGridTemplateColumns as Fa}from"@magicx-eng/ai-autocomplete-vanilla";import{useLayoutEffect as Ha,useRef as Ba}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 {
|
|
1979
1979
|
display: grid;
|
|
1980
1980
|
grid-template-columns: repeat(
|
|
1981
1981
|
auto-fit,
|
|
@@ -2011,7 +2011,7 @@ import{buildSubmitResult as Nn,cellDay as Fn,cellIso as Hn,DATE_RANGE_META_END a
|
|
|
2011
2011
|
.aia-grid[data-scroll]::-webkit-scrollbar {
|
|
2012
2012
|
display: none;
|
|
2013
2013
|
}
|
|
2014
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
2014
|
+
`,document.head.appendChild(e)}import{jsx as Ka}from"react/jsx-runtime";function Ot({min:e="16rem",max:n,gap:t,scroll:i=!1,maxHeight:o,scrollResetKey:r,cols:a,template:c,innerRef:s,className:m,children:y,...P}){let f=Ba(null);Ha(()=>{if(r===void 0)return;let I=f.current;I&&(I.scrollTop=0)},[r]);let x={"--aia-grid-min":e};return n&&(x["--aia-grid-max"]=n),t&&(x["--aia-grid-gap"]=t),o&&(x["--aia-grid-max-height"]=o),a&&(x.gridTemplateColumns=Fa(a)),c&&(x.gridTemplateColumns=c),Ka("div",{ref:I=>{f.current=I,s?.(I)},className:m?`aia-grid ${m}`:"aia-grid","data-scroll":i||void 0,style:x,...P,children:y})}import{formatOptionCount as Ga,highlightParts as Wa,OPTION_ENTER_DELAY_VAR as _a,optionImageSources as qa,optionLabel as Dt,sanitizeOptionIconSvg as Ua}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Va,useMemo as ja,useRef as Ya,useState as $e}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 {
|
|
2015
2015
|
position: relative;
|
|
2016
2016
|
/* Clip, not visible: the entrance rise below runs on the inner content,
|
|
2017
2017
|
and a transformed box extends its scroll container's scrollable area.
|
|
@@ -2469,7 +2469,7 @@ import{buildSubmitResult as Nn,cellDay as Fn,cellIso as Hn,DATE_RANGE_META_END a
|
|
|
2469
2469
|
opacity: 0;
|
|
2470
2470
|
}
|
|
2471
2471
|
}
|
|
2472
|
-
`,document.head.appendChild(e)}var
|
|
2472
|
+
`,document.head.appendChild(e)}var W={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",match:"aia-match-pp-9v",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 ct}from"react/jsx-runtime";function Lt({option:e,isHighlighted:n,onSelect:t,onHighlight:i,onUnhighlight:o,id:r,loading:a,showIcon:c=!0,showImage:s=!0,showCount:m=!0,scrollHint:y,enterDelayMs:P=0}){let[f]=$e(P),[x,I]=$e(!1),T=s?qa(e.image_url):[],z=T[0]??null,[K,_]=$e([]),S=T.find(R=>!K.includes(R))??null,[O,M]=$e(null),k=ja(()=>!z&&c&&e.icon_svg?Ua(e.icon_svg):null,[z,c,e.icon_svg]),q=m?Ga(e.item_count):null,F=Ya(void 0);Va(()=>()=>clearTimeout(F.current),[]);let H=()=>{a||!e.is_tappable||x||(I(!0),t(e),clearTimeout(F.current),F.current=setTimeout(()=>I(!1),170))},Z=[W.item,n&&!a?W.highlighted:"",e.is_tappable?W.tappable:W.nonTappable,x?W.pressed:"",y?W.scrollHint:""].filter(Boolean).join(" ");return ke("div",{id:r,role:"option","data-aia-option":"","data-aia-loading":a?"":void 0,"data-aia-icon":k&&e.icon?e.icon:void 0,"data-aia-image":z?"":void 0,"data-aia-item-count":q!==null?e.item_count:void 0,"aria-selected":n,className:Z,style:{[_a]:`${f}ms`},tabIndex:a||!e.is_tappable?-1:0,onClick:H,onKeyDown:R=>{!a&&e.is_tappable&&(R.key==="Enter"||R.key===" ")&&(R.preventDefault(),H())},onMouseEnter:!a&&e.is_tappable?i:void 0,onMouseLeave:o,children:ct("span",{className:W.content,children:[z&&ke("span",{className:`${W.image} magicx-aia-option-image`,"aria-hidden":"true","data-aia-image-loaded":S!==null&&O===S?"":void 0,children:ke("img",{src:S??z,alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",draggable:!1,hidden:S===null,onLoad:()=>M(S),onError:()=>{S!==null&&_(R=>[...R,S])}})}),k&&ke("span",{className:`${W.icon} magicx-aia-option-icon`,"aria-hidden":"true",dangerouslySetInnerHTML:{__html:k}}),ct("span",{className:W.text,children:[e.matchedText?Wa(Dt(e),e.matchedText).map((R,U)=>R.bold?ke("strong",{className:`${W.match} magicx-aia-option-match`,children:R.text},U):R.text):Dt(e),e.parameterLabel&&ct(Qa,{children:[" ",ke("span",{className:`${W.parameter} magicx-aia-option-parameter`,children:e.parameterLabel})]})]}),e.tag&&ke("span",{className:W.tag,children:e.tag}),q!==null&&ke("span",{className:`${W.count} magicx-aia-option-count`,children:q})]})})}import{jsx as Nt}from"react/jsx-runtime";function ni(){let[e,n]=Ft(Za);return ii(()=>{if(typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia(Ja),i=()=>n(t.matches);return i(),t.addEventListener("change",i),()=>t.removeEventListener("change",i)},[]),e}function Ht({options:e,activeIndex:n,onSelect:t,onHighlight:i,onUnhighlight:o,listboxId:r,loading:a,groupKey:c="",optionsPosition:s="below",showIcons:m=!0,showImages:y=!0,showCounts:P=!0}){let f=ni(),x=Mt(null),[I,T]=Ft(null),z=Mt(null);oi(()=>{if(a&&ai(z.current,e))return;z.current=a?null:e;let S=x.current,M=S&&!a&&Xa(e.length,f)?$a(S):null;T(M?zt(e.length,f,M.rowWidths,M.gridWidth):null)},[e,f,a]);let K=I??zt(e.length,f,null,null),_=ti(e,m,y);return Nt(Ot,{min:"250px",max:"1fr",gap:"0",scroll:!0,scrollResetKey:c,template:K.template,maxHeight:K.maxHeight,innerRef:S=>{x.current=S},"data-aia-group":c,children:e.map((S,O)=>Nt(Lt,{option:S,isHighlighted:O===n,onSelect:t,onHighlight:()=>i(O),onUnhighlight:o?()=>o(O):void 0,id:`${r}-option-${O}`,loading:a,showIcon:m&&_,showImage:y&&_,showCount:P,scrollHint:!a&&K.scrollHintIndices.includes(O),enterDelayMs:a?0:ei(O,K.cols,e.length,s)},`${c}\0${S.text}`))})}if(typeof document<"u"&&!document.getElementById("ac-style-8414cd5f")){let e=document.createElement("style");e.id="ac-style-8414cd5f",e.textContent=`.aia-stack {
|
|
2473
2473
|
display: flex;
|
|
2474
2474
|
flex-direction: column;
|
|
2475
2475
|
gap: var(--aia-stack-space, 0.5rem);
|
|
@@ -2484,7 +2484,7 @@ import{buildSubmitResult as Nn,cellDay as Fn,cellIso as Hn,DATE_RANGE_META_END a
|
|
|
2484
2484
|
align-items: end;
|
|
2485
2485
|
}
|
|
2486
2486
|
/* data-align="stretch" is the flex default \u2014 no rule needed. */
|
|
2487
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
2487
|
+
`,document.head.appendChild(e)}import{jsx as ri}from"react/jsx-runtime";function Bt({space:e,align:n="stretch",className:t,children:i,...o}){let r=e?{"--aia-stack-space":e}:void 0;return ri("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":n,style:r,...o,children:i})}import{jsx as Q,jsxs as pt}from"react/jsx-runtime";var gi=[159,119,164],fi=()=>{},Kt=()=>{};function bi(e){let n=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[t,i]=mi(n);if(Le(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let o=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>i(o.matches);return o.addEventListener("change",r),()=>o.removeEventListener("change",r)},[e]),e!==void 0)return e==="auto"?t?"dark":"light":e}function wi(e,n){let t=De(null);Le(()=>{let i=e.current,o=n.current;if(!i||!o)return;let r=i.querySelector(".aia-grid[data-scroll]");if(t.current&&t.current.grid!==r&&(t.current.controller.destroy(),t.current=null),r&&!t.current){t.current={grid:r,controller:si({dropdown:i,grid:r,button:o})};return}t.current?.controller.update()}),Le(()=>()=>{t.current?.controller.destroy(),t.current=null},[])}function vi(e,n){let t=De(n);t.current=n;let i=De(null);Le(()=>{let o=e.current;if(o){if(!i.current){i.current=li({dropdown:o,isOpen:()=>t.current});return}i.current.update()}}),Le(()=>()=>{i.current?.destroy(),i.current=null},[])}function ht({suggestions:e,activeIndex:n,onSelect:t,onHighlight:i,onUnhighlight:o,isOpen:r,id:a,className:c,pills:s,onPillClick:m,showPills:y=!0,onSkip:P,showSkipButton:f=!0,showOptionIcons:x=!0,showOptionImages:I=!0,showOptionCounts:T=!0,skipDisabled:z=!1,activeSelected:K=!1,isLoading:_=!1,skeletonExiting:S=!1,isInputEmpty:O=!1,language:M,products:k,onProductSelect:q,onProductFocusChange:F,productsLayout:H="row",productImageFallback:Z="image",formatType:R="options",dateView:U=null,selectedDateIso:ie=null,selectedDateRange:ue=null,dateRangeStart:Ce=null,onPreviousMonth:me,onNextMonth:u,optionsPosition:ge="below",mode:fe}){let oe=bi(fe),be=oe!==void 0,j=De(null),ne=De(null);wi(j,ne),Le(()=>{if(j.current)return di(j.current)},[]);let l=e[0]?.options??[],g=!!(s&&s.length>0&&m),b=!!(k&&k.length>0),w=r&&(l.length>0||y&&g||_||b);vi(j,w);let C={suggestions:e,activeIndex:n,pills:s,showPills:y,showSkipButton:f,showOptionIcons:x,showOptionImages:I,showOptionCounts:T,skipDisabled:z,activeSelected:K,isLoading:_,skeletonExiting:S,isInputEmpty:O,products:k,formatType:R,dateView:U,selectedDateIso:ie,selectedDateRange:ue,dateRangeStart:Ce},L=De(C);w&&(L.current=C);let p=w?C:L.current,N=ui(M),$=p.suggestions[0],re=$?.options??[],se=p.activeIndex>=0&&!!re[p.activeIndex]?.is_tappable,J=hi(p.pills??[],N.keepTyping),we=!!(J.length>0&&m),le=p.showPills&&we,ve=p.showPills&&!we&&p.isLoading,de=le||ve,v=we&&ci(J)&&p.showSkipButton&&!p.isInputEmpty&&!!P,Ee=J[0]?.text,Ae=pi(p.formatType)&&p.dateView!=null,xe=re.length>0&&!Ae,h=re.length>0&&Ae&&!p.isLoading,Se=p.isLoading&&!xe&&!h,Pe=p.products??[];return pt("div",{ref:j,id:a,role:"listbox","data-aia-dropdown":"","data-options-position":ge,"data-mode":oe,"data-aia-loading":p.isLoading?"":void 0,"data-aia-skeleton-exiting":p.skeletonExiting?"":void 0,"data-aia-has-products":Pe.length>0?"":void 0,className:`${be?"magicx-aia ":""}${ce.dropdown} ${w?ce.visible:""} ${c??""}`,onMouseDown:ee=>ee.preventDefault(),children:[pt(Bt,{space:"8px",children:[(de||v)&&pt(Ke,{noWrap:!0,className:ce.pillBar,"data-aia-pillbar":"",children:[de&&Q("span",{className:ce.pillScroll,"data-aia-pill-scroll":"",children:Q(Qe,{pills:J,activePillIndex:0,activeSelected:p.activeSelected,onSelectPill:m??(()=>{}),rounded:!0,loading:p.isLoading})}),v&&Q("button",{type:"button",tabIndex:-1,className:ce.skip,"data-aia-skip":"",disabled:p.isLoading||p.skipDisabled,"aria-label":Ee?`${N.skipLabel} ${Ee}`:N.skipLabel,onClick:P,children:N.skip})]}),xe&&Q(Ht,{options:re,activeIndex:p.activeIndex,onSelect:t,onHighlight:i,onUnhighlight:o,listboxId:a,loading:p.isLoading,groupKey:$?`${$.parameter} ${$.text}`:"",optionsPosition:ge,showIcons:p.showOptionIcons,showImages:p.showOptionImages,showCounts:p.showOptionCounts}),h&&p.dateView&&Q(St,{options:re,activeIndex:p.activeIndex,listboxId:a,view:p.dateView,selection:{selectedIso:p.selectedDateIso??null,selectedRange:p.selectedDateRange??null,rangeStart:p.dateRangeStart??null},onSelect:t,onHighlight:i,onUnhighlight:o,onPreviousMonth:me??Kt,onNextMonth:u??Kt}),Se&&Q("div",{className:ce.skeletonBars,"data-aia-skeleton-bars":"",children:gi.map(ee=>Q("span",{className:ce.skeletonBar,style:{width:ee}},`bar-${ee}`))}),Q(Rt,{products:Pe,listboxId:a,onSelect:q??fi,onFocusChange:F,focusable:w,layout:H,imageFallback:Z,strings:N}),Q(It,{isOptionHighlighted:se,isInputEmpty:p.isInputEmpty,strings:N})]}),Q("button",{ref:ne,type:"button",tabIndex:-1,className:ce.scrollArrow,"data-aia-scroll-arrow":"","aria-label":N.scrollArrow,"aria-hidden":"true",children:Q("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:Q("path",{d:"M4 6.5 8 10.5l4-4"})})})]})}import{buildSubmitResult as zi,ModeController as Mi,setCursorOffset as Ni,uiStringsFor as Fi}from"@magicx-eng/ai-autocomplete-vanilla";import{uiStringsFor as xi}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 {
|
|
2488
2488
|
flex-shrink: 0;
|
|
2489
2489
|
width: 32px;
|
|
2490
2490
|
height: 32px;
|
|
@@ -2537,5 +2537,5 @@ import{buildSubmitResult as Nn,cellDay as Fn,cellIso as Hn,DATE_RANGE_META_END a
|
|
|
2537
2537
|
);
|
|
2538
2538
|
cursor: default;
|
|
2539
2539
|
}
|
|
2540
|
-
`,document.head.appendChild(e)}var _t={submitButton:"aia-submitButton-otz7H"};import{jsx as mt}from"react/jsx-runtime";function qt({disabled:e,onClick:n,label:t=yi().submit}){return mt("button",{type:"button","data-aia-submit":"",className:_t.submitButton,disabled:e,onClick:i=>{i.stopPropagation(),n()},"aria-label":t,children:mt("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":t,children:mt("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as ki,dateSelectionFor as Ci,identifiedParamLabel as Si,withoutTraditionalAutocomplete as Pi}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as Qt,useEffect as ze,useRef as B,useState as Ii}from"react";import{useRef as Ut}from"react";function Vt(e){let n=Ut(e);n.current=e;let t=Object.keys(e??{}).sort().join("\0"),i=Ut({key:"",overrides:void 0});if(i.current.key!==t){let o={};for(let r of Object.keys(e??{})){let a=(c,s,m)=>{let y=n.current?.[r];return y?y(c,s,m):[]};o[r]=a}i.current={key:t,overrides:e?o:void 0}}return{overrides:i.current.overrides,key:t}}import{useRef as jt}from"react";function Yt(e){let n=jt(e);n.current=e;let t=jt(null);t.current===null&&(t.current={fetch:(o,r)=>{let a=n.current;return a?a.fetch(o,r):Promise.reject(new Error("products config removed"))},transform:o=>n.current?.transform(o)??[],get limit(){return n.current?.limit}});let i=e!==void 0;return{config:i?t.current:void 0,enabled:i}}var Ti={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 gt({onSubmit:e,onResult:n,onError:t,optionOverrides:i,maskCompletedText:o,apiConfig:r,additionalContext:a,language:c,currency:s,productId:m,visitorId:y,columns:P=2,dropdownTrigger:f,optionsPosition:v,closeDropdownOnBlur:I,showNonTappableOptions:T,showOptionIcons:z,showOptionImages:K,showOptionCounts:W,showSkipButton:S,showProducts:O,productImageFallback:M="image",onFocus:k,onBlur:_,value:F,completedParams:H,onChange:Q,onParamsChange:E,products:q,mapProducts:oe,onProductSelect:pe,source:Pe,setCursor:he}){let u=B(null),[ue,me]=Ii(null),ne=B(e);ne.current=e;let ge=B(n);ge.current=n;let V=B(t);V.current=t;let re=B(Q);re.current=Q;let l=B(E);l.current=E;let g=B(k);g.current=k;let b=B(_);b.current=_;let w=B(he);w.current=he;let C=B(pe);C.current=pe;let L=B(y);L.current=y;let p=B(()=>{let d=L.current;return typeof d=="function"?d():d}).current,N=Yt(q),Z=B(oe);Z.current=oe;let $=B((d,U)=>{let A=Z.current;return A?A(d,U):d}).current,fe=oe?$:void 0,X=Vt(i);ze(()=>{if(typeof document>"u")return;let d=new ki(document.createElement("div"),{renderMode:"headless",apiConfig:r,additionalContext:a,language:c,currency:s,productId:m,visitorId:p,optionOverrides:X.overrides,maskCompletedText:o,columns:P,dropdownTrigger:f,optionsPosition:v,closeDropdownOnBlur:I,showNonTappableOptions:T,showProducts:O,source:Pe,value:F,completedParams:H,onSubmit:(...A)=>ne.current?.(...A),onResult:(...A)=>ge.current?.(...A),onError:(...A)=>V.current?.(...A),onChange:(...A)=>re.current?.(...A),onParamsChange:(...A)=>l.current?.(...A),onFocus:()=>g.current?.(),onBlur:()=>b.current?.(),onProductSelect:A=>C.current?.(A),setCursor:A=>w.current?.(A),products:N.config,mapProducts:fe});u.current=d,me(d.getState());let U=d.subscribe(A=>me(A));return()=>{U(),d.destroy(),u.current===d&&(u.current=null)}},[]),ze(()=>{F!==void 0&&u.current?.setValue(F)},[F]),ze(()=>{H!==void 0&&u.current?.setCompletedParams(H)},[H]);let be=JSON.stringify(r??null),we;try{we=JSON.stringify(a??null)}catch{we="[unstringifiable]"}ze(()=>{u.current?.update({apiConfig:r,additionalContext:a,language:c,currency:s,productId:m,optionOverrides:X.overrides,dropdownTrigger:f,optionsPosition:v,closeDropdownOnBlur:I,showNonTappableOptions:T,showProducts:O})},[be,we,c,s?.code,s?.rate,s?.country,m,X.key,f,v,I,T,O]);let ve=B(!1);ze(()=>{if(!ve.current){ve.current=!0;return}u.current?.update({products:N.config})},[N.enabled]),ze(()=>{u.current?.update({mapProducts:fe})},[fe]);let xe=B(null);xe.current===null&&(xe.current={handleTextChange:d=>u.current?.handleTextChange(d),handleKeyDown:d=>{let U="nativeEvent"in d?d.nativeEvent:d;u.current?.handleKeyDown(U)},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=xe.current,ye=Qt(d=>{let U=d.target.value,ot=U.length>0&&!d.nativeEvent?.isComposing&&U[0]!==U[0].toUpperCase()?U[0].toUpperCase()+U.slice(1):U;u.current?.handleTextChange(ot)},[]),ke=Qt(d=>{u.current?.handleKeyDown(d.nativeEvent)},[]),se=u.current,h=ue??Ti,Ae=F!==void 0?F:h.text,Re=H!==void 0?H:h.completedParams,ee=h.actionableSuggestions,Fe=ee[0],qe=Pi(ee),Ie=se?.listboxId??"",at=h.activeDropdownIndex>=0&&se?`${Ie}-option-${h.activeDropdownIndex}`:void 0,Ce=h.editingParam,Te=h.editingIdentified,He=Ce?{parameter:Ce.suggestionParameter,text:Ce.suggestionPlaceholder,required:!0,options:Ce.options}:Te?{parameter:Te.parameter,text:Si(Te.parameter),required:!0,options:[]}:null,Ue=h.dropdownSuggestion??He??Fe,it=He?[He]:ee,Be=Ci(h),Ve=!se||h.dropdownLoading;return{completedParams:Re,skippedParams:h.skippedParams,identifiedParams:h.identifiedParams,suggestionPills:qe,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:Ve,isFocused:h.isFocused,isDropdownOpen:h.isDropdownOpen,isActivePillSelected:h.isActivePillSelected,placeholderText:h.placeholderText,listboxId:Ie,error:h.error,products:h.products,customFields:h.customFields,selectProduct:x.selectProduct,handleTextChange:x.handleTextChange,handleKeyDown:x.handleKeyDown,setFocused:x.setFocused,editingParam:Ce,editingIdentified:Te,editingAnchor:h.editingAnchor,caretOffset:h.caretOffset,startEditingParam:x.startEditingParam,exitEditMode:x.exitEditMode,handleCaretAfterInput:x.handleCaretAfterInput,handleCaretMove:x.handleCaretMove,replaceEditingRange:x.replaceEditingRange,inputProps:{value:Ae,placeholder:h.placeholderText||void 0,onChange:ye,onKeyDown:ke,onFocus:x.handleFocus,onBlur:x.handleBlur,role:"combobox","aria-expanded":h.isDropdownOpen,"aria-activedescendant":at,"aria-autocomplete":"list","aria-controls":Ie},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:Ie,pills:it,activeSelected:h.isActivePillSelected,onPillClick:x.setActivePill,onSkip:x.skipActivePill,showSkipButton:(S??!0)&&!Ce&&!Te,showOptionIcons:z??!0,showOptionImages:K??!0,showOptionCounts:W??!0,skipDisabled:h.inSelectionAnimation,isLoading:Ve,skeletonExiting:h.skeletonExiting,isInputEmpty:Ae.trim().length===0,language:c,products:h.products,productImageFallback:M,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:v??"below"}}}import{chipIdFromTap as Ei,extractPlainText as Zt,getCursorOffset as $t,keepCaretOnChip as Ai,plainTextLength as Ri,renderEditableContent as Oi,setCursorOffset as Xt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as J,useEffect as et,useLayoutEffect as ft,useRef as Me}from"react";var tt;function Di(){if(tt!==void 0)return tt;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),tt=e.contentEditable==="plaintext-only",tt}function Jt(e){let{segments:n,showChipIcons:t=!0,showChipImages:i=!0,newParamId:o,editingParam:r,editingIdentified:a,editingAnchor:c,caretOffset:s,placeholderText:m,isFocused:y,isDropdownOpen:P,listboxId:f,activeDescendantId:v,autoFocus:I,handleTextChange:T,handleKeyDown:z,handleCaretAfterInput:K,handleCaretMove:W,startEditingParam:S,replaceEditingRange:O,setFocused:M}=e,k=Me(null),_=Me(!1),F=Me(""),H=Me(""),Q=Me(null),E=Me(0);Q.current=s,et(()=>{if(!I)return;let l=k.current;if(!l)return;document.activeElement===l?M(!0):l.focus();let g=l.ownerDocument??document,b=g.getSelection(),w=b&&b.rangeCount>0&&l.contains(b.anchorNode);if(b&&!w){let C=g.createRange();C.selectNodeContents(l),C.collapse(!0),b.removeAllRanges(),b.addRange(C)}},[I,M]),et(()=>{let l=k.current;if(!l)return;let g=l.ownerDocument??document,b=()=>{let w=g.getSelection();if(!w||w.rangeCount===0||!w.anchorNode||!l.contains(w.anchorNode))return;let C=w.anchorNode,L=C.nodeType===Node.ELEMENT_NODE?C:C.parentElement,N=(w.isCollapsed?L?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,Z=r?.id??a?.id??null;if(N&&N!==Z){S(N);return}performance.now()-E.current<50||W($t(l))};return g.addEventListener("selectionchange",b),()=>g.removeEventListener("selectionchange",b)},[r,a,S,W]),et(()=>{let l=k.current;if(!l)return;let g=b=>{let w=Ei(l,b.target);w&&(S(w),Ai(l,w))};return l.addEventListener("click",g),()=>l.removeEventListener("click",g)},[S]),ft(()=>{let l=k.current;l&&Oi({input:l,segments:n,newParamId:o,editingParamId:r?.id??null,placeholderText:m??"",isFocused:y,showChipIcons:t,showChipImages:i})},[n,o,r,m,y,t,i]),ft(()=>{let l=F.current,g=o??"";if(F.current=g,!g||g===l)return;let b=k.current;if(!b)return;b.focus();let w=Q.current??Ri(b);Xt(b,w)},[o]),ft(()=>{let l=H.current,g=r?.id??"";if(H.current=g,!g||g===l||c==null)return;let b=k.current;b&&Xt(b,c)},[r,c]);let q=J(()=>{if(_.current)return;let l=k.current;if(!l)return;let g=Zt(l),w=g.length>0&&g[0]!==g[0].toUpperCase()?g[0].toUpperCase()+g.slice(1):g;T(w)},[T]),oe=J(()=>{E.current=performance.now(),q();let l=k.current;l&&K($t(l))},[q,K]);et(()=>{let l=k.current;if(!l)return;let g=b=>{let w=b,C=w.inputType;if(C==="insertParagraph"||C==="insertLineBreak"||C==="insertFromDrop"){b.preventDefault();return}if(C.startsWith("insert")||C.startsWith("delete")){let L=C.startsWith("delete")?"":w.data??"";O(L)&&b.preventDefault()}};return l.addEventListener("beforeinput",g),()=>l.removeEventListener("beforeinput",g)},[O]);let pe=J(()=>{_.current=!0,k.current?.setAttribute("data-aia-composing","true")},[]),Pe=J(()=>{_.current=!1,k.current?.removeAttribute("data-aia-composing"),q()},[q]),he=J(l=>{l.preventDefault();let g=k.current;if(!g)return;let b=(l.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!b)return;let w=g.ownerDocument??document,C=w.getSelection();if(!C||C.rangeCount===0)return;let L=C.getRangeAt(0);if(!g.contains(L.startContainer))return;L.deleteContents();let p=w.createTextNode(b);L.insertNode(p),L.setStartAfter(p),L.collapse(!0),C.removeAllRanges(),C.addRange(L),q()},[q]),u=J(l=>z(l),[z]),ue=J(()=>M(!0),[M]),me=J(()=>M(!1),[M]),ne=J(()=>k.current?.focus(),[]),ge=J(()=>k.current?.blur(),[]),V=J(()=>{let l=k.current;return l?Zt(l):""},[]),re=Di()?"plaintext-only":"true";return{inputRef:k,editorProps:{ref:k,contentEditable:re,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":f,"aria-expanded":P,"aria-activedescendant":v,spellCheck:!0,enterKeyHint:"send",onInput:oe,onKeyDown:u,onCompositionStart:pe,onCompositionEnd:Pe,onPaste:he,onFocus:ue,onBlur:me},getPlainText:V,focus:ne,blur:ge}}import{jsx as Ne,jsxs as wt}from"react/jsx-runtime";function Ki(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Gi=Li(function({onSubmit:n,onResult:t,onError:i,optionOverrides:o,maskCompletedText:r,className:a,apiConfig:c,additionalContext:s,language:m,currency:y,productId:P,visitorId:f,columns:v,pillPlacement:I="dropdown",mode:T="auto",optionsPosition:z="below",animations:K=!0,dropdownTrigger:W,closeDropdownOnBlur:S,showNonTappableOptions:O,showOptionIcons:M=!0,showChipIcons:k=!0,showChipImages:_=!0,showOptionImages:F=!0,showOptionCounts:H=!0,showSkipButton:Q,showProducts:E,productsLayout:q,productImageFallback:oe,autoFocus:pe=!0,onFocus:Pe,onBlur:he,value:u,completedParams:ue,onChange:me,onParamsChange:ne,products:ge,mapProducts:V,onProductSelect:re,submitButton:l,resetOnSubmit:g=!0},b){let w=_e(null),C=_e(null),L=_e(()=>{}),p=_e(null),N=_e(null);ea(()=>{let R=w.current;if(R)return p.current?p.current.setMode(T):p.current=new Fi(R,T),()=>{p.current?.destroy(),p.current=null}},[T]);let Z=bt(R=>{let te=N.current?.current;te&&(te.focus(),Hi(te,R))},[]),{completedParams:$,skippedParams:fe,identifiedParams:X,isReady:be,customFields:we,suggestionPills:ve,setActivePill:xe,skipActivePill:x,segments:ye,newParamId:ke,clearNewParamId:se,placeholderText:h,isFocused:Ae,isDropdownOpen:Re,isActivePillSelected:ee,isLoading:Fe,activeIndex:qe,listboxId:Ie,handleTextChange:at,handleKeyDown:Ce,setFocused:Te,editingParam:He,editingIdentified:Ue,editingAnchor:it,caretOffset:Be,startEditingParam:Ve,handleCaretAfterInput:d,handleCaretMove:U,replaceEditingRange:A,dropdownProps:ot,reset:je,refreshProducts:vt,recordSubmit:xt}=gt({onSubmit:R=>L.current(R),onResult:t,onError:i,optionOverrides:o,maskCompletedText:r,apiConfig:c,additionalContext:s,language:m,currency:y,productId:P,visitorId:f,columns:v,dropdownTrigger:W,optionsPosition:z,closeDropdownOnBlur:S,showNonTappableOptions:O,showOptionIcons:M,showOptionImages:F,showOptionCounts:H,showSkipButton:Q,showProducts:E,onFocus:Pe,onBlur:he,value:u,completedParams:ue,onChange:me,onParamsChange:ne,products:ge,mapProducts:V,onProductSelect:re,source:"full-sdk",setCursor:Z});ea(()=>{if(!ke)return;let R=window.setTimeout(()=>se(),650);return()=>window.clearTimeout(R)},[ke,se]);let ta=qe>=0?`${Ie}-option-${qe}`:void 0,{inputRef:nt,editorProps:aa,focus:Ye,blur:yt,getPlainText:kt}=Jt({segments:ye,newParamId:ke,editingParam:He,editingIdentified:Ue,editingAnchor:it,caretOffset:Be,placeholderText:h,isFocused:Ae,showChipIcons:k,showChipImages:_,isDropdownOpen:Re,listboxId:Ie,activeDescendantId:ta,autoFocus:pe,handleTextChange:at,handleKeyDown:Ce,handleCaretAfterInput:d,handleCaretMove:U,startEditingParam:Ve,replaceEditingRange:A,setFocused:Te});N.current=nt,Mi(()=>{let R=C.current,te=nt.current;if(!R||!te)return;let Ke=()=>{let St=R.firstElementChild;if(!St)return;let ra=St.getBoundingClientRect(),sa=te.getBoundingClientRect();ra.top>=sa.bottom-2?R.setAttribute("data-aia-pill-wrapped",""):R.removeAttribute("data-aia-pill-wrapped")};Ke();let Ct=new ResizeObserver(Ke);return Ct.observe(te),()=>Ct.disconnect()},[ye,ve.length,Fe,nt]),zi(b,()=>({focus:Ye,blur:yt,reset:je,refreshProducts:vt,setMode:R=>p.current?.setMode(R),skipActivePill:x}),[Ye,yt,je,vt,x]);let Qe=!!ye.length||$.length>0,rt=bt(R=>{if(!Qe)return;let te=kt(),Ke=Ni(te,$,fe,{identifiedParams:X,isReady:be,customFields:we});R&&xt(Ke),n(Ke),g&&je()},[xt,g,Qe,$,fe,X,be,we,n,je,kt]);L.current=()=>rt(!1);let ia=bt(R=>{R.target?.closest("[data-aia-pill]")||Ye()},[Ye]),oa=I==="inline",na=I==="dropdown";return wt("div",{ref:w,className:`magicx-aia ${Ee.container} ${a??""}`,"data-pill-placement":I,"data-options-position":z,"data-animations":K?"on":"off","data-mode":Ki(T),children:[Ne(ut,{...ot,showPills:na,productsLayout:q,productImageFallback:oe}),wt("div",{className:Ee.inputWrapper,"data-aia-input-wrapper":"",onClick:ia,children:[wt("div",{className:Ee.editorArea,"data-aia-editor":"",children:[Ne("div",{...aa,className:Ee.input,"data-aia-input":""}),oa&&(Fe||ve.length>0)&&Ne("span",{ref:C,className:Ee.pillListContainer,"data-aia-pill-list-container":"",children:Ne($e,{pills:ve,activePillIndex:0,activeSelected:ee,onSelectPill:xe,loading:Fe})})]}),l===null?null:l===void 0?Ne(qt,{disabled:!Qe,onClick:()=>rt(!0),label:Bi(m).submit}):Ne("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:Ee.submitSlot,onClick:R=>{Qe&&(R.stopPropagation(),rt(!0))},children:l})]})]})});export{Gi as AIAutocomplete,ut as AIAutocompleteDropdown,Bn as DATE_RANGE_META_END,Kn as DATE_RANGE_META_START,Gn as DEFAULT_OPTION_COUNT_UNIT,er as PRODUCT_PATH_PREFIX,cr as WEEKDAY_LABELS,Nn as buildSubmitResult,Fn as cellDay,Hn as cellIso,Wn as dateCellMarks,_n as formatDate,qn as formatDateRange,Un as formatOptionCount,Vn as isoDate,jn as monthLabel,Yn as optionCountLabel,Qn as optionHasImage,Zn as optionImageSources,$n as optionImageSrc,Xn as optionLabel,Jn as optionsShowLeadingVisuals,tr as parseDate,ar as parseLooseDate,ir as parseLooseDateRange,or as productFromMatchedItem,nr as productImageSources,rr as productsFromCustomFields,sr as sanitizeOptionIconSvg,lr as selectedRangeFor,gt as useAIAutocomplete,dr as visibleDateRange,pr as withSkippedParams};
|
|
2540
|
+
`,document.head.appendChild(e)}var Gt={submitButton:"aia-submitButton-otz7H"};import{jsx as ut}from"react/jsx-runtime";function Wt({disabled:e,onClick:n,label:t=xi().submit}){return ut("button",{type:"button","data-aia-submit":"",className:Gt.submitButton,disabled:e,onClick:i=>{i.stopPropagation(),n()},"aria-label":t,children:ut("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":t,children:ut("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as yi,dateSelectionFor as ki,identifiedParamLabel as Ci,withoutTraditionalAutocomplete as Si}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as jt,useEffect as ze,useRef as B,useState as Pi}from"react";import{useRef as _t}from"react";function qt(e){let n=_t(e);n.current=e;let t=Object.keys(e??{}).sort().join("\0"),i=_t({key:"",overrides:void 0});if(i.current.key!==t){let o={};for(let r of Object.keys(e??{})){let a=(c,s,m)=>{let y=n.current?.[r];return y?y(c,s,m):[]};o[r]=a}i.current={key:t,overrides:e?o:void 0}}return{overrides:i.current.overrides,key:t}}import{useRef as Ut}from"react";function Vt(e){let n=Ut(e);n.current=e;let t=Ut(null);t.current===null&&(t.current={fetch:(o,r)=>{let a=n.current;return a?a.fetch(o,r):Promise.reject(new Error("products config removed"))},transform:o=>n.current?.transform(o)??[],get limit(){return n.current?.limit}});let i=e!==void 0;return{config:i?t.current:void 0,enabled:i}}var Yt={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 mt({onSubmit:e,onResult:n,onError:t,optionOverrides:i,maskCompletedText:o,apiConfig:r,additionalContext:a,language:c,currency:s,productId:m,visitorId:y,columns:P=2,dropdownTrigger:f,optionsPosition:x,closeDropdownOnBlur:I,showNonTappableOptions:T,showOptionIcons:z,showOptionImages:K,showOptionCounts:_,showSkipButton:S,showProducts:O,productImageFallback:M="image",onFocus:k,onBlur:q,value:F,completedParams:H,onChange:Z,onParamsChange:R,products:U,mapProducts:ie,onProductSelect:ue,source:Ce,setCursor:me}){let u=B(null),[ge,fe]=Pi(null),oe=B(e);oe.current=e;let be=B(n);be.current=n;let j=B(t);j.current=t;let ne=B(Z);ne.current=Z;let l=B(R);l.current=R;let g=B(k);g.current=k;let b=B(q);b.current=q;let w=B(me);w.current=me;let C=B(ue);C.current=ue;let L=B(y);L.current=y;let p=B(()=>{let d=L.current;return typeof d=="function"?d():d}).current,N=Vt(U),$=B(ie);$.current=ie;let re=B((d,G)=>{let E=$.current;return E?E(d,G):d}).current,se=ie?re:void 0,J=qt(i);ze(()=>{if(typeof document>"u")return;let d=new yi(document.createElement("div"),{renderMode:"headless",apiConfig:r,additionalContext:a,language:c,currency:s,productId:m,visitorId:p,optionOverrides:J.overrides,maskCompletedText:o,columns:P,dropdownTrigger:f,optionsPosition:x,closeDropdownOnBlur:I,showNonTappableOptions:T,showProducts:O,source:Ce,value:F,completedParams:H,onSubmit:(...E)=>oe.current?.(...E),onResult:(...E)=>be.current?.(...E),onError:(...E)=>j.current?.(...E),onChange:(...E)=>ne.current?.(...E),onParamsChange:(...E)=>l.current?.(...E),onFocus:()=>g.current?.(),onBlur:()=>b.current?.(),onProductSelect:E=>C.current?.(E),setCursor:E=>w.current?.(E),products:N.config,mapProducts:se});u.current=d,fe(d.getState());let G=d.subscribe(E=>fe(E));return()=>{G(),d.destroy(),u.current===d&&(u.current=null)}},[]),ze(()=>{F!==void 0&&u.current?.setValue(F)},[F]),ze(()=>{H!==void 0&&u.current?.setCompletedParams(H)},[H]);let we=JSON.stringify(r??null),le;try{le=JSON.stringify(a??null)}catch{le="[unstringifiable]"}ze(()=>{u.current?.update({apiConfig:r,additionalContext:a,language:c,currency:s,productId:m,optionOverrides:J.overrides,dropdownTrigger:f,optionsPosition:x,closeDropdownOnBlur:I,showNonTappableOptions:T,showProducts:O})},[we,le,c,s?.code,s?.rate,s?.country,m,J.key,f,x,I,T,O]);let ve=B(!1);ze(()=>{if(!ve.current){ve.current=!0;return}u.current?.update({products:N.config})},[N.enabled]),ze(()=>{u.current?.update({mapProducts:se})},[se]);let de=B(null);de.current===null&&(de.current={handleTextChange:d=>u.current?.handleTextChange(d),handleKeyDown:d=>{let G="nativeEvent"in d?d.nativeEvent:d;u.current?.handleKeyDown(G)},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(),prepareSubmit:()=>u.current?.prepareSubmit(),getState:()=>u.current?.getState()??Yt,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 v=de.current,Ee=jt(d=>{let G=d.target.value,Ue=G.length>0&&!d.nativeEvent?.isComposing&&G[0]!==G[0].toUpperCase()?G[0].toUpperCase()+G.slice(1):G;u.current?.handleTextChange(Ue)},[]),Ae=jt(d=>{u.current?.handleKeyDown(d.nativeEvent)},[]),xe=u.current,h=ge??Yt,Se=F!==void 0?F:h.text,Pe=H!==void 0?H:h.completedParams,ee=h.actionableSuggestions,et=ee[0],tt=Si(ee),Re=xe?.listboxId??"",at=h.activeDropdownIndex>=0&&xe?`${Re}-option-${h.activeDropdownIndex}`:void 0,ye=h.editingParam,Ie=h.editingIdentified,Fe=ye?{parameter:ye.suggestionParameter,text:ye.suggestionPlaceholder,required:!0,options:ye.options}:Ie?{parameter:Ie.parameter,text:Ci(Ie.parameter),required:!0,options:[]}:null,_e=h.dropdownSuggestion??Fe??et,it=Fe?[Fe]:ee,He=ki(h),qe=!xe||h.dropdownLoading;return{completedParams:Pe,skippedParams:h.skippedParams,identifiedParams:h.identifiedParams,suggestionPills:tt,setActivePill:v.setActivePill,skipActivePill:v.skipActivePill,removeLastParam:v.removeLastParam,segments:h.segments,newParamId:h.newParamId,clearNewParamId:v.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:Re,error:h.error,products:h.products,customFields:h.customFields,selectProduct:v.selectProduct,handleTextChange:v.handleTextChange,handleKeyDown:v.handleKeyDown,setFocused:v.setFocused,editingParam:ye,editingIdentified:Ie,editingAnchor:h.editingAnchor,caretOffset:h.caretOffset,startEditingParam:v.startEditingParam,exitEditMode:v.exitEditMode,handleCaretAfterInput:v.handleCaretAfterInput,handleCaretMove:v.handleCaretMove,replaceEditingRange:v.replaceEditingRange,inputProps:{value:Se,placeholder:h.placeholderText||void 0,onChange:Ee,onKeyDown:Ae,onFocus:v.handleFocus,onBlur:v.handleBlur,role:"combobox","aria-expanded":h.isDropdownOpen,"aria-activedescendant":at,"aria-autocomplete":"list","aria-controls":Re},reset:v.reset,refreshProducts:v.refreshProducts,prepareSubmit:v.prepareSubmit,getState:v.getState,recordSubmit:v.recordSubmit,dropdownProps:{suggestions:_e?[{..._e,options:h.dropdownOptions}]:[],activeIndex:h.activeDropdownIndex,onSelect:v.selectOption,onHighlight:v.setActiveDropdownIndex,onUnhighlight:v.clearHighlight,isOpen:h.isDropdownOpen,id:Re,pills:it,activeSelected:h.isActivePillSelected,onPillClick:v.setActivePill,onSkip:v.skipActivePill,showSkipButton:(S??!0)&&!ye&&!Ie,showOptionIcons:z??!0,showOptionImages:K??!0,showOptionCounts:_??!0,skipDisabled:h.inSelectionAnimation,isLoading:qe,skeletonExiting:h.skeletonExiting,isInputEmpty:Se.trim().length===0,language:c,products:h.products,productImageFallback:M,onProductSelect:v.selectProduct,onProductFocusChange:v.setFocused,formatType:h.activeFormatType,dateView:h.dateView,selectedDateIso:He.selectedIso,selectedDateRange:He.selectedRange,dateRangeStart:He.rangeStart,onPreviousMonth:v.showPreviousMonth,onNextMonth:v.showNextMonth,optionsPosition:x??"below"}}}import{chipIdFromTap as Ii,extractPlainText as Qt,getCursorOffset as Zt,keepCaretOnChip as Ti,plainTextLength as Ei,renderEditableContent as Ai,setCursorOffset as $t}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as X,useEffect as Xe,useLayoutEffect as gt,useRef as Me}from"react";var Je;function Ri(){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 Xt(e){let{segments:n,showChipIcons:t=!0,showChipImages:i=!0,newParamId:o,editingParam:r,editingIdentified:a,editingAnchor:c,caretOffset:s,placeholderText:m,isFocused:y,isDropdownOpen:P,listboxId:f,activeDescendantId:x,autoFocus:I,handleTextChange:T,handleKeyDown:z,handleCaretAfterInput:K,handleCaretMove:_,startEditingParam:S,replaceEditingRange:O,setFocused:M}=e,k=Me(null),q=Me(!1),F=Me(""),H=Me(""),Z=Me(null),R=Me(0);Z.current=s,Xe(()=>{if(!I)return;let l=k.current;if(!l)return;document.activeElement===l?M(!0):l.focus();let g=l.ownerDocument??document,b=g.getSelection(),w=b&&b.rangeCount>0&&l.contains(b.anchorNode);if(b&&!w){let C=g.createRange();C.selectNodeContents(l),C.collapse(!0),b.removeAllRanges(),b.addRange(C)}},[I,M]),Xe(()=>{let l=k.current;if(!l)return;let g=l.ownerDocument??document,b=()=>{let w=g.getSelection();if(!w||w.rangeCount===0||!w.anchorNode||!l.contains(w.anchorNode))return;let C=w.anchorNode,L=C.nodeType===Node.ELEMENT_NODE?C:C.parentElement,N=(w.isCollapsed?L?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,$=r?.id??a?.id??null;if(N&&N!==$){S(N);return}performance.now()-R.current<50||_(Zt(l))};return g.addEventListener("selectionchange",b),()=>g.removeEventListener("selectionchange",b)},[r,a,S,_]),Xe(()=>{let l=k.current;if(!l)return;let g=b=>{let w=Ii(l,b.target);w&&(S(w),Ti(l,w))};return l.addEventListener("click",g),()=>l.removeEventListener("click",g)},[S]),gt(()=>{let l=k.current;l&&Ai({input:l,segments:n,newParamId:o,editingParamId:r?.id??null,placeholderText:m??"",isFocused:y,showChipIcons:t,showChipImages:i})},[n,o,r,m,y,t,i]),gt(()=>{let l=F.current,g=o??"";if(F.current=g,!g||g===l)return;let b=k.current;if(!b)return;b.focus();let w=Z.current??Ei(b);$t(b,w)},[o]),gt(()=>{let l=H.current,g=r?.id??"";if(H.current=g,!g||g===l||c==null)return;let b=k.current;b&&$t(b,c)},[r,c]);let U=X(()=>{if(q.current)return;let l=k.current;if(!l)return;let g=Qt(l),w=g.length>0&&g[0]!==g[0].toUpperCase()?g[0].toUpperCase()+g.slice(1):g;T(w)},[T]),ie=X(()=>{R.current=performance.now(),U();let l=k.current;l&&K(Zt(l))},[U,K]);Xe(()=>{let l=k.current;if(!l)return;let g=b=>{let w=b,C=w.inputType;if(C==="insertParagraph"||C==="insertLineBreak"||C==="insertFromDrop"){b.preventDefault();return}if(C.startsWith("insert")||C.startsWith("delete")){let L=C.startsWith("delete")?"":w.data??"";O(L)&&b.preventDefault()}};return l.addEventListener("beforeinput",g),()=>l.removeEventListener("beforeinput",g)},[O]);let ue=X(()=>{q.current=!0,k.current?.setAttribute("data-aia-composing","true")},[]),Ce=X(()=>{q.current=!1,k.current?.removeAttribute("data-aia-composing"),U()},[U]),me=X(l=>{l.preventDefault();let g=k.current;if(!g)return;let b=(l.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!b)return;let w=g.ownerDocument??document,C=w.getSelection();if(!C||C.rangeCount===0)return;let L=C.getRangeAt(0);if(!g.contains(L.startContainer))return;L.deleteContents();let p=w.createTextNode(b);L.insertNode(p),L.setStartAfter(p),L.collapse(!0),C.removeAllRanges(),C.addRange(L),U()},[U]),u=X(l=>z(l),[z]),ge=X(()=>M(!0),[M]),fe=X(()=>M(!1),[M]),oe=X(()=>k.current?.focus(),[]),be=X(()=>k.current?.blur(),[]),j=X(()=>{let l=k.current;return l?Qt(l):""},[]),ne=Ri()?"plaintext-only":"true";return{inputRef:k,editorProps:{ref:k,contentEditable:ne,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":f,"aria-expanded":P,"aria-activedescendant":x,spellCheck:!0,enterKeyHint:"send",onInput:ie,onKeyDown:u,onCompositionStart:ue,onCompositionEnd:Ce,onPaste:me,onFocus:ge,onBlur:fe},getPlainText:j,focus:oe,blur:be}}import{jsx as Ne,jsxs as bt}from"react/jsx-runtime";function Hi(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Bi=Oi(function({onSubmit:n,onResult:t,onError:i,optionOverrides:o,maskCompletedText:r,className:a,apiConfig:c,additionalContext:s,language:m,currency:y,productId:P,visitorId:f,columns:x,pillPlacement:I="dropdown",mode:T="auto",optionsPosition:z="below",animations:K=!0,dropdownTrigger:_,closeDropdownOnBlur:S,showNonTappableOptions:O,showOptionIcons:M=!0,showChipIcons:k=!0,showChipImages:q=!0,showOptionImages:F=!0,showOptionCounts:H=!0,showSkipButton:Z,showProducts:R,productsLayout:U,productImageFallback:ie,autoFocus:ue=!0,onFocus:Ce,onBlur:me,value:u,completedParams:ge,onChange:fe,onParamsChange:oe,products:be,mapProducts:j,onProductSelect:ne,submitButton:l,resetOnSubmit:g=!0},b){let w=We(null),C=We(null),L=We(()=>{}),p=We(null),N=We(null);Jt(()=>{let A=w.current;if(A)return p.current?p.current.setMode(T):p.current=new Mi(A,T),()=>{p.current?.destroy(),p.current=null}},[T]);let $=ft(A=>{let V=N.current?.current;V&&(V.focus(),Ni(V,A))},[]),{completedParams:re,suggestionPills:se,setActivePill:J,skipActivePill:we,segments:le,newParamId:ve,clearNewParamId:de,placeholderText:v,isFocused:Ee,isDropdownOpen:Ae,isActivePillSelected:xe,isLoading:h,activeIndex:Se,listboxId:Pe,handleTextChange:ee,handleKeyDown:et,setFocused:tt,editingParam:Re,editingIdentified:at,editingAnchor:ye,caretOffset:Ie,startEditingParam:Fe,handleCaretAfterInput:_e,handleCaretMove:it,replaceEditingRange:He,dropdownProps:qe,reset:d,refreshProducts:G,prepareSubmit:E,getState:Ue,recordSubmit:wt}=mt({onSubmit:A=>L.current(A),onResult:t,onError:i,optionOverrides:o,maskCompletedText:r,apiConfig:c,additionalContext:s,language:m,currency:y,productId:P,visitorId:f,columns:x,dropdownTrigger:_,optionsPosition:z,closeDropdownOnBlur:S,showNonTappableOptions:O,showOptionIcons:M,showOptionImages:F,showOptionCounts:H,showSkipButton:Z,showProducts:R,onFocus:Ce,onBlur:me,value:u,completedParams:ge,onChange:fe,onParamsChange:oe,products:be,mapProducts:j,onProductSelect:ne,source:"full-sdk",setCursor:$});Jt(()=>{if(!ve)return;let A=window.setTimeout(()=>de(),650);return()=>window.clearTimeout(A)},[ve,de]);let ea=Se>=0?`${Pe}-option-${Se}`:void 0,{inputRef:ot,editorProps:ta,focus:Ve,blur:vt,getPlainText:xt}=Xt({segments:le,newParamId:ve,editingParam:Re,editingIdentified:at,editingAnchor:ye,caretOffset:Ie,placeholderText:v,isFocused:Ee,showChipIcons:k,showChipImages:q,isDropdownOpen:Ae,listboxId:Pe,activeDescendantId:ea,autoFocus:ue,handleTextChange:ee,handleKeyDown:et,handleCaretAfterInput:_e,handleCaretMove:it,startEditingParam:Fe,replaceEditingRange:He,setFocused:tt});N.current=ot,Li(()=>{let A=C.current,V=ot.current;if(!A||!V)return;let Be=()=>{let kt=A.firstElementChild;if(!kt)return;let na=kt.getBoundingClientRect(),ra=V.getBoundingClientRect();na.top>=ra.bottom-2?A.setAttribute("data-aia-pill-wrapped",""):A.removeAttribute("data-aia-pill-wrapped")};Be();let yt=new ResizeObserver(Be);return yt.observe(V),()=>yt.disconnect()},[le,se.length,h,ot]),Di(b,()=>({focus:Ve,blur:vt,reset:d,refreshProducts:G,setMode:A=>p.current?.setMode(A),skipActivePill:we}),[Ve,vt,d,G,we]);let je=!!le.length||re.length>0,nt=ft(A=>{if(!je)return;A&&E();let V=Ue(),Be=zi(xt(),V.completedParams,V.skippedParams,{identifiedParams:V.identifiedParams,isReady:V.isReady,customFields:V.customFields});A&&wt(Be),n(Be),g&&d()},[wt,g,je,E,Ue,n,d,xt]);L.current=()=>nt(!1);let aa=ft(A=>{A.target?.closest("[data-aia-pill]")||Ve()},[Ve]),ia=I==="inline",oa=I==="dropdown";return bt("div",{ref:w,className:`magicx-aia ${Te.container} ${a??""}`,"data-pill-placement":I,"data-options-position":z,"data-animations":K?"on":"off","data-mode":Hi(T),children:[Ne(ht,{...qe,showPills:oa,productsLayout:U,productImageFallback:ie}),bt("div",{className:Te.inputWrapper,"data-aia-input-wrapper":"",onClick:aa,children:[bt("div",{className:Te.editorArea,"data-aia-editor":"",children:[Ne("div",{...ta,className:Te.input,"data-aia-input":""}),ia&&(h||se.length>0)&&Ne("span",{ref:C,className:Te.pillListContainer,"data-aia-pill-list-container":"",children:Ne(Qe,{pills:se,activePillIndex:0,activeSelected:xe,onSelectPill:J,loading:h})})]}),l===null?null:l===void 0?Ne(Wt,{disabled:!je,onClick:()=>nt(!0),label:Fi(m).submit}):Ne("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:Te.submitSlot,onClick:A=>{je&&(A.stopPropagation(),nt(!0))},children:l})]})]})});export{Bi as AIAutocomplete,ht as AIAutocompleteDropdown,Fn as DATE_RANGE_META_END,Hn as DATE_RANGE_META_START,Bn as DEFAULT_OPTION_COUNT_UNIT,Xn as PRODUCT_PATH_PREFIX,lr as WEEKDAY_LABELS,zn as buildSubmitResult,Mn as cellDay,Nn as cellIso,Kn as dateCellMarks,Gn as formatDate,Wn as formatDateRange,_n as formatOptionCount,qn as isoDate,Un as monthLabel,Vn as optionCountLabel,jn as optionHasImage,Yn as optionImageSources,Qn as optionImageSrc,Zn as optionLabel,$n as optionsShowLeadingVisuals,Jn as parseDate,er as parseLooseDate,tr as parseLooseDateRange,ar as productFromMatchedItem,ir as productImageSources,or as productsFromCustomFields,nr as sanitizeOptionIconSvg,rr as selectedRangeFor,mt as useAIAutocomplete,sr as visibleDateRange,dr as withSkippedParams};
|
|
2541
2541
|
//# sourceMappingURL=index.mjs.map
|