@magicx-eng/ai-autocomplete-react 0.27.0 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/index.d.mts +16 -1
- package/dist/index.d.ts +16 -1
- package/dist/index.js +31 -25
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +31 -25
- 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 on,cellDay as nn,cellIso as rn,DATE_RANGE_META_END as sn,DATE_RANGE_META_START as ln,DEFAULT_OPTION_COUNT_UNIT as dn,dateCellMarks as cn,formatDate as pn,formatDateRange as hn,formatOptionCount as un,isoDate as mn,monthLabel as gn,optionCountLabel as fn,optionHasImage as bn,optionImageSrc as vn,optionLabel as wn,PRODUCT_PATH_PREFIX as xn,parseDate as yn,parseLooseDate as kn,parseLooseDateRange as Cn,productFromMatchedItem as Pn,productsFromCustomFields as Sn,sanitizeOptionIconSvg as In,selectedRangeFor as En,visibleDateRange as Tn,WEEKDAY_LABELS as An,withSkippedParams as Rn}from"@magicx-eng/ai-autocomplete-vanilla";import{forwardRef as ni,useCallback as it,useEffect as Bt,useImperativeHandle as ri,useLayoutEffect as si,useRef as Oe}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-67791514")){let e=document.createElement("style");e.id="ac-style-67791514",e.textContent=`.aia-container-KKjFU {
|
|
2
2
|
position: relative;
|
|
3
3
|
/* Inherits the host page's font by default. Consumers can pin a specific
|
|
4
4
|
font on the library via \`--aia-font-family: 'Custom Font'\` without
|
|
@@ -262,7 +262,7 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
262
262
|
opacity: 0;
|
|
263
263
|
}
|
|
264
264
|
}
|
|
265
|
-
`,document.head.appendChild(e)}var
|
|
265
|
+
`,document.head.appendChild(e)}var ke={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 _a,isCalendarFormat as qa,SCROLL_ARROW_LABEL as Ua}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Ve,useRef as Ge,useState as Qa}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-0ae03977")){let e=document.createElement("style");e.id="ac-style-0ae03977",e.textContent=`/*
|
|
266
266
|
* Built-in appearance defaults \u2014 zero specificity via :where().
|
|
267
267
|
* Consumer CSS always wins without !important.
|
|
268
268
|
*
|
|
@@ -1041,7 +1041,7 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
1041
1041
|
opacity: 0.25;
|
|
1042
1042
|
}
|
|
1043
1043
|
}
|
|
1044
|
-
`,document.head.appendChild(e)}var
|
|
1044
|
+
`,document.head.appendChild(e)}var re={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 Vt,cellIso as Se,dateCellMarks as Xt,isoDate as Jt,monthLabel as ea,visibleDateRange as ta,WEEKDAY_LABELS as aa}from"@magicx-eng/ai-autocomplete-vanilla";import{useState as ia}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) ---
|
|
1045
1045
|
|
|
1046
1046
|
One of three hand-maintained copies (vanilla styles.css, this file, Angular's
|
|
1047
1047
|
date-grid.component.css). Only the class-naming layer differs \u2014 the
|
|
@@ -1204,7 +1204,7 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
1204
1204
|
opacity: 0.8;
|
|
1205
1205
|
background: rgba(var(--aia-streak-rgb, 255, 255, 255), 0.06);
|
|
1206
1206
|
}
|
|
1207
|
-
`,document.head.appendChild(e)}var
|
|
1207
|
+
`,document.head.appendChild(e)}var O={datepicker:"aia-datepicker-6RrTs",header:"aia-header-z4LRk",month:"aia-month-urB2T",nav:"aia-nav-ap4AN",weekdays:"aia-weekdays-3EA3q",grid:"aia-grid-mQCgw",weekday:"aia-weekday-3lF4B",cell:"aia-cell-59k0y",number:"aia-number-aoT01",day:"aia-day-cB3u9",blank:"aia-blank-ivgRC",past:"aia-past-CEZsj",highlighted:"aia-highlighted-YIdtK",today:"aia-today-iI3ME",inRange:"aia-inRange-r9S2q",selected:"aia-selected-28KDn",pressed:"aia-pressed-bEyyN"};import{jsx as V,jsxs as ct}from"react/jsx-runtime";var oa=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function pt({options:e,activeIndex:o,listboxId:t,view:n,selection:r,onSelect:i,onHighlight:a,onUnhighlight:l,onPreviousMonth:w,onNextMonth:b}){let v=Jt(new Date),C=ta({pendingStart:r.rangeStart,highlightedIso:Se(e[o]),selected:r.selectedRange});return ct("div",{className:O.datepicker,"data-aia-datepicker":"",children:[ct("div",{className:O.header,children:[V("button",{type:"button",tabIndex:-1,className:O.nav,"data-aia-date-prev":"","aria-label":"Previous month",onMouseDown:g=>g.preventDefault(),onClick:w,children:"\u2039"}),V("span",{className:O.month,"data-aia-date-month":"","aria-live":"polite",children:ea(n)}),V("button",{type:"button",tabIndex:-1,className:O.nav,"data-aia-date-next":"","aria-label":"Next month",onMouseDown:g=>g.preventDefault(),onClick:b,children:"\u203A"})]}),V("div",{className:O.weekdays,"aria-hidden":"true",children:aa.map((g,x)=>V("span",{className:O.weekday,children:g},oa[x]))}),V("div",{className:O.grid,"data-aia-date-grid":"",children:e.map((g,x)=>V(na,{option:g,id:`${t}-option-${x}`,index:x,isHighlighted:x===o&&g.is_tappable,isToday:Se(g)===v,isPast:Se(g)!=null&&Se(g)<v,marks:Xt(Se(g),{selectedIso:r.selectedIso,range:C}),onSelect:i,onHighlight:a,onUnhighlight:l},Se(g)??`pad-${x}`))})]})}function na({option:e,id:o,index:t,isHighlighted:n,isToday:r,isPast:i,marks:a,onSelect:l,onHighlight:w,onUnhighlight:b}){let[v,C]=ia(!1),g=Vt(e);if(g==null)return V("div",{id:o,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-hidden":"true","aria-selected":!1,tabIndex:-1,className:`${O.cell} ${O.blank}`});let x=()=>{C(!0),l(e),setTimeout(()=>C(!1),170)},T=[O.cell,O.day,i?O.past:"",n?O.highlighted:"",r?O.today:"",a.inRange?O.inRange:"",a.selected?O.selected:"",v?O.pressed:""].filter(Boolean).join(" ");return V("div",{id:o,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-selected":n,"aria-label":e.text,tabIndex:0,className:T,onClick:x,onKeyDown:S=>{(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),x())},onMouseEnter:()=>w(t),onMouseLeave:b?()=>b(t):void 0,children:V("span",{className:O.number,children:g})})}import{ATTRIBUTION_URL as ra,buildAttributionUrl as sa,getFooterHint as la}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as da,useState as ca}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 {
|
|
1208
1208
|
display: flex;
|
|
1209
1209
|
flex-wrap: wrap;
|
|
1210
1210
|
gap: var(--aia-cluster-gap, 0.5rem);
|
|
@@ -1244,7 +1244,7 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
1244
1244
|
.aia-cluster[data-justify="around"] {
|
|
1245
1245
|
justify-content: space-around;
|
|
1246
1246
|
}
|
|
1247
|
-
`,document.head.appendChild(e)}import{jsx as ht}from"react/jsx-runtime";function Ae({gap:e,align:o="center",justify:
|
|
1247
|
+
`,document.head.appendChild(e)}import{jsx as ht}from"react/jsx-runtime";function Ae({gap:e,align:o="center",justify:t="start",noWrap:n=!1,inline:r=!1,className:i,children:a,...l}){let w=e?{"--aia-cluster-gap":e}:void 0,b={className:i?`aia-cluster ${i}`:"aia-cluster","data-align":o,"data-justify":t,"data-nowrap":n||void 0,"data-inline":r||void 0,style:w,...l};return r?ht("span",{...b,children:a}):ht("div",{...b,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
|
|
1248
1248
|
dropdown's rounded edges. The top inset (--aia-footer-gap) adds breathing
|
|
1249
1249
|
room above the hint/branding row so the footer doesn't butt against the last
|
|
1250
1250
|
option row \u2014 additive to the dropdown's 8px section gap. */
|
|
@@ -1286,7 +1286,6 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
1286
1286
|
gap: 2px;
|
|
1287
1287
|
text-decoration: none;
|
|
1288
1288
|
cursor: pointer;
|
|
1289
|
-
transition: opacity 150ms ease-out;
|
|
1290
1289
|
}
|
|
1291
1290
|
|
|
1292
1291
|
/* The two content groups carry a solid surface fill so the keyboard hint and
|
|
@@ -1321,7 +1320,17 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
1321
1320
|
gap: 4px;
|
|
1322
1321
|
}
|
|
1323
1322
|
|
|
1324
|
-
|
|
1323
|
+
/* Hover dims the brand's text and badge rather than the link itself: the
|
|
1324
|
+
link's opacity is pinned inline so a stylesheet can't fade the attribution
|
|
1325
|
+
out (vanilla guardAttribution.ts), and its pill fill is the dropdown's own
|
|
1326
|
+
surface, so dimming it never showed anyway. */
|
|
1327
|
+
.aia-brand-Al-lR,
|
|
1328
|
+
.aia-badge-Fk9vg {
|
|
1329
|
+
transition: opacity 150ms ease-out;
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
.aia-brandLink-r4f3R:hover .aia-brand-Al-lR,
|
|
1333
|
+
.aia-brandLink-r4f3R:hover .aia-badge-Fk9vg {
|
|
1325
1334
|
opacity: 0.7;
|
|
1326
1335
|
}
|
|
1327
1336
|
|
|
@@ -1378,7 +1387,7 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
1378
1387
|
justify-content: flex-end;
|
|
1379
1388
|
}
|
|
1380
1389
|
}
|
|
1381
|
-
`,document.head.appendChild(e)}var
|
|
1390
|
+
`,document.head.appendChild(e)}var se={footer:"aia-footer-qQQ7x",hintGroup:"aia-hintGroup-ZzbPf",brandLink:"aia-brandLink-r4f3R",brand:"aia-brand-Al-lR",badge:"aia-badge-Fk9vg",key:"aia-key-Bz1H-",hint:"aia-hint-GKEOH",row:"aia-row-BgZ6Q"};import{jsx as Re,jsxs as Qe}from"react/jsx-runtime";function ut({isOptionHighlighted:e=!1,isInputEmpty:o=!1}){let{key:t,hint:n}=la(e,o),[r,i]=ca(ra);return da(()=>{i(sa())},[]),Re("footer",{className:se.footer,"data-aia-footer":"",children:Qe(Ae,{justify:"between",noWrap:!0,className:se.row,children:[Qe(Ae,{gap:"5px",className:se.hintGroup,children:[Re("kbd",{className:se.key,children:t}),Re("span",{className:se.hint,children:n})]}),Qe("a",{className:se.brandLink,href:r,target:"_blank",rel:"noopener noreferrer",children:[Re("span",{className:se.brand,children:"AI"}),Re("span",{className:se.badge,children:"Autocomplete"})]})]})})}if(typeof document<"u"&&!document.getElementById("ac-style-199d0432")){let e=document.createElement("style");e.id="ac-style-199d0432",e.textContent=`/* ParamPill (Figma "ParamPill") \u2014 unfilled suggestion pill: transparent fill,
|
|
1382
1391
|
no outline. ~28px via 6px padding + 14px text + the 1px border (border-box).
|
|
1383
1392
|
The border is kept as a 1px transparent line so the box stays the same size
|
|
1384
1393
|
as it was when the outline was dashed. */
|
|
@@ -1454,7 +1463,7 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
1454
1463
|
opacity: 0;
|
|
1455
1464
|
}
|
|
1456
1465
|
}
|
|
1457
|
-
`,document.head.appendChild(e)}var
|
|
1466
|
+
`,document.head.appendChild(e)}var be={pill:"aia-pill-6Ga7S",fadeIn:"aia-fadeIn-Ux4eQ",rounded:"aia-rounded-y7xA9",skeleton:"aia-skeleton-57P0T",skeletonIn:"aia-skeletonIn-54kMv",skeletonPulse:"aia-skeletonPulse-xGcUy",skeletonOut:"aia-skeletonOut-1sJ-r"};import{jsx as pa}from"react/jsx-runtime";var je={selected:1,first:.7,next:.4,last:.2};function mt({label:e,state:o,rounded:t,loading:n,onClick:r}){let i=[be.pill,t?be.rounded:"",n?be.skeleton:""].filter(Boolean).join(" ");return pa("button",{type:"button","data-aia-pill":"","data-aia-loading":n?"":void 0,tabIndex:-1,contentEditable:!1,suppressContentEditableWarning:!0,className:i,style:{opacity:je[o]},onMouseDown:a=>a.preventDefault(),onClick:n?void 0:r,disabled:n,children:e})}if(typeof document<"u"&&!document.getElementById("ac-style-0fcb7940")){let e=document.createElement("style");e.id="ac-style-0fcb7940",e.textContent=`.aia-list-qvLqO {
|
|
1458
1467
|
position: relative;
|
|
1459
1468
|
z-index: 1;
|
|
1460
1469
|
pointer-events: auto;
|
|
@@ -1464,7 +1473,7 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
1464
1473
|
align-items: center;
|
|
1465
1474
|
vertical-align: middle;
|
|
1466
1475
|
}
|
|
1467
|
-
`,document.head.appendChild(e)}var
|
|
1476
|
+
`,document.head.appendChild(e)}var Ye={list:"aia-list-qvLqO"};import{jsx as He}from"react/jsx-runtime";var ha=[125,69];function gt(e){return e===0?"first":e===1?"next":"last"}function Fe({pills:e,activePillIndex:o,onSelectPill:t,activeSelected:n,rounded:r,loading:i}){return i&&e.length===0?He("span",{className:Ye.list,"data-aia-pill-list-loading":"",children:ha.map((a,l)=>He("span",{"data-aia-pill-skeleton":"",className:`${be.pill} ${r?be.rounded:""} ${be.skeleton}`,style:{width:a,opacity:je[gt(l)]}},`skel-${a}`))}):He("span",{className:Ye.list,"data-aia-pill-list-loading":i?"":void 0,children:e.map((a,l)=>{let w=!!n&&l===o;return He(mt,{label:a.text,state:w?"selected":gt(l),selected:w,rounded:r,loading:i,onClick:()=>t(l)},`${a.type}-${a.text}`)})})}import{attachProductRowWheel as ua,productInitial as ma}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as ga,useRef as fa,useState as ba}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
|
|
1468
1477
|
(packages/vanilla/src/styles.css). Same tokens, same defaults, so a consumer
|
|
1469
1478
|
theming one package sees the same result in the other.
|
|
1470
1479
|
|
|
@@ -1692,7 +1701,7 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
1692
1701
|
.aia-section-Hugfg[data-aia-products-layout="list"] .aia-body-ly032 {
|
|
1693
1702
|
flex: 1 1 auto;
|
|
1694
1703
|
}
|
|
1695
|
-
`,document.head.appendChild(e)}var
|
|
1704
|
+
`,document.head.appendChild(e)}var U={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"};import{jsx as ve,jsxs as Ke}from"react/jsx-runtime";function ft({products:e,listboxId:o,onSelect:t,onFocusChange:n,focusable:r=!0,layout:i="row",imageFallback:a="image"}){let l=e.length>0,w=fa(null);if(ga(()=>{let v=w.current;if(!(!l||!v))return ua(v)},[l]),!l)return null;let b=`${o}-products-label`;return Ke("section",{className:U.section,"data-aia-products":"","data-aia-products-layout":i,role:"group","aria-labelledby":b,children:[ve("div",{className:U.label,id:b,"data-aia-products-label":"",children:"Products"}),ve("div",{ref:w,className:U.row,"data-aia-products-row":"",children:e.map((v,C)=>ve(va,{product:v,id:`${o}-product-${C}`,onSelect:t,onFocusChange:n,focusable:r,imageFallback:a},v.id))})]})}function va({product:e,id:o,onSelect:t,onFocusChange:n,focusable:r,imageFallback:i}){let a=l=>{l.metaKey||l.ctrlKey||l.shiftKey||l.altKey||l.button!==0||(l.preventDefault(),t(e))};return Ke("a",{id:o,className:U.card,"data-aia-product":"",role:"option","aria-selected":!1,href:e.url,tabIndex:r?0:-1,onClick:a,onKeyDown:l=>{l.key!=="Enter"&&l.key!==" "||(l.preventDefault(),t(e))},onFocus:()=>n?.(!0),onBlur:l=>{l.relatedTarget?.closest("[data-aia-dropdown]")||n?.(!1)},children:[ve(wa,{src:e.imageUrl?.trim(),title:e.title,fallback:i},e.imageUrl?.trim()??""),Ke("span",{className:U.body,children:[e.vendor?ve("span",{className:U.vendor,children:e.vendor}):null,ve("span",{className:U.title,children:e.title}),e.price?ve("span",{className:U.price,children:e.price}):null]})]})}function wa({src:e,title:o,fallback:t}){let[n,r]=ba(!1),i=!!e&&!n,a=!i&&t==="initial";return Ke("span",{className:U.media,"aria-hidden":"true","data-aia-product-placeholder":!i&&!a?"":void 0,"data-aia-product-initial":a?"":void 0,children:[i?ve("img",{className:U.image,src:e,alt:"",loading:"lazy",decoding:"async",onError:()=>r(!0)}):null,a?ma(o):null]})}import{isOptionsGridMobileViewport as La,measureOptionsGrid as Ma,needsOptionsGridMeasurement as za,OPTIONS_GRID_MOBILE_QUERY as Na,optionEnterDelayMs as Ba,planOptionsGrid as wt,sameOptionRows as Ha}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Fa,useLayoutEffect as Ka,useRef as xt,useState as kt}from"react";import{optionsGridTemplateColumns as xa}from"@magicx-eng/ai-autocomplete-vanilla";import{useLayoutEffect as ya,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 {
|
|
1696
1705
|
display: grid;
|
|
1697
1706
|
grid-template-columns: repeat(
|
|
1698
1707
|
auto-fit,
|
|
@@ -1725,7 +1734,7 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
1725
1734
|
background: var(--aia-scrollbar-thumb, rgba(0, 0, 0, 0.3));
|
|
1726
1735
|
border-radius: 3px;
|
|
1727
1736
|
}
|
|
1728
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
1737
|
+
`,document.head.appendChild(e)}import{jsx as Ca}from"react/jsx-runtime";function bt({min:e="16rem",max:o,gap:t,scroll:n=!1,maxHeight:r,scrollResetKey:i,cols:a,template:l,innerRef:w,className:b,children:v,...C}){let g=ka(null);ya(()=>{if(i===void 0)return;let T=g.current;T&&(T.scrollTop=0)},[i]);let x={"--aia-grid-min":e};return o&&(x["--aia-grid-max"]=o),t&&(x["--aia-grid-gap"]=t),r&&(x["--aia-grid-max-height"]=r),a&&(x.gridTemplateColumns=xa(a)),l&&(x.gridTemplateColumns=l),Ca("div",{ref:T=>{g.current=T,w?.(T)},className:b?`aia-grid ${b}`:"aia-grid","data-scroll":n||void 0,style:x,...C,children:v})}import{formatOptionCount as Pa,OPTION_ENTER_DELAY_VAR as Sa,optionImageSrc as Ia,optionLabel as Ea,sanitizeOptionIconSvg as Ta}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Aa,useMemo as Ra,useRef as Da,useState as Ze}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 {
|
|
1729
1738
|
position: relative;
|
|
1730
1739
|
/* Clip, not visible: the entrance rise below runs on the inner content,
|
|
1731
1740
|
and a transformed box extends its scroll container's scrollable area.
|
|
@@ -2044,12 +2053,13 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
2044
2053
|
}
|
|
2045
2054
|
|
|
2046
2055
|
/* A row without a picture, in a grid where other rows have one, lines up
|
|
2047
|
-
with them: it becomes the same centred flex row, its icon sits centred
|
|
2048
|
-
tile-sized box,
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2056
|
+
with them: it becomes the same centred flex row, and its icon sits centred
|
|
2057
|
+
in a tile-sized box, so an icon row's text starts where a picture row's
|
|
2058
|
+
does. A row with neither a picture nor an icon is not indented to match:
|
|
2059
|
+
its text sits flush left, as it would in a grid with no pictures. Grids
|
|
2060
|
+
with no pictures keep the inline icon and hanging indent above. The text
|
|
2061
|
+
is left to size itself: letting it grow here would out-rank the
|
|
2062
|
+
loading-bar rule that makes a skeleton bar hug its text. */
|
|
2053
2063
|
[data-aia-group]:has(.aia-image-YZAbO) .aia-content-T-Qba:not(:has(.aia-image-YZAbO)) {
|
|
2054
2064
|
display: flex;
|
|
2055
2065
|
flex: 1 1 auto;
|
|
@@ -2069,10 +2079,6 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
2069
2079
|
margin-right: 0;
|
|
2070
2080
|
}
|
|
2071
2081
|
|
|
2072
|
-
[data-aia-group]:has(.aia-image-YZAbO) .aia-content-T-Qba:not(:has(.aia-image-YZAbO)):not(:has(.aia-icon-Qw938)) {
|
|
2073
|
-
padding-left: calc(var(--aia-option-image-size, 40px) + var(--aia-option-image-gap, 12px));
|
|
2074
|
-
}
|
|
2075
|
-
|
|
2076
2082
|
@keyframes aia-skeletonPulse-plvdD {
|
|
2077
2083
|
0%,
|
|
2078
2084
|
100% {
|
|
@@ -2115,7 +2121,7 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
2115
2121
|
opacity: 0;
|
|
2116
2122
|
}
|
|
2117
2123
|
}
|
|
2118
|
-
`,document.head.appendChild(e)}var
|
|
2124
|
+
`,document.head.appendChild(e)}var H={item:"aia-item-d4vpD",content:"aia-content-T-Qba",riseIn:"aia-riseIn-etXZT",fadeIn:"aia-fadeIn-I8u35",tappable:"aia-tappable-70KcX",nonTappable:"aia-nonTappable-xSZM-",highlighted:"aia-highlighted-Hb0SU",tag:"aia-tag-e3Fwe",pressed:"aia-pressed-98o-r",pressCompress:"aia-pressCompress-ICV3q",scrollHint:"aia-scrollHint-xKXPt",skeletonPulse:"aia-skeletonPulse-plvdD",text:"aia-text-yqoh9",skeletonBarIn:"aia-skeletonBarIn-ZlEM0",icon:"aia-icon-Qw938",count:"aia-count-IpYbQ",image:"aia-image-YZAbO",skeletonOut:"aia-skeletonOut-x6NRd"};import{jsx as Ce,jsxs as Oa}from"react/jsx-runtime";function vt({option:e,isHighlighted:o,onSelect:t,onHighlight:n,onUnhighlight:r,id:i,loading:a,showIcon:l=!0,showImage:w=!0,showCount:b=!0,scrollHint:v,enterDelayMs:C=0}){let[g]=Ze(C),[x,T]=Ze(!1),S=w?Ia(e.image_url):null,[M,z]=Ze(null),I=Ra(()=>!S&&l&&e.icon_svg?Ta(e.icon_svg):null,[S,l,e.icon_svg]),A=b?Pa(e.item_count):null,R=Da(void 0);Aa(()=>()=>clearTimeout(R.current),[]);let E=()=>{a||!e.is_tappable||x||(T(!0),t(e),clearTimeout(R.current),R.current=setTimeout(()=>T(!1),170))},P=[H.item,o&&!a?H.highlighted:"",e.is_tappable?H.tappable:H.nonTappable,x?H.pressed:"",v?H.scrollHint:""].filter(Boolean).join(" ");return Ce("div",{id:i,role:"option","data-aia-option":"","data-aia-loading":a?"":void 0,"data-aia-icon":I&&e.icon?e.icon:void 0,"data-aia-image":S?"":void 0,"data-aia-item-count":A!==null?e.item_count:void 0,"aria-selected":o,className:P,style:{[Sa]:`${g}ms`},tabIndex:a||!e.is_tappable?-1:0,onClick:E,onKeyDown:N=>{!a&&e.is_tappable&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),E())},onMouseEnter:!a&&e.is_tappable?n:void 0,onMouseLeave:r,children:Oa("span",{className:H.content,children:[S&&Ce("span",{className:`${H.image} magicx-aia-option-image`,"aria-hidden":"true",children:Ce("img",{src:S,alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",draggable:!1,hidden:M===S,onError:()=>z(S)})}),I&&Ce("span",{className:`${H.icon} magicx-aia-option-icon`,"aria-hidden":"true",dangerouslySetInnerHTML:{__html:I}}),Ce("span",{className:H.text,children:Ea(e)}),e.tag&&Ce("span",{className:H.tag,children:e.tag}),A!==null&&Ce("span",{className:`${H.count} magicx-aia-option-count`,children:A})]})})}import{jsx as yt}from"react/jsx-runtime";function Ga(){let[e,o]=kt(La);return Fa(()=>{if(typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia(Na),n=()=>o(t.matches);return n(),t.addEventListener("change",n),()=>t.removeEventListener("change",n)},[]),e}function Ct({options:e,activeIndex:o,onSelect:t,onHighlight:n,onUnhighlight:r,listboxId:i,loading:a,groupKey:l="",optionsPosition:w="below",showIcons:b=!0,showImages:v=!0,showCounts:C=!0}){let g=Ga(),x=xt(null),[T,S]=kt(null),M=xt(null);Ka(()=>{if(a&&Ha(M.current,e))return;M.current=a?null:e;let I=x.current,R=I&&!a&&za(e.length,g)?Ma(I):null;S(R?wt(e.length,g,R.rowWidths,R.gridWidth):null)},[e,g,a]);let z=T??wt(e.length,g,null,null);return yt(bt,{min:"250px",max:"1fr",gap:"0",scroll:!0,scrollResetKey:l,template:z.template,maxHeight:z.maxHeight,innerRef:I=>{x.current=I},"data-aia-group":l,children:e.map((I,A)=>yt(vt,{option:I,isHighlighted:A===o,onSelect:t,onHighlight:()=>n(A),onUnhighlight:r?()=>r(A):void 0,id:`${i}-option-${A}`,loading:a,showIcon:b,showImage:v,showCount:C,scrollHint:!a&&z.scrollHintIndices.includes(A),enterDelayMs:a?0:Ba(A,z.cols,e.length,w)},`${l}\0${I.text}`))})}if(typeof document<"u"&&!document.getElementById("ac-style-8414cd5f")){let e=document.createElement("style");e.id="ac-style-8414cd5f",e.textContent=`.aia-stack {
|
|
2119
2125
|
display: flex;
|
|
2120
2126
|
flex-direction: column;
|
|
2121
2127
|
gap: var(--aia-stack-space, 0.5rem);
|
|
@@ -2130,7 +2136,7 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
2130
2136
|
align-items: end;
|
|
2131
2137
|
}
|
|
2132
2138
|
/* data-align="stretch" is the flex default \u2014 no rule needed. */
|
|
2133
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
2139
|
+
`,document.head.appendChild(e)}import{jsx as Wa}from"react/jsx-runtime";function Pt({space:e,align:o="stretch",className:t,children:n,...r}){let i=e?{"--aia-stack-space":e}:void 0;return Wa("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":o,style:i,...r,children:n})}import{jsx as K,jsxs as $e}from"react/jsx-runtime";var ja=[159,119,164],Ya=()=>{},St=()=>{};function Za(e){let o=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[t,n]=Qa(o);if(Ve(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let r=window.matchMedia("(prefers-color-scheme: dark)"),i=()=>n(r.matches);return r.addEventListener("change",i),()=>r.removeEventListener("change",i)},[e]),e!==void 0)return e==="auto"?t?"dark":"light":e}function $a(e,o){let t=Ge(null);Ve(()=>{let n=e.current,r=o.current;if(!n||!r)return;let i=n.querySelector(".aia-grid[data-scroll]");if(t.current&&t.current.grid!==i&&(t.current.controller.destroy(),t.current=null),i&&!t.current){t.current={grid:i,controller:_a({dropdown:n,grid:i,button:r})};return}t.current?.controller.update()}),Ve(()=>()=>{t.current?.controller.destroy(),t.current=null},[])}function Xe({suggestions:e,activeIndex:o,onSelect:t,onHighlight:n,onUnhighlight:r,isOpen:i,id:a,className:l,pills:w,onPillClick:b,showPills:v=!0,onSkip:C,showSkipButton:g=!0,showOptionIcons:x=!0,showOptionImages:T=!0,showOptionCounts:S=!0,skipDisabled:M=!1,activeSelected:z=!1,isLoading:I=!1,skeletonExiting:A=!1,isInputEmpty:R=!1,products:E,onProductSelect:P,onProductFocusChange:N,productsLayout:le="row",productImageFallback:X="image",formatType:de="options",dateView:J=null,selectedDateIso:c=null,selectedDateRange:we=null,dateRangeStart:ce=null,onPreviousMonth:pe,onNextMonth:he,optionsPosition:ee="below",mode:ue}){let W=Za(ue),te=W!==void 0,ae=Ge(null),j=Ge(null);$a(ae,j);let ie=e[0]?.options??[],d=!!(w&&w.length>0&&b),p=!!(E&&E.length>0),f=i&&(ie.length>0||v&&d||I||p),k={suggestions:e,activeIndex:o,pills:w,showPills:v,showSkipButton:g,showOptionIcons:x,showOptionImages:T,showOptionCounts:S,skipDisabled:M,activeSelected:z,isLoading:I,skeletonExiting:A,isInputEmpty:R,products:E,formatType:de,dateView:J,selectedDateIso:c,selectedDateRange:we,dateRangeStart:ce},y=Ge(k);f&&(y.current=k);let s=f?k:y.current,m=s.suggestions[0],B=m?.options??[],me=s.activeIndex>=0&&!!B[s.activeIndex]?.is_tappable,_=!!(s.pills&&s.pills.length>0&&b),h=s.showPills&&_,xe=s.showPills&&!_&&s.isLoading,ge=h||xe,Y=_&&s.showSkipButton&&!s.isInputEmpty&&!!C,ye=s.pills?.[0]?.text,oe=qa(s.formatType)&&s.dateView!=null,Pe=B.length>0&&!oe,q=B.length>0&&oe&&!s.isLoading,ne=s.isLoading&&!Pe&&!q,Z=s.products??[];return $e("div",{ref:ae,id:a,role:"listbox","data-aia-dropdown":"","data-options-position":ee,"data-mode":W,"data-aia-loading":s.isLoading?"":void 0,"data-aia-skeleton-exiting":s.skeletonExiting?"":void 0,"data-aia-has-products":Z.length>0?"":void 0,className:`${te?"magicx-aia ":""}${re.dropdown} ${f?re.visible:""} ${l??""}`,onMouseDown:$=>$.preventDefault(),children:[$e(Pt,{space:"8px",children:[(ge||Y)&&$e(Ae,{noWrap:!0,className:re.pillBar,"data-aia-pillbar":"",children:[ge&&K("span",{className:re.pillScroll,"data-aia-pill-scroll":"",children:K(Fe,{pills:s.pills??[],activePillIndex:0,activeSelected:s.activeSelected,onSelectPill:b??(()=>{}),rounded:!0,loading:s.isLoading})}),Y&&K("button",{type:"button",tabIndex:-1,className:re.skip,"data-aia-skip":"",disabled:s.isLoading||s.skipDisabled,"aria-label":ye?`Skip ${ye}`:"Skip",onClick:C,children:"skip"})]}),Pe&&K(Ct,{options:B,activeIndex:s.activeIndex,onSelect:t,onHighlight:n,onUnhighlight:r,listboxId:a,loading:s.isLoading,groupKey:m?`${m.type} ${m.text}`:"",optionsPosition:ee,showIcons:s.showOptionIcons,showImages:s.showOptionImages,showCounts:s.showOptionCounts}),q&&s.dateView&&K(pt,{options:B,activeIndex:s.activeIndex,listboxId:a,view:s.dateView,selection:{selectedIso:s.selectedDateIso??null,selectedRange:s.selectedDateRange??null,rangeStart:s.dateRangeStart??null},onSelect:t,onHighlight:n,onUnhighlight:r,onPreviousMonth:pe??St,onNextMonth:he??St}),ne&&K("div",{className:re.skeletonBars,"data-aia-skeleton-bars":"",children:ja.map($=>K("span",{className:re.skeletonBar,style:{width:$}},`bar-${$}`))}),K(ft,{products:Z,listboxId:a,onSelect:P??Ya,onFocusChange:N,focusable:f,layout:le,imageFallback:X}),K(ut,{isOptionHighlighted:me,isInputEmpty:s.isInputEmpty})]}),K("button",{ref:j,type:"button",tabIndex:-1,className:re.scrollArrow,"data-aia-scroll-arrow":"","aria-label":Ua,"aria-hidden":"true",children:K("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:K("path",{d:"M4 6.5 8 10.5l4-4"})})})]})}import{buildSubmitResult as li,ModeController as di,setCursorOffset as ci}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 {
|
|
2134
2140
|
flex-shrink: 0;
|
|
2135
2141
|
width: 32px;
|
|
2136
2142
|
height: 32px;
|
|
@@ -2183,5 +2189,5 @@ import{buildSubmitResult as an,cellDay as on,cellIso as nn,DATE_RANGE_META_END a
|
|
|
2183
2189
|
);
|
|
2184
2190
|
cursor: default;
|
|
2185
2191
|
}
|
|
2186
|
-
`,document.head.appendChild(e)}var It={submitButton:"aia-submitButton-otz7H"};import{jsx as Je}from"react/jsx-runtime";function Et({disabled:e,onClick:o}){return Je("button",{type:"button","data-aia-submit":"",className:It.submitButton,disabled:e,onClick:a=>{a.stopPropagation(),o()},"aria-label":"Submit",children:Je("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:Je("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as $a,dateSelectionFor as Va,identifiedParamLabel as Xa}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as Dt,useEffect as Oe,useRef as K,useState as Ja}from"react";import{useRef as Tt}from"react";function At(e){let o=Tt(e);o.current=e;let a=Object.keys(e??{}).sort().join("\0"),n=Tt({key:"",overrides:void 0});if(n.current.key!==a){let r={};for(let t of Object.keys(e??{})){let s=(l,v,w)=>{let f=o.current?.[t];return f?f(l,v,w):[]};r[t]=s}n.current={key:a,overrides:e?r:void 0}}return{overrides:n.current.overrides,key:a}}import{useRef as Rt}from"react";function Ot(e){let o=Rt(e);o.current=e;let a=Rt(null);a.current===null&&(a.current={fetch:(r,t)=>{let s=o.current;return s?s.fetch(r,t):Promise.reject(new Error("products config removed"))},transform:r=>o.current?.transform(r)??[],get limit(){return o.current?.limit}});let n=e!==void 0;return{config:n?a.current:void 0,enabled:n}}var ei={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],customFields:null,optionSearch:null,activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],dropdownLoading:!0,dropdownOptions:[],skeletonOptions:null,skeletonSuggestion:null,dropdownSuggestion:null,skeletonRequested:!1,skeletonExiting:!1,activeFormatType:"options",dateView:null,dateRangeStart:null,placeholderText:"",optionQuery:"",isSearchingOptions:!1,isDropdownOpen:!1,isActivePillSelected:!1,filterBase:0,filterInProgress:!1,pillTapped:!1,skipNextFetch:!1,lastRawQuery:"",isFocused:!1,editingParam:null,editingIdentified:null,editingAnchor:null,editingTail:null,caretOffset:null,inSelectionAnimation:!1,dateViewMonth:null,pendingRangeStart:null};function et({onSubmit:e,onResult:o,onError:a,optionOverrides:n,maskCompletedText:r,apiConfig:t,additionalContext:s,columns:l=2,dropdownTrigger:v,optionsPosition:w,closeDropdownOnBlur:f,showNonTappableOptions:h,showOptionIcons:k,showOptionImages:S,showOptionCounts:y,showSkipButton:z,showProducts:L,productImageFallback:I="image",onFocus:T,onBlur:M,value:O,completedParams:R,onChange:C,onParamsChange:U,products:de,onProductSelect:V,source:ce,setCursor:X}){let p=K(null),[ve,pe]=Ja(null),he=K(e);he.current=e;let J=K(o);J.current=o;let ue=K(a);ue.current=a;let ee=K(C);ee.current=C;let Q=K(U);Q.current=U;let te=K(T);te.current=T;let Y=K(M);Y.current=M;let ae=K(X);ae.current=X;let ie=K(V);ie.current=V;let d=Ot(de),u=At(n);Oe(()=>{if(typeof document>"u")return;let g=new $a(document.createElement("div"),{renderMode:"headless",apiConfig:t,additionalContext:s,optionOverrides:u.overrides,maskCompletedText:r,columns:l,dropdownTrigger:v,optionsPosition:w,closeDropdownOnBlur:f,showNonTappableOptions:h,showProducts:L,source:ce,value:O,completedParams:R,onSubmit:(...D)=>he.current?.(...D),onResult:(...D)=>J.current?.(...D),onError:(...D)=>ue.current?.(...D),onChange:(...D)=>ee.current?.(...D),onParamsChange:(...D)=>Q.current?.(...D),onFocus:()=>te.current?.(),onBlur:()=>Y.current?.(),onProductSelect:D=>ie.current?.(D),setCursor:D=>ae.current?.(D),products:d.config});p.current=g,pe(g.getState());let H=g.subscribe(D=>pe(D));return()=>{H(),g.destroy(),p.current===g&&(p.current=null)}},[]),Oe(()=>{O!==void 0&&p.current?.setValue(O)},[O]),Oe(()=>{R!==void 0&&p.current?.setCompletedParams(R)},[R]);let b=JSON.stringify(t??null),x;try{x=JSON.stringify(s??null)}catch{x="[unstringifiable]"}Oe(()=>{p.current?.update({apiConfig:t,additionalContext:s,optionOverrides:u.overrides,dropdownTrigger:v,optionsPosition:w,closeDropdownOnBlur:f,showNonTappableOptions:h,showProducts:L})},[b,x,u.key,v,w,f,h,L]);let i=K(!1);Oe(()=>{if(!i.current){i.current=!0;return}p.current?.update({products:d.config})},[d.enabled]);let P=K(null);P.current===null&&(P.current={handleTextChange:g=>p.current?.handleTextChange(g),handleKeyDown:g=>{let H="nativeEvent"in g?g.nativeEvent:g;p.current?.handleKeyDown(H)},setFocused:g=>p.current?.setFocused(g),startEditingParam:g=>p.current?.startEditingParam(g),exitEditMode:()=>p.current?.exitEditMode(),handleCaretAfterInput:g=>p.current?.handleCaretAfterInput(g),handleCaretMove:g=>p.current?.handleCaretMove(g),replaceEditingRange:g=>p.current?.replaceEditingRange(g)??!1,setActivePill:g=>p.current?.setActivePill(g),skipActivePill:()=>p.current?.skipActivePill(),removeLastParam:()=>p.current?.removeLastParam(),clearNewParamId:()=>p.current?.clearNewParamId(),reset:()=>p.current?.reset(),selectOption:g=>p.current?.selectOption(g),selectProduct:g=>p.current?.selectProduct(g),setActiveDropdownIndex:g=>p.current?.setActiveDropdownIndex(g),showPreviousMonth:()=>p.current?.showPreviousMonth(),showNextMonth:()=>p.current?.showNextMonth(),handleFocus:()=>p.current?.setFocused(!0),handleBlur:()=>p.current?.setFocused(!1)});let m=P.current,j=Dt(g=>{let H=g.target.value,_e=H.length>0&&!g.nativeEvent?.isComposing&&H[0]!==H[0].toUpperCase()?H[0].toUpperCase()+H.slice(1):H;p.current?.handleTextChange(_e)},[]),G=Dt(g=>{p.current?.handleKeyDown(g.nativeEvent)},[]),we=p.current,c=ve??ei,oe=O!==void 0?O:c.text,me=R!==void 0?R:c.completedParams,ne=c.actionableSuggestions,ke=ne[0],re=we?.listboxId??"",Ce=c.activeDropdownIndex>=0&&we?`${re}-option-${c.activeDropdownIndex}`:void 0,Z=c.editingParam,B=c.editingIdentified,W=Z?{type:Z.suggestionType,text:Z.suggestionPlaceholder,required:!0,options:Z.options}:B?{type:B.type,text:Xa(B.type),required:!0,options:[]}:null,Ee=c.dropdownSuggestion??W??ke,We=W?[W]:ne,Te=Va(c),Le=!we||c.dropdownLoading;return{completedParams:me,skippedParams:c.skippedParams,identifiedParams:c.identifiedParams,suggestionPills:ne,setActivePill:m.setActivePill,skipActivePill:m.skipActivePill,removeLastParam:m.removeLastParam,segments:c.segments,newParamId:c.newParamId,clearNewParamId:m.clearNewParamId,suggestions:c.suggestions,activeIndex:c.activeDropdownIndex,isReady:c.isReady,isLoading:Le,isFocused:c.isFocused,isDropdownOpen:c.isDropdownOpen,isActivePillSelected:c.isActivePillSelected,placeholderText:c.placeholderText,listboxId:re,error:c.error,products:c.products,customFields:c.customFields,selectProduct:m.selectProduct,handleTextChange:m.handleTextChange,handleKeyDown:m.handleKeyDown,setFocused:m.setFocused,editingParam:Z,editingIdentified:B,editingAnchor:c.editingAnchor,caretOffset:c.caretOffset,startEditingParam:m.startEditingParam,exitEditMode:m.exitEditMode,handleCaretAfterInput:m.handleCaretAfterInput,handleCaretMove:m.handleCaretMove,replaceEditingRange:m.replaceEditingRange,inputProps:{value:oe,placeholder:c.placeholderText||void 0,onChange:j,onKeyDown:G,onFocus:m.handleFocus,onBlur:m.handleBlur,role:"combobox","aria-expanded":c.isDropdownOpen,"aria-activedescendant":Ce,"aria-autocomplete":"list","aria-controls":re},reset:m.reset,dropdownProps:{suggestions:Ee?[{...Ee,options:c.dropdownOptions}]:[],activeIndex:c.activeDropdownIndex,onSelect:m.selectOption,onHighlight:m.setActiveDropdownIndex,isOpen:c.isDropdownOpen,id:re,pills:We,activeSelected:c.isActivePillSelected,onPillClick:m.setActivePill,onSkip:m.skipActivePill,showSkipButton:(z??!0)&&!Z&&!B,showOptionIcons:k??!0,showOptionImages:S??!0,showOptionCounts:y??!0,skipDisabled:c.inSelectionAnimation,isLoading:Le,skeletonExiting:c.skeletonExiting,isInputEmpty:oe.trim().length===0,products:c.products,productImageFallback:I,onProductSelect:m.selectProduct,onProductFocusChange:m.setFocused,formatType:c.activeFormatType,dateView:c.dateView,selectedDateIso:Te.selectedIso,selectedDateRange:Te.selectedRange,dateRangeStart:Te.rangeStart,onPreviousMonth:m.showPreviousMonth,onNextMonth:m.showNextMonth,optionsPosition:w??"below"}}}import{extractPlainText as Lt,getCursorOffset as Mt,plainTextLength as ti,renderEditableContent as ai,setCursorOffset as zt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as q,useEffect as tt,useLayoutEffect as at,useRef as Se}from"react";var Ge;function ii(){if(Ge!==void 0)return Ge;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),Ge=e.contentEditable==="plaintext-only",Ge}function Nt(e){let{segments:o,showChipIcons:a=!0,showChipImages:n=!0,newParamId:r,editingParam:t,editingIdentified:s,editingAnchor:l,caretOffset:v,placeholderText:w,isFocused:f,isDropdownOpen:h,listboxId:k,activeDescendantId:S,autoFocus:y,handleTextChange:z,handleKeyDown:L,handleCaretAfterInput:I,handleCaretMove:T,startEditingParam:M,replaceEditingRange:O,setFocused:R}=e,C=Se(null),U=Se(!1),de=Se(""),V=Se(""),ce=Se(null),X=Se(0);ce.current=v,tt(()=>{if(!y)return;let d=C.current;if(!d)return;document.activeElement===d?R(!0):d.focus();let u=d.ownerDocument??document,b=u.getSelection(),x=b&&b.rangeCount>0&&d.contains(b.anchorNode);if(b&&!x){let i=u.createRange();i.selectNodeContents(d),i.collapse(!0),b.removeAllRanges(),b.addRange(i)}},[y,R]),tt(()=>{let d=C.current;if(!d)return;let u=d.ownerDocument??document,b=()=>{let x=u.getSelection();if(!x||x.rangeCount===0||!x.anchorNode||!d.contains(x.anchorNode))return;let i=x.anchorNode,P=i.nodeType===Node.ELEMENT_NODE?i:i.parentElement,j=(x.isCollapsed?P?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,G=t?.id??s?.id??null;if(j&&j!==G){M(j);return}performance.now()-X.current<50||T(Mt(d))};return u.addEventListener("selectionchange",b),()=>u.removeEventListener("selectionchange",b)},[t,s,M,T]),at(()=>{let d=C.current;d&&ai({input:d,segments:o,newParamId:r,editingParamId:t?.id??null,placeholderText:w??"",isFocused:f,showChipIcons:a,showChipImages:n})},[o,r,t,w,f,a,n]),at(()=>{let d=de.current,u=r??"";if(de.current=u,!u||u===d)return;let b=C.current;if(!b)return;b.focus();let x=ce.current??ti(b);zt(b,x)},[r]),at(()=>{let d=V.current,u=t?.id??"";if(V.current=u,!u||u===d||l==null)return;let b=C.current;b&&zt(b,l)},[t,l]);let p=q(()=>{if(U.current)return;let d=C.current;if(!d)return;let u=Lt(d),x=u.length>0&&u[0]!==u[0].toUpperCase()?u[0].toUpperCase()+u.slice(1):u;z(x)},[z]),ve=q(()=>{X.current=performance.now(),p();let d=C.current;d&&I(Mt(d))},[p,I]);tt(()=>{let d=C.current;if(!d)return;let u=b=>{let x=b,i=x.inputType;if(i==="insertParagraph"||i==="insertLineBreak"||i==="insertFromDrop"){b.preventDefault();return}if(i.startsWith("insert")||i.startsWith("delete")){let P=i.startsWith("delete")?"":x.data??"";O(P)&&b.preventDefault()}};return d.addEventListener("beforeinput",u),()=>d.removeEventListener("beforeinput",u)},[O]);let pe=q(()=>{U.current=!0},[]),he=q(()=>{U.current=!1,p()},[p]),J=q(d=>{d.preventDefault();let u=C.current;if(!u)return;let b=(d.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!b)return;let x=u.ownerDocument??document,i=x.getSelection();if(!i||i.rangeCount===0)return;let P=i.getRangeAt(0);if(!u.contains(P.startContainer))return;P.deleteContents();let m=x.createTextNode(b);P.insertNode(m),P.setStartAfter(m),P.collapse(!0),i.removeAllRanges(),i.addRange(P),p()},[p]),ue=q(d=>L(d),[L]),ee=q(()=>R(!0),[R]),Q=q(()=>R(!1),[R]),te=q(()=>C.current?.focus(),[]),Y=q(()=>C.current?.blur(),[]),ae=q(()=>{let d=C.current;return d?Lt(d):""},[]),ie=ii()?"plaintext-only":"true";return{inputRef:C,editorProps:{ref:C,contentEditable:ie,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":k,"aria-expanded":h,"aria-activedescendant":S,spellCheck:!0,enterKeyHint:"send",onInput:ve,onKeyDown:ue,onCompositionStart:pe,onCompositionEnd:he,onPaste:J,onFocus:ee,onBlur:Q},getPlainText:ae,focus:te,blur:Y}}import{jsx as Ie,jsxs as ot}from"react/jsx-runtime";function ci(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var pi=oi(function({onSubmit:o,onResult:a,onError:n,optionOverrides:r,maskCompletedText:t,className:s,apiConfig:l,additionalContext:v,columns:w,pillPlacement:f="dropdown",mode:h="auto",optionsPosition:k="below",animations:S=!0,dropdownTrigger:y,closeDropdownOnBlur:z,showNonTappableOptions:L,showOptionIcons:I=!0,showChipIcons:T=!0,showChipImages:M=!0,showOptionImages:O=!0,showOptionCounts:R=!0,showSkipButton:C,showProducts:U,productsLayout:de,productImageFallback:V,autoFocus:ce=!0,onFocus:X,onBlur:p,value:ve,completedParams:pe,onChange:he,onParamsChange:J,products:ue,onProductSelect:ee,submitButton:Q},te){let Y=De(null),ae=De(null),ie=De(()=>{}),d=De(null),u=De(null);Bt(()=>{let E=Y.current;if(E)return d.current?d.current.setMode(h):d.current=new li(E,h),()=>{d.current?.destroy(),d.current=null}},[h]);let b=it(E=>{let ge=u.current?.current;ge&&(ge.focus(),di(ge,E))},[]),{completedParams:x,skippedParams:i,identifiedParams:P,isReady:m,customFields:j,suggestionPills:G,setActivePill:we,skipActivePill:c,segments:oe,newParamId:me,clearNewParamId:ne,placeholderText:ke,isFocused:re,isDropdownOpen:Ce,isActivePillSelected:Z,isLoading:B,activeIndex:W,listboxId:Ee,handleTextChange:We,handleKeyDown:Te,setFocused:Le,editingParam:g,editingIdentified:H,editingAnchor:D,caretOffset:_e,startEditingParam:Ht,handleCaretAfterInput:Ft,handleCaretMove:Kt,replaceEditingRange:Gt,dropdownProps:Wt,reset:Me}=et({onSubmit:E=>ie.current(E),onResult:a,onError:n,optionOverrides:r,maskCompletedText:t,apiConfig:l,additionalContext:v,columns:w,dropdownTrigger:y,optionsPosition:k,closeDropdownOnBlur:z,showNonTappableOptions:L,showOptionIcons:I,showOptionImages:O,showOptionCounts:R,showSkipButton:C,showProducts:U,onFocus:X,onBlur:p,value:ve,completedParams:pe,onChange:he,onParamsChange:J,products:ue,onProductSelect:ee,source:"full-sdk",setCursor:b});Bt(()=>{if(!me)return;let E=window.setTimeout(()=>ne(),650);return()=>window.clearTimeout(E)},[me,ne]);let _t=W>=0?`${Ee}-option-${W}`:void 0,{inputRef:qe,editorProps:qt,focus:ze,blur:nt,getPlainText:rt}=Nt({segments:oe,newParamId:me,editingParam:g,editingIdentified:H,editingAnchor:D,caretOffset:_e,placeholderText:ke,isFocused:re,showChipIcons:T,showChipImages:M,isDropdownOpen:Ce,listboxId:Ee,activeDescendantId:_t,autoFocus:ce,handleTextChange:We,handleKeyDown:Te,handleCaretAfterInput:Ft,handleCaretMove:Kt,startEditingParam:Ht,replaceEditingRange:Gt,setFocused:Le});u.current=qe,ri(()=>{let E=ae.current,ge=qe.current;if(!E||!ge)return;let st=()=>{let dt=E.firstElementChild;if(!dt)return;let jt=dt.getBoundingClientRect(),Zt=ge.getBoundingClientRect();jt.top>=Zt.bottom-2?E.setAttribute("data-aia-pill-wrapped",""):E.removeAttribute("data-aia-pill-wrapped")};st();let lt=new ResizeObserver(st);return lt.observe(ge),()=>lt.disconnect()},[oe,G.length,B,qe]),ni(te,()=>({focus:ze,blur:nt,reset:Me,setMode:E=>d.current?.setMode(E),skipActivePill:c}),[ze,nt,Me,c]);let Ne=!!oe.length||x.length>0,Ue=it(()=>{if(!Ne)return;let E=rt();o(si(E,x,i,{identifiedParams:P,isReady:m,customFields:j})),Me()},[Ne,x,i,P,m,j,o,Me,rt]);ie.current=Ue;let Ut=it(E=>{E.target?.closest("[data-aia-pill]")||ze()},[ze]),Qt=f==="inline",Yt=f==="dropdown";return ot("div",{ref:Y,className:`magicx-aia ${xe.container} ${s??""}`,"data-pill-placement":f,"data-options-position":k,"data-animations":S?"on":"off","data-mode":ci(h),children:[Ie(Xe,{...Wt,showPills:Yt,productsLayout:de,productImageFallback:V}),ot("div",{className:xe.inputWrapper,"data-aia-input-wrapper":"",onClick:Ut,children:[ot("div",{className:xe.editorArea,"data-aia-editor":"",children:[Ie("div",{...qt,className:xe.input,"data-aia-input":""}),Qt&&(B||G.length>0)&&Ie("span",{ref:ae,className:xe.pillListContainer,"data-aia-pill-list-container":"",children:Ie(He,{pills:G,activePillIndex:0,activeSelected:Z,onSelectPill:we,loading:B})})]}),Q===null?null:Q===void 0?Ie(Et,{disabled:!Ne,onClick:Ue}):Ie("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:xe.submitSlot,onClick:E=>{Ne&&(E.stopPropagation(),Ue())},children:Q})]})]})});export{pi as AIAutocomplete,Xe as AIAutocompleteDropdown,rn as DATE_RANGE_META_END,sn as DATE_RANGE_META_START,ln as DEFAULT_OPTION_COUNT_UNIT,wn as PRODUCT_PATH_PREFIX,Tn as WEEKDAY_LABELS,an as buildSubmitResult,on as cellDay,nn as cellIso,dn as dateCellMarks,cn as formatDate,pn as formatDateRange,hn as formatOptionCount,un as isoDate,mn as monthLabel,gn as optionCountLabel,fn as optionHasImage,bn as optionImageSrc,vn as optionLabel,xn as parseDate,yn as parseLooseDate,kn as parseLooseDateRange,Cn as productFromMatchedItem,Pn as productsFromCustomFields,Sn as sanitizeOptionIconSvg,In as selectedRangeFor,et as useAIAutocomplete,En as visibleDateRange,An as withSkippedParams};
|
|
2192
|
+
`,document.head.appendChild(e)}var It={submitButton:"aia-submitButton-otz7H"};import{jsx as Je}from"react/jsx-runtime";function Et({disabled:e,onClick:o}){return Je("button",{type:"button","data-aia-submit":"",className:It.submitButton,disabled:e,onClick:t=>{t.stopPropagation(),o()},"aria-label":"Submit",children:Je("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:Je("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as Va,dateSelectionFor as Xa,identifiedParamLabel as Ja}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as Ot,useEffect as De,useRef as G,useState as ei}from"react";import{useRef as Tt}from"react";function At(e){let o=Tt(e);o.current=e;let t=Object.keys(e??{}).sort().join("\0"),n=Tt({key:"",overrides:void 0});if(n.current.key!==t){let r={};for(let i of Object.keys(e??{})){let a=(l,w,b)=>{let v=o.current?.[i];return v?v(l,w,b):[]};r[i]=a}n.current={key:t,overrides:e?r:void 0}}return{overrides:n.current.overrides,key:t}}import{useRef as Rt}from"react";function Dt(e){let o=Rt(e);o.current=e;let t=Rt(null);t.current===null&&(t.current={fetch:(r,i)=>{let a=o.current;return a?a.fetch(r,i):Promise.reject(new Error("products config removed"))},transform:r=>o.current?.transform(r)??[],get limit(){return o.current?.limit}});let n=e!==void 0;return{config:n?t.current:void 0,enabled:n}}var ti={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],customFields:null,optionSearch:null,activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],dropdownLoading:!0,dropdownOptions:[],skeletonOptions:null,skeletonSuggestion:null,dropdownSuggestion:null,skeletonRequested:!1,skeletonExiting:!1,activeFormatType:"options",dateView:null,dateRangeStart:null,placeholderText:"",optionQuery:"",isSearchingOptions:!1,isDropdownOpen:!1,isActivePillSelected:!1,filterBase:0,filterInProgress:!1,pillTapped:!1,skipNextFetch:!1,lastRawQuery:"",isFocused:!1,editingParam:null,editingIdentified:null,editingAnchor:null,editingTail:null,caretOffset:null,inSelectionAnimation:!1,dateViewMonth:null,pendingRangeStart:null};function et({onSubmit:e,onResult:o,onError:t,optionOverrides:n,maskCompletedText:r,apiConfig:i,additionalContext:a,columns:l=2,dropdownTrigger:w,optionsPosition:b,closeDropdownOnBlur:v,showNonTappableOptions:C,showOptionIcons:g,showOptionImages:x,showOptionCounts:T,showSkipButton:S,showProducts:M,productImageFallback:z="image",onFocus:I,onBlur:A,value:R,completedParams:E,onChange:P,onParamsChange:N,products:le,onProductSelect:X,source:de,setCursor:J}){let c=G(null),[we,ce]=ei(null),pe=G(e);pe.current=e;let he=G(o);he.current=o;let ee=G(t);ee.current=t;let ue=G(P);ue.current=P;let W=G(N);W.current=N;let te=G(I);te.current=I;let ae=G(A);ae.current=A;let j=G(J);j.current=J;let ie=G(X);ie.current=X;let d=Dt(le),p=At(n);De(()=>{if(typeof document>"u")return;let u=new Va(document.createElement("div"),{renderMode:"headless",apiConfig:i,additionalContext:a,optionOverrides:p.overrides,maskCompletedText:r,columns:l,dropdownTrigger:w,optionsPosition:b,closeDropdownOnBlur:v,showNonTappableOptions:C,showProducts:M,source:de,value:R,completedParams:E,onSubmit:(...L)=>pe.current?.(...L),onResult:(...L)=>he.current?.(...L),onError:(...L)=>ee.current?.(...L),onChange:(...L)=>ue.current?.(...L),onParamsChange:(...L)=>W.current?.(...L),onFocus:()=>te.current?.(),onBlur:()=>ae.current?.(),onProductSelect:L=>ie.current?.(L),setCursor:L=>j.current?.(L),products:d.config});c.current=u,ce(u.getState());let F=u.subscribe(L=>ce(L));return()=>{F(),u.destroy(),c.current===u&&(c.current=null)}},[]),De(()=>{R!==void 0&&c.current?.setValue(R)},[R]),De(()=>{E!==void 0&&c.current?.setCompletedParams(E)},[E]);let f=JSON.stringify(i??null),k;try{k=JSON.stringify(a??null)}catch{k="[unstringifiable]"}De(()=>{c.current?.update({apiConfig:i,additionalContext:a,optionOverrides:p.overrides,dropdownTrigger:w,optionsPosition:b,closeDropdownOnBlur:v,showNonTappableOptions:C,showProducts:M})},[f,k,p.key,w,b,v,C,M]);let y=G(!1);De(()=>{if(!y.current){y.current=!0;return}c.current?.update({products:d.config})},[d.enabled]);let s=G(null);s.current===null&&(s.current={handleTextChange:u=>c.current?.handleTextChange(u),handleKeyDown:u=>{let F="nativeEvent"in u?u.nativeEvent:u;c.current?.handleKeyDown(F)},setFocused:u=>c.current?.setFocused(u),startEditingParam:u=>c.current?.startEditingParam(u),exitEditMode:()=>c.current?.exitEditMode(),handleCaretAfterInput:u=>c.current?.handleCaretAfterInput(u),handleCaretMove:u=>c.current?.handleCaretMove(u),replaceEditingRange:u=>c.current?.replaceEditingRange(u)??!1,setActivePill:u=>c.current?.setActivePill(u),skipActivePill:()=>c.current?.skipActivePill(),removeLastParam:()=>c.current?.removeLastParam(),clearNewParamId:()=>c.current?.clearNewParamId(),reset:()=>c.current?.reset(),selectOption:u=>c.current?.selectOption(u),selectProduct:u=>c.current?.selectProduct(u),setActiveDropdownIndex:u=>c.current?.setActiveDropdownIndex(u),clearHighlight:u=>c.current?.clearHighlight(u),showPreviousMonth:()=>c.current?.showPreviousMonth(),showNextMonth:()=>c.current?.showNextMonth(),handleFocus:()=>c.current?.setFocused(!0),handleBlur:()=>c.current?.setFocused(!1)});let m=s.current,B=Ot(u=>{let F=u.target.value,_e=F.length>0&&!u.nativeEvent?.isComposing&&F[0]!==F[0].toUpperCase()?F[0].toUpperCase()+F.slice(1):F;c.current?.handleTextChange(_e)},[]),me=Ot(u=>{c.current?.handleKeyDown(u.nativeEvent)},[]),_=c.current,h=we??ti,xe=R!==void 0?R:h.text,ge=E!==void 0?E:h.completedParams,Y=h.actionableSuggestions,ye=Y[0],oe=_?.listboxId??"",Pe=h.activeDropdownIndex>=0&&_?`${oe}-option-${h.activeDropdownIndex}`:void 0,q=h.editingParam,ne=h.editingIdentified,Z=q?{type:q.suggestionType,text:q.suggestionPlaceholder,required:!0,options:q.options}:ne?{type:ne.type,text:Ja(ne.type),required:!0,options:[]}:null,$=h.dropdownSuggestion??Z??ye,Le=Z?[Z]:Y,Te=Xa(h),Me=!_||h.dropdownLoading;return{completedParams:ge,skippedParams:h.skippedParams,identifiedParams:h.identifiedParams,suggestionPills:Y,setActivePill:m.setActivePill,skipActivePill:m.skipActivePill,removeLastParam:m.removeLastParam,segments:h.segments,newParamId:h.newParamId,clearNewParamId:m.clearNewParamId,suggestions:h.suggestions,activeIndex:h.activeDropdownIndex,isReady:h.isReady,isLoading:Me,isFocused:h.isFocused,isDropdownOpen:h.isDropdownOpen,isActivePillSelected:h.isActivePillSelected,placeholderText:h.placeholderText,listboxId:oe,error:h.error,products:h.products,customFields:h.customFields,selectProduct:m.selectProduct,handleTextChange:m.handleTextChange,handleKeyDown:m.handleKeyDown,setFocused:m.setFocused,editingParam:q,editingIdentified:ne,editingAnchor:h.editingAnchor,caretOffset:h.caretOffset,startEditingParam:m.startEditingParam,exitEditMode:m.exitEditMode,handleCaretAfterInput:m.handleCaretAfterInput,handleCaretMove:m.handleCaretMove,replaceEditingRange:m.replaceEditingRange,inputProps:{value:xe,placeholder:h.placeholderText||void 0,onChange:B,onKeyDown:me,onFocus:m.handleFocus,onBlur:m.handleBlur,role:"combobox","aria-expanded":h.isDropdownOpen,"aria-activedescendant":Pe,"aria-autocomplete":"list","aria-controls":oe},reset:m.reset,dropdownProps:{suggestions:$?[{...$,options:h.dropdownOptions}]:[],activeIndex:h.activeDropdownIndex,onSelect:m.selectOption,onHighlight:m.setActiveDropdownIndex,onUnhighlight:m.clearHighlight,isOpen:h.isDropdownOpen,id:oe,pills:Le,activeSelected:h.isActivePillSelected,onPillClick:m.setActivePill,onSkip:m.skipActivePill,showSkipButton:(S??!0)&&!q&&!ne,showOptionIcons:g??!0,showOptionImages:x??!0,showOptionCounts:T??!0,skipDisabled:h.inSelectionAnimation,isLoading:Me,skeletonExiting:h.skeletonExiting,isInputEmpty:xe.trim().length===0,products:h.products,productImageFallback:z,onProductSelect:m.selectProduct,onProductFocusChange:m.setFocused,formatType:h.activeFormatType,dateView:h.dateView,selectedDateIso:Te.selectedIso,selectedDateRange:Te.selectedRange,dateRangeStart:Te.rangeStart,onPreviousMonth:m.showPreviousMonth,onNextMonth:m.showNextMonth,optionsPosition:b??"below"}}}import{extractPlainText as Lt,getCursorOffset as Mt,plainTextLength as ai,renderEditableContent as ii,setCursorOffset as zt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as Q,useEffect as tt,useLayoutEffect as at,useRef as Ie}from"react";var We;function oi(){if(We!==void 0)return We;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),We=e.contentEditable==="plaintext-only",We}function Nt(e){let{segments:o,showChipIcons:t=!0,showChipImages:n=!0,newParamId:r,editingParam:i,editingIdentified:a,editingAnchor:l,caretOffset:w,placeholderText:b,isFocused:v,isDropdownOpen:C,listboxId:g,activeDescendantId:x,autoFocus:T,handleTextChange:S,handleKeyDown:M,handleCaretAfterInput:z,handleCaretMove:I,startEditingParam:A,replaceEditingRange:R,setFocused:E}=e,P=Ie(null),N=Ie(!1),le=Ie(""),X=Ie(""),de=Ie(null),J=Ie(0);de.current=w,tt(()=>{if(!T)return;let d=P.current;if(!d)return;document.activeElement===d?E(!0):d.focus();let p=d.ownerDocument??document,f=p.getSelection(),k=f&&f.rangeCount>0&&d.contains(f.anchorNode);if(f&&!k){let y=p.createRange();y.selectNodeContents(d),y.collapse(!0),f.removeAllRanges(),f.addRange(y)}},[T,E]),tt(()=>{let d=P.current;if(!d)return;let p=d.ownerDocument??document,f=()=>{let k=p.getSelection();if(!k||k.rangeCount===0||!k.anchorNode||!d.contains(k.anchorNode))return;let y=k.anchorNode,s=y.nodeType===Node.ELEMENT_NODE?y:y.parentElement,B=(k.isCollapsed?s?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,me=i?.id??a?.id??null;if(B&&B!==me){A(B);return}performance.now()-J.current<50||I(Mt(d))};return p.addEventListener("selectionchange",f),()=>p.removeEventListener("selectionchange",f)},[i,a,A,I]),at(()=>{let d=P.current;d&&ii({input:d,segments:o,newParamId:r,editingParamId:i?.id??null,placeholderText:b??"",isFocused:v,showChipIcons:t,showChipImages:n})},[o,r,i,b,v,t,n]),at(()=>{let d=le.current,p=r??"";if(le.current=p,!p||p===d)return;let f=P.current;if(!f)return;f.focus();let k=de.current??ai(f);zt(f,k)},[r]),at(()=>{let d=X.current,p=i?.id??"";if(X.current=p,!p||p===d||l==null)return;let f=P.current;f&&zt(f,l)},[i,l]);let c=Q(()=>{if(N.current)return;let d=P.current;if(!d)return;let p=Lt(d),k=p.length>0&&p[0]!==p[0].toUpperCase()?p[0].toUpperCase()+p.slice(1):p;S(k)},[S]),we=Q(()=>{J.current=performance.now(),c();let d=P.current;d&&z(Mt(d))},[c,z]);tt(()=>{let d=P.current;if(!d)return;let p=f=>{let k=f,y=k.inputType;if(y==="insertParagraph"||y==="insertLineBreak"||y==="insertFromDrop"){f.preventDefault();return}if(y.startsWith("insert")||y.startsWith("delete")){let s=y.startsWith("delete")?"":k.data??"";R(s)&&f.preventDefault()}};return d.addEventListener("beforeinput",p),()=>d.removeEventListener("beforeinput",p)},[R]);let ce=Q(()=>{N.current=!0},[]),pe=Q(()=>{N.current=!1,c()},[c]),he=Q(d=>{d.preventDefault();let p=P.current;if(!p)return;let f=(d.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!f)return;let k=p.ownerDocument??document,y=k.getSelection();if(!y||y.rangeCount===0)return;let s=y.getRangeAt(0);if(!p.contains(s.startContainer))return;s.deleteContents();let m=k.createTextNode(f);s.insertNode(m),s.setStartAfter(m),s.collapse(!0),y.removeAllRanges(),y.addRange(s),c()},[c]),ee=Q(d=>M(d),[M]),ue=Q(()=>E(!0),[E]),W=Q(()=>E(!1),[E]),te=Q(()=>P.current?.focus(),[]),ae=Q(()=>P.current?.blur(),[]),j=Q(()=>{let d=P.current;return d?Lt(d):""},[]),ie=oi()?"plaintext-only":"true";return{inputRef:P,editorProps:{ref:P,contentEditable:ie,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":g,"aria-expanded":C,"aria-activedescendant":x,spellCheck:!0,enterKeyHint:"send",onInput:we,onKeyDown:ee,onCompositionStart:ce,onCompositionEnd:pe,onPaste:he,onFocus:ue,onBlur:W},getPlainText:j,focus:te,blur:ae}}import{jsx as Ee,jsxs as ot}from"react/jsx-runtime";function pi(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var hi=ni(function({onSubmit:o,onResult:t,onError:n,optionOverrides:r,maskCompletedText:i,className:a,apiConfig:l,additionalContext:w,columns:b,pillPlacement:v="dropdown",mode:C="auto",optionsPosition:g="below",animations:x=!0,dropdownTrigger:T,closeDropdownOnBlur:S,showNonTappableOptions:M,showOptionIcons:z=!0,showChipIcons:I=!0,showChipImages:A=!0,showOptionImages:R=!0,showOptionCounts:E=!0,showSkipButton:P,showProducts:N,productsLayout:le,productImageFallback:X,autoFocus:de=!0,onFocus:J,onBlur:c,value:we,completedParams:ce,onChange:pe,onParamsChange:he,products:ee,onProductSelect:ue,submitButton:W,resetOnSubmit:te=!0},ae){let j=Oe(null),ie=Oe(null),d=Oe(()=>{}),p=Oe(null),f=Oe(null);Bt(()=>{let D=j.current;if(D)return p.current?p.current.setMode(C):p.current=new di(D,C),()=>{p.current?.destroy(),p.current=null}},[C]);let k=it(D=>{let fe=f.current?.current;fe&&(fe.focus(),ci(fe,D))},[]),{completedParams:y,skippedParams:s,identifiedParams:m,isReady:B,customFields:me,suggestionPills:_,setActivePill:h,skipActivePill:xe,segments:ge,newParamId:Y,clearNewParamId:ye,placeholderText:oe,isFocused:Pe,isDropdownOpen:q,isActivePillSelected:ne,isLoading:Z,activeIndex:$,listboxId:Le,handleTextChange:Te,handleKeyDown:Me,setFocused:u,editingParam:F,editingIdentified:L,editingAnchor:_e,caretOffset:Ht,startEditingParam:Ft,handleCaretAfterInput:Kt,handleCaretMove:Gt,replaceEditingRange:Wt,dropdownProps:_t,reset:ze}=et({onSubmit:D=>d.current(D),onResult:t,onError:n,optionOverrides:r,maskCompletedText:i,apiConfig:l,additionalContext:w,columns:b,dropdownTrigger:T,optionsPosition:g,closeDropdownOnBlur:S,showNonTappableOptions:M,showOptionIcons:z,showOptionImages:R,showOptionCounts:E,showSkipButton:P,showProducts:N,onFocus:J,onBlur:c,value:we,completedParams:ce,onChange:pe,onParamsChange:he,products:ee,onProductSelect:ue,source:"full-sdk",setCursor:k});Bt(()=>{if(!Y)return;let D=window.setTimeout(()=>ye(),650);return()=>window.clearTimeout(D)},[Y,ye]);let qt=$>=0?`${Le}-option-${$}`:void 0,{inputRef:qe,editorProps:Ut,focus:Ne,blur:nt,getPlainText:rt}=Nt({segments:ge,newParamId:Y,editingParam:F,editingIdentified:L,editingAnchor:_e,caretOffset:Ht,placeholderText:oe,isFocused:Pe,showChipIcons:I,showChipImages:A,isDropdownOpen:q,listboxId:Le,activeDescendantId:qt,autoFocus:de,handleTextChange:Te,handleKeyDown:Me,handleCaretAfterInput:Kt,handleCaretMove:Gt,startEditingParam:Ft,replaceEditingRange:Wt,setFocused:u});f.current=qe,si(()=>{let D=ie.current,fe=qe.current;if(!D||!fe)return;let st=()=>{let dt=D.firstElementChild;if(!dt)return;let Zt=dt.getBoundingClientRect(),$t=fe.getBoundingClientRect();Zt.top>=$t.bottom-2?D.setAttribute("data-aia-pill-wrapped",""):D.removeAttribute("data-aia-pill-wrapped")};st();let lt=new ResizeObserver(st);return lt.observe(fe),()=>lt.disconnect()},[ge,_.length,Z,qe]),ri(ae,()=>({focus:Ne,blur:nt,reset:ze,setMode:D=>p.current?.setMode(D),skipActivePill:xe}),[Ne,nt,ze,xe]);let Be=!!ge.length||y.length>0,Ue=it(()=>{if(!Be)return;let D=rt();o(li(D,y,s,{identifiedParams:m,isReady:B,customFields:me})),te&&ze()},[te,Be,y,s,m,B,me,o,ze,rt]);d.current=Ue;let Qt=it(D=>{D.target?.closest("[data-aia-pill]")||Ne()},[Ne]),jt=v==="inline",Yt=v==="dropdown";return ot("div",{ref:j,className:`magicx-aia ${ke.container} ${a??""}`,"data-pill-placement":v,"data-options-position":g,"data-animations":x?"on":"off","data-mode":pi(C),children:[Ee(Xe,{..._t,showPills:Yt,productsLayout:le,productImageFallback:X}),ot("div",{className:ke.inputWrapper,"data-aia-input-wrapper":"",onClick:Qt,children:[ot("div",{className:ke.editorArea,"data-aia-editor":"",children:[Ee("div",{...Ut,className:ke.input,"data-aia-input":""}),jt&&(Z||_.length>0)&&Ee("span",{ref:ie,className:ke.pillListContainer,"data-aia-pill-list-container":"",children:Ee(Fe,{pills:_,activePillIndex:0,activeSelected:ne,onSelectPill:h,loading:Z})})]}),W===null?null:W===void 0?Ee(Et,{disabled:!Be,onClick:Ue}):Ee("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:ke.submitSlot,onClick:D=>{Be&&(D.stopPropagation(),Ue())},children:W})]})]})});export{hi as AIAutocomplete,Xe as AIAutocompleteDropdown,sn as DATE_RANGE_META_END,ln as DATE_RANGE_META_START,dn as DEFAULT_OPTION_COUNT_UNIT,xn as PRODUCT_PATH_PREFIX,An as WEEKDAY_LABELS,on as buildSubmitResult,nn as cellDay,rn as cellIso,cn as dateCellMarks,pn as formatDate,hn as formatDateRange,un as formatOptionCount,mn as isoDate,gn as monthLabel,fn as optionCountLabel,bn as optionHasImage,vn as optionImageSrc,wn as optionLabel,yn as parseDate,kn as parseLooseDate,Cn as parseLooseDateRange,Pn as productFromMatchedItem,Sn as productsFromCustomFields,In as sanitizeOptionIconSvg,En as selectedRangeFor,et as useAIAutocomplete,Tn as visibleDateRange,Rn as withSkippedParams};
|
|
2187
2193
|
//# sourceMappingURL=index.mjs.map
|