@magicx-eng/ai-autocomplete-react 0.16.0 → 0.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -3
- package/dist/index.d.mts +14 -8
- package/dist/index.d.ts +14 -8
- package/dist/index.js +35 -45
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +35 -45
- 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 Li,cellDay as Oi,cellIso as Mi,DATE_RANGE_META_END as Ni,DATE_RANGE_META_START as zi,dateCellMarks as Bi,formatDate as Gi,formatDateRange as Fi,isoDate as Hi,monthLabel as Ki,parseDate as Wi,parseLooseDate as qi,parseLooseDateRange as Ui,selectedRangeFor as ji,visibleDateRange as $i,WEEKDAY_LABELS as Vi,withSkippedParams as Qi}from"@magicx-eng/ai-autocomplete-vanilla";import{forwardRef as za,useCallback as Xe,useEffect as Tt,useImperativeHandle as Ba,useLayoutEffect as Ga,useRef as Ie}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-67791514")){let e=document.createElement("style");e.id="ac-style-67791514",e.textContent=`.AIAutocomplete-module_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
|
|
@@ -193,7 +193,7 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
193
193
|
opacity: 0;
|
|
194
194
|
}
|
|
195
195
|
}
|
|
196
|
-
`,document.head.appendChild(e)}var
|
|
196
|
+
`,document.head.appendChild(e)}var me={container:"AIAutocomplete-module_container_KKjFU",inputWrapper:"AIAutocomplete-module_inputWrapper_FLq1b",editorArea:"AIAutocomplete-module_editorArea_7rBWq",input:"AIAutocomplete-module_input_IW-P-",pillListContainer:"AIAutocomplete-module_pillListContainer_h92IA",submitSlot:"AIAutocomplete-module_submitSlot_GhuCM",aiaPillReveal:"AIAutocomplete-module_aiaPillReveal_wf05b"};import{attachScrollArrow as ya,isCalendarFormat as _a,SCROLL_ARROW_LABEL as ka}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Ue,useRef as Le,useState as Pa}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-0ae03977")){let e=document.createElement("style");e.id="ac-style-0ae03977",e.textContent=`/*
|
|
197
197
|
* Built-in appearance defaults \u2014 zero specificity via :where().
|
|
198
198
|
* Consumer CSS always wins without !important.
|
|
199
199
|
*
|
|
@@ -616,17 +616,17 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
616
616
|
transform 320ms cubic-bezier(0.22, 1.28, 0.36, 1);
|
|
617
617
|
}
|
|
618
618
|
|
|
619
|
-
/* "More below" scroll arrow \u2014 see the core's render/scrollArrow.ts.
|
|
620
|
-
disc at the bottom-centre of the option list, shown while
|
|
621
|
-
scroll
|
|
622
|
-
(--aia-scroll-arrow-bottom is measured and set inline by the controller so
|
|
623
|
-
tracks the grid's bottom edge in every layout).
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
619
|
+
/* "More below" scroll arrow \u2014 see the core's render/scrollArrow.ts.
|
|
620
|
+
A round disc at the bottom-centre of the option list, shown while there is
|
|
621
|
+
more to scroll to. It rests just above the grid's reserved band
|
|
622
|
+
(--aia-scroll-arrow-bottom is measured and set inline by the controller so
|
|
623
|
+
it tracks the grid's bottom edge in every layout). It never moves: the
|
|
624
|
+
controller toggles data-aia-visible and the only thing that transitions is
|
|
625
|
+
opacity \u2014 a slow, even second in and the same second out. Any travel read as
|
|
626
|
+
the disc sliding with the scroll (2026-09-04). z-index 2 puts it over the
|
|
627
|
+
option rows and under the footer (z-index 3). Declarations mirror vanilla's
|
|
628
|
+
.magicx-aia-scroll-arrow and Angular's copy \u2014 change all three in the same
|
|
629
|
+
commit. */
|
|
630
630
|
.AIAutocompleteDropdown-module_scrollArrow_uUzV0 {
|
|
631
631
|
position: absolute;
|
|
632
632
|
left: 50%;
|
|
@@ -650,32 +650,16 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
650
650
|
box-shadow: var(--aia-scroll-arrow-shadow, 0 2px 8px rgba(0, 0, 0, 0.12));
|
|
651
651
|
cursor: pointer;
|
|
652
652
|
pointer-events: none;
|
|
653
|
-
/*
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
in on the way up. */
|
|
653
|
+
/* Hidden: transparent, in place. Only opacity ever transitions, so the disc
|
|
654
|
+
cannot travel. One second each way \u2014 SCROLL_ARROW_FADE_MS in
|
|
655
|
+
scrollArrow.ts documents this number; change both together. */
|
|
657
656
|
opacity: 0;
|
|
658
|
-
|
|
659
|
-
transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
657
|
+
transition: opacity 1000ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
660
658
|
}
|
|
661
659
|
|
|
662
660
|
.AIAutocompleteDropdown-module_scrollArrow_uUzV0[data-aia-visible] {
|
|
663
661
|
pointer-events: auto;
|
|
664
662
|
opacity: 1;
|
|
665
|
-
transform: translateY(0);
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
/* Leaving: dissolve where it stands \u2014 no travel. Ease-out so most of the fade
|
|
669
|
-
happens at once and the last of it lingers; the shrink keeps it from reading
|
|
670
|
-
as a flat cut. The controller holds this attribute for SCROLL_ARROW_LEAVE_MS
|
|
671
|
-
(scrollArrow.ts) \u2014 keep the two durations equal. */
|
|
672
|
-
.AIAutocompleteDropdown-module_scrollArrow_uUzV0[data-aia-leaving] {
|
|
673
|
-
pointer-events: none;
|
|
674
|
-
opacity: 0;
|
|
675
|
-
transform: translateY(0) scale(0.86);
|
|
676
|
-
transition:
|
|
677
|
-
opacity 240ms cubic-bezier(0.22, 0.61, 0.36, 1),
|
|
678
|
-
transform 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
|
|
679
663
|
}
|
|
680
664
|
|
|
681
665
|
.AIAutocompleteDropdown-module_scrollArrow_uUzV0:hover {
|
|
@@ -687,7 +671,6 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
687
671
|
|
|
688
672
|
@media (prefers-reduced-motion: reduce) {
|
|
689
673
|
.AIAutocompleteDropdown-module_scrollArrow_uUzV0,
|
|
690
|
-
.AIAutocompleteDropdown-module_scrollArrow_uUzV0[data-aia-leaving],
|
|
691
674
|
.AIAutocompleteDropdown-module_dropdown_yz2KC {
|
|
692
675
|
transition-duration: 0s;
|
|
693
676
|
}
|
|
@@ -801,7 +784,7 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
801
784
|
opacity: 0.25;
|
|
802
785
|
}
|
|
803
786
|
}
|
|
804
|
-
`,document.head.appendChild(e)}var
|
|
787
|
+
`,document.head.appendChild(e)}var ne={dropdown:"AIAutocompleteDropdown-module_dropdown_yz2KC",visible:"AIAutocompleteDropdown-module_visible_QCoXj",scrollArrow:"AIAutocompleteDropdown-module_scrollArrow_uUzV0",pillBar:"AIAutocompleteDropdown-module_pillBar_pwTXe",pillScroll:"AIAutocompleteDropdown-module_pillScroll_Tpzus",skip:"AIAutocompleteDropdown-module_skip_7-olS",skeletonBars:"AIAutocompleteDropdown-module_skeletonBars_HVr9C",skeletonBar:"AIAutocompleteDropdown-module_skeletonBar_O3xIx",aiaSkeletonPulse:"AIAutocompleteDropdown-module_aiaSkeletonPulse_G8W7q"};import{cellDay as Ft,cellIso as be,dateCellMarks as Ht,isoDate as Kt,monthLabel as Wt,visibleDateRange as qt,WEEKDAY_LABELS as Ut}from"@magicx-eng/ai-autocomplete-vanilla";import{useState as jt}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) ---
|
|
805
788
|
|
|
806
789
|
One of three hand-maintained copies (vanilla styles.css, this file, Angular's
|
|
807
790
|
date-grid.component.css). Only the class-naming layer differs \u2014 the
|
|
@@ -947,6 +930,13 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
947
930
|
var(--aia-date-today-ring, var(--aia-option-color, var(--aia-color-text-muted, #c1c4cb)));
|
|
948
931
|
}
|
|
949
932
|
|
|
933
|
+
/* Between the two ends of a picked span. The band sits on the CELL, not on the
|
|
934
|
+
number square inside it, so consecutive days join into one continuous strip
|
|
935
|
+
instead of a row of separate pills \u2014 the ends stay the two filled squares. */
|
|
936
|
+
.DateGrid-module_inRange_r9S2q {
|
|
937
|
+
background: var(--aia-date-range-bg, rgba(var(--aia-streak-rgb, 255, 255, 255), 0.06));
|
|
938
|
+
}
|
|
939
|
+
|
|
950
940
|
.DateGrid-module_selected_28KDn .DateGrid-module_number_aoT01 {
|
|
951
941
|
color: var(--aia-option-color-selected, var(--aia-color-text-default, #fff));
|
|
952
942
|
background: var(--aia-date-selected-bg, rgba(var(--aia-streak-rgb, 255, 255, 255), 0.12));
|
|
@@ -957,7 +947,7 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
957
947
|
opacity: 0.8;
|
|
958
948
|
background: rgba(var(--aia-streak-rgb, 255, 255, 255), 0.06);
|
|
959
949
|
}
|
|
960
|
-
`,document.head.appendChild(e)}var
|
|
950
|
+
`,document.head.appendChild(e)}var I={datepicker:"DateGrid-module_datepicker_6RrTs",header:"DateGrid-module_header_z4LRk",month:"DateGrid-module_month_urB2T",nav:"DateGrid-module_nav_ap4AN",weekdays:"DateGrid-module_weekdays_3EA3q",grid:"DateGrid-module_grid_mQCgw",weekday:"DateGrid-module_weekday_3lF4B",cell:"DateGrid-module_cell_59k0y",number:"DateGrid-module_number_aoT01",day:"DateGrid-module_day_cB3u9",blank:"DateGrid-module_blank_ivgRC",past:"DateGrid-module_past_CEZsj",highlighted:"DateGrid-module_highlighted_YIdtK",today:"DateGrid-module_today_iI3ME",inRange:"DateGrid-module_inRange_r9S2q",selected:"DateGrid-module_selected_28KDn",pressed:"DateGrid-module_pressed_bEyyN"};import{jsx as $,jsxs as it}from"react/jsx-runtime";var $t=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function nt({options:e,activeIndex:r,listboxId:a,view:i,selection:s,onSelect:o,onHighlight:n,onPreviousMonth:f,onNextMonth:g}){let v=Kt(new Date),_=qt({pendingStart:s.rangeStart,highlightedIso:be(e[r]),selected:s.selectedRange});return it("div",{className:I.datepicker,"data-aia-datepicker":"",children:[it("div",{className:I.header,children:[$("button",{type:"button",tabIndex:-1,className:I.nav,"data-aia-date-prev":"","aria-label":"Previous month",onMouseDown:p=>p.preventDefault(),onClick:f,children:"\u2039"}),$("span",{className:I.month,"data-aia-date-month":"","aria-live":"polite",children:Wt(i)}),$("button",{type:"button",tabIndex:-1,className:I.nav,"data-aia-date-next":"","aria-label":"Next month",onMouseDown:p=>p.preventDefault(),onClick:g,children:"\u203A"})]}),$("div",{className:I.weekdays,"aria-hidden":"true",children:Ut.map((p,w)=>$("span",{className:I.weekday,children:p},$t[w]))}),$("div",{className:I.grid,"data-aia-date-grid":"",children:e.map((p,w)=>$(Vt,{option:p,id:`${a}-option-${w}`,index:w,isHighlighted:w===r&&p.is_tappable,isToday:be(p)===v,isPast:be(p)!=null&&be(p)<v,marks:Ht(be(p),{selectedIso:s.selectedIso,range:_}),onSelect:o,onHighlight:n},be(p)??`pad-${w}`))})]})}function Vt({option:e,id:r,index:a,isHighlighted:i,isToday:s,isPast:o,marks:n,onSelect:f,onHighlight:g}){let[v,_]=jt(!1),p=Ft(e);if(p==null)return $("div",{id:r,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-hidden":"true","aria-selected":!1,tabIndex:-1,className:`${I.cell} ${I.blank}`});let w=()=>{_(!0),f(e),setTimeout(()=>_(!1),170)},y=[I.cell,I.day,o?I.past:"",i?I.highlighted:"",s?I.today:"",n.inRange?I.inRange:"",n.selected?I.selected:"",v?I.pressed:""].filter(Boolean).join(" ");return $("div",{id:r,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-selected":i,"aria-label":e.text,tabIndex:0,className:y,onClick:w,onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),w())},onMouseEnter:()=>g(a),children:$("span",{className:I.number,children:p})})}import{ATTRIBUTION_URL as Qt,buildAttributionUrl as Yt,getFooterHint as Xt}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Zt,useState as Jt}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-5259a217")){let e=document.createElement("style");e.id="ac-style-5259a217",e.textContent=`@layer layout {
|
|
961
951
|
.aia-cluster {
|
|
962
952
|
display: flex;
|
|
963
953
|
flex-wrap: wrap;
|
|
@@ -999,7 +989,7 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
999
989
|
justify-content: space-around;
|
|
1000
990
|
}
|
|
1001
991
|
}
|
|
1002
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
992
|
+
`,document.head.appendChild(e)}import{jsx as rt}from"react/jsx-runtime";function _e({gap:e,align:r="center",justify:a="start",noWrap:i=!1,inline:s=!1,className:o,children:n,...f}){let g=e?{"--aia-cluster-gap":e}:void 0,v={className:o?`aia-cluster ${o}`:"aia-cluster","data-align":r,"data-justify":a,"data-nowrap":i||void 0,"data-inline":s||void 0,style:g,...f};return s?rt("span",{...v,children:n}):rt("div",{...v,children:n})}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
|
|
1003
993
|
dropdown's rounded edges. The top inset (--aia-footer-gap) adds breathing
|
|
1004
994
|
room above the hint/branding row so the footer doesn't butt against the last
|
|
1005
995
|
option row \u2014 additive to the dropdown's 8px section gap. */
|
|
@@ -1133,7 +1123,7 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
1133
1123
|
justify-content: flex-end;
|
|
1134
1124
|
}
|
|
1135
1125
|
}
|
|
1136
|
-
`,document.head.appendChild(e)}var
|
|
1126
|
+
`,document.head.appendChild(e)}var re={footer:"DropdownFooter-module_footer_qQQ7x",hintGroup:"DropdownFooter-module_hintGroup_ZzbPf",brandLink:"DropdownFooter-module_brandLink_r4f3R",key:"DropdownFooter-module_key_Bz1H-",hint:"DropdownFooter-module_hint_GKEOH",brand:"DropdownFooter-module_brand_Al-lR",badge:"DropdownFooter-module_badge_Fk9vg",row:"DropdownFooter-module_row_BgZ6Q"};import{jsx as ke,jsxs as Ge}from"react/jsx-runtime";function st({isOptionHighlighted:e=!1,isInputEmpty:r=!1}){let{key:a,hint:i}=Xt(e,r),[s,o]=Jt(Qt);return Zt(()=>{o(Yt())},[]),ke("footer",{className:re.footer,"data-aia-footer":"",children:Ge(_e,{justify:"between",noWrap:!0,className:re.row,children:[Ge(_e,{gap:"5px",className:re.hintGroup,children:[ke("kbd",{className:re.key,children:a}),ke("span",{className:re.hint,children:i})]}),Ge("a",{className:re.brandLink,href:s,target:"_blank",rel:"noopener noreferrer",children:[ke("span",{className:re.brand,children:"AI"}),ke("span",{className:re.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,
|
|
1137
1127
|
no outline. ~28px via 6px padding + 14px text + the 1px border (border-box).
|
|
1138
1128
|
The border is kept as a 1px transparent line so the box stays the same size
|
|
1139
1129
|
as it was when the outline was dashed. */
|
|
@@ -1190,7 +1180,7 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
1190
1180
|
opacity: 0;
|
|
1191
1181
|
}
|
|
1192
1182
|
}
|
|
1193
|
-
`,document.head.appendChild(e)}var ue={pill:"ParamPill-module_pill_6Ga7S",fadeIn:"ParamPill-module_fadeIn_Ux4eQ",rounded:"ParamPill-module_rounded_y7xA9",skeleton:"ParamPill-module_skeleton_57P0T",skeletonPulse:"ParamPill-module_skeletonPulse_xGcUy"};import{jsx as
|
|
1183
|
+
`,document.head.appendChild(e)}var ue={pill:"ParamPill-module_pill_6Ga7S",fadeIn:"ParamPill-module_fadeIn_Ux4eQ",rounded:"ParamPill-module_rounded_y7xA9",skeleton:"ParamPill-module_skeleton_57P0T",skeletonPulse:"ParamPill-module_skeletonPulse_xGcUy"};import{jsx as ea}from"react/jsx-runtime";var Fe={selected:1,first:.7,next:.4,last:.2};function lt({label:e,state:r,rounded:a,loading:i,onClick:s}){let o=[ue.pill,a?ue.rounded:"",i?ue.skeleton:""].filter(Boolean).join(" ");return ea("button",{type:"button","data-aia-pill":"","data-aia-loading":i?"":void 0,tabIndex:-1,contentEditable:!1,suppressContentEditableWarning:!0,className:o,style:{opacity:Fe[r]},onMouseDown:n=>n.preventDefault(),onClick:i?void 0:s,disabled:i,children:e})}if(typeof document<"u"&&!document.getElementById("ac-style-0fcb7940")){let e=document.createElement("style");e.id="ac-style-0fcb7940",e.textContent=`.PillList-module_list_qvLqO {
|
|
1194
1184
|
position: relative;
|
|
1195
1185
|
z-index: 1;
|
|
1196
1186
|
pointer-events: auto;
|
|
@@ -1200,7 +1190,7 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
1200
1190
|
align-items: center;
|
|
1201
1191
|
vertical-align: middle;
|
|
1202
1192
|
}
|
|
1203
|
-
`,document.head.appendChild(e)}var
|
|
1193
|
+
`,document.head.appendChild(e)}var He={list:"PillList-module_list_qvLqO"};import{jsx as Te}from"react/jsx-runtime";var ta=[125,69];function dt(e){return e===0?"first":e===1?"next":"last"}function Re({pills:e,activePillIndex:r,onSelectPill:a,activeSelected:i,rounded:s,loading:o}){return o&&e.length===0?Te("span",{className:He.list,"data-aia-pill-list-loading":"",children:ta.map((n,f)=>Te("span",{"data-aia-pill-skeleton":"",className:`${ue.pill} ${s?ue.rounded:""} ${ue.skeleton}`,style:{width:n,opacity:Fe[dt(f)]}},`skel-${n}`))}):Te("span",{className:He.list,"data-aia-pill-list-loading":o?"":void 0,children:e.map((n,f)=>{let g=!!i&&f===r;return Te(lt,{label:n.text,state:g?"selected":dt(f),selected:g,rounded:s,loading:o,onClick:()=>a(f)},`${n.type}-${n.text}`)})})}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
|
|
1204
1194
|
(packages/vanilla/src/styles.css). Same tokens, same defaults, so a consumer
|
|
1205
1195
|
theming one package sees the same result in the other.
|
|
1206
1196
|
|
|
@@ -1367,7 +1357,7 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
1367
1357
|
var(--aia-option-color-selected, var(--aia-color-text-default, #fff))
|
|
1368
1358
|
);
|
|
1369
1359
|
}
|
|
1370
|
-
`,document.head.appendChild(e)}var H={section:"ProductStrip-module_section_Hugfg",label:"ProductStrip-module_label_nuc93",row:"ProductStrip-module_row_WDVBX",card:"ProductStrip-module_card_JBGYT",media:"ProductStrip-module_media_RrbGe",image:"ProductStrip-module_image_5pNL7",body:"ProductStrip-module_body_ly032",vendor:"ProductStrip-module_vendor_Gvu7G",title:"ProductStrip-module_title_gCNmq",price:"ProductStrip-module_price_gULcE"};import{jsx as
|
|
1360
|
+
`,document.head.appendChild(e)}var H={section:"ProductStrip-module_section_Hugfg",label:"ProductStrip-module_label_nuc93",row:"ProductStrip-module_row_WDVBX",card:"ProductStrip-module_card_JBGYT",media:"ProductStrip-module_media_RrbGe",image:"ProductStrip-module_image_5pNL7",body:"ProductStrip-module_body_ly032",vendor:"ProductStrip-module_vendor_Gvu7G",title:"ProductStrip-module_title_gCNmq",price:"ProductStrip-module_price_gULcE"};import{jsx as he,jsxs as Ke}from"react/jsx-runtime";function ct({products:e,listboxId:r,onSelect:a,onFocusChange:i,focusable:s=!0}){if(e.length===0)return null;let o=`${r}-products-label`;return Ke("section",{className:H.section,"data-aia-products":"",role:"group","aria-labelledby":o,children:[he("div",{className:H.label,id:o,children:"Products"}),he("div",{className:H.row,"data-aia-products-row":"",children:e.map((n,f)=>he(aa,{product:n,id:`${r}-product-${f}`,onSelect:a,onFocusChange:i,focusable:s},n.id))})]})}function aa({product:e,id:r,onSelect:a,onFocusChange:i,focusable:s}){let o=n=>{n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.button!==0||(n.preventDefault(),a(e))};return Ke("a",{id:r,className:H.card,"data-aia-product":"",role:"option","aria-selected":!1,href:e.url,tabIndex:s?0:-1,onClick:o,onKeyDown:n=>{n.key!=="Enter"&&n.key!==" "||(n.preventDefault(),a(e))},onFocus:()=>i?.(!0),onBlur:n=>{n.relatedTarget?.closest("[data-aia-dropdown]")||i?.(!1)},children:[he("span",{className:H.media,"data-aia-product-placeholder":e.imageUrl?void 0:"",children:e.imageUrl?he("img",{className:H.image,src:e.imageUrl,alt:"",loading:"lazy",decoding:"async"}):null}),Ke("span",{className:H.body,children:[e.vendor?he("span",{className:H.vendor,children:e.vendor}):null,he("span",{className:H.title,children:e.title}),e.price?he("span",{className:H.price,children:e.price}):null]})]})}import{isOptionsGridMobileViewport as pa,measureOptionsGrid as ua,needsOptionsGridMeasurement as ha,OPTIONS_GRID_MOBILE_QUERY as ma,optionEnterDelayMs as fa,planOptionsGrid as mt}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as ga,useLayoutEffect as ba,useRef as va,useState as gt}from"react";import{optionsGridTemplateColumns as oa}from"@magicx-eng/ai-autocomplete-vanilla";import{useLayoutEffect as ia,useRef as na}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-948e58da")){let e=document.createElement("style");e.id="ac-style-948e58da",e.textContent=`@layer layout {
|
|
1371
1361
|
.aia-grid {
|
|
1372
1362
|
display: grid;
|
|
1373
1363
|
grid-template-columns: repeat(
|
|
@@ -1402,7 +1392,7 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
1402
1392
|
border-radius: 3px;
|
|
1403
1393
|
}
|
|
1404
1394
|
}
|
|
1405
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
1395
|
+
`,document.head.appendChild(e)}import{jsx as ra}from"react/jsx-runtime";function pt({min:e="16rem",max:r,gap:a,scroll:i=!1,maxHeight:s,scrollResetKey:o,cols:n,template:f,innerRef:g,className:v,children:_,...p}){let w=na(null);ia(()=>{if(o===void 0)return;let b=w.current;b&&(b.scrollTop=0)},[o]);let y={"--aia-grid-min":e};return r&&(y["--aia-grid-max"]=r),a&&(y["--aia-grid-gap"]=a),s&&(y["--aia-grid-max-height"]=s),n&&(y.gridTemplateColumns=oa(n)),f&&(y.gridTemplateColumns=f),ra("div",{ref:b=>{w.current=b,g?.(b)},className:v?`aia-grid ${v}`:"aia-grid","data-scroll":i||void 0,style:y,...p,children:_})}import{OPTION_ENTER_DELAY_VAR as sa}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as la,useRef as da,useState as ut}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-82820da7")){let e=document.createElement("style");e.id="ac-style-82820da7",e.textContent=`.SuggestionItem-module_item_d4vpD {
|
|
1406
1396
|
position: relative;
|
|
1407
1397
|
overflow: visible;
|
|
1408
1398
|
display: flex;
|
|
@@ -1549,7 +1539,7 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
1549
1539
|
filter: brightness(0.55);
|
|
1550
1540
|
}
|
|
1551
1541
|
}
|
|
1552
|
-
`,document.head.appendChild(e)}var V={item:"SuggestionItem-module_item_d4vpD",fadeIn:"SuggestionItem-module_fadeIn_I8u35",riseIn:"SuggestionItem-module_riseIn_etXZT",content:"SuggestionItem-module_content_T-Qba",tappable:"SuggestionItem-module_tappable_70KcX",nonTappable:"SuggestionItem-module_nonTappable_xSZM-",highlighted:"SuggestionItem-module_highlighted_Hb0SU",tag:"SuggestionItem-module_tag_e3Fwe",pressed:"SuggestionItem-module_pressed_98o-r",pressCompress:"SuggestionItem-module_pressCompress_ICV3q",scrollHint:"SuggestionItem-module_scrollHint_xKXPt",skeletonPulse:"SuggestionItem-module_skeletonPulse_plvdD",text:"SuggestionItem-module_text_yqoh9"};import{jsx as
|
|
1542
|
+
`,document.head.appendChild(e)}var V={item:"SuggestionItem-module_item_d4vpD",fadeIn:"SuggestionItem-module_fadeIn_I8u35",riseIn:"SuggestionItem-module_riseIn_etXZT",content:"SuggestionItem-module_content_T-Qba",tappable:"SuggestionItem-module_tappable_70KcX",nonTappable:"SuggestionItem-module_nonTappable_xSZM-",highlighted:"SuggestionItem-module_highlighted_Hb0SU",tag:"SuggestionItem-module_tag_e3Fwe",pressed:"SuggestionItem-module_pressed_98o-r",pressCompress:"SuggestionItem-module_pressCompress_ICV3q",scrollHint:"SuggestionItem-module_scrollHint_xKXPt",skeletonPulse:"SuggestionItem-module_skeletonPulse_plvdD",text:"SuggestionItem-module_text_yqoh9"};import{jsx as We,jsxs as ca}from"react/jsx-runtime";function ht({option:e,isHighlighted:r,onSelect:a,onHighlight:i,id:s,loading:o,scrollHint:n,enterDelayMs:f=0}){let[g]=ut(f),[v,_]=ut(!1),p=da(void 0);la(()=>()=>clearTimeout(p.current),[]);let w=()=>{o||!e.is_tappable||v||(_(!0),a(e),clearTimeout(p.current),p.current=setTimeout(()=>_(!1),170))},y=[V.item,r&&!o?V.highlighted:"",e.is_tappable?V.tappable:V.nonTappable,v?V.pressed:"",n?V.scrollHint:""].filter(Boolean).join(" ");return We("div",{id:s,role:"option","data-aia-option":"","data-aia-loading":o?"":void 0,"aria-selected":r,className:y,style:{[sa]:`${g}ms`},tabIndex:o||!e.is_tappable?-1:0,onClick:w,onKeyDown:b=>{!o&&e.is_tappable&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),w())},onMouseEnter:!o&&e.is_tappable?i:void 0,children:ca("span",{className:V.content,children:[We("span",{className:V.text,children:e.icon?`${e.icon} ${e.text}`:e.text}),e.tag&&We("span",{className:V.tag,children:e.tag})]})})}import{jsx as ft}from"react/jsx-runtime";function wa(){let[e,r]=gt(pa);return ga(()=>{if(typeof window>"u"||!window.matchMedia)return;let a=window.matchMedia(ma),i=()=>r(a.matches);return i(),a.addEventListener("change",i),()=>a.removeEventListener("change",i)},[]),e}function bt({options:e,activeIndex:r,onSelect:a,onHighlight:i,listboxId:s,loading:o,groupKey:n="",optionsPosition:f="below"}){let g=wa(),v=va(null),[_,p]=gt(null);ba(()=>{let y=v.current,D=y&&!o&&ha(e.length,g)?ua(y):null;p(D?mt(e.length,g,D.rowWidths,D.gridWidth):null)},[e,g,o]);let w=_??mt(e.length,g,null,null);return ft(pt,{min:"250px",max:"1fr",gap:"0",scroll:!0,scrollResetKey:n,template:w.template,maxHeight:w.maxHeight,innerRef:y=>{v.current=y},"data-aia-group":n,children:e.map((y,b)=>ft(ht,{option:y,isHighlighted:b===r,onSelect:a,onHighlight:()=>i(b),id:`${s}-option-${b}`,loading:o,scrollHint:!o&&w.scrollHintIndices.includes(b),enterDelayMs:o?0:fa(b,w.cols,e.length,f)},`${n}\0${y.text}`))})}if(typeof document<"u"&&!document.getElementById("ac-style-8414cd5f")){let e=document.createElement("style");e.id="ac-style-8414cd5f",e.textContent=`@layer layout {
|
|
1553
1543
|
.aia-stack {
|
|
1554
1544
|
display: flex;
|
|
1555
1545
|
flex-direction: column;
|
|
@@ -1566,7 +1556,7 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
1566
1556
|
}
|
|
1567
1557
|
/* data-align="stretch" is the flex default \u2014 no rule needed. */
|
|
1568
1558
|
}
|
|
1569
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
1559
|
+
`,document.head.appendChild(e)}import{jsx as xa}from"react/jsx-runtime";function vt({space:e,align:r="stretch",className:a,children:i,...s}){let o=e?{"--aia-stack-space":e}:void 0;return xa("div",{className:a?`aia-stack ${a}`:"aia-stack","data-align":r,style:o,...s,children:i})}import{jsx as B,jsxs as qe}from"react/jsx-runtime";var Ia=[159,119,164],Aa=()=>{},wt=()=>{};function Sa(e){let r=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[a,i]=Pa(r);if(Ue(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let s=window.matchMedia("(prefers-color-scheme: dark)"),o=()=>i(s.matches);return s.addEventListener("change",o),()=>s.removeEventListener("change",o)},[e]),e!==void 0)return e==="auto"?a?"dark":"light":e}function Da(e,r){let a=Le(null);Ue(()=>{let i=e.current,s=r.current;if(!i||!s)return;let o=i.querySelector(".aia-grid[data-scroll]");if(a.current&&a.current.grid!==o&&(a.current.controller.destroy(),a.current=null),o&&!a.current){a.current={grid:o,controller:ya({dropdown:i,grid:o,button:s})};return}a.current?.controller.update()}),Ue(()=>()=>{a.current?.controller.destroy(),a.current=null},[])}function je({suggestions:e,activeIndex:r,onSelect:a,onHighlight:i,isOpen:s,id:o,className:n,pills:f,onPillClick:g,showPills:v=!0,onSkip:_,showSkipButton:p=!0,skipDisabled:w=!1,activeSelected:y=!1,isLoading:b=!1,isInputEmpty:D=!1,products:C,onProductSelect:Q,onProductFocusChange:Y,formatType:L="options",dateView:k=null,selectedDateIso:X=null,selectedDateRange:Z=null,dateRangeStart:u=null,onPreviousMonth:se,onNextMonth:J,optionsPosition:E="below",mode:W}){let ee=Sa(W),te=ee!==void 0,q=Le(null),U=Le(null);Da(q,U);let R=e[0]?.options??[],ae=!!(f&&f.length>0&&g),le=!!(C&&C.length>0),T=s&&(R.length>0||v&&ae||b||le),O={suggestions:e,activeIndex:r,pills:f,showPills:v,showSkipButton:p,skipDisabled:w,activeSelected:y,isLoading:b,isInputEmpty:D,products:C,formatType:L,dateView:k,selectedDateIso:X,selectedDateRange:Z,dateRangeStart:u},oe=Le(O);T&&(oe.current=O);let t=T?O:oe.current,c=t.suggestions[0],h=c?.options??[],l=t.activeIndex>=0&&!!h[t.activeIndex]?.is_tappable,x=!!(t.pills&&t.pills.length>0&&g),A=t.showPills&&x,M=t.showPills&&!x&&t.isLoading,d=A||M,ie=x&&t.showSkipButton&&!t.isInputEmpty&&!!_,fe=t.pills?.[0]?.text,de=_a(t.formatType)&&t.dateView!=null,ce=h.length>0&&!de,j=h.length>0&&de,ge=t.isLoading&&!ce&&!j,F=t.products??[];return qe("div",{ref:q,id:o,role:"listbox","data-aia-dropdown":"","data-options-position":E,"data-mode":ee,"data-aia-loading":t.isLoading?"":void 0,"data-aia-has-products":F.length>0?"":void 0,className:`${te?"magicx-aia ":""}${ne.dropdown} ${T?ne.visible:""} ${n??""}`,onMouseDown:N=>N.preventDefault(),children:[qe(vt,{space:"8px",children:[(d||ie)&&qe(_e,{noWrap:!0,className:ne.pillBar,"data-aia-pillbar":"",children:[d&&B("span",{className:ne.pillScroll,"data-aia-pill-scroll":"",children:B(Re,{pills:t.pills??[],activePillIndex:0,activeSelected:t.activeSelected,onSelectPill:g??(()=>{}),rounded:!0,loading:t.isLoading})}),ie&&B("button",{type:"button",tabIndex:-1,className:ne.skip,"data-aia-skip":"",disabled:t.isLoading||t.skipDisabled,"aria-label":fe?`Skip ${fe}`:"Skip",onClick:_,children:"skip"})]}),ce&&B(bt,{options:h,activeIndex:t.activeIndex,onSelect:a,onHighlight:i,listboxId:o,loading:t.isLoading,groupKey:c?`${c.type} ${c.text}`:"",optionsPosition:E}),j&&t.dateView&&B(nt,{options:h,activeIndex:t.activeIndex,listboxId:o,view:t.dateView,selection:{selectedIso:t.selectedDateIso??null,selectedRange:t.selectedDateRange??null,rangeStart:t.dateRangeStart??null},onSelect:a,onHighlight:i,onPreviousMonth:se??wt,onNextMonth:J??wt}),ge&&B("div",{className:ne.skeletonBars,"data-aia-skeleton-bars":"",children:Ia.map(N=>B("span",{className:ne.skeletonBar,style:{width:N}},`bar-${N}`))}),B(ct,{products:F,listboxId:o,onSelect:Q??Aa,onFocusChange:Y,focusable:T}),B(st,{isOptionHighlighted:l,isInputEmpty:t.isInputEmpty})]}),B("button",{ref:U,type:"button",tabIndex:-1,className:ne.scrollArrow,"data-aia-scroll-arrow":"","aria-label":ka,"aria-hidden":"true",children:B("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:B("path",{d:"M4 6.5 8 10.5l4-4"})})})]})}import{buildSubmitResult as Fa,ModeController as Ha,setCursorOffset as Ka}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=`.SubmitButton-module_submitButton_otz7H {
|
|
1570
1560
|
flex-shrink: 0;
|
|
1571
1561
|
width: 32px;
|
|
1572
1562
|
height: 32px;
|
|
@@ -1601,5 +1591,5 @@ import{buildSubmitResult as Ei,cellDay as Ti,cellIso as Ri,formatDate as Li,isoD
|
|
|
1601
1591
|
);
|
|
1602
1592
|
cursor: default;
|
|
1603
1593
|
}
|
|
1604
|
-
`,document.head.appendChild(e)}var wt={submitButton:"SubmitButton-module_submitButton_otz7H"};import{jsx as $e}from"react/jsx-runtime";function xt({disabled:e,onClick:n}){return $e("button",{type:"button","data-aia-submit":"",className:wt.submitButton,disabled:e,onClick:t=>{t.stopPropagation(),n()},"aria-label":"Submit",children:$e("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:$e("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as So,identifiedParamLabel as Co,selectedIsoFromText as Do}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as It,useEffect as ke,useRef as F,useState as Eo}from"react";import{useRef as yt}from"react";function _t(e){let n=yt(e);n.current=e;let t=Object.keys(e??{}).sort().join("\0"),a=yt({key:"",overrides:void 0});if(a.current.key!==t){let r={};for(let o of Object.keys(e??{})){let i=(g,b,w)=>{let c=n.current?.[o];return c?c(g,b,w):[]};r[o]=i}a.current={key:t,overrides:e?r:void 0}}return{overrides:a.current.overrides,key:t}}import{useRef as kt}from"react";function Pt(e){let n=kt(e);n.current=e;let t=kt(null);t.current===null&&(t.current={fetch:(r,o)=>{let i=n.current;return i?i.fetch(r,o):Promise.reject(new Error("products config removed"))},transform:r=>n.current?.transform(r)??[],get limit(){return n.current?.limit}});let a=e!==void 0;return{config:a?t.current:void 0,enabled:a}}var To={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],optionSearch:null,activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],activeFormatType:"options",dateView: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};function je({onSubmit:e,onResult:n,onError:t,optionOverrides:a,maskCompletedText:r,apiConfig:o,additionalContext:i,columns:g=2,dropdownTrigger:b,optionsPosition:w,closeDropdownOnBlur:c,showNonTappableOptions:x,showSkipButton:k,onFocus:y,onBlur:v,value:D,completedParams:E,onChange:Y,onParamsChange:Q,products:O,onProductSelect:P,source:X,setCursor:Z}){let p=F(null),[J,ee]=Eo(null),T=F(e);T.current=e;let W=F(n);W.current=n;let te=F(t);te.current=t;let U=F(Y);U.current=Y;let oe=F(Q);oe.current=Q;let ae=F(y);ae.current=y;let R=F(v);R.current=v;let M=F(Z);M.current=Z;let q=F(P);q.current=P;let N=Pt(O),u=_t(a);ke(()=>{if(typeof document>"u")return;let h=new So(document.createElement("div"),{renderMode:"headless",apiConfig:o,additionalContext:i,optionOverrides:u.overrides,maskCompletedText:r,columns:g,dropdownTrigger:b,optionsPosition:w,closeDropdownOnBlur:c,showNonTappableOptions:x,source:X,value:D,completedParams:E,onSubmit:(...C)=>T.current?.(...C),onResult:(...C)=>W.current?.(...C),onError:(...C)=>te.current?.(...C),onChange:(...C)=>U.current?.(...C),onParamsChange:(...C)=>oe.current?.(...C),onFocus:()=>ae.current?.(),onBlur:()=>R.current?.(),onProductSelect:C=>q.current?.(C),setCursor:C=>M.current?.(C),products:N.config});p.current=h,ee(h.getState());let z=h.subscribe(C=>ee(C));return()=>{z(),h.destroy(),p.current===h&&(p.current=null)}},[]),ke(()=>{D!==void 0&&p.current?.setValue(D)},[D]),ke(()=>{E!==void 0&&p.current?.setCompletedParams(E)},[E]);let G=JSON.stringify(o??null),s;try{s=JSON.stringify(i??null)}catch{s="[unstringifiable]"}ke(()=>{p.current?.update({apiConfig:o,additionalContext:i,optionOverrides:u.overrides,dropdownTrigger:b,optionsPosition:w,closeDropdownOnBlur:c,showNonTappableOptions:x})},[G,s,u.key,b,w,c,x]);let m=F(!1);ke(()=>{if(!m.current){m.current=!0;return}p.current?.update({products:N.config})},[N.enabled]);let f=F(null);f.current===null&&(f.current={handleTextChange:h=>p.current?.handleTextChange(h),handleKeyDown:h=>{let z="nativeEvent"in h?h.nativeEvent:h;p.current?.handleKeyDown(z)},setFocused:h=>p.current?.setFocused(h),startEditingParam:h=>p.current?.startEditingParam(h),exitEditMode:()=>p.current?.exitEditMode(),handleCaretAfterInput:h=>p.current?.handleCaretAfterInput(h),handleCaretMove:h=>p.current?.handleCaretMove(h),replaceEditingRange:h=>p.current?.replaceEditingRange(h)??!1,setActivePill:h=>p.current?.setActivePill(h),skipActivePill:()=>p.current?.skipActivePill(),removeLastParam:()=>p.current?.removeLastParam(),clearNewParamId:()=>p.current?.clearNewParamId(),reset:()=>p.current?.reset(),selectOption:h=>p.current?.selectOption(h),selectProduct:h=>p.current?.selectProduct(h),setActiveDropdownIndex:h=>p.current?.setActiveDropdownIndex(h),showPreviousMonth:()=>p.current?.showPreviousMonth(),showNextMonth:()=>p.current?.showNextMonth(),handleFocus:()=>p.current?.setFocused(!0),handleBlur:()=>p.current?.setFocused(!1)});let l=f.current,_=It(h=>{let z=h.target.value,Me=z.length>0&&!h.nativeEvent?.isComposing&&z[0]!==z[0].toUpperCase()?z[0].toUpperCase()+z.slice(1):z;p.current?.handleTextChange(Me)},[]),A=It(h=>{p.current?.handleKeyDown(h.nativeEvent)},[]),L=p.current,d=J??To,ie=D!==void 0?D:d.text,ge=E!==void 0?E:d.completedParams,ce=d.actionableSuggestions,he=ce[0],$=L?.listboxId??"",ne=d.activeDropdownIndex>=0&&L?`${$}-option-${d.activeDropdownIndex}`:void 0,re=d.editingParam,se=d.editingIdentified,we=re?{type:re.suggestionType,text:re.suggestionPlaceholder,required:!0,options:re.options}:se?{type:se.type,text:Co(se.type),required:!0,options:[]}:null,Ie=we??he,Oe=we?[we]:ce,Ae=!L||d.isLoading&&!d.editingParam&&!d.inSelectionAnimation||d.isSearchingOptions;return{completedParams:ge,skippedParams:d.skippedParams,identifiedParams:d.identifiedParams,suggestionPills:ce,setActivePill:l.setActivePill,skipActivePill:l.skipActivePill,removeLastParam:l.removeLastParam,segments:d.segments,newParamId:d.newParamId,clearNewParamId:l.clearNewParamId,suggestions:d.suggestions,activeIndex:d.activeDropdownIndex,isReady:d.isReady,isLoading:Ae,isFocused:d.isFocused,isDropdownOpen:d.isDropdownOpen,isActivePillSelected:d.isActivePillSelected,placeholderText:d.placeholderText,listboxId:$,error:d.error,products:d.products,selectProduct:l.selectProduct,handleTextChange:l.handleTextChange,handleKeyDown:l.handleKeyDown,setFocused:l.setFocused,editingParam:re,editingIdentified:se,editingAnchor:d.editingAnchor,caretOffset:d.caretOffset,startEditingParam:l.startEditingParam,exitEditMode:l.exitEditMode,handleCaretAfterInput:l.handleCaretAfterInput,handleCaretMove:l.handleCaretMove,replaceEditingRange:l.replaceEditingRange,inputProps:{value:ie,placeholder:d.placeholderText||void 0,onChange:_,onKeyDown:A,onFocus:l.handleFocus,onBlur:l.handleBlur,role:"combobox","aria-expanded":d.isDropdownOpen,"aria-activedescendant":ne,"aria-autocomplete":"list","aria-controls":$},reset:l.reset,dropdownProps:{suggestions:Ie?[{...Ie,options:d.filteredOptions}]:[],activeIndex:d.activeDropdownIndex,onSelect:l.selectOption,onHighlight:l.setActiveDropdownIndex,isOpen:d.isDropdownOpen,id:$,pills:Oe,activeSelected:d.isActivePillSelected,onPillClick:l.setActivePill,onSkip:l.skipActivePill,showSkipButton:(k??!0)&&!re&&!se,skipDisabled:d.inSelectionAnimation,isLoading:Ae,isInputEmpty:ie.trim().length===0,products:d.products,onProductSelect:l.selectProduct,onProductFocusChange:l.setFocused,formatType:d.activeFormatType,dateView:d.dateView,selectedDateIso:se?se.iso:Do(re?.text),onPreviousMonth:l.showPreviousMonth,onNextMonth:l.showNextMonth,optionsPosition:w??"below"}}}import{extractPlainText as At,getCursorOffset as St,plainTextLength as Ro,renderEditableContent as Lo,setCursorOffset as Ct}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as K,useEffect as Ve,useLayoutEffect as Ye,useRef as be}from"react";var Le;function Oo(){if(Le!==void 0)return Le;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),Le=e.contentEditable==="plaintext-only",Le}function Dt(e){let{segments:n,newParamId:t,editingParam:a,editingIdentified:r,editingAnchor:o,caretOffset:i,placeholderText:g,isFocused:b,isDropdownOpen:w,listboxId:c,activeDescendantId:x,autoFocus:k,handleTextChange:y,handleKeyDown:v,handleCaretAfterInput:D,handleCaretMove:E,startEditingParam:Y,replaceEditingRange:Q,setFocused:O}=e,P=be(null),X=be(!1),Z=be(""),p=be(""),J=be(null),ee=be(0);J.current=i,Ve(()=>{if(!k)return;let s=P.current;if(!s)return;document.activeElement===s?O(!0):s.focus();let m=s.ownerDocument??document,f=m.getSelection(),l=f&&f.rangeCount>0&&s.contains(f.anchorNode);if(f&&!l){let _=m.createRange();_.selectNodeContents(s),_.collapse(!0),f.removeAllRanges(),f.addRange(_)}},[k,O]),Ve(()=>{let s=P.current;if(!s)return;let m=s.ownerDocument??document,f=()=>{let l=m.getSelection();if(!l||l.rangeCount===0||!l.anchorNode||!s.contains(l.anchorNode))return;let _=l.anchorNode,A=_.nodeType===Node.ELEMENT_NODE?_:_.parentElement,d=(l.isCollapsed?A?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,ie=a?.id??r?.id??null;if(d&&d!==ie){Y(d);return}performance.now()-ee.current<50||E(St(s))};return m.addEventListener("selectionchange",f),()=>m.removeEventListener("selectionchange",f)},[a,r,Y,E]),Ye(()=>{let s=P.current;s&&Lo({input:s,segments:n,newParamId:t,editingParamId:a?.id??null,placeholderText:g??"",isFocused:b})},[n,t,a,g,b]),Ye(()=>{let s=Z.current,m=t??"";if(Z.current=m,!m||m===s)return;let f=P.current;if(!f)return;f.focus();let l=J.current??Ro(f);Ct(f,l)},[t]),Ye(()=>{let s=p.current,m=a?.id??"";if(p.current=m,!m||m===s||o==null)return;let f=P.current;f&&Ct(f,o)},[a,o]);let T=K(()=>{if(X.current)return;let s=P.current;if(!s)return;let m=At(s),l=m.length>0&&m[0]!==m[0].toUpperCase()?m[0].toUpperCase()+m.slice(1):m;y(l)},[y]),W=K(()=>{ee.current=performance.now(),T();let s=P.current;s&&D(St(s))},[T,D]);Ve(()=>{let s=P.current;if(!s)return;let m=f=>{let l=f,_=l.inputType;if(_==="insertParagraph"||_==="insertLineBreak"||_==="insertFromDrop"){f.preventDefault();return}if(_.startsWith("insert")||_.startsWith("delete")){let A=_.startsWith("delete")?"":l.data??"";Q(A)&&f.preventDefault()}};return s.addEventListener("beforeinput",m),()=>s.removeEventListener("beforeinput",m)},[Q]);let te=K(()=>{X.current=!0},[]),U=K(()=>{X.current=!1,T()},[T]),oe=K(s=>{s.preventDefault();let m=P.current;if(!m)return;let f=(s.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!f)return;let l=m.ownerDocument??document,_=l.getSelection();if(!_||_.rangeCount===0)return;let A=_.getRangeAt(0);if(!m.contains(A.startContainer))return;A.deleteContents();let L=l.createTextNode(f);A.insertNode(L),A.setStartAfter(L),A.collapse(!0),_.removeAllRanges(),_.addRange(A),T()},[T]),ae=K(s=>v(s),[v]),R=K(()=>O(!0),[O]),M=K(()=>O(!1),[O]),q=K(()=>P.current?.focus(),[]),N=K(()=>P.current?.blur(),[]),u=K(()=>{let s=P.current;return s?At(s):""},[]),G=Oo()?"plaintext-only":"true";return{inputRef:P,editorProps:{ref:P,contentEditable:G,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":c,"aria-expanded":w,"aria-activedescendant":x,spellCheck:!0,enterKeyHint:"send",onInput:W,onKeyDown:ae,onCompositionStart:te,onCompositionEnd:U,onPaste:oe,onFocus:R,onBlur:M},getPlainText:u,focus:q,blur:N}}import{jsx as ve,jsxs as Xe}from"react/jsx-runtime";function Ho(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Ko=Mo(function({onSubmit:n,onResult:t,onError:a,optionOverrides:r,maskCompletedText:o,className:i,apiConfig:g,additionalContext:b,columns:w,pillPlacement:c="dropdown",mode:x="auto",optionsPosition:k="below",animations:y=!0,dropdownTrigger:v,closeDropdownOnBlur:D,showNonTappableOptions:E,showSkipButton:Y,autoFocus:Q=!0,onFocus:O,onBlur:P,value:X,completedParams:Z,onChange:p,onParamsChange:J,products:ee,onProductSelect:T,submitButton:W},te){let U=Pe(null),oe=Pe(null),ae=Pe(()=>{}),R=Pe(null),M=Pe(null);Et(()=>{let I=U.current;if(I)return R.current?R.current.setMode(x):R.current=new Fo(I,x),()=>{R.current?.destroy(),R.current=null}},[x]);let q=Qe(I=>{let pe=M.current?.current;pe&&(pe.focus(),Go(pe,I))},[]),{completedParams:N,skippedParams:u,identifiedParams:G,isReady:s,suggestionPills:m,setActivePill:f,skipActivePill:l,segments:_,newParamId:A,clearNewParamId:L,placeholderText:d,isFocused:ie,isDropdownOpen:ge,isActivePillSelected:ce,isLoading:he,activeIndex:$,listboxId:ne,handleTextChange:re,handleKeyDown:se,setFocused:we,editingParam:Ie,editingIdentified:Oe,editingAnchor:Ae,caretOffset:h,startEditingParam:z,handleCaretAfterInput:C,handleCaretMove:Me,replaceEditingRange:Tt,dropdownProps:Rt,reset:Se}=je({onSubmit:I=>ae.current(I),onResult:t,onError:a,optionOverrides:r,maskCompletedText:o,apiConfig:g,additionalContext:b,columns:w,dropdownTrigger:v,optionsPosition:k,closeDropdownOnBlur:D,showNonTappableOptions:E,showSkipButton:Y,onFocus:O,onBlur:P,value:X,completedParams:Z,onChange:p,onParamsChange:J,products:ee,onProductSelect:T,source:"full-sdk",setCursor:q});Et(()=>{if(!A)return;let I=window.setTimeout(()=>L(),650);return()=>window.clearTimeout(I)},[A,L]);let Lt=$>=0?`${ne}-option-${$}`:void 0,{inputRef:Ne,editorProps:Ot,focus:Ce,blur:Ze,getPlainText:Je}=Dt({segments:_,newParamId:A,editingParam:Ie,editingIdentified:Oe,editingAnchor:Ae,caretOffset:h,placeholderText:d,isFocused:ie,isDropdownOpen:ge,listboxId:ne,activeDescendantId:Lt,autoFocus:Q,handleTextChange:re,handleKeyDown:se,handleCaretAfterInput:C,handleCaretMove:Me,startEditingParam:z,replaceEditingRange:Tt,setFocused:we});M.current=Ne,zo(()=>{let I=oe.current,pe=Ne.current;if(!I||!pe)return;let et=()=>{let ot=I.firstElementChild;if(!ot)return;let Bt=ot.getBoundingClientRect(),Ft=pe.getBoundingClientRect();Bt.top>=Ft.bottom-2?I.setAttribute("data-aia-pill-wrapped",""):I.removeAttribute("data-aia-pill-wrapped")};et();let tt=new ResizeObserver(et);return tt.observe(pe),()=>tt.disconnect()},[_,m.length,he,Ne]),No(te,()=>({focus:Ce,blur:Ze,reset:Se,setMode:I=>R.current?.setMode(I),skipActivePill:l}),[Ce,Ze,Se,l]);let De=!!_.length||N.length>0,ze=Qe(()=>{if(!De)return;let I=Je();n(Bo(I,N,u,{identifiedParams:G,isReady:s})),Se()},[De,N,u,G,s,n,Se,Je]);ae.current=ze;let Mt=Qe(I=>{I.target?.closest("[data-aia-pill]")||Ce()},[Ce]),Nt=c==="inline",zt=c==="dropdown";return Xe("div",{ref:U,className:`magicx-aia ${fe.container} ${i??""}`,"data-pill-placement":c,"data-options-position":k,"data-animations":y?"on":"off","data-mode":Ho(x),children:[ve(qe,{...Rt,showPills:zt}),Xe("div",{className:fe.inputWrapper,onClick:Mt,children:[Xe("div",{className:fe.editorArea,"data-aia-editor":"",children:[ve("div",{...Ot,className:fe.input,"data-aia-input":""}),Nt&&(he||m.length>0)&&ve("span",{ref:oe,className:fe.pillListContainer,"data-aia-pill-list-container":"",children:ve(Te,{pills:m,activePillIndex:0,activeSelected:ce,onSelectPill:f,loading:he})})]}),W===null?null:W===void 0?ve(xt,{disabled:!De,onClick:ze}):ve("span",{"data-aia-submit":"",className:fe.submitSlot,onClick:I=>{De&&(I.stopPropagation(),ze())},children:W})]})]})});export{Ko as AIAutocomplete,qe as AIAutocompleteDropdown,Bi as WEEKDAY_LABELS,Ei as buildSubmitResult,Ti as cellDay,Ri as cellIso,Li as formatDate,Oi as isoDate,Mi as monthLabel,Ni as parseDate,zi as parseLooseDate,je as useAIAutocomplete,Fi as withSkippedParams};
|
|
1594
|
+
`,document.head.appendChild(e)}var xt={submitButton:"SubmitButton-module_submitButton_otz7H"};import{jsx as $e}from"react/jsx-runtime";function yt({disabled:e,onClick:r}){return $e("button",{type:"button","data-aia-submit":"",className:xt.submitButton,disabled:e,onClick:a=>{a.stopPropagation(),r()},"aria-label":"Submit",children:$e("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:$e("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as Ca,dateSelectionFor as Ea,identifiedParamLabel as Ta}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as At,useEffect as Pe,useRef as G,useState as Ra}from"react";import{useRef as _t}from"react";function kt(e){let r=_t(e);r.current=e;let a=Object.keys(e??{}).sort().join("\0"),i=_t({key:"",overrides:void 0});if(i.current.key!==a){let s={};for(let o of Object.keys(e??{})){let n=(f,g,v)=>{let _=r.current?.[o];return _?_(f,g,v):[]};s[o]=n}i.current={key:a,overrides:e?s:void 0}}return{overrides:i.current.overrides,key:a}}import{useRef as Pt}from"react";function It(e){let r=Pt(e);r.current=e;let a=Pt(null);a.current===null&&(a.current={fetch:(s,o)=>{let n=r.current;return n?n.fetch(s,o):Promise.reject(new Error("products config removed"))},transform:s=>r.current?.transform(s)??[],get limit(){return r.current?.limit}});let i=e!==void 0;return{config:i?a.current:void 0,enabled:i}}var La={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],optionSearch:null,activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],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 Ve({onSubmit:e,onResult:r,onError:a,optionOverrides:i,maskCompletedText:s,apiConfig:o,additionalContext:n,columns:f=2,dropdownTrigger:g,optionsPosition:v,closeDropdownOnBlur:_,showNonTappableOptions:p,showSkipButton:w,onFocus:y,onBlur:b,value:D,completedParams:C,onChange:Q,onParamsChange:Y,products:L,onProductSelect:k,source:X,setCursor:Z}){let u=G(null),[se,J]=Ra(null),E=G(e);E.current=e;let W=G(r);W.current=r;let ee=G(a);ee.current=a;let te=G(Q);te.current=Q;let q=G(Y);q.current=Y;let U=G(y);U.current=y;let R=G(b);R.current=b;let ae=G(Z);ae.current=Z;let le=G(k);le.current=k;let T=It(L),O=kt(i);Pe(()=>{if(typeof document>"u")return;let m=new Ca(document.createElement("div"),{renderMode:"headless",apiConfig:o,additionalContext:n,optionOverrides:O.overrides,maskCompletedText:s,columns:f,dropdownTrigger:g,optionsPosition:v,closeDropdownOnBlur:_,showNonTappableOptions:p,source:X,value:D,completedParams:C,onSubmit:(...S)=>E.current?.(...S),onResult:(...S)=>W.current?.(...S),onError:(...S)=>ee.current?.(...S),onChange:(...S)=>te.current?.(...S),onParamsChange:(...S)=>q.current?.(...S),onFocus:()=>U.current?.(),onBlur:()=>R.current?.(),onProductSelect:S=>le.current?.(S),setCursor:S=>ae.current?.(S),products:T.config});u.current=m,J(m.getState());let z=m.subscribe(S=>J(S));return()=>{z(),m.destroy(),u.current===m&&(u.current=null)}},[]),Pe(()=>{D!==void 0&&u.current?.setValue(D)},[D]),Pe(()=>{C!==void 0&&u.current?.setCompletedParams(C)},[C]);let oe=JSON.stringify(o??null),t;try{t=JSON.stringify(n??null)}catch{t="[unstringifiable]"}Pe(()=>{u.current?.update({apiConfig:o,additionalContext:n,optionOverrides:O.overrides,dropdownTrigger:g,optionsPosition:v,closeDropdownOnBlur:_,showNonTappableOptions:p})},[oe,t,O.key,g,v,_,p]);let c=G(!1);Pe(()=>{if(!c.current){c.current=!0;return}u.current?.update({products:T.config})},[T.enabled]);let h=G(null);h.current===null&&(h.current={handleTextChange:m=>u.current?.handleTextChange(m),handleKeyDown:m=>{let z="nativeEvent"in m?m.nativeEvent:m;u.current?.handleKeyDown(z)},setFocused:m=>u.current?.setFocused(m),startEditingParam:m=>u.current?.startEditingParam(m),exitEditMode:()=>u.current?.exitEditMode(),handleCaretAfterInput:m=>u.current?.handleCaretAfterInput(m),handleCaretMove:m=>u.current?.handleCaretMove(m),replaceEditingRange:m=>u.current?.replaceEditingRange(m)??!1,setActivePill:m=>u.current?.setActivePill(m),skipActivePill:()=>u.current?.skipActivePill(),removeLastParam:()=>u.current?.removeLastParam(),clearNewParamId:()=>u.current?.clearNewParamId(),reset:()=>u.current?.reset(),selectOption:m=>u.current?.selectOption(m),selectProduct:m=>u.current?.selectProduct(m),setActiveDropdownIndex:m=>u.current?.setActiveDropdownIndex(m),showPreviousMonth:()=>u.current?.showPreviousMonth(),showNextMonth:()=>u.current?.showNextMonth(),handleFocus:()=>u.current?.setFocused(!0),handleBlur:()=>u.current?.setFocused(!1)});let l=h.current,x=At(m=>{let z=m.target.value,Ne=z.length>0&&!m.nativeEvent?.isComposing&&z[0]!==z[0].toUpperCase()?z[0].toUpperCase()+z.slice(1):z;u.current?.handleTextChange(Ne)},[]),A=At(m=>{u.current?.handleKeyDown(m.nativeEvent)},[]),M=u.current,d=se??La,ie=D!==void 0?D:d.text,fe=C!==void 0?C:d.completedParams,de=d.actionableSuggestions,ce=de[0],j=M?.listboxId??"",ge=d.activeDropdownIndex>=0&&M?`${j}-option-${d.activeDropdownIndex}`:void 0,F=d.editingParam,N=d.editingIdentified,xe=F?{type:F.suggestionType,text:F.suggestionPlaceholder,required:!0,options:F.options}:N?{type:N.type,text:Ta(N.type),required:!0,options:[]}:null,Ae=xe??ce,Me=xe?[xe]:de,ye=Ea(d),Se=!M||d.isLoading&&!d.editingParam&&!d.inSelectionAnimation||d.isSearchingOptions;return{completedParams:fe,skippedParams:d.skippedParams,identifiedParams:d.identifiedParams,suggestionPills:de,setActivePill:l.setActivePill,skipActivePill:l.skipActivePill,removeLastParam:l.removeLastParam,segments:d.segments,newParamId:d.newParamId,clearNewParamId:l.clearNewParamId,suggestions:d.suggestions,activeIndex:d.activeDropdownIndex,isReady:d.isReady,isLoading:Se,isFocused:d.isFocused,isDropdownOpen:d.isDropdownOpen,isActivePillSelected:d.isActivePillSelected,placeholderText:d.placeholderText,listboxId:j,error:d.error,products:d.products,selectProduct:l.selectProduct,handleTextChange:l.handleTextChange,handleKeyDown:l.handleKeyDown,setFocused:l.setFocused,editingParam:F,editingIdentified:N,editingAnchor:d.editingAnchor,caretOffset:d.caretOffset,startEditingParam:l.startEditingParam,exitEditMode:l.exitEditMode,handleCaretAfterInput:l.handleCaretAfterInput,handleCaretMove:l.handleCaretMove,replaceEditingRange:l.replaceEditingRange,inputProps:{value:ie,placeholder:d.placeholderText||void 0,onChange:x,onKeyDown:A,onFocus:l.handleFocus,onBlur:l.handleBlur,role:"combobox","aria-expanded":d.isDropdownOpen,"aria-activedescendant":ge,"aria-autocomplete":"list","aria-controls":j},reset:l.reset,dropdownProps:{suggestions:Ae?[{...Ae,options:d.filteredOptions}]:[],activeIndex:d.activeDropdownIndex,onSelect:l.selectOption,onHighlight:l.setActiveDropdownIndex,isOpen:d.isDropdownOpen,id:j,pills:Me,activeSelected:d.isActivePillSelected,onPillClick:l.setActivePill,onSkip:l.skipActivePill,showSkipButton:(w??!0)&&!F&&!N,skipDisabled:d.inSelectionAnimation,isLoading:Se,isInputEmpty:ie.trim().length===0,products:d.products,onProductSelect:l.selectProduct,onProductFocusChange:l.setFocused,formatType:d.activeFormatType,dateView:d.dateView,selectedDateIso:ye.selectedIso,selectedDateRange:ye.selectedRange,dateRangeStart:ye.rangeStart,onPreviousMonth:l.showPreviousMonth,onNextMonth:l.showNextMonth,optionsPosition:v??"below"}}}import{extractPlainText as St,getCursorOffset as Dt,plainTextLength as Oa,renderEditableContent as Ma,setCursorOffset as Ct}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as K,useEffect as Qe,useLayoutEffect as Ye,useRef as ve}from"react";var Oe;function Na(){if(Oe!==void 0)return Oe;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),Oe=e.contentEditable==="plaintext-only",Oe}function Et(e){let{segments:r,newParamId:a,editingParam:i,editingIdentified:s,editingAnchor:o,caretOffset:n,placeholderText:f,isFocused:g,isDropdownOpen:v,listboxId:_,activeDescendantId:p,autoFocus:w,handleTextChange:y,handleKeyDown:b,handleCaretAfterInput:D,handleCaretMove:C,startEditingParam:Q,replaceEditingRange:Y,setFocused:L}=e,k=ve(null),X=ve(!1),Z=ve(""),u=ve(""),se=ve(null),J=ve(0);se.current=n,Qe(()=>{if(!w)return;let t=k.current;if(!t)return;document.activeElement===t?L(!0):t.focus();let c=t.ownerDocument??document,h=c.getSelection(),l=h&&h.rangeCount>0&&t.contains(h.anchorNode);if(h&&!l){let x=c.createRange();x.selectNodeContents(t),x.collapse(!0),h.removeAllRanges(),h.addRange(x)}},[w,L]),Qe(()=>{let t=k.current;if(!t)return;let c=t.ownerDocument??document,h=()=>{let l=c.getSelection();if(!l||l.rangeCount===0||!l.anchorNode||!t.contains(l.anchorNode))return;let x=l.anchorNode,A=x.nodeType===Node.ELEMENT_NODE?x:x.parentElement,d=(l.isCollapsed?A?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,ie=i?.id??s?.id??null;if(d&&d!==ie){Q(d);return}performance.now()-J.current<50||C(Dt(t))};return c.addEventListener("selectionchange",h),()=>c.removeEventListener("selectionchange",h)},[i,s,Q,C]),Ye(()=>{let t=k.current;t&&Ma({input:t,segments:r,newParamId:a,editingParamId:i?.id??null,placeholderText:f??"",isFocused:g})},[r,a,i,f,g]),Ye(()=>{let t=Z.current,c=a??"";if(Z.current=c,!c||c===t)return;let h=k.current;if(!h)return;h.focus();let l=se.current??Oa(h);Ct(h,l)},[a]),Ye(()=>{let t=u.current,c=i?.id??"";if(u.current=c,!c||c===t||o==null)return;let h=k.current;h&&Ct(h,o)},[i,o]);let E=K(()=>{if(X.current)return;let t=k.current;if(!t)return;let c=St(t),l=c.length>0&&c[0]!==c[0].toUpperCase()?c[0].toUpperCase()+c.slice(1):c;y(l)},[y]),W=K(()=>{J.current=performance.now(),E();let t=k.current;t&&D(Dt(t))},[E,D]);Qe(()=>{let t=k.current;if(!t)return;let c=h=>{let l=h,x=l.inputType;if(x==="insertParagraph"||x==="insertLineBreak"||x==="insertFromDrop"){h.preventDefault();return}if(x.startsWith("insert")||x.startsWith("delete")){let A=x.startsWith("delete")?"":l.data??"";Y(A)&&h.preventDefault()}};return t.addEventListener("beforeinput",c),()=>t.removeEventListener("beforeinput",c)},[Y]);let ee=K(()=>{X.current=!0},[]),te=K(()=>{X.current=!1,E()},[E]),q=K(t=>{t.preventDefault();let c=k.current;if(!c)return;let h=(t.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!h)return;let l=c.ownerDocument??document,x=l.getSelection();if(!x||x.rangeCount===0)return;let A=x.getRangeAt(0);if(!c.contains(A.startContainer))return;A.deleteContents();let M=l.createTextNode(h);A.insertNode(M),A.setStartAfter(M),A.collapse(!0),x.removeAllRanges(),x.addRange(A),E()},[E]),U=K(t=>b(t),[b]),R=K(()=>L(!0),[L]),ae=K(()=>L(!1),[L]),le=K(()=>k.current?.focus(),[]),T=K(()=>k.current?.blur(),[]),O=K(()=>{let t=k.current;return t?St(t):""},[]),oe=Na()?"plaintext-only":"true";return{inputRef:k,editorProps:{ref:k,contentEditable:oe,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":_,"aria-expanded":v,"aria-activedescendant":p,spellCheck:!0,enterKeyHint:"send",onInput:W,onKeyDown:U,onCompositionStart:ee,onCompositionEnd:te,onPaste:q,onFocus:R,onBlur:ae},getPlainText:O,focus:le,blur:T}}import{jsx as we,jsxs as Ze}from"react/jsx-runtime";function Wa(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var qa=za(function({onSubmit:r,onResult:a,onError:i,optionOverrides:s,maskCompletedText:o,className:n,apiConfig:f,additionalContext:g,columns:v,pillPlacement:_="dropdown",mode:p="auto",optionsPosition:w="below",animations:y=!0,dropdownTrigger:b,closeDropdownOnBlur:D,showNonTappableOptions:C,showSkipButton:Q,autoFocus:Y=!0,onFocus:L,onBlur:k,value:X,completedParams:Z,onChange:u,onParamsChange:se,products:J,onProductSelect:E,submitButton:W},ee){let te=Ie(null),q=Ie(null),U=Ie(()=>{}),R=Ie(null),ae=Ie(null);Tt(()=>{let P=te.current;if(P)return R.current?R.current.setMode(p):R.current=new Ha(P,p),()=>{R.current?.destroy(),R.current=null}},[p]);let le=Xe(P=>{let pe=ae.current?.current;pe&&(pe.focus(),Ka(pe,P))},[]),{completedParams:T,skippedParams:O,identifiedParams:oe,isReady:t,suggestionPills:c,setActivePill:h,skipActivePill:l,segments:x,newParamId:A,clearNewParamId:M,placeholderText:d,isFocused:ie,isDropdownOpen:fe,isActivePillSelected:de,isLoading:ce,activeIndex:j,listboxId:ge,handleTextChange:F,handleKeyDown:N,setFocused:xe,editingParam:Ae,editingIdentified:Me,editingAnchor:ye,caretOffset:Se,startEditingParam:m,handleCaretAfterInput:z,handleCaretMove:S,replaceEditingRange:Ne,dropdownProps:Rt,reset:De}=Ve({onSubmit:P=>U.current(P),onResult:a,onError:i,optionOverrides:s,maskCompletedText:o,apiConfig:f,additionalContext:g,columns:v,dropdownTrigger:b,optionsPosition:w,closeDropdownOnBlur:D,showNonTappableOptions:C,showSkipButton:Q,onFocus:L,onBlur:k,value:X,completedParams:Z,onChange:u,onParamsChange:se,products:J,onProductSelect:E,source:"full-sdk",setCursor:le});Tt(()=>{if(!A)return;let P=window.setTimeout(()=>M(),650);return()=>window.clearTimeout(P)},[A,M]);let Lt=j>=0?`${ge}-option-${j}`:void 0,{inputRef:ze,editorProps:Ot,focus:Ce,blur:Je,getPlainText:et}=Et({segments:x,newParamId:A,editingParam:Ae,editingIdentified:Me,editingAnchor:ye,caretOffset:Se,placeholderText:d,isFocused:ie,isDropdownOpen:fe,listboxId:ge,activeDescendantId:Lt,autoFocus:Y,handleTextChange:F,handleKeyDown:N,handleCaretAfterInput:z,handleCaretMove:S,startEditingParam:m,replaceEditingRange:Ne,setFocused:xe});ae.current=ze,Ga(()=>{let P=q.current,pe=ze.current;if(!P||!pe)return;let tt=()=>{let ot=P.firstElementChild;if(!ot)return;let Bt=ot.getBoundingClientRect(),Gt=pe.getBoundingClientRect();Bt.top>=Gt.bottom-2?P.setAttribute("data-aia-pill-wrapped",""):P.removeAttribute("data-aia-pill-wrapped")};tt();let at=new ResizeObserver(tt);return at.observe(pe),()=>at.disconnect()},[x,c.length,ce,ze]),Ba(ee,()=>({focus:Ce,blur:Je,reset:De,setMode:P=>R.current?.setMode(P),skipActivePill:l}),[Ce,Je,De,l]);let Ee=!!x.length||T.length>0,Be=Xe(()=>{if(!Ee)return;let P=et();r(Fa(P,T,O,{identifiedParams:oe,isReady:t})),De()},[Ee,T,O,oe,t,r,De,et]);U.current=Be;let Mt=Xe(P=>{P.target?.closest("[data-aia-pill]")||Ce()},[Ce]),Nt=_==="inline",zt=_==="dropdown";return Ze("div",{ref:te,className:`magicx-aia ${me.container} ${n??""}`,"data-pill-placement":_,"data-options-position":w,"data-animations":y?"on":"off","data-mode":Wa(p),children:[we(je,{...Rt,showPills:zt}),Ze("div",{className:me.inputWrapper,onClick:Mt,children:[Ze("div",{className:me.editorArea,"data-aia-editor":"",children:[we("div",{...Ot,className:me.input,"data-aia-input":""}),Nt&&(ce||c.length>0)&&we("span",{ref:q,className:me.pillListContainer,"data-aia-pill-list-container":"",children:we(Re,{pills:c,activePillIndex:0,activeSelected:de,onSelectPill:h,loading:ce})})]}),W===null?null:W===void 0?we(yt,{disabled:!Ee,onClick:Be}):we("span",{"data-aia-submit":"",className:me.submitSlot,onClick:P=>{Ee&&(P.stopPropagation(),Be())},children:W})]})]})});export{qa as AIAutocomplete,je as AIAutocompleteDropdown,Ni as DATE_RANGE_META_END,zi as DATE_RANGE_META_START,Vi as WEEKDAY_LABELS,Li as buildSubmitResult,Oi as cellDay,Mi as cellIso,Bi as dateCellMarks,Gi as formatDate,Fi as formatDateRange,Hi as isoDate,Ki as monthLabel,Wi as parseDate,qi as parseLooseDate,Ui as parseLooseDateRange,ji as selectedRangeFor,Ve as useAIAutocomplete,$i as visibleDateRange,Qi as withSkippedParams};
|
|
1605
1595
|
//# sourceMappingURL=index.mjs.map
|