@magicx-eng/ai-autocomplete-react 0.30.0 → 0.31.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 +17 -2
- package/dist/index.js +65 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +68 -12
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{buildSubmitResult as
|
|
1
|
+
import{buildSubmitResult as dn,cellDay as cn,cellIso as pn,DATE_RANGE_META_END as hn,DATE_RANGE_META_START as un,DEFAULT_OPTION_COUNT_UNIT as mn,dateCellMarks as gn,formatDate as fn,formatDateRange as bn,formatOptionCount as vn,isoDate as wn,monthLabel as xn,optionCountLabel as yn,optionHasImage as kn,optionImageSrc as Cn,optionLabel as Pn,PRODUCT_PATH_PREFIX as Sn,parseDate as In,parseLooseDate as En,parseLooseDateRange as Tn,productFromMatchedItem as An,productsFromCustomFields as Rn,sanitizeOptionIconSvg as On,selectedRangeFor as Dn,visibleDateRange as Ln,WEEKDAY_LABELS as zn,withSkippedParams as Mn}from"@magicx-eng/ai-autocomplete-vanilla";import{forwardRef as ci,useCallback as st,useEffect as Gt,useImperativeHandle as pi,useLayoutEffect as hi,useRef as Me}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 sn,cellDay as ln,cellIso as dn,DATE_RANGE_META_END a
|
|
|
262
262
|
opacity: 0;
|
|
263
263
|
}
|
|
264
264
|
}
|
|
265
|
-
`,document.head.appendChild(e)}var ye={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 Ua,containScroll as
|
|
265
|
+
`,document.head.appendChild(e)}var ye={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 Ua,containScroll as ja,isCalendarFormat as Ya,SCROLL_ARROW_LABEL as Qa}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Ue,useRef as qe,useState as Za}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
|
*
|
|
@@ -1204,7 +1204,7 @@ import{buildSubmitResult as sn,cellDay as ln,cellIso as dn,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 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 mt}from"react/jsx-runtime";var ra=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function gt({options:e,activeIndex:o,listboxId:t,view:n,selection:r,onSelect:i,onHighlight:a,onUnhighlight:l,onPreviousMonth:
|
|
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 mt}from"react/jsx-runtime";var ra=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function gt({options:e,activeIndex:o,listboxId:t,view:n,selection:r,onSelect:i,onHighlight:a,onUnhighlight:l,onPreviousMonth:y,onNextMonth:v}){let w=ta(new Date),P=ia({pendingStart:r.rangeStart,highlightedIso:Ie(e[o]),selected:r.selectedRange});return mt("div",{className:O.datepicker,"data-aia-datepicker":"",children:[mt("div",{className:O.header,children:[V("button",{type:"button",tabIndex:-1,className:O.nav,"data-aia-date-prev":"","aria-label":"Previous month",onMouseDown:u=>u.preventDefault(),onClick:y,children:"\u2039"}),V("span",{className:O.month,"data-aia-date-month":"","aria-live":"polite",children:aa(n)}),V("button",{type:"button",tabIndex:-1,className:O.nav,"data-aia-date-next":"","aria-label":"Next month",onMouseDown:u=>u.preventDefault(),onClick:v,children:"\u203A"})]}),V("div",{className:O.weekdays,"aria-hidden":"true",children:oa.map((u,x)=>V("span",{className:O.weekday,children:u},ra[x]))}),V("div",{className:O.grid,"data-aia-date-grid":"",children:e.map((u,x)=>V(sa,{option:u,id:`${t}-option-${x}`,index:x,isHighlighted:x===o&&u.is_tappable,isToday:Ie(u)===w,isPast:Ie(u)!=null&&Ie(u)<w,marks:ea(Ie(u),{selectedIso:r.selectedIso,range:P}),onSelect:i,onHighlight:a,onUnhighlight:l},Ie(u)??`pad-${x}`))})]})}function sa({option:e,id:o,index:t,isHighlighted:n,isToday:r,isPast:i,marks:a,onSelect:l,onHighlight:y,onUnhighlight:v}){let[w,P]=na(!1),u=Jt(e);if(u==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=()=>{P(!0),l(e),setTimeout(()=>P(!1),170)},T=[O.cell,O.day,i?O.past:"",n?O.highlighted:"",r?O.today:"",a.inRange?O.inRange:"",a.selected?O.selected:"",w?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:I=>{(I.key==="Enter"||I.key===" ")&&(I.preventDefault(),x())},onMouseEnter:()=>y(t),onMouseLeave:v?()=>v(t):void 0,children:V("span",{className:O.number,children:u})})}import{ATTRIBUTION_URL as la,buildAttributionUrl as da,getFooterHint as ca}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as pa,useState as ha}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 sn,cellDay as ln,cellIso as dn,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 ft}from"react/jsx-runtime";function De({gap:e,align:o="center",justify:t="start",noWrap:n=!1,inline:r=!1,className:i,children:a,...l}){let
|
|
1247
|
+
`,document.head.appendChild(e)}import{jsx as ft}from"react/jsx-runtime";function De({gap:e,align:o="center",justify:t="start",noWrap:n=!1,inline:r=!1,className:i,children:a,...l}){let y=e?{"--aia-cluster-gap":e}:void 0,v={className:i?`aia-cluster ${i}`:"aia-cluster","data-align":o,"data-justify":t,"data-nowrap":n||void 0,"data-inline":r||void 0,style:y,...l};return r?ft("span",{...v,children:a}):ft("div",{...v,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. */
|
|
@@ -1378,7 +1378,7 @@ import{buildSubmitResult as sn,cellDay as ln,cellIso as dn,DATE_RANGE_META_END a
|
|
|
1378
1378
|
justify-content: flex-end;
|
|
1379
1379
|
}
|
|
1380
1380
|
}
|
|
1381
|
-
`,document.head.appendChild(e)}var se={footer:"aia-footer-qQQ7x",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",row:"aia-row-BgZ6Q"};import{jsx as Le,jsxs as
|
|
1381
|
+
`,document.head.appendChild(e)}var se={footer:"aia-footer-qQQ7x",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",row:"aia-row-BgZ6Q"};import{jsx as Le,jsxs as Xe}from"react/jsx-runtime";function bt({isOptionHighlighted:e=!1,isInputEmpty:o=!1}){let{key:t,hint:n}=ca(e,o),[r,i]=ha(la);return pa(()=>{i(da())},[]),Le("footer",{className:se.footer,"data-aia-footer":"",children:Xe(De,{justify:"between",noWrap:!0,className:se.row,children:[Xe(De,{gap:"5px",className:se.hintGroup,children:[Le("kbd",{className:se.key,children:t}),Le("span",{className:se.hint,children:n})]}),Xe("a",{className:se.brandLink,href:r,target:"_blank",rel:"noopener noreferrer",children:[Le("span",{className:se.brand,children:"AI"}),Le("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
1382
|
no outline. ~28px via 6px padding + 14px text + the 1px border (border-box).
|
|
1383
1383
|
The border is kept as a 1px transparent line so the box stays the same size
|
|
1384
1384
|
as it was when the outline was dashed. */
|
|
@@ -1454,7 +1454,7 @@ import{buildSubmitResult as sn,cellDay as ln,cellIso as dn,DATE_RANGE_META_END a
|
|
|
1454
1454
|
opacity: 0;
|
|
1455
1455
|
}
|
|
1456
1456
|
}
|
|
1457
|
-
`,document.head.appendChild(e)}var
|
|
1457
|
+
`,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 ua}from"react/jsx-runtime";var Je={selected:1,first:.7,next:.4,last:.2};function vt({label:e,state:o,rounded:t,loading:n,onClick:r}){let i=[be.pill,t?be.rounded:"",n?be.skeleton:""].filter(Boolean).join(" ");return ua("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
1458
|
position: relative;
|
|
1459
1459
|
z-index: 1;
|
|
1460
1460
|
pointer-events: auto;
|
|
@@ -1464,7 +1464,7 @@ import{buildSubmitResult as sn,cellDay as ln,cellIso as dn,DATE_RANGE_META_END a
|
|
|
1464
1464
|
align-items: center;
|
|
1465
1465
|
vertical-align: middle;
|
|
1466
1466
|
}
|
|
1467
|
-
`,document.head.appendChild(e)}var
|
|
1467
|
+
`,document.head.appendChild(e)}var et={list:"aia-list-qvLqO"};import{jsx as Ge}from"react/jsx-runtime";var ma=[125,69];function wt(e){return e===0?"first":e===1?"next":"last"}function We({pills:e,activePillIndex:o,onSelectPill:t,activeSelected:n,rounded:r,loading:i}){return i&&e.length===0?Ge("span",{className:et.list,"data-aia-pill-list-loading":"",children:ma.map((a,l)=>Ge("span",{"data-aia-pill-skeleton":"",className:`${be.pill} ${r?be.rounded:""} ${be.skeleton}`,style:{width:a,opacity:Je[wt(l)]}},`skel-${a}`))}):Ge("span",{className:et.list,"data-aia-pill-list-loading":i?"":void 0,children:e.map((a,l)=>{let y=!!n&&l===o;return Ge(vt,{label:a.text,state:y?"selected":wt(l),selected:y,rounded:r,loading:i,onClick:()=>t(l)},`${a.type}-${a.text}`)})})}import{attachProductRowWheel as ga,productInitial as fa}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as ba,useRef as va,useState as wa}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
1468
|
(packages/vanilla/src/styles.css). Same tokens, same defaults, so a consumer
|
|
1469
1469
|
theming one package sees the same result in the other.
|
|
1470
1470
|
|
|
@@ -1541,6 +1541,8 @@ import{buildSubmitResult as sn,cellDay as ln,cellIso as dn,DATE_RANGE_META_END a
|
|
|
1541
1541
|
text-decoration: none;
|
|
1542
1542
|
cursor: pointer;
|
|
1543
1543
|
transition: background-color 150ms ease;
|
|
1544
|
+
/* The sold-out badge is positioned against the card. */
|
|
1545
|
+
position: relative;
|
|
1544
1546
|
}
|
|
1545
1547
|
|
|
1546
1548
|
.aia-card-JBGYT:hover {
|
|
@@ -1656,6 +1658,39 @@ import{buildSubmitResult as sn,cellDay as ln,cellIso as dn,DATE_RANGE_META_END a
|
|
|
1656
1658
|
);
|
|
1657
1659
|
}
|
|
1658
1660
|
|
|
1661
|
+
/* Sold-out badge. It sits last in the text column, so the card's accessible
|
|
1662
|
+
name ends with it, and is lifted over the image's top-left corner: card
|
|
1663
|
+
padding (6px) plus the same again. A light chip with dark, tracked capitals
|
|
1664
|
+
reads on any photo, light or dark, and on either panel surface. */
|
|
1665
|
+
.aia-badge-j9Hcd {
|
|
1666
|
+
position: absolute;
|
|
1667
|
+
top: var(--aia-product-badge-inset, 12px);
|
|
1668
|
+
left: var(--aia-product-badge-inset, 12px);
|
|
1669
|
+
padding: 3px 6px;
|
|
1670
|
+
border-radius: 4px;
|
|
1671
|
+
background: var(--aia-product-badge-bg, rgba(255, 255, 255, 0.94));
|
|
1672
|
+
color: var(--aia-product-badge-color, #1f2328);
|
|
1673
|
+
/* A hairline ring keeps the chip's edge on a pale image or a light panel. */
|
|
1674
|
+
box-shadow:
|
|
1675
|
+
0 0 0 1px rgba(0, 0, 0, 0.08),
|
|
1676
|
+
0 1px 2px rgba(0, 0, 0, 0.18);
|
|
1677
|
+
font-family: inherit;
|
|
1678
|
+
font-size: var(--aia-product-badge-font-size, 9px);
|
|
1679
|
+
font-weight: 600;
|
|
1680
|
+
line-height: 1;
|
|
1681
|
+
letter-spacing: 0.08em;
|
|
1682
|
+
text-transform: uppercase;
|
|
1683
|
+
white-space: nowrap;
|
|
1684
|
+
pointer-events: none;
|
|
1685
|
+
}
|
|
1686
|
+
|
|
1687
|
+
/* A sold-out product's image steps back, so the badge is not the only cue.
|
|
1688
|
+
Desaturated rather than faded: opacity lets the panel show through, which
|
|
1689
|
+
muddies a photo on a dark surface. */
|
|
1690
|
+
.aia-card-JBGYT[data-aia-product-sold-out] .aia-image-5pNL7 {
|
|
1691
|
+
filter: grayscale(0.55);
|
|
1692
|
+
}
|
|
1693
|
+
|
|
1659
1694
|
/* --- List layout (\`productsLayout: "list"\`) ---
|
|
1660
1695
|
The same cards stacked as full-width rows \u2014 thumbnail on the left, text on
|
|
1661
1696
|
the right \u2014 for results that read as a list (courses, listings, documents)
|
|
@@ -1692,7 +1727,28 @@ import{buildSubmitResult as sn,cellDay as ln,cellIso as dn,DATE_RANGE_META_END a
|
|
|
1692
1727
|
.aia-section-Hugfg[data-aia-products-layout="list"] .aia-body-ly032 {
|
|
1693
1728
|
flex: 1 1 auto;
|
|
1694
1729
|
}
|
|
1695
|
-
|
|
1730
|
+
|
|
1731
|
+
/* In a list the badge is a banner across the bottom of the thumbnail. The
|
|
1732
|
+
thumbnail is centred in the card and the card's top and bottom padding
|
|
1733
|
+
match, so its bottom edge is half a thumbnail below the card's centre; its
|
|
1734
|
+
left edge is the card's 8px inline padding. */
|
|
1735
|
+
.aia-section-Hugfg[data-aia-products-layout="list"] .aia-badge-j9Hcd {
|
|
1736
|
+
top: calc(50% + var(--aia-product-list-media-size, 44px) / 2);
|
|
1737
|
+
left: 8px;
|
|
1738
|
+
width: var(--aia-product-list-media-size, 44px);
|
|
1739
|
+
transform: translateY(-100%);
|
|
1740
|
+
padding: 2px 0;
|
|
1741
|
+
border-radius: 0 0 8px 8px;
|
|
1742
|
+
/* A dark scrim rather than the light chip: a light banner at a tile's edge
|
|
1743
|
+
merges with a light panel and reads as a cropped photo. */
|
|
1744
|
+
background: var(--aia-product-badge-list-bg, rgba(17, 17, 17, 0.72));
|
|
1745
|
+
color: var(--aia-product-badge-list-color, #fff);
|
|
1746
|
+
box-shadow: none;
|
|
1747
|
+
font-size: var(--aia-product-badge-list-font-size, 7px);
|
|
1748
|
+
letter-spacing: 0.02em;
|
|
1749
|
+
text-align: center;
|
|
1750
|
+
}
|
|
1751
|
+
`,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",badge:"aia-badge-j9Hcd"};import{jsx as le,jsxs as _e}from"react/jsx-runtime";function xt({products:e,listboxId:o,onSelect:t,onFocusChange:n,focusable:r=!0,layout:i="row",imageFallback:a="image"}){let l=e.length>0,y=va(null);if(ba(()=>{let w=y.current;if(!(!l||!w))return ga(w)},[l]),!l)return null;let v=`${o}-products-label`;return _e("section",{className:U.section,"data-aia-products":"","data-aia-products-layout":i,role:"group","aria-labelledby":v,children:[le("div",{className:U.label,id:v,"data-aia-products-label":"",children:"Products"}),le("div",{ref:y,className:U.row,"data-aia-products-row":"",children:e.map((w,P)=>le(xa,{product:w,id:`${o}-product-${P}`,onSelect:t,onFocusChange:n,focusable:r,imageFallback:a},w.id))})]})}function xa({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 _e("a",{id:o,className:U.card,"data-aia-product":"","data-aia-product-sold-out":e.available===!1?"":void 0,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:[le(ya,{src:e.imageUrl?.trim(),title:e.title,fallback:i},e.imageUrl?.trim()??""),_e("span",{className:U.body,children:[e.vendor?le("span",{className:U.vendor,children:e.vendor}):null,le("span",{className:U.title,children:e.title}),e.price?le("span",{className:U.price,children:e.price}):null,e.available===!1?le("span",{className:U.badge,children:"Sold out"}):null]})]})}function ya({src:e,title:o,fallback:t}){let[n,r]=wa(!1),i=!!e&&!n,a=!i&&t==="initial";return _e("span",{className:U.media,"aria-hidden":"true","data-aia-product-placeholder":!i&&!a?"":void 0,"data-aia-product-initial":a?"":void 0,children:[i?le("img",{className:U.image,src:e,alt:"",loading:"lazy",decoding:"async",onError:()=>r(!0)}):null,a?fa(o):null]})}import{isOptionsGridMobileViewport as Ma,measureOptionsGrid as Na,needsOptionsGridMeasurement as Ba,OPTIONS_GRID_MOBILE_QUERY as Ha,optionEnterDelayMs as Fa,planOptionsGrid as Ct,sameOptionRows as Ka}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Ga,useLayoutEffect as Wa,useRef as Pt,useState as It}from"react";import{optionsGridTemplateColumns as ka}from"@magicx-eng/ai-autocomplete-vanilla";import{useLayoutEffect as Ca,useRef as Pa}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
1752
|
display: grid;
|
|
1697
1753
|
grid-template-columns: repeat(
|
|
1698
1754
|
auto-fit,
|
|
@@ -1728,7 +1784,7 @@ import{buildSubmitResult as sn,cellDay as ln,cellIso as dn,DATE_RANGE_META_END a
|
|
|
1728
1784
|
.aia-grid[data-scroll]::-webkit-scrollbar {
|
|
1729
1785
|
display: none;
|
|
1730
1786
|
}
|
|
1731
|
-
`,document.head.appendChild(e)}import{jsx as Sa}from"react/jsx-runtime";function yt({min:e="16rem",max:o,gap:t,scroll:n=!1,maxHeight:r,scrollResetKey:i,cols:a,template:l,innerRef:
|
|
1787
|
+
`,document.head.appendChild(e)}import{jsx as Sa}from"react/jsx-runtime";function yt({min:e="16rem",max:o,gap:t,scroll:n=!1,maxHeight:r,scrollResetKey:i,cols:a,template:l,innerRef:y,className:v,children:w,...P}){let u=Pa(null);Ca(()=>{if(i===void 0)return;let T=u.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=ka(a)),l&&(x.gridTemplateColumns=l),Sa("div",{ref:T=>{u.current=T,y?.(T)},className:v?`aia-grid ${v}`:"aia-grid","data-scroll":n||void 0,style:x,...P,children:w})}import{formatOptionCount as Ia,OPTION_ENTER_DELAY_VAR as Ea,optionImageSrc as Ta,optionLabel as Aa,sanitizeOptionIconSvg as Ra}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Oa,useMemo as Da,useRef as La,useState as tt}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 {
|
|
1732
1788
|
position: relative;
|
|
1733
1789
|
/* Clip, not visible: the entrance rise below runs on the inner content,
|
|
1734
1790
|
and a transformed box extends its scroll container's scrollable area.
|
|
@@ -2125,7 +2181,7 @@ import{buildSubmitResult as sn,cellDay as ln,cellIso as dn,DATE_RANGE_META_END a
|
|
|
2125
2181
|
opacity: 0;
|
|
2126
2182
|
}
|
|
2127
2183
|
}
|
|
2128
|
-
`,document.head.appendChild(e)}var W={item:"aia-item-d4vpD",content:"aia-content-T-Qba",riseIn:"aia-riseIn-etXZT",fadeIn:"aia-fadeIn-I8u35",tappable:"aia-tappable-70KcX",nonTappable:"aia-nonTappable-xSZM-",highlighted:"aia-highlighted-Hb0SU",tag:"aia-tag-e3Fwe",pressed:"aia-pressed-98o-r",pressCompress:"aia-pressCompress-ICV3q",scrollHint:"aia-scrollHint-xKXPt",skeletonPulse:"aia-skeletonPulse-plvdD",text:"aia-text-yqoh9",skeletonBarIn:"aia-skeletonBarIn-ZlEM0",icon:"aia-icon-Qw938",count:"aia-count-IpYbQ",image:"aia-image-YZAbO",skeletonOut:"aia-skeletonOut-x6NRd"};import{jsx as ke,jsxs as za}from"react/jsx-runtime";function kt({option:e,isHighlighted:o,onSelect:t,onHighlight:n,onUnhighlight:r,id:i,loading:a,showIcon:l=!0,showImage:
|
|
2184
|
+
`,document.head.appendChild(e)}var W={item:"aia-item-d4vpD",content:"aia-content-T-Qba",riseIn:"aia-riseIn-etXZT",fadeIn:"aia-fadeIn-I8u35",tappable:"aia-tappable-70KcX",nonTappable:"aia-nonTappable-xSZM-",highlighted:"aia-highlighted-Hb0SU",tag:"aia-tag-e3Fwe",pressed:"aia-pressed-98o-r",pressCompress:"aia-pressCompress-ICV3q",scrollHint:"aia-scrollHint-xKXPt",skeletonPulse:"aia-skeletonPulse-plvdD",text:"aia-text-yqoh9",skeletonBarIn:"aia-skeletonBarIn-ZlEM0",icon:"aia-icon-Qw938",count:"aia-count-IpYbQ",image:"aia-image-YZAbO",skeletonOut:"aia-skeletonOut-x6NRd"};import{jsx as ke,jsxs as za}from"react/jsx-runtime";function kt({option:e,isHighlighted:o,onSelect:t,onHighlight:n,onUnhighlight:r,id:i,loading:a,showIcon:l=!0,showImage:y=!0,showCount:v=!0,scrollHint:w,enterDelayMs:P=0}){let[u]=tt(P),[x,T]=tt(!1),I=y?Ta(e.image_url):null,[K,L]=tt(null),A=Da(()=>!I&&l&&e.icon_svg?Ra(e.icon_svg):null,[I,l,e.icon_svg]),S=v?Ia(e.item_count):null,z=La(void 0);Oa(()=>()=>clearTimeout(z.current),[]);let E=()=>{a||!e.is_tappable||x||(T(!0),t(e),clearTimeout(z.current),z.current=setTimeout(()=>T(!1),170))},C=[W.item,o&&!a?W.highlighted:"",e.is_tappable?W.tappable:W.nonTappable,x?W.pressed:"",w?W.scrollHint:""].filter(Boolean).join(" ");return ke("div",{id:i,role:"option","data-aia-option":"","data-aia-loading":a?"":void 0,"data-aia-icon":A&&e.icon?e.icon:void 0,"data-aia-image":I?"":void 0,"data-aia-item-count":S!==null?e.item_count:void 0,"aria-selected":o,className:C,style:{[Ea]:`${u}ms`},tabIndex:a||!e.is_tappable?-1:0,onClick:E,onKeyDown:H=>{!a&&e.is_tappable&&(H.key==="Enter"||H.key===" ")&&(H.preventDefault(),E())},onMouseEnter:!a&&e.is_tappable?n:void 0,onMouseLeave:r,children:za("span",{className:W.content,children:[I&&ke("span",{className:`${W.image} magicx-aia-option-image`,"aria-hidden":"true",children:ke("img",{src:I,alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",draggable:!1,hidden:K===I,onError:()=>L(I)})}),A&&ke("span",{className:`${W.icon} magicx-aia-option-icon`,"aria-hidden":"true",dangerouslySetInnerHTML:{__html:A}}),ke("span",{className:W.text,children:Aa(e)}),e.tag&&ke("span",{className:W.tag,children:e.tag}),S!==null&&ke("span",{className:`${W.count} magicx-aia-option-count`,children:S})]})})}import{jsx as St}from"react/jsx-runtime";function _a(){let[e,o]=It(Ma);return Ga(()=>{if(typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia(Ha),n=()=>o(t.matches);return n(),t.addEventListener("change",n),()=>t.removeEventListener("change",n)},[]),e}function Et({options:e,activeIndex:o,onSelect:t,onHighlight:n,onUnhighlight:r,listboxId:i,loading:a,groupKey:l="",optionsPosition:y="below",showIcons:v=!0,showImages:w=!0,showCounts:P=!0}){let u=_a(),x=Pt(null),[T,I]=It(null),K=Pt(null);Wa(()=>{if(a&&Ka(K.current,e))return;K.current=a?null:e;let A=x.current,z=A&&!a&&Ba(e.length,u)?Na(A):null;I(z?Ct(e.length,u,z.rowWidths,z.gridWidth):null)},[e,u,a]);let L=T??Ct(e.length,u,null,null);return St(yt,{min:"250px",max:"1fr",gap:"0",scroll:!0,scrollResetKey:l,template:L.template,maxHeight:L.maxHeight,innerRef:A=>{x.current=A},"data-aia-group":l,children:e.map((A,S)=>St(kt,{option:A,isHighlighted:S===o,onSelect:t,onHighlight:()=>n(S),onUnhighlight:r?()=>r(S):void 0,id:`${i}-option-${S}`,loading:a,showIcon:v,showImage:w,showCount:P,scrollHint:!a&&L.scrollHintIndices.includes(S),enterDelayMs:a?0:Fa(S,L.cols,e.length,y)},`${l}\0${A.text}`))})}if(typeof document<"u"&&!document.getElementById("ac-style-8414cd5f")){let e=document.createElement("style");e.id="ac-style-8414cd5f",e.textContent=`.aia-stack {
|
|
2129
2185
|
display: flex;
|
|
2130
2186
|
flex-direction: column;
|
|
2131
2187
|
gap: var(--aia-stack-space, 0.5rem);
|
|
@@ -2140,7 +2196,7 @@ import{buildSubmitResult as sn,cellDay as ln,cellIso as dn,DATE_RANGE_META_END a
|
|
|
2140
2196
|
align-items: end;
|
|
2141
2197
|
}
|
|
2142
2198
|
/* data-align="stretch" is the flex default \u2014 no rule needed. */
|
|
2143
|
-
`,document.head.appendChild(e)}import{jsx as qa}from"react/jsx-runtime";function Tt({space:e,align:o="stretch",className:t,children:n,...r}){let i=e?{"--aia-stack-space":e}:void 0;return qa("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":o,style:i,...r,children:n})}import{jsx as
|
|
2199
|
+
`,document.head.appendChild(e)}import{jsx as qa}from"react/jsx-runtime";function Tt({space:e,align:o="stretch",className:t,children:n,...r}){let i=e?{"--aia-stack-space":e}:void 0;return qa("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":o,style:i,...r,children:n})}import{jsx as j,jsxs as at}from"react/jsx-runtime";var $a=[159,119,164],Va=()=>{},At=()=>{};function Xa(e){let o=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[t,n]=Za(o);if(Ue(()=>{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 Ja(e,o){let t=qe(null);Ue(()=>{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:Ua({dropdown:n,grid:i,button:r})};return}t.current?.controller.update()}),Ue(()=>()=>{t.current?.controller.destroy(),t.current=null},[])}function it({suggestions:e,activeIndex:o,onSelect:t,onHighlight:n,onUnhighlight:r,isOpen:i,id:a,className:l,pills:y,onPillClick:v,showPills:w=!0,onSkip:P,showSkipButton:u=!0,showOptionIcons:x=!0,showOptionImages:T=!0,showOptionCounts:I=!0,skipDisabled:K=!1,activeSelected:L=!1,isLoading:A=!1,skeletonExiting:S=!1,isInputEmpty:z=!1,products:E,onProductSelect:C,onProductFocusChange:H,productsLayout:X="row",productImageFallback:de="image",formatType:J="options",dateView:ce=null,selectedDateIso:G=null,selectedDateRange:g=null,dateRangeStart:ve=null,onPreviousMonth:pe,onNextMonth:he,optionsPosition:ee="below",mode:ue}){let te=Xa(ue),Q=te!==void 0,_=qe(null),ae=qe(null);Ja(_,ae),Ue(()=>{if(_.current)return ja(_.current)},[]);let ie=e[0]?.options??[],d=!!(y&&y.length>0&&v),m=!!(E&&E.length>0),h=i&&(ie.length>0||w&&d||A||m),f={suggestions:e,activeIndex:o,pills:y,showPills:w,showSkipButton:u,showOptionIcons:x,showOptionImages:T,showOptionCounts:I,skipDisabled:K,activeSelected:L,isLoading:A,skeletonExiting:S,isInputEmpty:z,products:E,formatType:J,dateView:ce,selectedDateIso:G,selectedDateRange:g,dateRangeStart:ve},k=qe(f);h&&(k.current=f);let s=h?f:k.current,M=s.suggestions[0],N=M?.options??[],Z=s.activeIndex>=0&&!!N[s.activeIndex]?.is_tappable,b=!!(s.pills&&s.pills.length>0&&v),we=s.showPills&&b,Ae=s.showPills&&!b&&s.isLoading,oe=we||Ae,c=b&&s.showSkipButton&&!s.isInputEmpty&&!!P,ne=s.pills?.[0]?.text,xe=Ya(s.formatType)&&s.dateView!=null,me=N.length>0&&!xe,Ce=N.length>0&&xe&&!s.isLoading,ge=s.isLoading&&!me&&!Ce,Pe=s.products??[];return at("div",{ref:_,id:a,role:"listbox","data-aia-dropdown":"","data-options-position":ee,"data-mode":te,"data-aia-loading":s.isLoading?"":void 0,"data-aia-skeleton-exiting":s.skeletonExiting?"":void 0,"data-aia-has-products":Pe.length>0?"":void 0,className:`${Q?"magicx-aia ":""}${re.dropdown} ${h?re.visible:""} ${l??""}`,onMouseDown:B=>B.preventDefault(),children:[at(Tt,{space:"8px",children:[(oe||c)&&at(De,{noWrap:!0,className:re.pillBar,"data-aia-pillbar":"",children:[oe&&j("span",{className:re.pillScroll,"data-aia-pill-scroll":"",children:j(We,{pills:s.pills??[],activePillIndex:0,activeSelected:s.activeSelected,onSelectPill:v??(()=>{}),rounded:!0,loading:s.isLoading})}),c&&j("button",{type:"button",tabIndex:-1,className:re.skip,"data-aia-skip":"",disabled:s.isLoading||s.skipDisabled,"aria-label":ne?`Skip ${ne}`:"Skip",onClick:P,children:"skip"})]}),me&&j(Et,{options:N,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}),Ce&&s.dateView&&j(gt,{options:N,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??At,onNextMonth:he??At}),ge&&j("div",{className:re.skeletonBars,"data-aia-skeleton-bars":"",children:$a.map(B=>j("span",{className:re.skeletonBar,style:{width:B}},`bar-${B}`))}),j(xt,{products:Pe,listboxId:a,onSelect:C??Va,onFocusChange:H,focusable:h,layout:X,imageFallback:de}),j(bt,{isOptionHighlighted:Z,isInputEmpty:s.isInputEmpty})]}),j("button",{ref:ae,type:"button",tabIndex:-1,className:re.scrollArrow,"data-aia-scroll-arrow":"","aria-label":Qa,"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 ui,ModeController as mi,setCursorOffset as gi}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 {
|
|
2144
2200
|
flex-shrink: 0;
|
|
2145
2201
|
width: 32px;
|
|
2146
2202
|
height: 32px;
|
|
@@ -2193,5 +2249,5 @@ import{buildSubmitResult as sn,cellDay as ln,cellIso as dn,DATE_RANGE_META_END a
|
|
|
2193
2249
|
);
|
|
2194
2250
|
cursor: default;
|
|
2195
2251
|
}
|
|
2196
|
-
`,document.head.appendChild(e)}var Rt={submitButton:"aia-submitButton-otz7H"};import{jsx as it}from"react/jsx-runtime";function Ot({disabled:e,onClick:o}){return it("button",{type:"button","data-aia-submit":"",className:Rt.submitButton,disabled:e,onClick:t=>{t.stopPropagation(),o()},"aria-label":"Submit",children:it("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:it("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as ei,dateSelectionFor as ti,identifiedParamLabel as ai}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as Nt,useEffect as ze,useRef as F,useState as ii}from"react";import{useRef as Dt}from"react";function Lt(e){let o=Dt(e);o.current=e;let t=Object.keys(e??{}).sort().join("\0"),n=Dt({key:"",overrides:void 0});if(n.current.key!==t){let r={};for(let i of Object.keys(e??{})){let a=(l,x,b)=>{let v=o.current?.[i];return v?v(l,x,b):[]};r[i]=a}n.current={key:t,overrides:e?r:void 0}}return{overrides:n.current.overrides,key:t}}import{useRef as zt}from"react";function Mt(e){let o=zt(e);o.current=e;let t=zt(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 oi={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 ot({onSubmit:e,onResult:o,onError:t,optionOverrides:n,maskCompletedText:r,apiConfig:i,additionalContext:a,visitorId:l,columns:x=2,dropdownTrigger:b,optionsPosition:v,closeDropdownOnBlur:P,showNonTappableOptions:h,showOptionIcons:w,showOptionImages:E,showOptionCounts:S,showSkipButton:K,showProducts:L,productImageFallback:T="image",onFocus:A,onBlur:z,value:I,completedParams:C,onChange:H,onParamsChange:X,products:le,onProductSelect:J,source:de,setCursor:G}){let m=F(null),[ve,ce]=ii(null),pe=F(e);pe.current=e;let ee=F(o);ee.current=o;let he=F(t);he.current=t;let te=F(H);te.current=H;let j=F(X);j.current=X;let _=F(A);_.current=A;let ae=F(z);ae.current=z;let ie=F(G);ie.current=G;let d=F(J);d.current=J;let g=F(l);g.current=l;let u=F(()=>{let p=g.current;return typeof p=="function"?p():p}).current,y=Mt(le),k=Lt(n);ze(()=>{if(typeof document>"u")return;let p=new ei(document.createElement("div"),{renderMode:"headless",apiConfig:i,additionalContext:a,visitorId:u,optionOverrides:k.overrides,maskCompletedText:r,columns:x,dropdownTrigger:b,optionsPosition:v,closeDropdownOnBlur:P,showNonTappableOptions:h,showProducts:L,source:de,value:I,completedParams:C,onSubmit:(...D)=>pe.current?.(...D),onResult:(...D)=>ee.current?.(...D),onError:(...D)=>he.current?.(...D),onChange:(...D)=>te.current?.(...D),onParamsChange:(...D)=>j.current?.(...D),onFocus:()=>_.current?.(),onBlur:()=>ae.current?.(),onProductSelect:D=>d.current?.(D),setCursor:D=>ie.current?.(D),products:y.config});m.current=p,ce(p.getState());let q=p.subscribe(D=>ce(D));return()=>{q(),p.destroy(),m.current===p&&(m.current=null)}},[]),ze(()=>{I!==void 0&&m.current?.setValue(I)},[I]),ze(()=>{C!==void 0&&m.current?.setCompletedParams(C)},[C]);let s=JSON.stringify(i??null),M;try{M=JSON.stringify(a??null)}catch{M="[unstringifiable]"}ze(()=>{m.current?.update({apiConfig:i,additionalContext:a,optionOverrides:k.overrides,dropdownTrigger:b,optionsPosition:v,closeDropdownOnBlur:P,showNonTappableOptions:h,showProducts:L})},[s,M,k.key,b,v,P,h,L]);let N=F(!1);ze(()=>{if(!N.current){N.current=!0;return}m.current?.update({products:y.config})},[y.enabled]);let Z=F(null);Z.current===null&&(Z.current={handleTextChange:p=>m.current?.handleTextChange(p),handleKeyDown:p=>{let q="nativeEvent"in p?p.nativeEvent:p;m.current?.handleKeyDown(q)},setFocused:p=>m.current?.setFocused(p),startEditingParam:p=>m.current?.startEditingParam(p),exitEditMode:()=>m.current?.exitEditMode(),handleCaretAfterInput:p=>m.current?.handleCaretAfterInput(p),handleCaretMove:p=>m.current?.handleCaretMove(p),replaceEditingRange:p=>m.current?.replaceEditingRange(p)??!1,setActivePill:p=>m.current?.setActivePill(p),skipActivePill:()=>m.current?.skipActivePill(),removeLastParam:()=>m.current?.removeLastParam(),clearNewParamId:()=>m.current?.clearNewParamId(),reset:()=>m.current?.reset(),recordSubmit:p=>m.current?.recordSubmit(p),selectOption:p=>m.current?.selectOption(p),selectProduct:p=>m.current?.selectProduct(p),setActiveDropdownIndex:p=>m.current?.setActiveDropdownIndex(p),clearHighlight:p=>m.current?.clearHighlight(p),showPreviousMonth:()=>m.current?.showPreviousMonth(),showNextMonth:()=>m.current?.showNextMonth(),handleFocus:()=>m.current?.setFocused(!0),handleBlur:()=>m.current?.setFocused(!1)});let f=Z.current,we=Nt(p=>{let q=p.target.value,je=q.length>0&&!p.nativeEvent?.isComposing&&q[0]!==q[0].toUpperCase()?q[0].toUpperCase()+q.slice(1):q;m.current?.handleTextChange(je)},[]),Ae=Nt(p=>{m.current?.handleKeyDown(p.nativeEvent)},[]),oe=m.current,c=ve??oi,ne=I!==void 0?I:c.text,xe=C!==void 0?C:c.completedParams,ue=c.actionableSuggestions,Ce=ue[0],me=oe?.listboxId??"",Pe=c.activeDropdownIndex>=0&&oe?`${me}-option-${c.activeDropdownIndex}`:void 0,B=c.editingParam,ge=c.editingIdentified,Se=B?{type:B.suggestionType,text:B.suggestionPlaceholder,required:!0,options:B.options}:ge?{type:ge.type,text:ai(ge.type),required:!0,options:[]}:null,Ne=c.dropdownSuggestion??Se??Ce,Ye=Se?[Se]:ue,Re=ti(c),Be=!oe||c.dropdownLoading;return{completedParams:xe,skippedParams:c.skippedParams,identifiedParams:c.identifiedParams,suggestionPills:ue,setActivePill:f.setActivePill,skipActivePill:f.skipActivePill,removeLastParam:f.removeLastParam,segments:c.segments,newParamId:c.newParamId,clearNewParamId:f.clearNewParamId,suggestions:c.suggestions,activeIndex:c.activeDropdownIndex,isReady:c.isReady,isLoading:Be,isFocused:c.isFocused,isDropdownOpen:c.isDropdownOpen,isActivePillSelected:c.isActivePillSelected,placeholderText:c.placeholderText,listboxId:me,error:c.error,products:c.products,customFields:c.customFields,selectProduct:f.selectProduct,handleTextChange:f.handleTextChange,handleKeyDown:f.handleKeyDown,setFocused:f.setFocused,editingParam:B,editingIdentified:ge,editingAnchor:c.editingAnchor,caretOffset:c.caretOffset,startEditingParam:f.startEditingParam,exitEditMode:f.exitEditMode,handleCaretAfterInput:f.handleCaretAfterInput,handleCaretMove:f.handleCaretMove,replaceEditingRange:f.replaceEditingRange,inputProps:{value:ne,placeholder:c.placeholderText||void 0,onChange:we,onKeyDown:Ae,onFocus:f.handleFocus,onBlur:f.handleBlur,role:"combobox","aria-expanded":c.isDropdownOpen,"aria-activedescendant":Pe,"aria-autocomplete":"list","aria-controls":me},reset:f.reset,recordSubmit:f.recordSubmit,dropdownProps:{suggestions:Ne?[{...Ne,options:c.dropdownOptions}]:[],activeIndex:c.activeDropdownIndex,onSelect:f.selectOption,onHighlight:f.setActiveDropdownIndex,onUnhighlight:f.clearHighlight,isOpen:c.isDropdownOpen,id:me,pills:Ye,activeSelected:c.isActivePillSelected,onPillClick:f.setActivePill,onSkip:f.skipActivePill,showSkipButton:(K??!0)&&!B&&!ge,showOptionIcons:w??!0,showOptionImages:E??!0,showOptionCounts:S??!0,skipDisabled:c.inSelectionAnimation,isLoading:Be,skeletonExiting:c.skeletonExiting,isInputEmpty:ne.trim().length===0,products:c.products,productImageFallback:T,onProductSelect:f.selectProduct,onProductFocusChange:f.setFocused,formatType:c.activeFormatType,dateView:c.dateView,selectedDateIso:Re.selectedIso,selectedDateRange:Re.selectedRange,dateRangeStart:Re.rangeStart,onPreviousMonth:f.showPreviousMonth,onNextMonth:f.showNextMonth,optionsPosition:v??"below"}}}import{extractPlainText as Bt,getCursorOffset as Ht,plainTextLength as ni,renderEditableContent as ri,setCursorOffset as Ft}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as Y,useEffect as nt,useLayoutEffect as rt,useRef as Ee}from"react";var Qe;function si(){if(Qe!==void 0)return Qe;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),Qe=e.contentEditable==="plaintext-only",Qe}function Kt(e){let{segments:o,showChipIcons:t=!0,showChipImages:n=!0,newParamId:r,editingParam:i,editingIdentified:a,editingAnchor:l,caretOffset:x,placeholderText:b,isFocused:v,isDropdownOpen:P,listboxId:h,activeDescendantId:w,autoFocus:E,handleTextChange:S,handleKeyDown:K,handleCaretAfterInput:L,handleCaretMove:T,startEditingParam:A,replaceEditingRange:z,setFocused:I}=e,C=Ee(null),H=Ee(!1),X=Ee(""),le=Ee(""),J=Ee(null),de=Ee(0);J.current=x,nt(()=>{if(!E)return;let d=C.current;if(!d)return;document.activeElement===d?I(!0):d.focus();let g=d.ownerDocument??document,u=g.getSelection(),y=u&&u.rangeCount>0&&d.contains(u.anchorNode);if(u&&!y){let k=g.createRange();k.selectNodeContents(d),k.collapse(!0),u.removeAllRanges(),u.addRange(k)}},[E,I]),nt(()=>{let d=C.current;if(!d)return;let g=d.ownerDocument??document,u=()=>{let y=g.getSelection();if(!y||y.rangeCount===0||!y.anchorNode||!d.contains(y.anchorNode))return;let k=y.anchorNode,s=k.nodeType===Node.ELEMENT_NODE?k:k.parentElement,N=(y.isCollapsed?s?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,Z=i?.id??a?.id??null;if(N&&N!==Z){A(N);return}performance.now()-de.current<50||T(Ht(d))};return g.addEventListener("selectionchange",u),()=>g.removeEventListener("selectionchange",u)},[i,a,A,T]),rt(()=>{let d=C.current;d&&ri({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]),rt(()=>{let d=X.current,g=r??"";if(X.current=g,!g||g===d)return;let u=C.current;if(!u)return;u.focus();let y=J.current??ni(u);Ft(u,y)},[r]),rt(()=>{let d=le.current,g=i?.id??"";if(le.current=g,!g||g===d||l==null)return;let u=C.current;u&&Ft(u,l)},[i,l]);let G=Y(()=>{if(H.current)return;let d=C.current;if(!d)return;let g=Bt(d),y=g.length>0&&g[0]!==g[0].toUpperCase()?g[0].toUpperCase()+g.slice(1):g;S(y)},[S]),m=Y(()=>{de.current=performance.now(),G();let d=C.current;d&&L(Ht(d))},[G,L]);nt(()=>{let d=C.current;if(!d)return;let g=u=>{let y=u,k=y.inputType;if(k==="insertParagraph"||k==="insertLineBreak"||k==="insertFromDrop"){u.preventDefault();return}if(k.startsWith("insert")||k.startsWith("delete")){let s=k.startsWith("delete")?"":y.data??"";z(s)&&u.preventDefault()}};return d.addEventListener("beforeinput",g),()=>d.removeEventListener("beforeinput",g)},[z]);let ve=Y(()=>{H.current=!0},[]),ce=Y(()=>{H.current=!1,G()},[G]),pe=Y(d=>{d.preventDefault();let g=C.current;if(!g)return;let u=(d.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!u)return;let y=g.ownerDocument??document,k=y.getSelection();if(!k||k.rangeCount===0)return;let s=k.getRangeAt(0);if(!g.contains(s.startContainer))return;s.deleteContents();let M=y.createTextNode(u);s.insertNode(M),s.setStartAfter(M),s.collapse(!0),k.removeAllRanges(),k.addRange(s),G()},[G]),ee=Y(d=>K(d),[K]),he=Y(()=>I(!0),[I]),te=Y(()=>I(!1),[I]),j=Y(()=>C.current?.focus(),[]),_=Y(()=>C.current?.blur(),[]),ae=Y(()=>{let d=C.current;return d?Bt(d):""},[]),ie=si()?"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":h,"aria-expanded":P,"aria-activedescendant":w,spellCheck:!0,enterKeyHint:"send",onInput:m,onKeyDown:ee,onCompositionStart:ve,onCompositionEnd:ce,onPaste:pe,onFocus:he,onBlur:te},getPlainText:ae,focus:j,blur:_}}import{jsx as Te,jsxs as lt}from"react/jsx-runtime";function mi(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var gi=li(function({onSubmit:o,onResult:t,onError:n,optionOverrides:r,maskCompletedText:i,className:a,apiConfig:l,additionalContext:x,visitorId:b,columns:v,pillPlacement:P="dropdown",mode:h="auto",optionsPosition:w="below",animations:E=!0,dropdownTrigger:S,closeDropdownOnBlur:K,showNonTappableOptions:L,showOptionIcons:T=!0,showChipIcons:A=!0,showChipImages:z=!0,showOptionImages:I=!0,showOptionCounts:C=!0,showSkipButton:H,showProducts:X,productsLayout:le,productImageFallback:J,autoFocus:de=!0,onFocus:G,onBlur:m,value:ve,completedParams:ce,onChange:pe,onParamsChange:ee,products:he,onProductSelect:te,submitButton:j,resetOnSubmit:_=!0},ae){let ie=Me(null),d=Me(null),g=Me(()=>{}),u=Me(null),y=Me(null);Gt(()=>{let R=ie.current;if(R)return u.current?u.current.setMode(h):u.current=new hi(R,h),()=>{u.current?.destroy(),u.current=null}},[h]);let k=st(R=>{let $=y.current?.current;$&&($.focus(),ui($,R))},[]),{completedParams:s,skippedParams:M,identifiedParams:N,isReady:Z,customFields:f,suggestionPills:we,setActivePill:Ae,skipActivePill:oe,segments:c,newParamId:ne,clearNewParamId:xe,placeholderText:ue,isFocused:Ce,isDropdownOpen:me,isActivePillSelected:Pe,isLoading:B,activeIndex:ge,listboxId:Se,handleTextChange:Ne,handleKeyDown:Ye,setFocused:Re,editingParam:Be,editingIdentified:p,editingAnchor:q,caretOffset:D,startEditingParam:je,handleCaretAfterInput:Wt,handleCaretMove:_t,replaceEditingRange:qt,dropdownProps:Ut,reset:He,recordSubmit:dt}=ot({onSubmit:R=>g.current(R),onResult:t,onError:n,optionOverrides:r,maskCompletedText:i,apiConfig:l,additionalContext:x,visitorId:b,columns:v,dropdownTrigger:S,optionsPosition:w,closeDropdownOnBlur:K,showNonTappableOptions:L,showOptionIcons:T,showOptionImages:I,showOptionCounts:C,showSkipButton:H,showProducts:X,onFocus:G,onBlur:m,value:ve,completedParams:ce,onChange:pe,onParamsChange:ee,products:he,onProductSelect:te,source:"full-sdk",setCursor:k});Gt(()=>{if(!ne)return;let R=window.setTimeout(()=>xe(),650);return()=>window.clearTimeout(R)},[ne,xe]);let Qt=ge>=0?`${Se}-option-${ge}`:void 0,{inputRef:Ze,editorProps:Yt,focus:Fe,blur:ct,getPlainText:pt}=Kt({segments:c,newParamId:ne,editingParam:Be,editingIdentified:p,editingAnchor:q,caretOffset:D,placeholderText:ue,isFocused:Ce,showChipIcons:A,showChipImages:z,isDropdownOpen:me,listboxId:Se,activeDescendantId:Qt,autoFocus:de,handleTextChange:Ne,handleKeyDown:Ye,handleCaretAfterInput:Wt,handleCaretMove:_t,startEditingParam:je,replaceEditingRange:qt,setFocused:Re});y.current=Ze,ci(()=>{let R=d.current,$=Ze.current;if(!R||!$)return;let Oe=()=>{let ut=R.firstElementChild;if(!ut)return;let Vt=ut.getBoundingClientRect(),Xt=$.getBoundingClientRect();Vt.top>=Xt.bottom-2?R.setAttribute("data-aia-pill-wrapped",""):R.removeAttribute("data-aia-pill-wrapped")};Oe();let ht=new ResizeObserver(Oe);return ht.observe($),()=>ht.disconnect()},[c,we.length,B,Ze]),di(ae,()=>({focus:Fe,blur:ct,reset:He,setMode:R=>u.current?.setMode(R),skipActivePill:oe}),[Fe,ct,He,oe]);let Ke=!!c.length||s.length>0,$e=st(R=>{if(!Ke)return;let $=pt(),Oe=pi($,s,M,{identifiedParams:N,isReady:Z,customFields:f});R&&dt(Oe),o(Oe),_&&He()},[dt,_,Ke,s,M,N,Z,f,o,He,pt]);g.current=()=>$e(!1);let jt=st(R=>{R.target?.closest("[data-aia-pill]")||Fe()},[Fe]),Zt=P==="inline",$t=P==="dropdown";return lt("div",{ref:ie,className:`magicx-aia ${ye.container} ${a??""}`,"data-pill-placement":P,"data-options-position":w,"data-animations":E?"on":"off","data-mode":mi(h),children:[Te(at,{...Ut,showPills:$t,productsLayout:le,productImageFallback:J}),lt("div",{className:ye.inputWrapper,"data-aia-input-wrapper":"",onClick:jt,children:[lt("div",{className:ye.editorArea,"data-aia-editor":"",children:[Te("div",{...Yt,className:ye.input,"data-aia-input":""}),Zt&&(B||we.length>0)&&Te("span",{ref:d,className:ye.pillListContainer,"data-aia-pill-list-container":"",children:Te(We,{pills:we,activePillIndex:0,activeSelected:Pe,onSelectPill:Ae,loading:B})})]}),j===null?null:j===void 0?Te(Ot,{disabled:!Ke,onClick:()=>$e(!0)}):Te("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:ye.submitSlot,onClick:R=>{Ke&&(R.stopPropagation(),$e(!0))},children:j})]})]})});export{gi as AIAutocomplete,at as AIAutocompleteDropdown,cn as DATE_RANGE_META_END,pn as DATE_RANGE_META_START,hn as DEFAULT_OPTION_COUNT_UNIT,Cn as PRODUCT_PATH_PREFIX,Dn as WEEKDAY_LABELS,sn as buildSubmitResult,ln as cellDay,dn as cellIso,un as dateCellMarks,mn as formatDate,gn as formatDateRange,fn as formatOptionCount,bn as isoDate,vn as monthLabel,wn as optionCountLabel,xn as optionHasImage,yn as optionImageSrc,kn as optionLabel,Pn as parseDate,Sn as parseLooseDate,In as parseLooseDateRange,En as productFromMatchedItem,Tn as productsFromCustomFields,An as sanitizeOptionIconSvg,Rn as selectedRangeFor,ot as useAIAutocomplete,On as visibleDateRange,Ln as withSkippedParams};
|
|
2252
|
+
`,document.head.appendChild(e)}var Rt={submitButton:"aia-submitButton-otz7H"};import{jsx as ot}from"react/jsx-runtime";function Ot({disabled:e,onClick:o}){return ot("button",{type:"button","data-aia-submit":"",className:Rt.submitButton,disabled:e,onClick:t=>{t.stopPropagation(),o()},"aria-label":"Submit",children:ot("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:ot("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as ei,dateSelectionFor as ti,identifiedParamLabel as ai}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as Nt,useEffect as ze,useRef as F,useState as ii}from"react";import{useRef as Dt}from"react";function Lt(e){let o=Dt(e);o.current=e;let t=Object.keys(e??{}).sort().join("\0"),n=Dt({key:"",overrides:void 0});if(n.current.key!==t){let r={};for(let i of Object.keys(e??{})){let a=(l,y,v)=>{let w=o.current?.[i];return w?w(l,y,v):[]};r[i]=a}n.current={key:t,overrides:e?r:void 0}}return{overrides:n.current.overrides,key:t}}import{useRef as zt}from"react";function Mt(e){let o=zt(e);o.current=e;let t=zt(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 oi={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 nt({onSubmit:e,onResult:o,onError:t,optionOverrides:n,maskCompletedText:r,apiConfig:i,additionalContext:a,visitorId:l,columns:y=2,dropdownTrigger:v,optionsPosition:w,closeDropdownOnBlur:P,showNonTappableOptions:u,showOptionIcons:x,showOptionImages:T,showOptionCounts:I,showSkipButton:K,showProducts:L,productImageFallback:A="image",onFocus:S,onBlur:z,value:E,completedParams:C,onChange:H,onParamsChange:X,products:de,onProductSelect:J,source:ce,setCursor:G}){let g=F(null),[ve,pe]=ii(null),he=F(e);he.current=e;let ee=F(o);ee.current=o;let ue=F(t);ue.current=t;let te=F(H);te.current=H;let Q=F(X);Q.current=X;let _=F(S);_.current=S;let ae=F(z);ae.current=z;let ie=F(G);ie.current=G;let d=F(J);d.current=J;let m=F(l);m.current=l;let h=F(()=>{let p=m.current;return typeof p=="function"?p():p}).current,f=Mt(de),k=Lt(n);ze(()=>{if(typeof document>"u")return;let p=new ei(document.createElement("div"),{renderMode:"headless",apiConfig:i,additionalContext:a,visitorId:h,optionOverrides:k.overrides,maskCompletedText:r,columns:y,dropdownTrigger:v,optionsPosition:w,closeDropdownOnBlur:P,showNonTappableOptions:u,showProducts:L,source:ce,value:E,completedParams:C,onSubmit:(...D)=>he.current?.(...D),onResult:(...D)=>ee.current?.(...D),onError:(...D)=>ue.current?.(...D),onChange:(...D)=>te.current?.(...D),onParamsChange:(...D)=>Q.current?.(...D),onFocus:()=>_.current?.(),onBlur:()=>ae.current?.(),onProductSelect:D=>d.current?.(D),setCursor:D=>ie.current?.(D),products:f.config});g.current=p,pe(p.getState());let q=p.subscribe(D=>pe(D));return()=>{q(),p.destroy(),g.current===p&&(g.current=null)}},[]),ze(()=>{E!==void 0&&g.current?.setValue(E)},[E]),ze(()=>{C!==void 0&&g.current?.setCompletedParams(C)},[C]);let s=JSON.stringify(i??null),M;try{M=JSON.stringify(a??null)}catch{M="[unstringifiable]"}ze(()=>{g.current?.update({apiConfig:i,additionalContext:a,optionOverrides:k.overrides,dropdownTrigger:v,optionsPosition:w,closeDropdownOnBlur:P,showNonTappableOptions:u,showProducts:L})},[s,M,k.key,v,w,P,u,L]);let N=F(!1);ze(()=>{if(!N.current){N.current=!0;return}g.current?.update({products:f.config})},[f.enabled]);let Z=F(null);Z.current===null&&(Z.current={handleTextChange:p=>g.current?.handleTextChange(p),handleKeyDown:p=>{let q="nativeEvent"in p?p.nativeEvent:p;g.current?.handleKeyDown(q)},setFocused:p=>g.current?.setFocused(p),startEditingParam:p=>g.current?.startEditingParam(p),exitEditMode:()=>g.current?.exitEditMode(),handleCaretAfterInput:p=>g.current?.handleCaretAfterInput(p),handleCaretMove:p=>g.current?.handleCaretMove(p),replaceEditingRange:p=>g.current?.replaceEditingRange(p)??!1,setActivePill:p=>g.current?.setActivePill(p),skipActivePill:()=>g.current?.skipActivePill(),removeLastParam:()=>g.current?.removeLastParam(),clearNewParamId:()=>g.current?.clearNewParamId(),reset:()=>g.current?.reset(),recordSubmit:p=>g.current?.recordSubmit(p),selectOption:p=>g.current?.selectOption(p),selectProduct:p=>g.current?.selectProduct(p),setActiveDropdownIndex:p=>g.current?.setActiveDropdownIndex(p),clearHighlight:p=>g.current?.clearHighlight(p),showPreviousMonth:()=>g.current?.showPreviousMonth(),showNextMonth:()=>g.current?.showNextMonth(),handleFocus:()=>g.current?.setFocused(!0),handleBlur:()=>g.current?.setFocused(!1)});let b=Z.current,we=Nt(p=>{let q=p.target.value,Ze=q.length>0&&!p.nativeEvent?.isComposing&&q[0]!==q[0].toUpperCase()?q[0].toUpperCase()+q.slice(1):q;g.current?.handleTextChange(Ze)},[]),Ae=Nt(p=>{g.current?.handleKeyDown(p.nativeEvent)},[]),oe=g.current,c=ve??oi,ne=E!==void 0?E:c.text,xe=C!==void 0?C:c.completedParams,me=c.actionableSuggestions,Ce=me[0],ge=oe?.listboxId??"",Pe=c.activeDropdownIndex>=0&&oe?`${ge}-option-${c.activeDropdownIndex}`:void 0,B=c.editingParam,fe=c.editingIdentified,Se=B?{type:B.suggestionType,text:B.suggestionPlaceholder,required:!0,options:B.options}:fe?{type:fe.type,text:ai(fe.type),required:!0,options:[]}:null,Ne=c.dropdownSuggestion??Se??Ce,Qe=Se?[Se]:me,Re=ti(c),Be=!oe||c.dropdownLoading;return{completedParams:xe,skippedParams:c.skippedParams,identifiedParams:c.identifiedParams,suggestionPills:me,setActivePill:b.setActivePill,skipActivePill:b.skipActivePill,removeLastParam:b.removeLastParam,segments:c.segments,newParamId:c.newParamId,clearNewParamId:b.clearNewParamId,suggestions:c.suggestions,activeIndex:c.activeDropdownIndex,isReady:c.isReady,isLoading:Be,isFocused:c.isFocused,isDropdownOpen:c.isDropdownOpen,isActivePillSelected:c.isActivePillSelected,placeholderText:c.placeholderText,listboxId:ge,error:c.error,products:c.products,customFields:c.customFields,selectProduct:b.selectProduct,handleTextChange:b.handleTextChange,handleKeyDown:b.handleKeyDown,setFocused:b.setFocused,editingParam:B,editingIdentified:fe,editingAnchor:c.editingAnchor,caretOffset:c.caretOffset,startEditingParam:b.startEditingParam,exitEditMode:b.exitEditMode,handleCaretAfterInput:b.handleCaretAfterInput,handleCaretMove:b.handleCaretMove,replaceEditingRange:b.replaceEditingRange,inputProps:{value:ne,placeholder:c.placeholderText||void 0,onChange:we,onKeyDown:Ae,onFocus:b.handleFocus,onBlur:b.handleBlur,role:"combobox","aria-expanded":c.isDropdownOpen,"aria-activedescendant":Pe,"aria-autocomplete":"list","aria-controls":ge},reset:b.reset,recordSubmit:b.recordSubmit,dropdownProps:{suggestions:Ne?[{...Ne,options:c.dropdownOptions}]:[],activeIndex:c.activeDropdownIndex,onSelect:b.selectOption,onHighlight:b.setActiveDropdownIndex,onUnhighlight:b.clearHighlight,isOpen:c.isDropdownOpen,id:ge,pills:Qe,activeSelected:c.isActivePillSelected,onPillClick:b.setActivePill,onSkip:b.skipActivePill,showSkipButton:(K??!0)&&!B&&!fe,showOptionIcons:x??!0,showOptionImages:T??!0,showOptionCounts:I??!0,skipDisabled:c.inSelectionAnimation,isLoading:Be,skeletonExiting:c.skeletonExiting,isInputEmpty:ne.trim().length===0,products:c.products,productImageFallback:A,onProductSelect:b.selectProduct,onProductFocusChange:b.setFocused,formatType:c.activeFormatType,dateView:c.dateView,selectedDateIso:Re.selectedIso,selectedDateRange:Re.selectedRange,dateRangeStart:Re.rangeStart,onPreviousMonth:b.showPreviousMonth,onNextMonth:b.showNextMonth,optionsPosition:w??"below"}}}import{chipIdFromTap as ni,extractPlainText as Bt,getCursorOffset as Ht,keepCaretOnChip as ri,plainTextLength as si,renderEditableContent as li,setCursorOffset as Ft}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as Y,useEffect as je,useLayoutEffect as rt,useRef as Ee}from"react";var Ye;function di(){if(Ye!==void 0)return Ye;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),Ye=e.contentEditable==="plaintext-only",Ye}function Kt(e){let{segments:o,showChipIcons:t=!0,showChipImages:n=!0,newParamId:r,editingParam:i,editingIdentified:a,editingAnchor:l,caretOffset:y,placeholderText:v,isFocused:w,isDropdownOpen:P,listboxId:u,activeDescendantId:x,autoFocus:T,handleTextChange:I,handleKeyDown:K,handleCaretAfterInput:L,handleCaretMove:A,startEditingParam:S,replaceEditingRange:z,setFocused:E}=e,C=Ee(null),H=Ee(!1),X=Ee(""),de=Ee(""),J=Ee(null),ce=Ee(0);J.current=y,je(()=>{if(!T)return;let d=C.current;if(!d)return;document.activeElement===d?E(!0):d.focus();let m=d.ownerDocument??document,h=m.getSelection(),f=h&&h.rangeCount>0&&d.contains(h.anchorNode);if(h&&!f){let k=m.createRange();k.selectNodeContents(d),k.collapse(!0),h.removeAllRanges(),h.addRange(k)}},[T,E]),je(()=>{let d=C.current;if(!d)return;let m=d.ownerDocument??document,h=()=>{let f=m.getSelection();if(!f||f.rangeCount===0||!f.anchorNode||!d.contains(f.anchorNode))return;let k=f.anchorNode,s=k.nodeType===Node.ELEMENT_NODE?k:k.parentElement,N=(f.isCollapsed?s?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,Z=i?.id??a?.id??null;if(N&&N!==Z){S(N);return}performance.now()-ce.current<50||A(Ht(d))};return m.addEventListener("selectionchange",h),()=>m.removeEventListener("selectionchange",h)},[i,a,S,A]),je(()=>{let d=C.current;if(!d)return;let m=h=>{let f=ni(d,h.target);f&&(S(f),ri(d,f))};return d.addEventListener("click",m),()=>d.removeEventListener("click",m)},[S]),rt(()=>{let d=C.current;d&&li({input:d,segments:o,newParamId:r,editingParamId:i?.id??null,placeholderText:v??"",isFocused:w,showChipIcons:t,showChipImages:n})},[o,r,i,v,w,t,n]),rt(()=>{let d=X.current,m=r??"";if(X.current=m,!m||m===d)return;let h=C.current;if(!h)return;h.focus();let f=J.current??si(h);Ft(h,f)},[r]),rt(()=>{let d=de.current,m=i?.id??"";if(de.current=m,!m||m===d||l==null)return;let h=C.current;h&&Ft(h,l)},[i,l]);let G=Y(()=>{if(H.current)return;let d=C.current;if(!d)return;let m=Bt(d),f=m.length>0&&m[0]!==m[0].toUpperCase()?m[0].toUpperCase()+m.slice(1):m;I(f)},[I]),g=Y(()=>{ce.current=performance.now(),G();let d=C.current;d&&L(Ht(d))},[G,L]);je(()=>{let d=C.current;if(!d)return;let m=h=>{let f=h,k=f.inputType;if(k==="insertParagraph"||k==="insertLineBreak"||k==="insertFromDrop"){h.preventDefault();return}if(k.startsWith("insert")||k.startsWith("delete")){let s=k.startsWith("delete")?"":f.data??"";z(s)&&h.preventDefault()}};return d.addEventListener("beforeinput",m),()=>d.removeEventListener("beforeinput",m)},[z]);let ve=Y(()=>{H.current=!0},[]),pe=Y(()=>{H.current=!1,G()},[G]),he=Y(d=>{d.preventDefault();let m=C.current;if(!m)return;let h=(d.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!h)return;let f=m.ownerDocument??document,k=f.getSelection();if(!k||k.rangeCount===0)return;let s=k.getRangeAt(0);if(!m.contains(s.startContainer))return;s.deleteContents();let M=f.createTextNode(h);s.insertNode(M),s.setStartAfter(M),s.collapse(!0),k.removeAllRanges(),k.addRange(s),G()},[G]),ee=Y(d=>K(d),[K]),ue=Y(()=>E(!0),[E]),te=Y(()=>E(!1),[E]),Q=Y(()=>C.current?.focus(),[]),_=Y(()=>C.current?.blur(),[]),ae=Y(()=>{let d=C.current;return d?Bt(d):""},[]),ie=di()?"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":u,"aria-expanded":P,"aria-activedescendant":x,spellCheck:!0,enterKeyHint:"send",onInput:g,onKeyDown:ee,onCompositionStart:ve,onCompositionEnd:pe,onPaste:he,onFocus:ue,onBlur:te},getPlainText:ae,focus:Q,blur:_}}import{jsx as Te,jsxs as lt}from"react/jsx-runtime";function fi(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var bi=ci(function({onSubmit:o,onResult:t,onError:n,optionOverrides:r,maskCompletedText:i,className:a,apiConfig:l,additionalContext:y,visitorId:v,columns:w,pillPlacement:P="dropdown",mode:u="auto",optionsPosition:x="below",animations:T=!0,dropdownTrigger:I,closeDropdownOnBlur:K,showNonTappableOptions:L,showOptionIcons:A=!0,showChipIcons:S=!0,showChipImages:z=!0,showOptionImages:E=!0,showOptionCounts:C=!0,showSkipButton:H,showProducts:X,productsLayout:de,productImageFallback:J,autoFocus:ce=!0,onFocus:G,onBlur:g,value:ve,completedParams:pe,onChange:he,onParamsChange:ee,products:ue,onProductSelect:te,submitButton:Q,resetOnSubmit:_=!0},ae){let ie=Me(null),d=Me(null),m=Me(()=>{}),h=Me(null),f=Me(null);Gt(()=>{let R=ie.current;if(R)return h.current?h.current.setMode(u):h.current=new mi(R,u),()=>{h.current?.destroy(),h.current=null}},[u]);let k=st(R=>{let $=f.current?.current;$&&($.focus(),gi($,R))},[]),{completedParams:s,skippedParams:M,identifiedParams:N,isReady:Z,customFields:b,suggestionPills:we,setActivePill:Ae,skipActivePill:oe,segments:c,newParamId:ne,clearNewParamId:xe,placeholderText:me,isFocused:Ce,isDropdownOpen:ge,isActivePillSelected:Pe,isLoading:B,activeIndex:fe,listboxId:Se,handleTextChange:Ne,handleKeyDown:Qe,setFocused:Re,editingParam:Be,editingIdentified:p,editingAnchor:q,caretOffset:D,startEditingParam:Ze,handleCaretAfterInput:Wt,handleCaretMove:_t,replaceEditingRange:qt,dropdownProps:Ut,reset:He,recordSubmit:dt}=nt({onSubmit:R=>m.current(R),onResult:t,onError:n,optionOverrides:r,maskCompletedText:i,apiConfig:l,additionalContext:y,visitorId:v,columns:w,dropdownTrigger:I,optionsPosition:x,closeDropdownOnBlur:K,showNonTappableOptions:L,showOptionIcons:A,showOptionImages:E,showOptionCounts:C,showSkipButton:H,showProducts:X,onFocus:G,onBlur:g,value:ve,completedParams:pe,onChange:he,onParamsChange:ee,products:ue,onProductSelect:te,source:"full-sdk",setCursor:k});Gt(()=>{if(!ne)return;let R=window.setTimeout(()=>xe(),650);return()=>window.clearTimeout(R)},[ne,xe]);let jt=fe>=0?`${Se}-option-${fe}`:void 0,{inputRef:$e,editorProps:Yt,focus:Fe,blur:ct,getPlainText:pt}=Kt({segments:c,newParamId:ne,editingParam:Be,editingIdentified:p,editingAnchor:q,caretOffset:D,placeholderText:me,isFocused:Ce,showChipIcons:S,showChipImages:z,isDropdownOpen:ge,listboxId:Se,activeDescendantId:jt,autoFocus:ce,handleTextChange:Ne,handleKeyDown:Qe,handleCaretAfterInput:Wt,handleCaretMove:_t,startEditingParam:Ze,replaceEditingRange:qt,setFocused:Re});f.current=$e,hi(()=>{let R=d.current,$=$e.current;if(!R||!$)return;let Oe=()=>{let ut=R.firstElementChild;if(!ut)return;let Vt=ut.getBoundingClientRect(),Xt=$.getBoundingClientRect();Vt.top>=Xt.bottom-2?R.setAttribute("data-aia-pill-wrapped",""):R.removeAttribute("data-aia-pill-wrapped")};Oe();let ht=new ResizeObserver(Oe);return ht.observe($),()=>ht.disconnect()},[c,we.length,B,$e]),pi(ae,()=>({focus:Fe,blur:ct,reset:He,setMode:R=>h.current?.setMode(R),skipActivePill:oe}),[Fe,ct,He,oe]);let Ke=!!c.length||s.length>0,Ve=st(R=>{if(!Ke)return;let $=pt(),Oe=ui($,s,M,{identifiedParams:N,isReady:Z,customFields:b});R&&dt(Oe),o(Oe),_&&He()},[dt,_,Ke,s,M,N,Z,b,o,He,pt]);m.current=()=>Ve(!1);let Qt=st(R=>{R.target?.closest("[data-aia-pill]")||Fe()},[Fe]),Zt=P==="inline",$t=P==="dropdown";return lt("div",{ref:ie,className:`magicx-aia ${ye.container} ${a??""}`,"data-pill-placement":P,"data-options-position":x,"data-animations":T?"on":"off","data-mode":fi(u),children:[Te(it,{...Ut,showPills:$t,productsLayout:de,productImageFallback:J}),lt("div",{className:ye.inputWrapper,"data-aia-input-wrapper":"",onClick:Qt,children:[lt("div",{className:ye.editorArea,"data-aia-editor":"",children:[Te("div",{...Yt,className:ye.input,"data-aia-input":""}),Zt&&(B||we.length>0)&&Te("span",{ref:d,className:ye.pillListContainer,"data-aia-pill-list-container":"",children:Te(We,{pills:we,activePillIndex:0,activeSelected:Pe,onSelectPill:Ae,loading:B})})]}),Q===null?null:Q===void 0?Te(Ot,{disabled:!Ke,onClick:()=>Ve(!0)}):Te("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:ye.submitSlot,onClick:R=>{Ke&&(R.stopPropagation(),Ve(!0))},children:Q})]})]})});export{bi as AIAutocomplete,it as AIAutocompleteDropdown,hn as DATE_RANGE_META_END,un as DATE_RANGE_META_START,mn as DEFAULT_OPTION_COUNT_UNIT,Sn as PRODUCT_PATH_PREFIX,zn as WEEKDAY_LABELS,dn as buildSubmitResult,cn as cellDay,pn as cellIso,gn as dateCellMarks,fn as formatDate,bn as formatDateRange,vn as formatOptionCount,wn as isoDate,xn as monthLabel,yn as optionCountLabel,kn as optionHasImage,Cn as optionImageSrc,Pn as optionLabel,In as parseDate,En as parseLooseDate,Tn as parseLooseDateRange,An as productFromMatchedItem,Rn as productsFromCustomFields,On as sanitizeOptionIconSvg,Dn as selectedRangeFor,nt as useAIAutocomplete,Ln as visibleDateRange,Mn as withSkippedParams};
|
|
2197
2253
|
//# sourceMappingURL=index.mjs.map
|