@magicx-eng/ai-autocomplete-react 0.6.5 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +11 -11
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{forwardRef as
|
|
1
|
+
import{forwardRef as Ht,useCallback as Le,useEffect as ot,useImperativeHandle as Nt,useLayoutEffect as Kt,useRef as pe}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
|
|
@@ -158,7 +158,7 @@ import{forwardRef as Ft,useCallback as Le,useEffect as ot,useImperativeHandle as
|
|
|
158
158
|
opacity: 0;
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
`,document.head.appendChild(e)}var te={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{useEffect as
|
|
161
|
+
`,document.head.appendChild(e)}var te={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{useEffect as At,useRef as Ct,useState as Et}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-0ae03977")){let e=document.createElement("style");e.id="ac-style-0ae03977",e.textContent=`/*
|
|
162
162
|
* Built-in appearance defaults \u2014 zero specificity via :where().
|
|
163
163
|
* Consumer CSS always wins without !important.
|
|
164
164
|
*
|
|
@@ -430,7 +430,7 @@ import{forwardRef as Ft,useCallback as Le,useEffect as ot,useImperativeHandle as
|
|
|
430
430
|
opacity: 0.25;
|
|
431
431
|
}
|
|
432
432
|
}
|
|
433
|
-
`,document.head.appendChild(e)}var ie={dropdown:"AIAutocompleteDropdown-module_dropdown_yz2KC",visible:"AIAutocompleteDropdown-module_visible_QCoXj",pillBar:"AIAutocompleteDropdown-module_pillBar_pwTXe",skeletonBars:"AIAutocompleteDropdown-module_skeletonBars_HVr9C",skeletonBar:"AIAutocompleteDropdown-module_skeletonBar_O3xIx",aiaSkeletonPulse:"AIAutocompleteDropdown-module_aiaSkeletonPulse_G8W7q"};import{getFooterHint as
|
|
433
|
+
`,document.head.appendChild(e)}var ie={dropdown:"AIAutocompleteDropdown-module_dropdown_yz2KC",visible:"AIAutocompleteDropdown-module_visible_QCoXj",pillBar:"AIAutocompleteDropdown-module_pillBar_pwTXe",skeletonBars:"AIAutocompleteDropdown-module_skeletonBars_HVr9C",skeletonBar:"AIAutocompleteDropdown-module_skeletonBar_O3xIx",aiaSkeletonPulse:"AIAutocompleteDropdown-module_aiaSkeletonPulse_G8W7q"};import{ATTRIBUTION_URL as ut,buildAttributionUrl as mt,getFooterHint as gt}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as ft,useState as ht}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 {
|
|
434
434
|
.aia-cluster {
|
|
435
435
|
display: flex;
|
|
436
436
|
flex-wrap: wrap;
|
|
@@ -472,7 +472,7 @@ import{forwardRef as Ft,useCallback as Le,useEffect as ot,useImperativeHandle as
|
|
|
472
472
|
justify-content: space-around;
|
|
473
473
|
}
|
|
474
474
|
}
|
|
475
|
-
`,document.head.appendChild(e)}import{jsx as He}from"react/jsx-runtime";function le({gap:e,align:
|
|
475
|
+
`,document.head.appendChild(e)}import{jsx as He}from"react/jsx-runtime";function le({gap:e,align:d="center",justify:i="start",noWrap:s=!1,inline:r=!1,className:t,children:l,...c}){let b=e?{"--aia-cluster-gap":e}:void 0,x={className:t?`aia-cluster ${t}`:"aia-cluster","data-align":d,"data-justify":i,"data-nowrap":s||void 0,"data-inline":r||void 0,style:b,...c};return r?He("span",{...x,children:l}):He("div",{...x,children:l})}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
|
|
476
476
|
dropdown's rounded edges. The top inset (--aia-footer-gap) adds breathing
|
|
477
477
|
room above the hint/branding row so the footer doesn't butt against the last
|
|
478
478
|
option row \u2014 additive to the dropdown's 8px section gap. */
|
|
@@ -553,7 +553,7 @@ import{forwardRef as Ft,useCallback as Le,useEffect as ot,useImperativeHandle as
|
|
|
553
553
|
justify-content: flex-end;
|
|
554
554
|
}
|
|
555
555
|
}
|
|
556
|
-
`,document.head.appendChild(e)}var q={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 de,jsxs as Pe}from"react/jsx-runtime";function Ne({isOptionHighlighted:e=!1,isInputEmpty:
|
|
556
|
+
`,document.head.appendChild(e)}var q={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 de,jsxs as Pe}from"react/jsx-runtime";function Ne({isOptionHighlighted:e=!1,isInputEmpty:d=!1}){let{key:i,hint:s}=gt(e,d),[r,t]=ht(ut);return ft(()=>{t(mt())},[]),de("footer",{className:q.footer,"data-aia-footer":"",children:Pe(le,{justify:"between",noWrap:!0,className:q.row,children:[Pe(le,{gap:"5px",className:q.hintGroup,children:[de("kbd",{className:q.key,children:i}),de("span",{className:q.hint,children:s})]}),Pe("a",{className:q.brandLink,href:r,target:"_blank",rel:"noopener noreferrer",children:[de("span",{className:q.brand,children:"AI"}),de("span",{className:q.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
|
|
557
557
|
with a dashed border. ~28px via 6px padding + 14px text + the 1px border
|
|
558
558
|
(border-box). */
|
|
559
559
|
.ParamPill-module_pill_6Ga7S {
|
|
@@ -605,7 +605,7 @@ import{forwardRef as Ft,useCallback as Le,useEffect as ot,useImperativeHandle as
|
|
|
605
605
|
opacity: 0;
|
|
606
606
|
}
|
|
607
607
|
}
|
|
608
|
-
`,document.head.appendChild(e)}var J={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
|
|
608
|
+
`,document.head.appendChild(e)}var J={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 bt}from"react/jsx-runtime";var Se={selected:1,first:.7,next:.4,last:.2};function Ke({label:e,state:d,rounded:i,loading:s,onClick:r}){let t=[J.pill,i?J.rounded:"",s?J.skeleton:""].filter(Boolean).join(" ");return bt("button",{type:"button","data-aia-pill":"","data-aia-loading":s?"":void 0,tabIndex:-1,contentEditable:!1,suppressContentEditableWarning:!0,className:t,style:{opacity:Se[d]},onMouseDown:l=>l.preventDefault(),onClick:s?void 0:r,disabled:s,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 {
|
|
609
609
|
position: relative;
|
|
610
610
|
z-index: 1;
|
|
611
611
|
pointer-events: auto;
|
|
@@ -615,7 +615,7 @@ import{forwardRef as Ft,useCallback as Le,useEffect as ot,useImperativeHandle as
|
|
|
615
615
|
align-items: center;
|
|
616
616
|
vertical-align: middle;
|
|
617
617
|
}
|
|
618
|
-
`,document.head.appendChild(e)}var Ae={list:"PillList-module_list_qvLqO"};import{jsx as be}from"react/jsx-runtime";var
|
|
618
|
+
`,document.head.appendChild(e)}var Ae={list:"PillList-module_list_qvLqO"};import{jsx as be}from"react/jsx-runtime";var xt=[125,69];function We(e){return e===0?"first":e===1?"next":"last"}function xe({pills:e,activePillIndex:d,onSelectPill:i,activeSelected:s,rounded:r,loading:t}){return t&&e.length===0?be("span",{className:Ae.list,"data-aia-pill-list-loading":"",children:xt.map((l,c)=>be("span",{"data-aia-pill-skeleton":"",className:`${J.pill} ${r?J.rounded:""} ${J.skeleton}`,style:{width:l,opacity:Se[We(c)]}},`skel-${l}`))}):be("span",{className:Ae.list,"data-aia-pill-list-loading":t?"":void 0,children:e.map((l,c)=>{let b=!!s&&c===d;return be(Ke,{label:l.text,state:b?"selected":We(c),selected:b,rounded:r,loading:t,onClick:()=>i(c)},`${l.type}-${l.text}`)})})}import{useEffect as vt,useLayoutEffect as wt,useRef as yt,useState as _t}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 {
|
|
619
619
|
.aia-grid {
|
|
620
620
|
display: grid;
|
|
621
621
|
grid-template-columns: repeat(
|
|
@@ -674,7 +674,7 @@ import{forwardRef as Ft,useCallback as Le,useEffect as ot,useImperativeHandle as
|
|
|
674
674
|
display: none;
|
|
675
675
|
}
|
|
676
676
|
}
|
|
677
|
-
`,document.head.appendChild(e)}import{jsx as Ge}from"react/jsx-runtime";function Ue({min:e="16rem",max:
|
|
677
|
+
`,document.head.appendChild(e)}import{jsx as Ge}from"react/jsx-runtime";function Ue({min:e="16rem",max:d,gap:i,scroll:s=!1,maxHeight:r,fade:t=!1,className:l,children:c,...b}){let x=yt(null),[D,I]=_t(!1);vt(()=>{if(!t)return;let w=x.current;if(!w)return;let C=()=>{I(w.scrollHeight-w.scrollTop-w.clientHeight>1)};w.addEventListener("scroll",C,{passive:!0});let z=new ResizeObserver(C);return z.observe(w),()=>{w.removeEventListener("scroll",C),z.disconnect()}},[t]),wt(()=>{let w=x.current;!t||!w||I(w.scrollHeight-w.scrollTop-w.clientHeight>1)},[t,c]);let k={"--aia-grid-min":e};d&&(k["--aia-grid-max"]=d),i&&(k["--aia-grid-gap"]=i),r&&(k["--aia-grid-max-height"]=r);let P=Ge("div",{ref:x,className:!t&&l?`aia-grid ${l}`:"aia-grid","data-scroll":s||void 0,style:k,...t?{}:b,children:c});return t?Ge("div",{className:l?`aia-grid-fade ${l}`:"aia-grid-fade","data-fade":D?"":void 0,...b,children:P}):P}import{useEffect as kt,useRef as It,useState as Pt}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 {
|
|
678
678
|
position: relative;
|
|
679
679
|
overflow: visible;
|
|
680
680
|
display: flex;
|
|
@@ -1024,7 +1024,7 @@ import{forwardRef as Ft,useCallback as Le,useEffect as ot,useImperativeHandle as
|
|
|
1024
1024
|
filter: brightness(0.55);
|
|
1025
1025
|
}
|
|
1026
1026
|
}
|
|
1027
|
-
`,document.head.appendChild(e)}var H={item:"SuggestionItem-module_item_d4vpD",fadeIn:"SuggestionItem-module_fadeIn_I8u35",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",glassFade:"SuggestionItem-module_glassFade_oyiSj",tapDown:"SuggestionItem-module_tapDown_G3WGz",streaks:"SuggestionItem-module_streaks_d9PEB",streaksVert:"SuggestionItem-module_streaksVert_ERlV1",streakHorizRight:"SuggestionItem-module_streakHorizRight_aboGz",streakHorizLeft:"SuggestionItem-module_streakHorizLeft_BreWJ",streakVertUp:"SuggestionItem-module_streakVertUp_to1GD",streakVertDown:"SuggestionItem-module_streakVertDown_OrcLh",skeletonPulse:"SuggestionItem-module_skeletonPulse_plvdD",text:"SuggestionItem-module_text_yqoh9"};import{jsx as ve,jsxs as je}from"react/jsx-runtime";function Ve({option:e,isHighlighted:
|
|
1027
|
+
`,document.head.appendChild(e)}var H={item:"SuggestionItem-module_item_d4vpD",fadeIn:"SuggestionItem-module_fadeIn_I8u35",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",glassFade:"SuggestionItem-module_glassFade_oyiSj",tapDown:"SuggestionItem-module_tapDown_G3WGz",streaks:"SuggestionItem-module_streaks_d9PEB",streaksVert:"SuggestionItem-module_streaksVert_ERlV1",streakHorizRight:"SuggestionItem-module_streakHorizRight_aboGz",streakHorizLeft:"SuggestionItem-module_streakHorizLeft_BreWJ",streakVertUp:"SuggestionItem-module_streakVertUp_to1GD",streakVertDown:"SuggestionItem-module_streakVertDown_OrcLh",skeletonPulse:"SuggestionItem-module_skeletonPulse_plvdD",text:"SuggestionItem-module_text_yqoh9"};import{jsx as ve,jsxs as je}from"react/jsx-runtime";function Ve({option:e,isHighlighted:d,onSelect:i,onHighlight:s,id:r,loading:t}){let[l,c]=Pt(!1),b=It(void 0);kt(()=>()=>clearTimeout(b.current),[]);let x=()=>{t||!e.is_tappable||l||(c(!0),i(e),clearTimeout(b.current),b.current=setTimeout(()=>c(!1),500))},D=[H.item,d&&!t?H.highlighted:"",e.is_tappable?H.tappable:H.nonTappable,l?H.pressed:""].filter(Boolean).join(" ");return je("div",{id:r,role:"option","data-aia-option":"","data-aia-loading":t?"":void 0,"aria-selected":d,className:D,tabIndex:t||!e.is_tappable?-1:0,onClick:x,onKeyDown:I=>{!t&&e.is_tappable&&(I.key==="Enter"||I.key===" ")&&(I.preventDefault(),x())},onMouseEnter:!t&&e.is_tappable?s:void 0,children:[ve("div",{className:H.streaks}),ve("div",{className:H.streaksVert}),je("span",{className:H.content,children:[ve("span",{className:H.text,children:e.icon?`${e.icon} ${e.text}`:e.text}),e.tag&&ve("span",{className:H.tag,children:e.tag})]})]})}import{jsx as $e}from"react/jsx-runtime";function qe({options:e,activeIndex:d,onSelect:i,onHighlight:s,listboxId:r,loading:t}){return $e(Ue,{min:"250px",max:"250px",gap:"0",scroll:!0,fade:!0,children:e.map((l,c)=>$e(Ve,{option:l,isHighlighted:c===d,onSelect:i,onHighlight:()=>s(c),id:`${r}-option-${c}`,loading:t},l.text))})}if(typeof document<"u"&&!document.getElementById("ac-style-8414cd5f")){let e=document.createElement("style");e.id="ac-style-8414cd5f",e.textContent=`@layer layout {
|
|
1028
1028
|
.aia-stack {
|
|
1029
1029
|
display: flex;
|
|
1030
1030
|
flex-direction: column;
|
|
@@ -1041,7 +1041,7 @@ import{forwardRef as Ft,useCallback as Le,useEffect as ot,useImperativeHandle as
|
|
|
1041
1041
|
}
|
|
1042
1042
|
/* data-align="stretch" is the flex default \u2014 no rule needed. */
|
|
1043
1043
|
}
|
|
1044
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
1044
|
+
`,document.head.appendChild(e)}import{jsx as St}from"react/jsx-runtime";function Qe({space:e,align:d="stretch",className:i,children:s,...r}){let t=e?{"--aia-stack-space":e}:void 0;return St("div",{className:i?`aia-stack ${i}`:"aia-stack","data-align":d,style:t,...r,children:s})}import{jsx as ae,jsxs as Tt}from"react/jsx-runtime";var Rt=[159,119,164];function Dt(e){let d=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[i,s]=Et(d);if(At(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let r=window.matchMedia("(prefers-color-scheme: dark)"),t=()=>s(r.matches);return r.addEventListener("change",t),()=>r.removeEventListener("change",t)},[e]),e!==void 0)return e==="auto"?i?"dark":"light":e}function Ce({suggestions:e,activeIndex:d,onSelect:i,onHighlight:s,isOpen:r,id:t,className:l,pills:c,onPillClick:b,showPills:x=!0,activeSelected:D=!1,isLoading:I=!1,isInputEmpty:k=!1,optionsPosition:P="below",mode:w}){let C=Dt(w),z=C!==void 0,j=e[0]?.options??[],n=!!(c&&c.length>0&&b),y=r&&(j.length>0||x&&n||I),L={suggestions:e,activeIndex:d,pills:c,showPills:x,activeSelected:D,isLoading:I,isInputEmpty:k},W=Ct(L);y&&(W.current=L);let f=y?L:W.current,B=f.suggestions[0]?.options??[],E=f.activeIndex>=0&&!!B[f.activeIndex]?.is_tappable,G=!!(f.pills&&f.pills.length>0&&b),T=f.showPills&&G,X=f.showPills&&!G&&f.isLoading,V=T||X,F=B.length>0,O=f.isLoading&&!F;return ae("div",{id:t,role:"listbox","data-aia-dropdown":"","data-options-position":P,"data-mode":C,"data-aia-loading":f.isLoading?"":void 0,className:`${z?"magicx-aia ":""}${ie.dropdown} ${y?ie.visible:""} ${l??""}`,onMouseDown:h=>h.preventDefault(),children:Tt(Qe,{space:"8px",children:[V&&ae(le,{noWrap:!0,className:ie.pillBar,"data-aia-pillbar":"",children:ae(xe,{pills:f.pills??[],activePillIndex:0,activeSelected:f.activeSelected,onSelectPill:b??(()=>{}),rounded:!0,loading:f.isLoading})}),F&&ae(qe,{options:B,activeIndex:f.activeIndex,onSelect:i,onHighlight:s,listboxId:t,loading:f.isLoading}),O&&ae("div",{className:ie.skeletonBars,"data-aia-skeleton-bars":"",children:Rt.map(h=>ae("span",{className:ie.skeletonBar,style:{width:h}},`bar-${h}`))}),ae(Ne,{isOptionHighlighted:E,isInputEmpty:f.isInputEmpty})]})})}import{buildQuery as Wt,ModeController as Gt,setCursorOffset as Ut}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 {
|
|
1045
1045
|
flex-shrink: 0;
|
|
1046
1046
|
width: 32px;
|
|
1047
1047
|
height: 32px;
|
|
@@ -1076,5 +1076,5 @@ import{forwardRef as Ft,useCallback as Le,useEffect as ot,useImperativeHandle as
|
|
|
1076
1076
|
);
|
|
1077
1077
|
cursor: default;
|
|
1078
1078
|
}
|
|
1079
|
-
`,document.head.appendChild(e)}var Xe={submitButton:"SubmitButton-module_submitButton_otz7H"};import{jsx as Ee}from"react/jsx-runtime";function Ze({disabled:e,onClick:l}){return Ee("button",{type:"button","data-aia-submit":"",className:Xe.submitButton,disabled:e,onClick:i=>{i.stopPropagation(),l()},"aria-label":"Submit",children:Ee("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:Ee("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as Et}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as Je,useEffect as we,useRef as N,useState as Dt}from"react";var Rt={text:"",completedParams:[],suggestions:[],activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],placeholderText:"",isDropdownOpen:!1,isActivePillSelected:!1,filterBase:0,filterInProgress:!1,pillTapped:!1,skipNextFetch:!1,lastRawQuery:"",isFocused:!1,editingParam:null,editingAnchor:null,editingTail:null,caretOffset:null,inSelectionAnimation:!1};function De({onSubmit:e,onError:l,optionOverrides:i,maskCompletedText:r,apiConfig:d,columns:a=2,dropdownTrigger:s,optionsPosition:c,closeDropdownOnBlur:b,showNonTappableOptions:x,onFocus:R,onBlur:I,value:k,completedParams:P,onChange:w,onParamsChange:C,source:F,setCursor:j}){let n=N(null),[y,L]=Dt(null),W=N(e);W.current=e;let f=N(l);f.current=l;let Q=N(w);Q.current=w;let z=N(C);z.current=C;let E=N(R);E.current=R;let G=N(I);G.current=I;let T=N(j);T.current=j,we(()=>{if(typeof document>"u")return;let o=new Et(document.createElement("div"),{renderMode:"headless",apiConfig:d,optionOverrides:i,maskCompletedText:r,columns:a,dropdownTrigger:s,optionsPosition:c,closeDropdownOnBlur:b,showNonTappableOptions:x,source:F,value:k,completedParams:P,onSubmit:(...S)=>W.current?.(...S),onError:(...S)=>f.current?.(...S),onChange:(...S)=>Q.current?.(...S),onParamsChange:(...S)=>z.current?.(...S),onFocus:()=>E.current?.(),onBlur:()=>G.current?.(),setCursor:S=>T.current?.(S)});n.current=o,L(o.getState());let A=o.subscribe(S=>L(S));return()=>{A(),o.destroy(),n.current===o&&(n.current=null)}},[]),we(()=>{k!==void 0&&n.current?.setValue(k)},[k]),we(()=>{P!==void 0&&n.current?.setCompletedParams(P)},[P]);let X=JSON.stringify(d??null),V=N(i),B=N(0);if(i!==V.current){let o=V.current,A=i,S=Object.keys(o??{}),oe=Object.keys(A??{});(S.length!==oe.length||oe.some(se=>!o?.[se]||A[se]!==o[se]))&&B.current++,V.current=i}we(()=>{n.current?.update({apiConfig:d,optionOverrides:i,dropdownTrigger:s,optionsPosition:c,closeDropdownOnBlur:b,showNonTappableOptions:x})},[X,B.current,s,c,b,x]);let O=N(null);O.current===null&&(O.current={handleTextChange:o=>n.current?.handleTextChange(o),handleKeyDown:o=>{let A="nativeEvent"in o?o.nativeEvent:o;n.current?.handleKeyDown(A)},setFocused:o=>n.current?.setFocused(o),startEditingParam:o=>n.current?.startEditingParam(o),exitEditMode:()=>n.current?.exitEditMode(),handleCaretAfterInput:o=>n.current?.handleCaretAfterInput(o),handleCaretMove:o=>n.current?.handleCaretMove(o),replaceEditingRange:o=>n.current?.replaceEditingRange(o)??!1,setActivePill:o=>n.current?.setActivePill(o),removeLastParam:()=>n.current?.removeLastParam(),clearNewParamId:()=>n.current?.clearNewParamId(),reset:()=>n.current?.reset(),selectOption:o=>n.current?.selectOption(o),setActiveDropdownIndex:o=>n.current?.setActiveDropdownIndex(o),handleFocus:()=>n.current?.setFocused(!0),handleBlur:()=>n.current?.setFocused(!1)});let h=O.current,Y=Je(o=>{let A=o.target.value,oe=A.length>0&&!o.nativeEvent?.isComposing&&A[0]!==A[0].toUpperCase()?A[0].toUpperCase()+A.slice(1):A;n.current?.handleTextChange(oe)},[]),ee=Je(o=>{n.current?.handleKeyDown(o.nativeEvent)},[]),Z=n.current,u=y??Rt,t=k!==void 0?k:u.text,p=P!==void 0?P:u.completedParams,m=u.actionableSuggestions,v=m[0],g=Z?.listboxId??"",D=u.activeDropdownIndex>=0&&Z?`${g}-option-${u.activeDropdownIndex}`:void 0,M=u.editingParam,$=M?{type:M.suggestionType,text:M.suggestionPlaceholder,required:!0,options:M.options}:null,ce=$??v,_e=$?[$]:m,ue=!Z||u.isLoading&&!u.editingParam&&!u.inSelectionAnimation;return{completedParams:p,suggestionPills:m,setActivePill:h.setActivePill,removeLastParam:h.removeLastParam,segments:u.segments,newParamId:u.newParamId,clearNewParamId:h.clearNewParamId,suggestions:u.suggestions,activeIndex:u.activeDropdownIndex,isReady:u.isReady,isLoading:ue,isFocused:u.isFocused,isDropdownOpen:u.isDropdownOpen,isActivePillSelected:u.isActivePillSelected,placeholderText:u.placeholderText,listboxId:g,error:u.error,handleTextChange:h.handleTextChange,handleKeyDown:h.handleKeyDown,setFocused:h.setFocused,editingParam:M,editingAnchor:u.editingAnchor,caretOffset:u.caretOffset,startEditingParam:h.startEditingParam,exitEditMode:h.exitEditMode,handleCaretAfterInput:h.handleCaretAfterInput,handleCaretMove:h.handleCaretMove,replaceEditingRange:h.replaceEditingRange,inputProps:{value:t,placeholder:u.placeholderText||void 0,onChange:Y,onKeyDown:ee,onFocus:h.handleFocus,onBlur:h.handleBlur,role:"combobox","aria-expanded":u.isDropdownOpen,"aria-activedescendant":D,"aria-autocomplete":"list","aria-controls":g},reset:h.reset,dropdownProps:{suggestions:ce?[{...ce,options:u.filteredOptions}]:[],activeIndex:u.activeDropdownIndex,onSelect:h.selectOption,onHighlight:h.setActiveDropdownIndex,isOpen:u.isDropdownOpen,id:g,pills:_e,activeSelected:u.isActivePillSelected,onPillClick:h.setActivePill,isLoading:ue,isInputEmpty:t.trim().length===0,optionsPosition:c??"below"}}}import{extractPlainText as Ye,getCursorOffset as et,plainTextLength as Tt,renderEditableContent as Lt,setCursorOffset as tt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as K,useEffect as Re,useLayoutEffect as Te,useRef as ne}from"react";var ye;function zt(){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 at(e){let{segments:l,newParamId:i,editingParam:r,editingAnchor:d,caretOffset:a,placeholderText:s,isFocused:c,isDropdownOpen:b,listboxId:x,activeDescendantId:R,autoFocus:I,handleTextChange:k,handleKeyDown:P,handleCaretAfterInput:w,handleCaretMove:C,startEditingParam:F,replaceEditingRange:j,setFocused:n}=e,y=ne(null),L=ne(!1),W=ne(""),f=ne(""),Q=ne(null),z=ne(0);Q.current=a,Re(()=>{if(!I)return;let t=y.current;if(!t)return;document.activeElement===t?n(!0):t.focus();let p=t.ownerDocument??document,m=p.getSelection(),v=m&&m.rangeCount>0&&t.contains(m.anchorNode);if(m&&!v){let g=p.createRange();g.selectNodeContents(t),g.collapse(!0),m.removeAllRanges(),m.addRange(g)}},[I,n]),Re(()=>{let t=y.current;if(!t)return;let p=t.ownerDocument??document,m=()=>{let v=p.getSelection();if(!v||v.rangeCount===0||!v.anchorNode||!t.contains(v.anchorNode))return;let g=v.anchorNode,$=(g.nodeType===Node.ELEMENT_NODE?g:g.parentElement)?.closest('strong[data-seg="completed"][data-param-id]')?.dataset.paramId??null;if($&&$!==r?.id){F($);return}performance.now()-z.current<50||C(et(t))};return p.addEventListener("selectionchange",m),()=>p.removeEventListener("selectionchange",m)},[r,F,C]),Te(()=>{let t=y.current;t&&Lt({input:t,segments:l,newParamId:i,editingParamId:r?.id??null,placeholderText:s??"",isFocused:c})},[l,i,r,s,c]),Te(()=>{let t=W.current,p=i??"";if(W.current=p,!p||p===t)return;let m=y.current;if(!m)return;m.focus();let v=Q.current??Tt(m);tt(m,v)},[i]),Te(()=>{let t=f.current,p=r?.id??"";if(f.current=p,!p||p===t||d==null)return;let m=y.current;m&&tt(m,d)},[r,d]);let E=K(()=>{if(L.current)return;let t=y.current;if(!t)return;let p=Ye(t),v=p.length>0&&p[0]!==p[0].toUpperCase()?p[0].toUpperCase()+p.slice(1):p;k(v)},[k]),G=K(()=>{z.current=performance.now(),E();let t=y.current;t&&w(et(t))},[E,w]);Re(()=>{let t=y.current;if(!t)return;let p=m=>{let v=m,g=v.inputType;if(g==="insertParagraph"||g==="insertLineBreak"||g==="insertFromDrop"){m.preventDefault();return}if(g.startsWith("insert")||g.startsWith("delete")){let D=g.startsWith("delete")?"":v.data??"";j(D)&&m.preventDefault()}};return t.addEventListener("beforeinput",p),()=>t.removeEventListener("beforeinput",p)},[j]);let T=K(()=>{L.current=!0},[]),X=K(()=>{L.current=!1,E()},[E]),V=K(t=>{t.preventDefault();let p=y.current;if(!p)return;let m=(t.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!m)return;let v=p.ownerDocument??document,g=v.getSelection();if(!g||g.rangeCount===0)return;let D=g.getRangeAt(0);if(!p.contains(D.startContainer))return;D.deleteContents();let M=v.createTextNode(m);D.insertNode(M),D.setStartAfter(M),D.collapse(!0),g.removeAllRanges(),g.addRange(D),E()},[E]),B=K(t=>P(t),[P]),O=K(()=>n(!0),[n]),h=K(()=>n(!1),[n]),Y=K(()=>y.current?.focus(),[]),ee=K(()=>y.current?.blur(),[]),Z=K(()=>{let t=y.current;return t?Ye(t):""},[]),u=zt()?"plaintext-only":"true";return{inputRef:y,editorProps:{ref:y,contentEditable:u,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":x,"aria-expanded":b,"aria-activedescendant":R,spellCheck:!0,enterKeyHint:"send",onInput:G,onKeyDown:B,onCompositionStart:T,onCompositionEnd:X,onPaste:V,onFocus:O,onBlur:h},getPlainText:Z,focus:Y,blur:ee}}import{jsx as re,jsxs as ze}from"react/jsx-runtime";function Kt(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Wt=Ft(function({onSubmit:l,onError:i,optionOverrides:r,maskCompletedText:d,className:a,apiConfig:s,columns:c,pillPlacement:b="dropdown",mode:x="auto",optionsPosition:R="below",animations:I=!0,dropdownTrigger:k,closeDropdownOnBlur:P,showNonTappableOptions:w,autoFocus:C=!0,onFocus:F,onBlur:j,value:n,completedParams:y,onChange:L,onParamsChange:W,submitButton:f},Q){let z=pe(null),E=pe(null),G=pe(()=>{}),T=pe(null),X=pe(null);ot(()=>{let _=z.current;if(_)return T.current?T.current.setMode(x):T.current=new Ht(_,x),()=>{T.current?.destroy(),T.current=null}},[x]);let V=Le(_=>{let U=X.current?.current;U&&(U.focus(),Nt(U,_))},[]),{completedParams:B,suggestionPills:O,setActivePill:h,segments:Y,newParamId:ee,clearNewParamId:Z,placeholderText:u,isFocused:t,isDropdownOpen:p,isActivePillSelected:m,isLoading:v,activeIndex:g,listboxId:D,handleTextChange:M,handleKeyDown:$,setFocused:ce,editingParam:_e,editingAnchor:ue,caretOffset:o,startEditingParam:A,handleCaretAfterInput:S,handleCaretMove:oe,replaceEditingRange:se,dropdownProps:it,reset:me}=De({onSubmit:_=>G.current(_),onError:i,optionOverrides:r,maskCompletedText:d,apiConfig:s,columns:c,dropdownTrigger:k,optionsPosition:R,closeDropdownOnBlur:P,showNonTappableOptions:w,onFocus:F,onBlur:j,value:n,completedParams:y,onChange:L,onParamsChange:W,source:"full-sdk",setCursor:V});ot(()=>{if(!ee)return;let _=window.setTimeout(()=>Z(),650);return()=>window.clearTimeout(_)},[ee,Z]);let nt=g>=0?`${D}-option-${g}`:void 0,{inputRef:ke,editorProps:rt,focus:ge,blur:Fe,getPlainText:Be}=at({segments:Y,newParamId:ee,editingParam:_e,editingAnchor:ue,caretOffset:o,placeholderText:u,isFocused:t,isDropdownOpen:p,listboxId:D,activeDescendantId:nt,autoFocus:C,handleTextChange:M,handleKeyDown:$,handleCaretAfterInput:S,handleCaretMove:oe,startEditingParam:A,replaceEditingRange:se,setFocused:ce});X.current=ke,Ot(()=>{let _=E.current,U=ke.current;if(!_||!U)return;let he=()=>{let Me=_.firstElementChild;if(!Me)return;let pt=Me.getBoundingClientRect(),ct=U.getBoundingClientRect();pt.top>=ct.bottom-2?_.setAttribute("data-aia-pill-wrapped",""):_.removeAttribute("data-aia-pill-wrapped")};he();let Oe=new ResizeObserver(he);return Oe.observe(U),()=>Oe.disconnect()},[Y,O.length,v,ke]),Bt(Q,()=>({focus:ge,blur:Fe,reset:me,setMode:_=>T.current?.setMode(_)}),[ge,Fe,me]);let fe=!!Y.length||B.length>0,Ie=Le(()=>{if(!fe)return;let _=Be(),{rawQuery:U,completedParams:he}=Mt(_,B);l({query:_.trim(),raw_query:U,completed_params:he}),me()},[fe,B,l,me,Be]);G.current=Ie;let st=Le(_=>{_.target?.closest("[data-aia-pill]")||ge()},[ge]),lt=b==="inline",dt=b==="dropdown";return ze("div",{ref:z,className:`magicx-aia ${te.container} ${a??""}`,"data-pill-placement":b,"data-options-position":R,"data-animations":I?"on":"off","data-mode":Kt(x),children:[re(Ce,{...it,showPills:dt}),ze("div",{className:te.inputWrapper,onClick:st,children:[ze("div",{className:te.editorArea,"data-aia-editor":"",children:[re("div",{...rt,className:te.input,"data-aia-input":""}),lt&&(v||O.length>0)&&re("span",{ref:E,className:te.pillListContainer,"data-aia-pill-list-container":"",children:re(xe,{pills:O,activePillIndex:0,activeSelected:m,onSelectPill:h,loading:v})})]}),f===null?null:f===void 0?re(Ze,{disabled:!fe,onClick:Ie}):re("span",{"data-aia-submit":"",className:te.submitSlot,onClick:_=>{fe&&(_.stopPropagation(),Ie())},children:f})]})]})});export{Wt as AIAutocomplete,Ce as AIAutocompleteDropdown,De as useAIAutocomplete};
|
|
1079
|
+
`,document.head.appendChild(e)}var Xe={submitButton:"SubmitButton-module_submitButton_otz7H"};import{jsx as Ee}from"react/jsx-runtime";function Ze({disabled:e,onClick:d}){return Ee("button",{type:"button","data-aia-submit":"",className:Xe.submitButton,disabled:e,onClick:i=>{i.stopPropagation(),d()},"aria-label":"Submit",children:Ee("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:Ee("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as Lt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as Je,useEffect as we,useRef as N,useState as Bt}from"react";var zt={text:"",completedParams:[],suggestions:[],activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],placeholderText:"",isDropdownOpen:!1,isActivePillSelected:!1,filterBase:0,filterInProgress:!1,pillTapped:!1,skipNextFetch:!1,lastRawQuery:"",isFocused:!1,editingParam:null,editingAnchor:null,editingTail:null,caretOffset:null,inSelectionAnimation:!1};function Re({onSubmit:e,onError:d,optionOverrides:i,maskCompletedText:s,apiConfig:r,columns:t=2,dropdownTrigger:l,optionsPosition:c,closeDropdownOnBlur:b,showNonTappableOptions:x,onFocus:D,onBlur:I,value:k,completedParams:P,onChange:w,onParamsChange:C,source:z,setCursor:j}){let n=N(null),[y,L]=Bt(null),W=N(e);W.current=e;let f=N(d);f.current=d;let Q=N(w);Q.current=w;let B=N(C);B.current=C;let E=N(D);E.current=D;let G=N(I);G.current=I;let T=N(j);T.current=j,we(()=>{if(typeof document>"u")return;let o=new Lt(document.createElement("div"),{renderMode:"headless",apiConfig:r,optionOverrides:i,maskCompletedText:s,columns:t,dropdownTrigger:l,optionsPosition:c,closeDropdownOnBlur:b,showNonTappableOptions:x,source:z,value:k,completedParams:P,onSubmit:(...S)=>W.current?.(...S),onError:(...S)=>f.current?.(...S),onChange:(...S)=>Q.current?.(...S),onParamsChange:(...S)=>B.current?.(...S),onFocus:()=>E.current?.(),onBlur:()=>G.current?.(),setCursor:S=>T.current?.(S)});n.current=o,L(o.getState());let A=o.subscribe(S=>L(S));return()=>{A(),o.destroy(),n.current===o&&(n.current=null)}},[]),we(()=>{k!==void 0&&n.current?.setValue(k)},[k]),we(()=>{P!==void 0&&n.current?.setCompletedParams(P)},[P]);let X=JSON.stringify(r??null),V=N(i),F=N(0);if(i!==V.current){let o=V.current,A=i,S=Object.keys(o??{}),oe=Object.keys(A??{});(S.length!==oe.length||oe.some(se=>!o?.[se]||A[se]!==o[se]))&&F.current++,V.current=i}we(()=>{n.current?.update({apiConfig:r,optionOverrides:i,dropdownTrigger:l,optionsPosition:c,closeDropdownOnBlur:b,showNonTappableOptions:x})},[X,F.current,l,c,b,x]);let O=N(null);O.current===null&&(O.current={handleTextChange:o=>n.current?.handleTextChange(o),handleKeyDown:o=>{let A="nativeEvent"in o?o.nativeEvent:o;n.current?.handleKeyDown(A)},setFocused:o=>n.current?.setFocused(o),startEditingParam:o=>n.current?.startEditingParam(o),exitEditMode:()=>n.current?.exitEditMode(),handleCaretAfterInput:o=>n.current?.handleCaretAfterInput(o),handleCaretMove:o=>n.current?.handleCaretMove(o),replaceEditingRange:o=>n.current?.replaceEditingRange(o)??!1,setActivePill:o=>n.current?.setActivePill(o),removeLastParam:()=>n.current?.removeLastParam(),clearNewParamId:()=>n.current?.clearNewParamId(),reset:()=>n.current?.reset(),selectOption:o=>n.current?.selectOption(o),setActiveDropdownIndex:o=>n.current?.setActiveDropdownIndex(o),handleFocus:()=>n.current?.setFocused(!0),handleBlur:()=>n.current?.setFocused(!1)});let h=O.current,Y=Je(o=>{let A=o.target.value,oe=A.length>0&&!o.nativeEvent?.isComposing&&A[0]!==A[0].toUpperCase()?A[0].toUpperCase()+A.slice(1):A;n.current?.handleTextChange(oe)},[]),ee=Je(o=>{n.current?.handleKeyDown(o.nativeEvent)},[]),Z=n.current,u=y??zt,a=k!==void 0?k:u.text,p=P!==void 0?P:u.completedParams,m=u.actionableSuggestions,v=m[0],g=Z?.listboxId??"",R=u.activeDropdownIndex>=0&&Z?`${g}-option-${u.activeDropdownIndex}`:void 0,M=u.editingParam,$=M?{type:M.suggestionType,text:M.suggestionPlaceholder,required:!0,options:M.options}:null,ce=$??v,_e=$?[$]:m,ue=!Z||u.isLoading&&!u.editingParam&&!u.inSelectionAnimation;return{completedParams:p,suggestionPills:m,setActivePill:h.setActivePill,removeLastParam:h.removeLastParam,segments:u.segments,newParamId:u.newParamId,clearNewParamId:h.clearNewParamId,suggestions:u.suggestions,activeIndex:u.activeDropdownIndex,isReady:u.isReady,isLoading:ue,isFocused:u.isFocused,isDropdownOpen:u.isDropdownOpen,isActivePillSelected:u.isActivePillSelected,placeholderText:u.placeholderText,listboxId:g,error:u.error,handleTextChange:h.handleTextChange,handleKeyDown:h.handleKeyDown,setFocused:h.setFocused,editingParam:M,editingAnchor:u.editingAnchor,caretOffset:u.caretOffset,startEditingParam:h.startEditingParam,exitEditMode:h.exitEditMode,handleCaretAfterInput:h.handleCaretAfterInput,handleCaretMove:h.handleCaretMove,replaceEditingRange:h.replaceEditingRange,inputProps:{value:a,placeholder:u.placeholderText||void 0,onChange:Y,onKeyDown:ee,onFocus:h.handleFocus,onBlur:h.handleBlur,role:"combobox","aria-expanded":u.isDropdownOpen,"aria-activedescendant":R,"aria-autocomplete":"list","aria-controls":g},reset:h.reset,dropdownProps:{suggestions:ce?[{...ce,options:u.filteredOptions}]:[],activeIndex:u.activeDropdownIndex,onSelect:h.selectOption,onHighlight:h.setActiveDropdownIndex,isOpen:u.isDropdownOpen,id:g,pills:_e,activeSelected:u.isActivePillSelected,onPillClick:h.setActivePill,isLoading:ue,isInputEmpty:a.trim().length===0,optionsPosition:c??"below"}}}import{extractPlainText as Ye,getCursorOffset as et,plainTextLength as Ft,renderEditableContent as Ot,setCursorOffset as tt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as K,useEffect as De,useLayoutEffect as Te,useRef as ne}from"react";var ye;function Mt(){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 at(e){let{segments:d,newParamId:i,editingParam:s,editingAnchor:r,caretOffset:t,placeholderText:l,isFocused:c,isDropdownOpen:b,listboxId:x,activeDescendantId:D,autoFocus:I,handleTextChange:k,handleKeyDown:P,handleCaretAfterInput:w,handleCaretMove:C,startEditingParam:z,replaceEditingRange:j,setFocused:n}=e,y=ne(null),L=ne(!1),W=ne(""),f=ne(""),Q=ne(null),B=ne(0);Q.current=t,De(()=>{if(!I)return;let a=y.current;if(!a)return;document.activeElement===a?n(!0):a.focus();let p=a.ownerDocument??document,m=p.getSelection(),v=m&&m.rangeCount>0&&a.contains(m.anchorNode);if(m&&!v){let g=p.createRange();g.selectNodeContents(a),g.collapse(!0),m.removeAllRanges(),m.addRange(g)}},[I,n]),De(()=>{let a=y.current;if(!a)return;let p=a.ownerDocument??document,m=()=>{let v=p.getSelection();if(!v||v.rangeCount===0||!v.anchorNode||!a.contains(v.anchorNode))return;let g=v.anchorNode,$=(g.nodeType===Node.ELEMENT_NODE?g:g.parentElement)?.closest('strong[data-seg="completed"][data-param-id]')?.dataset.paramId??null;if($&&$!==s?.id){z($);return}performance.now()-B.current<50||C(et(a))};return p.addEventListener("selectionchange",m),()=>p.removeEventListener("selectionchange",m)},[s,z,C]),Te(()=>{let a=y.current;a&&Ot({input:a,segments:d,newParamId:i,editingParamId:s?.id??null,placeholderText:l??"",isFocused:c})},[d,i,s,l,c]),Te(()=>{let a=W.current,p=i??"";if(W.current=p,!p||p===a)return;let m=y.current;if(!m)return;m.focus();let v=Q.current??Ft(m);tt(m,v)},[i]),Te(()=>{let a=f.current,p=s?.id??"";if(f.current=p,!p||p===a||r==null)return;let m=y.current;m&&tt(m,r)},[s,r]);let E=K(()=>{if(L.current)return;let a=y.current;if(!a)return;let p=Ye(a),v=p.length>0&&p[0]!==p[0].toUpperCase()?p[0].toUpperCase()+p.slice(1):p;k(v)},[k]),G=K(()=>{B.current=performance.now(),E();let a=y.current;a&&w(et(a))},[E,w]);De(()=>{let a=y.current;if(!a)return;let p=m=>{let v=m,g=v.inputType;if(g==="insertParagraph"||g==="insertLineBreak"||g==="insertFromDrop"){m.preventDefault();return}if(g.startsWith("insert")||g.startsWith("delete")){let R=g.startsWith("delete")?"":v.data??"";j(R)&&m.preventDefault()}};return a.addEventListener("beforeinput",p),()=>a.removeEventListener("beforeinput",p)},[j]);let T=K(()=>{L.current=!0},[]),X=K(()=>{L.current=!1,E()},[E]),V=K(a=>{a.preventDefault();let p=y.current;if(!p)return;let m=(a.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!m)return;let v=p.ownerDocument??document,g=v.getSelection();if(!g||g.rangeCount===0)return;let R=g.getRangeAt(0);if(!p.contains(R.startContainer))return;R.deleteContents();let M=v.createTextNode(m);R.insertNode(M),R.setStartAfter(M),R.collapse(!0),g.removeAllRanges(),g.addRange(R),E()},[E]),F=K(a=>P(a),[P]),O=K(()=>n(!0),[n]),h=K(()=>n(!1),[n]),Y=K(()=>y.current?.focus(),[]),ee=K(()=>y.current?.blur(),[]),Z=K(()=>{let a=y.current;return a?Ye(a):""},[]),u=Mt()?"plaintext-only":"true";return{inputRef:y,editorProps:{ref:y,contentEditable:u,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":x,"aria-expanded":b,"aria-activedescendant":D,spellCheck:!0,enterKeyHint:"send",onInput:G,onKeyDown:F,onCompositionStart:T,onCompositionEnd:X,onPaste:V,onFocus:O,onBlur:h},getPlainText:Z,focus:Y,blur:ee}}import{jsx as re,jsxs as Be}from"react/jsx-runtime";function jt(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Vt=Ht(function({onSubmit:d,onError:i,optionOverrides:s,maskCompletedText:r,className:t,apiConfig:l,columns:c,pillPlacement:b="dropdown",mode:x="auto",optionsPosition:D="below",animations:I=!0,dropdownTrigger:k,closeDropdownOnBlur:P,showNonTappableOptions:w,autoFocus:C=!0,onFocus:z,onBlur:j,value:n,completedParams:y,onChange:L,onParamsChange:W,submitButton:f},Q){let B=pe(null),E=pe(null),G=pe(()=>{}),T=pe(null),X=pe(null);ot(()=>{let _=B.current;if(_)return T.current?T.current.setMode(x):T.current=new Gt(_,x),()=>{T.current?.destroy(),T.current=null}},[x]);let V=Le(_=>{let U=X.current?.current;U&&(U.focus(),Ut(U,_))},[]),{completedParams:F,suggestionPills:O,setActivePill:h,segments:Y,newParamId:ee,clearNewParamId:Z,placeholderText:u,isFocused:a,isDropdownOpen:p,isActivePillSelected:m,isLoading:v,activeIndex:g,listboxId:R,handleTextChange:M,handleKeyDown:$,setFocused:ce,editingParam:_e,editingAnchor:ue,caretOffset:o,startEditingParam:A,handleCaretAfterInput:S,handleCaretMove:oe,replaceEditingRange:se,dropdownProps:it,reset:me}=Re({onSubmit:_=>G.current(_),onError:i,optionOverrides:s,maskCompletedText:r,apiConfig:l,columns:c,dropdownTrigger:k,optionsPosition:D,closeDropdownOnBlur:P,showNonTappableOptions:w,onFocus:z,onBlur:j,value:n,completedParams:y,onChange:L,onParamsChange:W,source:"full-sdk",setCursor:V});ot(()=>{if(!ee)return;let _=window.setTimeout(()=>Z(),650);return()=>window.clearTimeout(_)},[ee,Z]);let nt=g>=0?`${R}-option-${g}`:void 0,{inputRef:ke,editorProps:rt,focus:ge,blur:ze,getPlainText:Fe}=at({segments:Y,newParamId:ee,editingParam:_e,editingAnchor:ue,caretOffset:o,placeholderText:u,isFocused:a,isDropdownOpen:p,listboxId:R,activeDescendantId:nt,autoFocus:C,handleTextChange:M,handleKeyDown:$,handleCaretAfterInput:S,handleCaretMove:oe,startEditingParam:A,replaceEditingRange:se,setFocused:ce});X.current=ke,Kt(()=>{let _=E.current,U=ke.current;if(!_||!U)return;let he=()=>{let Me=_.firstElementChild;if(!Me)return;let pt=Me.getBoundingClientRect(),ct=U.getBoundingClientRect();pt.top>=ct.bottom-2?_.setAttribute("data-aia-pill-wrapped",""):_.removeAttribute("data-aia-pill-wrapped")};he();let Oe=new ResizeObserver(he);return Oe.observe(U),()=>Oe.disconnect()},[Y,O.length,v,ke]),Nt(Q,()=>({focus:ge,blur:ze,reset:me,setMode:_=>T.current?.setMode(_)}),[ge,ze,me]);let fe=!!Y.length||F.length>0,Ie=Le(()=>{if(!fe)return;let _=Fe(),{rawQuery:U,completedParams:he}=Wt(_,F);d({query:_.trim(),raw_query:U,completed_params:he}),me()},[fe,F,d,me,Fe]);G.current=Ie;let st=Le(_=>{_.target?.closest("[data-aia-pill]")||ge()},[ge]),lt=b==="inline",dt=b==="dropdown";return Be("div",{ref:B,className:`magicx-aia ${te.container} ${t??""}`,"data-pill-placement":b,"data-options-position":D,"data-animations":I?"on":"off","data-mode":jt(x),children:[re(Ce,{...it,showPills:dt}),Be("div",{className:te.inputWrapper,onClick:st,children:[Be("div",{className:te.editorArea,"data-aia-editor":"",children:[re("div",{...rt,className:te.input,"data-aia-input":""}),lt&&(v||O.length>0)&&re("span",{ref:E,className:te.pillListContainer,"data-aia-pill-list-container":"",children:re(xe,{pills:O,activePillIndex:0,activeSelected:m,onSelectPill:h,loading:v})})]}),f===null?null:f===void 0?re(Ze,{disabled:!fe,onClick:Ie}):re("span",{"data-aia-submit":"",className:te.submitSlot,onClick:_=>{fe&&(_.stopPropagation(),Ie())},children:f})]})]})});export{Vt as AIAutocomplete,Ce as AIAutocompleteDropdown,Re as useAIAutocomplete};
|
|
1080
1080
|
//# sourceMappingURL=index.mjs.map
|