@magicx-eng/ai-autocomplete-react 0.6.7 → 0.6.8
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 +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1181,5 +1181,5 @@
|
|
|
1181
1181
|
);
|
|
1182
1182
|
cursor: default;
|
|
1183
1183
|
}
|
|
1184
|
-
`,document.head.appendChild(e)}var Je={submitButton:"SubmitButton-module_submitButton_otz7H"};var Ae=require("react/jsx-runtime");function Ye({disabled:e,onClick:t}){return(0,Ae.jsx)("button",{type:"button","data-aia-submit":"",className:Je.submitButton,disabled:e,onClick:a=>{a.stopPropagation(),t()},"aria-label":"Submit",children:(0,Ae.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:(0,Ae.jsx)("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}var et=require("@magicx-eng/ai-autocomplete-vanilla"),k=require("react"),wt={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 Ce({onSubmit:e,onError:t,optionOverrides:a,maskCompletedText:r,apiConfig:i,columns:s=2,dropdownTrigger:u,optionsPosition:m,closeDropdownOnBlur:g,showNonTappableOptions:w,onFocus:S,onBlur:P,value:D,completedParams:T,onChange:Q,onParamsChange:G,source:ee,setCursor:Z}){let l=(0,k.useRef)(null),[y,F]=(0,k.useState)(null),U=(0,k.useRef)(e);U.current=e;let b=(0,k.useRef)(t);b.current=t;let B=(0,k.useRef)(Q);B.current=Q;let M=(0,k.useRef)(G);M.current=G;let E=(0,k.useRef)(S);E.current=S;let j=(0,k.useRef)(P);j.current=P;let L=(0,k.useRef)(Z);L.current=Z,(0,k.useEffect)(()=>{if(typeof document>"u")return;let n=new et.AIAutocomplete(document.createElement("div"),{renderMode:"headless",apiConfig:i,optionOverrides:a,maskCompletedText:r,columns:s,dropdownTrigger:u,optionsPosition:m,closeDropdownOnBlur:g,showNonTappableOptions:w,source:ee,value:D,completedParams:T,onSubmit:(...A)=>U.current?.(...A),onError:(...A)=>b.current?.(...A),onChange:(...A)=>B.current?.(...A),onParamsChange:(...A)=>M.current?.(...A),onFocus:()=>E.current?.(),onBlur:()=>j.current?.(),setCursor:A=>L.current?.(A)});l.current=n,F(n.getState());let C=n.subscribe(A=>F(A));return()=>{C(),n.destroy(),l.current===n&&(l.current=null)}},[]),(0,k.useEffect)(()=>{D!==void 0&&l.current?.setValue(D)},[D]),(0,k.useEffect)(()=>{T!==void 0&&l.current?.setCompletedParams(T)},[T]);let te=JSON.stringify(i??null),X=(0,k.useRef)(a),O=(0,k.useRef)(0);if(a!==X.current){let n=X.current,C=a,A=Object.keys(n??{}),le=Object.keys(C??{});(A.length!==le.length||le.some(ge=>!n?.[ge]||C[ge]!==n[ge]))&&O.current++,X.current=a}(0,k.useEffect)(()=>{l.current?.update({apiConfig:i,optionOverrides:a,dropdownTrigger:u,optionsPosition:m,closeDropdownOnBlur:g,showNonTappableOptions:w})},[te,O.current,u,m,g,w]);let H=(0,k.useRef)(null);H.current===null&&(H.current={handleTextChange:n=>l.current?.handleTextChange(n),handleKeyDown:n=>{let C="nativeEvent"in n?n.nativeEvent:n;l.current?.handleKeyDown(C)},setFocused:n=>l.current?.setFocused(n),startEditingParam:n=>l.current?.startEditingParam(n),exitEditMode:()=>l.current?.exitEditMode(),handleCaretAfterInput:n=>l.current?.handleCaretAfterInput(n),handleCaretMove:n=>l.current?.handleCaretMove(n),replaceEditingRange:n=>l.current?.replaceEditingRange(n)??!1,setActivePill:n=>l.current?.setActivePill(n),removeLastParam:()=>l.current?.removeLastParam(),clearNewParamId:()=>l.current?.clearNewParamId(),reset:()=>l.current?.reset(),selectOption:n=>l.current?.selectOption(n),setActiveDropdownIndex:n=>l.current?.setActiveDropdownIndex(n),handleFocus:()=>l.current?.setFocused(!0),handleBlur:()=>l.current?.setFocused(!1)});let v=H.current,ne=(0,k.useCallback)(n=>{let C=n.target.value,le=C.length>0&&!n.nativeEvent?.isComposing&&C[0]!==C[0].toUpperCase()?C[0].toUpperCase()+C.slice(1):C;l.current?.handleTextChange(le)},[]),re=(0,k.useCallback)(n=>{l.current?.handleKeyDown(n.nativeEvent)},[]),ae=l.current,p=y??wt,o=D!==void 0?D:p.text,d=T!==void 0?T:p.completedParams,c=p.actionableSuggestions,x=c[0],h=ae?.listboxId??"",R=p.activeDropdownIndex>=0&&ae?`${h}-option-${p.activeDropdownIndex}`:void 0,N=p.editingParam,J=N?{type:N.suggestionType,text:N.suggestionPlaceholder,required:!0,options:N.options}:null,be=J??x,Re=J?[J]:c,ve=!ae||p.isLoading&&!p.editingParam&&!p.inSelectionAnimation;return{completedParams:d,suggestionPills:c,setActivePill:v.setActivePill,removeLastParam:v.removeLastParam,segments:p.segments,newParamId:p.newParamId,clearNewParamId:v.clearNewParamId,suggestions:p.suggestions,activeIndex:p.activeDropdownIndex,isReady:p.isReady,isLoading:ve,isFocused:p.isFocused,isDropdownOpen:p.isDropdownOpen,isActivePillSelected:p.isActivePillSelected,placeholderText:p.placeholderText,listboxId:h,error:p.error,handleTextChange:v.handleTextChange,handleKeyDown:v.handleKeyDown,setFocused:v.setFocused,editingParam:N,editingAnchor:p.editingAnchor,caretOffset:p.caretOffset,startEditingParam:v.startEditingParam,exitEditMode:v.exitEditMode,handleCaretAfterInput:v.handleCaretAfterInput,handleCaretMove:v.handleCaretMove,replaceEditingRange:v.replaceEditingRange,inputProps:{value:o,placeholder:p.placeholderText||void 0,onChange:ne,onKeyDown:re,onFocus:v.handleFocus,onBlur:v.handleBlur,role:"combobox","aria-expanded":p.isDropdownOpen,"aria-activedescendant":R,"aria-autocomplete":"list","aria-controls":h},reset:v.reset,dropdownProps:{suggestions:be?[{...be,options:p.filteredOptions}]:[],activeIndex:p.activeDropdownIndex,onSelect:v.selectOption,onHighlight:v.setActiveDropdownIndex,isOpen:p.isDropdownOpen,id:h,pills:Re,activeSelected:p.isActivePillSelected,onPillClick:v.setActivePill,isLoading:ve,isInputEmpty:o.trim().length===0,optionsPosition:m??"below"}}}var z=require("@magicx-eng/ai-autocomplete-vanilla"),f=require("react"),Ee;function yt(){if(Ee!==void 0)return Ee;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),Ee=e.contentEditable==="plaintext-only",Ee}function tt(e){let{segments:t,newParamId:a,editingParam:r,editingAnchor:i,caretOffset:s,placeholderText:u,isFocused:m,isDropdownOpen:g,listboxId:w,activeDescendantId:S,autoFocus:P,handleTextChange:D,handleKeyDown:T,handleCaretAfterInput:Q,handleCaretMove:G,startEditingParam:ee,replaceEditingRange:Z,setFocused:l}=e,y=(0,f.useRef)(null),F=(0,f.useRef)(!1),U=(0,f.useRef)(""),b=(0,f.useRef)(""),B=(0,f.useRef)(null),M=(0,f.useRef)(0);B.current=s,(0,f.useEffect)(()=>{if(!P)return;let o=y.current;if(!o)return;document.activeElement===o?l(!0):o.focus();let d=o.ownerDocument??document,c=d.getSelection(),x=c&&c.rangeCount>0&&o.contains(c.anchorNode);if(c&&!x){let h=d.createRange();h.selectNodeContents(o),h.collapse(!0),c.removeAllRanges(),c.addRange(h)}},[P,l]),(0,f.useEffect)(()=>{let o=y.current;if(!o)return;let d=o.ownerDocument??document,c=()=>{let x=d.getSelection();if(!x||x.rangeCount===0||!x.anchorNode||!o.contains(x.anchorNode))return;let h=x.anchorNode,J=(h.nodeType===Node.ELEMENT_NODE?h:h.parentElement)?.closest('strong[data-seg="completed"][data-param-id]')?.dataset.paramId??null;if(J&&J!==r?.id){ee(J);return}performance.now()-M.current<50||G((0,z.getCursorOffset)(o))};return d.addEventListener("selectionchange",c),()=>d.removeEventListener("selectionchange",c)},[r,ee,G]),(0,f.useLayoutEffect)(()=>{let o=y.current;o&&(0,z.renderEditableContent)({input:o,segments:t,newParamId:a,editingParamId:r?.id??null,placeholderText:u??"",isFocused:m})},[t,a,r,u,m]),(0,f.useLayoutEffect)(()=>{let o=U.current,d=a??"";if(U.current=d,!d||d===o)return;let c=y.current;if(!c)return;c.focus();let x=B.current??(0,z.plainTextLength)(c);(0,z.setCursorOffset)(c,x)},[a]),(0,f.useLayoutEffect)(()=>{let o=b.current,d=r?.id??"";if(b.current=d,!d||d===o||i==null)return;let c=y.current;c&&(0,z.setCursorOffset)(c,i)},[r,i]);let E=(0,f.useCallback)(()=>{if(F.current)return;let o=y.current;if(!o)return;let d=(0,z.extractPlainText)(o),x=d.length>0&&d[0]!==d[0].toUpperCase()?d[0].toUpperCase()+d.slice(1):d;D(x)},[D]),j=(0,f.useCallback)(()=>{M.current=performance.now(),E();let o=y.current;o&&Q((0,z.getCursorOffset)(o))},[E,Q]);(0,f.useEffect)(()=>{let o=y.current;if(!o)return;let d=c=>{let x=c,h=x.inputType;if(h==="insertParagraph"||h==="insertLineBreak"||h==="insertFromDrop"){c.preventDefault();return}if(h.startsWith("insert")||h.startsWith("delete")){let R=h.startsWith("delete")?"":x.data??"";Z(R)&&c.preventDefault()}};return o.addEventListener("beforeinput",d),()=>o.removeEventListener("beforeinput",d)},[Z]);let L=(0,f.useCallback)(()=>{F.current=!0},[]),te=(0,f.useCallback)(()=>{F.current=!1,E()},[E]),X=(0,f.useCallback)(o=>{o.preventDefault();let d=y.current;if(!d)return;let c=(o.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!c)return;let x=d.ownerDocument??document,h=x.getSelection();if(!h||h.rangeCount===0)return;let R=h.getRangeAt(0);if(!d.contains(R.startContainer))return;R.deleteContents();let N=x.createTextNode(c);R.insertNode(N),R.setStartAfter(N),R.collapse(!0),h.removeAllRanges(),h.addRange(R),E()},[E]),O=(0,f.useCallback)(o=>T(o),[T]),H=(0,f.useCallback)(()=>l(!0),[l]),v=(0,f.useCallback)(()=>l(!1),[l]),ne=(0,f.useCallback)(()=>y.current?.focus(),[]),re=(0,f.useCallback)(()=>y.current?.blur(),[]),ae=(0,f.useCallback)(()=>{let o=y.current;return o?(0,z.extractPlainText)(o):""},[]),p=yt()?"plaintext-only":"true";return{inputRef:y,editorProps:{ref:y,contentEditable:p,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":w,"aria-expanded":g,"aria-activedescendant":S,spellCheck:!0,enterKeyHint:"send",onInput:j,onKeyDown:O,onCompositionStart:L,onCompositionEnd:te,onPaste:X,onFocus:H,onBlur:v},getPlainText:ae,focus:ne,blur:re}}var W=require("react/jsx-runtime");function _t(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var at=(0,I.forwardRef)(function({onSubmit:t,onError:a,optionOverrides:r,maskCompletedText:i,className:s,apiConfig:u,columns:m,pillPlacement:g="dropdown",mode:w="auto",optionsPosition:S="below",animations:P=!0,dropdownTrigger:D,closeDropdownOnBlur:T,showNonTappableOptions:Q,autoFocus:G=!0,onFocus:ee,onBlur:Z,value:l,completedParams:y,onChange:F,onParamsChange:U,submitButton:b},B){let M=(0,I.useRef)(null),E=(0,I.useRef)(null),j=(0,I.useRef)(()=>{}),L=(0,I.useRef)(null),te=(0,I.useRef)(null);(0,I.useEffect)(()=>{let _=M.current;if(_)return L.current?L.current.setMode(w):L.current=new me.ModeController(_,w),()=>{L.current?.destroy(),L.current=null}},[w]);let X=(0,I.useCallback)(_=>{let V=te.current?.current;V&&(V.focus(),(0,me.setCursorOffset)(V,_))},[]),{completedParams:O,suggestionPills:H,setActivePill:v,segments:ne,newParamId:re,clearNewParamId:ae,placeholderText:p,isFocused:o,isDropdownOpen:d,isActivePillSelected:c,isLoading:x,activeIndex:h,listboxId:R,handleTextChange:N,handleKeyDown:J,setFocused:be,editingParam:Re,editingAnchor:ve,caretOffset:n,startEditingParam:C,handleCaretAfterInput:A,handleCaretMove:le,replaceEditingRange:ge,dropdownProps:ot,reset:xe}=Ce({onSubmit:_=>j.current(_),onError:a,optionOverrides:r,maskCompletedText:i,apiConfig:u,columns:m,dropdownTrigger:D,optionsPosition:S,closeDropdownOnBlur:T,showNonTappableOptions:Q,onFocus:ee,onBlur:Z,value:l,completedParams:y,onChange:F,onParamsChange:U,source:"full-sdk",setCursor:X});(0,I.useEffect)(()=>{if(!re)return;let _=window.setTimeout(()=>ae(),650);return()=>window.clearTimeout(_)},[re,ae]);let it=h>=0?`${R}-option-${h}`:void 0,{inputRef:De,editorProps:nt,focus:we,blur:Oe,getPlainText:He}=tt({segments:ne,newParamId:re,editingParam:Re,editingAnchor:ve,caretOffset:n,placeholderText:p,isFocused:o,isDropdownOpen:d,listboxId:R,activeDescendantId:it,autoFocus:G,handleTextChange:N,handleKeyDown:J,handleCaretAfterInput:A,handleCaretMove:le,startEditingParam:C,replaceEditingRange:ge,setFocused:be});te.current=De,(0,I.useLayoutEffect)(()=>{let _=E.current,V=De.current;if(!_||!V)return;let _e=()=>{let Ke=_.firstElementChild;if(!Ke)return;let dt=Ke.getBoundingClientRect(),pt=V.getBoundingClientRect();dt.top>=pt.bottom-2?_.setAttribute("data-aia-pill-wrapped",""):_.removeAttribute("data-aia-pill-wrapped")};_e();let Ne=new ResizeObserver(_e);return Ne.observe(V),()=>Ne.disconnect()},[ne,H.length,x,De]),(0,I.useImperativeHandle)(B,()=>({focus:we,blur:Oe,reset:xe,setMode:_=>L.current?.setMode(_)}),[we,Oe,xe]);let ye=!!ne.length||O.length>0,Te=(0,I.useCallback)(()=>{if(!ye)return;let _=He(),{rawQuery:V,completedParams:_e}=(0,me.buildQuery)(_,O);t({query:_.trim(),raw_query:V,completed_params:_e}),xe()},[ye,O,t,xe,He]);j.current=Te;let rt=(0,I.useCallback)(_=>{_.target?.closest("[data-aia-pill]")||we()},[we]),st=g==="inline",lt=g==="dropdown";return(0,W.jsxs)("div",{ref:M,className:`magicx-aia ${se.container} ${s??""}`,"data-pill-placement":g,"data-options-position":S,"data-animations":P?"on":"off","data-mode":_t(w),children:[(0,W.jsx)(Se,{...ot,showPills:lt}),(0,W.jsxs)("div",{className:se.inputWrapper,onClick:rt,children:[(0,W.jsxs)("div",{className:se.editorArea,"data-aia-editor":"",children:[(0,W.jsx)("div",{...nt,className:se.input,"data-aia-input":""}),st&&(x||H.length>0)&&(0,W.jsx)("span",{ref:E,className:se.pillListContainer,"data-aia-pill-list-container":"",children:(0,W.jsx)(Ie,{pills:H,activePillIndex:0,activeSelected:c,onSelectPill:v,loading:x})})]}),b===null?null:b===void 0?(0,W.jsx)(Ye,{disabled:!ye,onClick:Te}):(0,W.jsx)("span",{"data-aia-submit":"",className:se.submitSlot,onClick:_=>{ye&&(_.stopPropagation(),Te())},children:b})]})]})});0&&(module.exports={AIAutocomplete,AIAutocompleteDropdown,useAIAutocomplete});
|
|
1184
|
+
`,document.head.appendChild(e)}var Je={submitButton:"SubmitButton-module_submitButton_otz7H"};var Ae=require("react/jsx-runtime");function Ye({disabled:e,onClick:t}){return(0,Ae.jsx)("button",{type:"button","data-aia-submit":"",className:Je.submitButton,disabled:e,onClick:a=>{a.stopPropagation(),t()},"aria-label":"Submit",children:(0,Ae.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:(0,Ae.jsx)("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}var et=require("@magicx-eng/ai-autocomplete-vanilla"),k=require("react"),wt={text:"",completedParams:[],identifiedParams:[],pendingSpan:null,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 Ce({onSubmit:e,onError:t,optionOverrides:a,maskCompletedText:r,apiConfig:i,columns:s=2,dropdownTrigger:u,optionsPosition:m,closeDropdownOnBlur:g,showNonTappableOptions:w,onFocus:S,onBlur:P,value:D,completedParams:T,onChange:Q,onParamsChange:G,source:ee,setCursor:Z}){let l=(0,k.useRef)(null),[y,F]=(0,k.useState)(null),U=(0,k.useRef)(e);U.current=e;let b=(0,k.useRef)(t);b.current=t;let B=(0,k.useRef)(Q);B.current=Q;let M=(0,k.useRef)(G);M.current=G;let E=(0,k.useRef)(S);E.current=S;let j=(0,k.useRef)(P);j.current=P;let L=(0,k.useRef)(Z);L.current=Z,(0,k.useEffect)(()=>{if(typeof document>"u")return;let n=new et.AIAutocomplete(document.createElement("div"),{renderMode:"headless",apiConfig:i,optionOverrides:a,maskCompletedText:r,columns:s,dropdownTrigger:u,optionsPosition:m,closeDropdownOnBlur:g,showNonTappableOptions:w,source:ee,value:D,completedParams:T,onSubmit:(...A)=>U.current?.(...A),onError:(...A)=>b.current?.(...A),onChange:(...A)=>B.current?.(...A),onParamsChange:(...A)=>M.current?.(...A),onFocus:()=>E.current?.(),onBlur:()=>j.current?.(),setCursor:A=>L.current?.(A)});l.current=n,F(n.getState());let C=n.subscribe(A=>F(A));return()=>{C(),n.destroy(),l.current===n&&(l.current=null)}},[]),(0,k.useEffect)(()=>{D!==void 0&&l.current?.setValue(D)},[D]),(0,k.useEffect)(()=>{T!==void 0&&l.current?.setCompletedParams(T)},[T]);let te=JSON.stringify(i??null),X=(0,k.useRef)(a),O=(0,k.useRef)(0);if(a!==X.current){let n=X.current,C=a,A=Object.keys(n??{}),le=Object.keys(C??{});(A.length!==le.length||le.some(ge=>!n?.[ge]||C[ge]!==n[ge]))&&O.current++,X.current=a}(0,k.useEffect)(()=>{l.current?.update({apiConfig:i,optionOverrides:a,dropdownTrigger:u,optionsPosition:m,closeDropdownOnBlur:g,showNonTappableOptions:w})},[te,O.current,u,m,g,w]);let H=(0,k.useRef)(null);H.current===null&&(H.current={handleTextChange:n=>l.current?.handleTextChange(n),handleKeyDown:n=>{let C="nativeEvent"in n?n.nativeEvent:n;l.current?.handleKeyDown(C)},setFocused:n=>l.current?.setFocused(n),startEditingParam:n=>l.current?.startEditingParam(n),exitEditMode:()=>l.current?.exitEditMode(),handleCaretAfterInput:n=>l.current?.handleCaretAfterInput(n),handleCaretMove:n=>l.current?.handleCaretMove(n),replaceEditingRange:n=>l.current?.replaceEditingRange(n)??!1,setActivePill:n=>l.current?.setActivePill(n),removeLastParam:()=>l.current?.removeLastParam(),clearNewParamId:()=>l.current?.clearNewParamId(),reset:()=>l.current?.reset(),selectOption:n=>l.current?.selectOption(n),setActiveDropdownIndex:n=>l.current?.setActiveDropdownIndex(n),handleFocus:()=>l.current?.setFocused(!0),handleBlur:()=>l.current?.setFocused(!1)});let v=H.current,ne=(0,k.useCallback)(n=>{let C=n.target.value,le=C.length>0&&!n.nativeEvent?.isComposing&&C[0]!==C[0].toUpperCase()?C[0].toUpperCase()+C.slice(1):C;l.current?.handleTextChange(le)},[]),re=(0,k.useCallback)(n=>{l.current?.handleKeyDown(n.nativeEvent)},[]),ae=l.current,p=y??wt,o=D!==void 0?D:p.text,d=T!==void 0?T:p.completedParams,c=p.actionableSuggestions,x=c[0],h=ae?.listboxId??"",R=p.activeDropdownIndex>=0&&ae?`${h}-option-${p.activeDropdownIndex}`:void 0,N=p.editingParam,J=N?{type:N.suggestionType,text:N.suggestionPlaceholder,required:!0,options:N.options}:null,be=J??x,Re=J?[J]:c,ve=!ae||p.isLoading&&!p.editingParam&&!p.inSelectionAnimation;return{completedParams:d,suggestionPills:c,setActivePill:v.setActivePill,removeLastParam:v.removeLastParam,segments:p.segments,newParamId:p.newParamId,clearNewParamId:v.clearNewParamId,suggestions:p.suggestions,activeIndex:p.activeDropdownIndex,isReady:p.isReady,isLoading:ve,isFocused:p.isFocused,isDropdownOpen:p.isDropdownOpen,isActivePillSelected:p.isActivePillSelected,placeholderText:p.placeholderText,listboxId:h,error:p.error,handleTextChange:v.handleTextChange,handleKeyDown:v.handleKeyDown,setFocused:v.setFocused,editingParam:N,editingAnchor:p.editingAnchor,caretOffset:p.caretOffset,startEditingParam:v.startEditingParam,exitEditMode:v.exitEditMode,handleCaretAfterInput:v.handleCaretAfterInput,handleCaretMove:v.handleCaretMove,replaceEditingRange:v.replaceEditingRange,inputProps:{value:o,placeholder:p.placeholderText||void 0,onChange:ne,onKeyDown:re,onFocus:v.handleFocus,onBlur:v.handleBlur,role:"combobox","aria-expanded":p.isDropdownOpen,"aria-activedescendant":R,"aria-autocomplete":"list","aria-controls":h},reset:v.reset,dropdownProps:{suggestions:be?[{...be,options:p.filteredOptions}]:[],activeIndex:p.activeDropdownIndex,onSelect:v.selectOption,onHighlight:v.setActiveDropdownIndex,isOpen:p.isDropdownOpen,id:h,pills:Re,activeSelected:p.isActivePillSelected,onPillClick:v.setActivePill,isLoading:ve,isInputEmpty:o.trim().length===0,optionsPosition:m??"below"}}}var z=require("@magicx-eng/ai-autocomplete-vanilla"),f=require("react"),Ee;function yt(){if(Ee!==void 0)return Ee;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),Ee=e.contentEditable==="plaintext-only",Ee}function tt(e){let{segments:t,newParamId:a,editingParam:r,editingAnchor:i,caretOffset:s,placeholderText:u,isFocused:m,isDropdownOpen:g,listboxId:w,activeDescendantId:S,autoFocus:P,handleTextChange:D,handleKeyDown:T,handleCaretAfterInput:Q,handleCaretMove:G,startEditingParam:ee,replaceEditingRange:Z,setFocused:l}=e,y=(0,f.useRef)(null),F=(0,f.useRef)(!1),U=(0,f.useRef)(""),b=(0,f.useRef)(""),B=(0,f.useRef)(null),M=(0,f.useRef)(0);B.current=s,(0,f.useEffect)(()=>{if(!P)return;let o=y.current;if(!o)return;document.activeElement===o?l(!0):o.focus();let d=o.ownerDocument??document,c=d.getSelection(),x=c&&c.rangeCount>0&&o.contains(c.anchorNode);if(c&&!x){let h=d.createRange();h.selectNodeContents(o),h.collapse(!0),c.removeAllRanges(),c.addRange(h)}},[P,l]),(0,f.useEffect)(()=>{let o=y.current;if(!o)return;let d=o.ownerDocument??document,c=()=>{let x=d.getSelection();if(!x||x.rangeCount===0||!x.anchorNode||!o.contains(x.anchorNode))return;let h=x.anchorNode,J=(h.nodeType===Node.ELEMENT_NODE?h:h.parentElement)?.closest('strong[data-seg="completed"][data-param-id]')?.dataset.paramId??null;if(J&&J!==r?.id){ee(J);return}performance.now()-M.current<50||G((0,z.getCursorOffset)(o))};return d.addEventListener("selectionchange",c),()=>d.removeEventListener("selectionchange",c)},[r,ee,G]),(0,f.useLayoutEffect)(()=>{let o=y.current;o&&(0,z.renderEditableContent)({input:o,segments:t,newParamId:a,editingParamId:r?.id??null,placeholderText:u??"",isFocused:m})},[t,a,r,u,m]),(0,f.useLayoutEffect)(()=>{let o=U.current,d=a??"";if(U.current=d,!d||d===o)return;let c=y.current;if(!c)return;c.focus();let x=B.current??(0,z.plainTextLength)(c);(0,z.setCursorOffset)(c,x)},[a]),(0,f.useLayoutEffect)(()=>{let o=b.current,d=r?.id??"";if(b.current=d,!d||d===o||i==null)return;let c=y.current;c&&(0,z.setCursorOffset)(c,i)},[r,i]);let E=(0,f.useCallback)(()=>{if(F.current)return;let o=y.current;if(!o)return;let d=(0,z.extractPlainText)(o),x=d.length>0&&d[0]!==d[0].toUpperCase()?d[0].toUpperCase()+d.slice(1):d;D(x)},[D]),j=(0,f.useCallback)(()=>{M.current=performance.now(),E();let o=y.current;o&&Q((0,z.getCursorOffset)(o))},[E,Q]);(0,f.useEffect)(()=>{let o=y.current;if(!o)return;let d=c=>{let x=c,h=x.inputType;if(h==="insertParagraph"||h==="insertLineBreak"||h==="insertFromDrop"){c.preventDefault();return}if(h.startsWith("insert")||h.startsWith("delete")){let R=h.startsWith("delete")?"":x.data??"";Z(R)&&c.preventDefault()}};return o.addEventListener("beforeinput",d),()=>o.removeEventListener("beforeinput",d)},[Z]);let L=(0,f.useCallback)(()=>{F.current=!0},[]),te=(0,f.useCallback)(()=>{F.current=!1,E()},[E]),X=(0,f.useCallback)(o=>{o.preventDefault();let d=y.current;if(!d)return;let c=(o.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!c)return;let x=d.ownerDocument??document,h=x.getSelection();if(!h||h.rangeCount===0)return;let R=h.getRangeAt(0);if(!d.contains(R.startContainer))return;R.deleteContents();let N=x.createTextNode(c);R.insertNode(N),R.setStartAfter(N),R.collapse(!0),h.removeAllRanges(),h.addRange(R),E()},[E]),O=(0,f.useCallback)(o=>T(o),[T]),H=(0,f.useCallback)(()=>l(!0),[l]),v=(0,f.useCallback)(()=>l(!1),[l]),ne=(0,f.useCallback)(()=>y.current?.focus(),[]),re=(0,f.useCallback)(()=>y.current?.blur(),[]),ae=(0,f.useCallback)(()=>{let o=y.current;return o?(0,z.extractPlainText)(o):""},[]),p=yt()?"plaintext-only":"true";return{inputRef:y,editorProps:{ref:y,contentEditable:p,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":w,"aria-expanded":g,"aria-activedescendant":S,spellCheck:!0,enterKeyHint:"send",onInput:j,onKeyDown:O,onCompositionStart:L,onCompositionEnd:te,onPaste:X,onFocus:H,onBlur:v},getPlainText:ae,focus:ne,blur:re}}var W=require("react/jsx-runtime");function _t(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var at=(0,I.forwardRef)(function({onSubmit:t,onError:a,optionOverrides:r,maskCompletedText:i,className:s,apiConfig:u,columns:m,pillPlacement:g="dropdown",mode:w="auto",optionsPosition:S="below",animations:P=!0,dropdownTrigger:D,closeDropdownOnBlur:T,showNonTappableOptions:Q,autoFocus:G=!0,onFocus:ee,onBlur:Z,value:l,completedParams:y,onChange:F,onParamsChange:U,submitButton:b},B){let M=(0,I.useRef)(null),E=(0,I.useRef)(null),j=(0,I.useRef)(()=>{}),L=(0,I.useRef)(null),te=(0,I.useRef)(null);(0,I.useEffect)(()=>{let _=M.current;if(_)return L.current?L.current.setMode(w):L.current=new me.ModeController(_,w),()=>{L.current?.destroy(),L.current=null}},[w]);let X=(0,I.useCallback)(_=>{let V=te.current?.current;V&&(V.focus(),(0,me.setCursorOffset)(V,_))},[]),{completedParams:O,suggestionPills:H,setActivePill:v,segments:ne,newParamId:re,clearNewParamId:ae,placeholderText:p,isFocused:o,isDropdownOpen:d,isActivePillSelected:c,isLoading:x,activeIndex:h,listboxId:R,handleTextChange:N,handleKeyDown:J,setFocused:be,editingParam:Re,editingAnchor:ve,caretOffset:n,startEditingParam:C,handleCaretAfterInput:A,handleCaretMove:le,replaceEditingRange:ge,dropdownProps:ot,reset:xe}=Ce({onSubmit:_=>j.current(_),onError:a,optionOverrides:r,maskCompletedText:i,apiConfig:u,columns:m,dropdownTrigger:D,optionsPosition:S,closeDropdownOnBlur:T,showNonTappableOptions:Q,onFocus:ee,onBlur:Z,value:l,completedParams:y,onChange:F,onParamsChange:U,source:"full-sdk",setCursor:X});(0,I.useEffect)(()=>{if(!re)return;let _=window.setTimeout(()=>ae(),650);return()=>window.clearTimeout(_)},[re,ae]);let it=h>=0?`${R}-option-${h}`:void 0,{inputRef:De,editorProps:nt,focus:we,blur:Oe,getPlainText:He}=tt({segments:ne,newParamId:re,editingParam:Re,editingAnchor:ve,caretOffset:n,placeholderText:p,isFocused:o,isDropdownOpen:d,listboxId:R,activeDescendantId:it,autoFocus:G,handleTextChange:N,handleKeyDown:J,handleCaretAfterInput:A,handleCaretMove:le,startEditingParam:C,replaceEditingRange:ge,setFocused:be});te.current=De,(0,I.useLayoutEffect)(()=>{let _=E.current,V=De.current;if(!_||!V)return;let _e=()=>{let Ke=_.firstElementChild;if(!Ke)return;let dt=Ke.getBoundingClientRect(),pt=V.getBoundingClientRect();dt.top>=pt.bottom-2?_.setAttribute("data-aia-pill-wrapped",""):_.removeAttribute("data-aia-pill-wrapped")};_e();let Ne=new ResizeObserver(_e);return Ne.observe(V),()=>Ne.disconnect()},[ne,H.length,x,De]),(0,I.useImperativeHandle)(B,()=>({focus:we,blur:Oe,reset:xe,setMode:_=>L.current?.setMode(_)}),[we,Oe,xe]);let ye=!!ne.length||O.length>0,Te=(0,I.useCallback)(()=>{if(!ye)return;let _=He(),{rawQuery:V,completedParams:_e}=(0,me.buildQuery)(_,O);t({query:_.trim(),raw_query:V,completed_params:_e}),xe()},[ye,O,t,xe,He]);j.current=Te;let rt=(0,I.useCallback)(_=>{_.target?.closest("[data-aia-pill]")||we()},[we]),st=g==="inline",lt=g==="dropdown";return(0,W.jsxs)("div",{ref:M,className:`magicx-aia ${se.container} ${s??""}`,"data-pill-placement":g,"data-options-position":S,"data-animations":P?"on":"off","data-mode":_t(w),children:[(0,W.jsx)(Se,{...ot,showPills:lt}),(0,W.jsxs)("div",{className:se.inputWrapper,onClick:rt,children:[(0,W.jsxs)("div",{className:se.editorArea,"data-aia-editor":"",children:[(0,W.jsx)("div",{...nt,className:se.input,"data-aia-input":""}),st&&(x||H.length>0)&&(0,W.jsx)("span",{ref:E,className:se.pillListContainer,"data-aia-pill-list-container":"",children:(0,W.jsx)(Ie,{pills:H,activePillIndex:0,activeSelected:c,onSelectPill:v,loading:x})})]}),b===null?null:b===void 0?(0,W.jsx)(Ye,{disabled:!ye,onClick:Te}):(0,W.jsx)("span",{"data-aia-submit":"",className:se.submitSlot,onClick:_=>{ye&&(_.stopPropagation(),Te())},children:b})]})]})});0&&(module.exports={AIAutocomplete,AIAutocompleteDropdown,useAIAutocomplete});
|
|
1185
1185
|
//# sourceMappingURL=index.js.map
|