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