@magicx-eng/ai-autocomplete-react 0.24.0 → 0.24.2
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.d.mts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +15 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +16 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -162,9 +162,10 @@ interface UseAIAutocompleteOptions {
|
|
|
162
162
|
additionalContext?: Record<string, unknown>;
|
|
163
163
|
columns?: number;
|
|
164
164
|
/**
|
|
165
|
-
* SDK surface identifier
|
|
166
|
-
*
|
|
167
|
-
* leave this unset
|
|
165
|
+
* SDK surface identifier — sent as meta.source on both /api/suggest and
|
|
166
|
+
* telemetry events. Set automatically by the Tier 1 `<AIAutocomplete />`
|
|
167
|
+
* component. Consumers using the hook directly should leave this unset
|
|
168
|
+
* (defaults to "headless-sdk").
|
|
168
169
|
* @internal
|
|
169
170
|
*/
|
|
170
171
|
source?: "full-sdk" | "headless-sdk";
|
package/dist/index.d.ts
CHANGED
|
@@ -162,9 +162,10 @@ interface UseAIAutocompleteOptions {
|
|
|
162
162
|
additionalContext?: Record<string, unknown>;
|
|
163
163
|
columns?: number;
|
|
164
164
|
/**
|
|
165
|
-
* SDK surface identifier
|
|
166
|
-
*
|
|
167
|
-
* leave this unset
|
|
165
|
+
* SDK surface identifier — sent as meta.source on both /api/suggest and
|
|
166
|
+
* telemetry events. Set automatically by the Tier 1 `<AIAutocomplete />`
|
|
167
|
+
* component. Consumers using the hook directly should leave this unset
|
|
168
|
+
* (defaults to "headless-sdk").
|
|
168
169
|
* @internal
|
|
169
170
|
*/
|
|
170
171
|
source?: "full-sdk" | "headless-sdk";
|
package/dist/index.js
CHANGED
|
@@ -71,6 +71,19 @@
|
|
|
71
71
|
vertical-align: middle;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
/* WebKit implements \`contenteditable\` as a \`-webkit-user-modify\` presentational
|
|
75
|
+
hint, and the consumer-isolation reset's \`all: revert\` rolls presentational
|
|
76
|
+
hints back \u2014 without this the editor computes to \`read-only\` there and
|
|
77
|
+
nothing can be typed into it (verified in WebKit 26.0 and 26.6; Chromium
|
|
78
|
+
keeps the attribute's effect). Pinned by class per attribute value, which
|
|
79
|
+
outranks the reset. Other engines ignore the property. */
|
|
80
|
+
.aia-input-IW-P-[contenteditable="true"] {
|
|
81
|
+
-webkit-user-modify: read-write;
|
|
82
|
+
}
|
|
83
|
+
.aia-input-IW-P-[contenteditable="plaintext-only"] {
|
|
84
|
+
-webkit-user-modify: read-write-plaintext-only;
|
|
85
|
+
}
|
|
86
|
+
|
|
74
87
|
/* Completed params render as inline pills (Figma "RichTextPill") \u2014 a compact
|
|
75
88
|
~26px chip with regular-weight primary-color text on a faint-gray fill.
|
|
76
89
|
inline-block gives the padding/radius a box while the text stays part of the
|
|
@@ -1857,7 +1870,7 @@
|
|
|
1857
1870
|
align-items: end;
|
|
1858
1871
|
}
|
|
1859
1872
|
/* data-align="stretch" is the flex default \u2014 no rule needed. */
|
|
1860
|
-
`,document.head.appendChild(e)}var Tt=require("react/jsx-runtime");function It({space:e,align:i="stretch",className:t,children:r,...n}){let o=e?{"--aia-stack-space":e}:void 0;return(0,Tt.jsx)("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":i,style:o,...n,children:r})}var z=require("react/jsx-runtime"),oa=[159,119,164],na=()=>{},At=()=>{};function ra(e){let i=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[t,r]=(0,J.useState)(i);if((0,J.useEffect)(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let n=window.matchMedia("(prefers-color-scheme: dark)"),o=()=>r(n.matches);return n.addEventListener("change",o),()=>n.removeEventListener("change",o)},[e]),e!==void 0)return e==="auto"?t?"dark":"light":e}function sa(e,i){let t=(0,J.useRef)(null);(0,J.useEffect)(()=>{let r=e.current,n=i.current;if(!r||!n)return;let o=r.querySelector(".aia-grid[data-scroll]");if(t.current&&t.current.grid!==o&&(t.current.controller.destroy(),t.current=null),o&&!t.current){t.current={grid:o,controller:(0,Le.attachScrollArrow)({dropdown:r,grid:o,button:n})};return}t.current?.controller.update()}),(0,J.useEffect)(()=>()=>{t.current?.controller.destroy(),t.current=null},[])}function Ve({suggestions:e,activeIndex:i,onSelect:t,onHighlight:r,isOpen:n,id:o,className:s,pills:b,onPillClick:v,showPills:h=!0,onSkip:y,showSkipButton:f=!0,showOptionIcons:k=!0,skipDisabled:P=!1,activeSelected:w=!1,isLoading:R=!1,isInputEmpty:O=!1,products:N,onProductSelect:B,onProductFocusChange:ne,productsLayout:F="row",formatType:I="options",dateView:te=null,selectedDateIso:we=null,selectedDateRange:re=null,dateRangeStart:u=null,onPreviousMonth:xe,onNextMonth:K,optionsPosition:se="below",mode:ye}){let le=ra(ye),ae=le!==void 0,de=(0,J.useRef)(null),ie=(0,J.useRef)(null);sa(de,ie);let ce=e[0]?.options??[],pe=!!(b&&b.length>0&&v),
|
|
1873
|
+
`,document.head.appendChild(e)}var Tt=require("react/jsx-runtime");function It({space:e,align:i="stretch",className:t,children:r,...n}){let o=e?{"--aia-stack-space":e}:void 0;return(0,Tt.jsx)("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":i,style:o,...n,children:r})}var z=require("react/jsx-runtime"),oa=[159,119,164],na=()=>{},At=()=>{};function ra(e){let i=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[t,r]=(0,J.useState)(i);if((0,J.useEffect)(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let n=window.matchMedia("(prefers-color-scheme: dark)"),o=()=>r(n.matches);return n.addEventListener("change",o),()=>n.removeEventListener("change",o)},[e]),e!==void 0)return e==="auto"?t?"dark":"light":e}function sa(e,i){let t=(0,J.useRef)(null);(0,J.useEffect)(()=>{let r=e.current,n=i.current;if(!r||!n)return;let o=r.querySelector(".aia-grid[data-scroll]");if(t.current&&t.current.grid!==o&&(t.current.controller.destroy(),t.current=null),o&&!t.current){t.current={grid:o,controller:(0,Le.attachScrollArrow)({dropdown:r,grid:o,button:n})};return}t.current?.controller.update()}),(0,J.useEffect)(()=>()=>{t.current?.controller.destroy(),t.current=null},[])}function Ve({suggestions:e,activeIndex:i,onSelect:t,onHighlight:r,isOpen:n,id:o,className:s,pills:b,onPillClick:v,showPills:h=!0,onSkip:y,showSkipButton:f=!0,showOptionIcons:k=!0,skipDisabled:P=!1,activeSelected:w=!1,isLoading:R=!1,isInputEmpty:O=!1,products:N,onProductSelect:B,onProductFocusChange:ne,productsLayout:F="row",formatType:I="options",dateView:te=null,selectedDateIso:we=null,selectedDateRange:re=null,dateRangeStart:u=null,onPreviousMonth:xe,onNextMonth:K,optionsPosition:se="below",mode:ye}){let le=ra(ye),ae=le!==void 0,de=(0,J.useRef)(null),ie=(0,J.useRef)(null);sa(de,ie);let ce=e[0]?.options??[],pe=!!(b&&b.length>0&&v),W=!!(N&&N.length>0),G=n&&(ce.length>0||h&&pe||R||W),Z={suggestions:e,activeIndex:i,pills:b,showPills:h,showSkipButton:f,showOptionIcons:k,skipDisabled:P,activeSelected:w,isLoading:R,isInputEmpty:O,products:N,formatType:I,dateView:te,selectedDateIso:we,selectedDateRange:re,dateRangeStart:u},c=(0,J.useRef)(Z);G&&(c.current=Z);let a=G?Z:c.current,m=a.suggestions[0],x=m?.options??[],l=a.activeIndex>=0&&!!x[a.activeIndex]?.is_tappable,T=!!(a.pills&&a.pills.length>0&&v),he=a.showPills&&T,V=a.showPills&&!T&&a.isLoading,d=he||V,ue=T&&a.showSkipButton&&!a.isInputEmpty&&!!y,Se=a.pills?.[0]?.text,ke=(0,Le.isCalendarFormat)(a.formatType)&&a.dateView!=null,Te=x.length>0&&!ke,fe=x.length>0&&ke&&!a.isLoading,ze=a.isLoading&&!Te&&!fe,_=a.products??[];return(0,z.jsxs)("div",{ref:de,id:o,role:"listbox","data-aia-dropdown":"","data-options-position":se,"data-mode":le,"data-aia-loading":a.isLoading?"":void 0,"data-aia-has-products":_.length>0?"":void 0,className:`${ae?"magicx-aia ":""}${me.dropdown} ${G?me.visible:""} ${s??""}`,onMouseDown:q=>q.preventDefault(),children:[(0,z.jsxs)(It,{space:"8px",children:[(d||ue)&&(0,z.jsxs)(He,{noWrap:!0,className:me.pillBar,"data-aia-pillbar":"",children:[d&&(0,z.jsx)("span",{className:me.pillScroll,"data-aia-pill-scroll":"",children:(0,z.jsx)(Ue,{pills:a.pills??[],activePillIndex:0,activeSelected:a.activeSelected,onSelectPill:v??(()=>{}),rounded:!0,loading:a.isLoading})}),ue&&(0,z.jsx)("button",{type:"button",tabIndex:-1,className:me.skip,"data-aia-skip":"",disabled:a.isLoading||a.skipDisabled,"aria-label":Se?`Skip ${Se}`:"Skip",onClick:y,children:"skip"})]}),Te&&(0,z.jsx)(Et,{options:x,activeIndex:a.activeIndex,onSelect:t,onHighlight:r,listboxId:o,loading:a.isLoading,groupKey:m?`${m.type} ${m.text}`:"",optionsPosition:se,showIcons:a.showOptionIcons}),fe&&a.dateView&&(0,z.jsx)(mt,{options:x,activeIndex:a.activeIndex,listboxId:o,view:a.dateView,selection:{selectedIso:a.selectedDateIso??null,selectedRange:a.selectedDateRange??null,rangeStart:a.dateRangeStart??null},onSelect:t,onHighlight:r,onPreviousMonth:xe??At,onNextMonth:K??At}),ze&&(0,z.jsx)("div",{className:me.skeletonBars,"data-aia-skeleton-bars":"",children:oa.map(q=>(0,z.jsx)("span",{className:me.skeletonBar,style:{width:q}},`bar-${q}`))}),(0,z.jsx)(yt,{products:_,listboxId:o,onSelect:B??na,onFocusChange:ne,focusable:G,layout:F}),(0,z.jsx)(gt,{isOptionHighlighted:l,isInputEmpty:a.isInputEmpty})]}),(0,z.jsx)("button",{ref:ie,type:"button",tabIndex:-1,className:me.scrollArrow,"data-aia-scroll-arrow":"","aria-label":Le.SCROLL_ARROW_LABEL,"aria-hidden":"true",children:(0,z.jsx)("svg",{viewBox:"0 0 16 16",width:"18",height:"18",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:(0,z.jsx)("path",{d:"M4 6.5 8 10.5l4-4"})})})]})}var Oe=require("@magicx-eng/ai-autocomplete-vanilla");if(typeof document<"u"&&!document.getElementById("ac-style-fdee06e6")){let e=document.createElement("style");e.id="ac-style-fdee06e6",e.textContent=`.aia-submitButton-otz7H {
|
|
1861
1874
|
flex-shrink: 0;
|
|
1862
1875
|
width: 32px;
|
|
1863
1876
|
height: 32px;
|
|
@@ -1910,5 +1923,5 @@
|
|
|
1910
1923
|
);
|
|
1911
1924
|
cursor: default;
|
|
1912
1925
|
}
|
|
1913
|
-
`,document.head.appendChild(e)}var Rt={submitButton:"aia-submitButton-otz7H"};var Qe=require("react/jsx-runtime");function Dt({disabled:e,onClick:i}){return(0,Qe.jsx)("button",{type:"button","data-aia-submit":"",className:Rt.submitButton,disabled:e,onClick:t=>{t.stopPropagation(),i()},"aria-label":"Submit",children:(0,Qe.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:(0,Qe.jsx)("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}var Me=require("@magicx-eng/ai-autocomplete-vanilla"),S=require("react");var st=require("react");function Lt(e){let i=(0,st.useRef)(e);i.current=e;let t=Object.keys(e??{}).sort().join("\0"),r=(0,st.useRef)({key:"",overrides:void 0});if(r.current.key!==t){let n={};for(let o of Object.keys(e??{})){let s=(b,v,h)=>{let y=i.current?.[o];return y?y(b,v,h):[]};n[o]=s}r.current={key:t,overrides:e?n:void 0}}return{overrides:r.current.overrides,key:t}}var lt=require("react");function Mt(e){let i=(0,lt.useRef)(e);i.current=e;let t=(0,lt.useRef)(null);t.current===null&&(t.current={fetch:(n,o)=>{let s=i.current;return s?s.fetch(n,o):Promise.reject(new Error("products config removed"))},transform:n=>i.current?.transform(n)??[],get limit(){return i.current?.limit}});let r=e!==void 0;return{config:r?t.current:void 0,enabled:r}}var la={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],customFields:null,optionSearch:null,activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],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 Ze({onSubmit:e,onResult:i,onError:t,optionOverrides:r,maskCompletedText:n,apiConfig:o,additionalContext:s,columns:b=2,dropdownTrigger:v,optionsPosition:h,closeDropdownOnBlur:y,showNonTappableOptions:f,showOptionIcons:k,showSkipButton:P,showProducts:w,onFocus:R,onBlur:O,value:N,completedParams:B,onChange:ne,onParamsChange:F,products:I,onProductSelect:te,source:we,setCursor:re}){let u=(0,S.useRef)(null),[xe,K]=(0,S.useState)(null),se=(0,S.useRef)(e);se.current=e;let ye=(0,S.useRef)(i);ye.current=i;let le=(0,S.useRef)(t);le.current=t;let ae=(0,S.useRef)(ne);ae.current=ne;let de=(0,S.useRef)(F);de.current=F;let ie=(0,S.useRef)(R);ie.current=R;let ce=(0,S.useRef)(O);ce.current=O;let pe=(0,S.useRef)(re);pe.current=re;let G=(0,S.useRef)(te);G.current=te;let W=Mt(I),Z=Lt(r);(0,S.useEffect)(()=>{if(typeof document>"u")return;let g=new Me.AIAutocomplete(document.createElement("div"),{renderMode:"headless",apiConfig:o,additionalContext:s,optionOverrides:Z.overrides,maskCompletedText:n,columns:b,dropdownTrigger:v,optionsPosition:h,closeDropdownOnBlur:y,showNonTappableOptions:f,showProducts:w,source:we,value:N,completedParams:B,onSubmit:(...M)=>se.current?.(...M),onResult:(...M)=>ye.current?.(...M),onError:(...M)=>le.current?.(...M),onChange:(...M)=>ae.current?.(...M),onParamsChange:(...M)=>de.current?.(...M),onFocus:()=>ie.current?.(),onBlur:()=>ce.current?.(),onProductSelect:M=>G.current?.(M),setCursor:M=>pe.current?.(M),products:W.config});u.current=g,K(g.getState());let Q=g.subscribe(M=>K(M));return()=>{Q(),g.destroy(),u.current===g&&(u.current=null)}},[]),(0,S.useEffect)(()=>{N!==void 0&&u.current?.setValue(N)},[N]),(0,S.useEffect)(()=>{B!==void 0&&u.current?.setCompletedParams(B)},[B]);let c=JSON.stringify(o??null),a;try{a=JSON.stringify(s??null)}catch{a="[unstringifiable]"}(0,S.useEffect)(()=>{u.current?.update({apiConfig:o,additionalContext:s,optionOverrides:Z.overrides,dropdownTrigger:v,optionsPosition:h,closeDropdownOnBlur:y,showNonTappableOptions:f,showProducts:w})},[c,a,Z.key,v,h,y,f,w]);let m=(0,S.useRef)(!1);(0,S.useEffect)(()=>{if(!m.current){m.current=!0;return}u.current?.update({products:W.config})},[W.enabled]);let x=(0,S.useRef)(null);x.current===null&&(x.current={handleTextChange:g=>u.current?.handleTextChange(g),handleKeyDown:g=>{let Q="nativeEvent"in g?g.nativeEvent:g;u.current?.handleKeyDown(Q)},setFocused:g=>u.current?.setFocused(g),startEditingParam:g=>u.current?.startEditingParam(g),exitEditMode:()=>u.current?.exitEditMode(),handleCaretAfterInput:g=>u.current?.handleCaretAfterInput(g),handleCaretMove:g=>u.current?.handleCaretMove(g),replaceEditingRange:g=>u.current?.replaceEditingRange(g)??!1,setActivePill:g=>u.current?.setActivePill(g),skipActivePill:()=>u.current?.skipActivePill(),removeLastParam:()=>u.current?.removeLastParam(),clearNewParamId:()=>u.current?.clearNewParamId(),reset:()=>u.current?.reset(),selectOption:g=>u.current?.selectOption(g),selectProduct:g=>u.current?.selectProduct(g),setActiveDropdownIndex:g=>u.current?.setActiveDropdownIndex(g),showPreviousMonth:()=>u.current?.showPreviousMonth(),showNextMonth:()=>u.current?.showNextMonth(),handleFocus:()=>u.current?.setFocused(!0),handleBlur:()=>u.current?.setFocused(!1)});let l=x.current,T=(0,S.useCallback)(g=>{let Q=g.target.value,Je=Q.length>0&&!g.nativeEvent?.isComposing&&Q[0]!==Q[0].toUpperCase()?Q[0].toUpperCase()+Q.slice(1):Q;u.current?.handleTextChange(Je)},[]),he=(0,S.useCallback)(g=>{u.current?.handleKeyDown(g.nativeEvent)},[]),V=u.current,d=xe??la,ue=N!==void 0?N:d.text,Se=B!==void 0?B:d.completedParams,ke=d.actionableSuggestions,Te=ke[0],fe=V?.listboxId??"",ze=d.activeDropdownIndex>=0&&V?`${fe}-option-${d.activeDropdownIndex}`:void 0,_=d.editingParam,q=d.editingIdentified,Ae=_?{type:_.suggestionType,text:_.suggestionPlaceholder,required:!0,options:_.options}:q?{type:q.type,text:(0,Me.identifiedParamLabel)(q.type),required:!0,options:[]}:null,Fe=Ae??Te,Xe=Ae?[Ae]:ke,Ne=(0,Me.dateSelectionFor)(d),Ke=!V||d.isLoading&&!d.editingParam&&!d.inSelectionAnimation||d.isSearchingOptions;return{completedParams:Se,skippedParams:d.skippedParams,identifiedParams:d.identifiedParams,suggestionPills:ke,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:Ke,isFocused:d.isFocused,isDropdownOpen:d.isDropdownOpen,isActivePillSelected:d.isActivePillSelected,placeholderText:d.placeholderText,listboxId:fe,error:d.error,products:d.products,customFields:d.customFields,selectProduct:l.selectProduct,handleTextChange:l.handleTextChange,handleKeyDown:l.handleKeyDown,setFocused:l.setFocused,editingParam:_,editingIdentified:q,editingAnchor:d.editingAnchor,caretOffset:d.caretOffset,startEditingParam:l.startEditingParam,exitEditMode:l.exitEditMode,handleCaretAfterInput:l.handleCaretAfterInput,handleCaretMove:l.handleCaretMove,replaceEditingRange:l.replaceEditingRange,inputProps:{value:ue,placeholder:d.placeholderText||void 0,onChange:T,onKeyDown:he,onFocus:l.handleFocus,onBlur:l.handleBlur,role:"combobox","aria-expanded":d.isDropdownOpen,"aria-activedescendant":ze,"aria-autocomplete":"list","aria-controls":fe},reset:l.reset,dropdownProps:{suggestions:Fe?[{...Fe,options:d.filteredOptions}]:[],activeIndex:d.activeDropdownIndex,onSelect:l.selectOption,onHighlight:l.setActiveDropdownIndex,isOpen:d.isDropdownOpen,id:fe,pills:Xe,activeSelected:d.isActivePillSelected,onPillClick:l.setActivePill,onSkip:l.skipActivePill,showSkipButton:(P??!0)&&!_&&!q,showOptionIcons:k??!0,skipDisabled:d.inSelectionAnimation,isLoading:Ke,isInputEmpty:ue.trim().length===0,products:d.products,onProductSelect:l.selectProduct,onProductFocusChange:l.setFocused,formatType:d.activeFormatType,dateView:d.dateView,selectedDateIso:Ne.selectedIso,selectedDateRange:Ne.selectedRange,dateRangeStart:Ne.rangeStart,onPreviousMonth:l.showPreviousMonth,onNextMonth:l.showNextMonth,optionsPosition:h??"below"}}}var $=require("@magicx-eng/ai-autocomplete-vanilla"),C=require("react"),Ye;function da(){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 Ot(e){let{segments:i,showChipIcons:t=!0,newParamId:r,editingParam:n,editingIdentified:o,editingAnchor:s,caretOffset:b,placeholderText:v,isFocused:h,isDropdownOpen:y,listboxId:f,activeDescendantId:k,autoFocus:P,handleTextChange:w,handleKeyDown:R,handleCaretAfterInput:O,handleCaretMove:N,startEditingParam:B,replaceEditingRange:ne,setFocused:F}=e,I=(0,C.useRef)(null),te=(0,C.useRef)(!1),we=(0,C.useRef)(""),re=(0,C.useRef)(""),u=(0,C.useRef)(null),xe=(0,C.useRef)(0);u.current=b,(0,C.useEffect)(()=>{if(!P)return;let c=I.current;if(!c)return;document.activeElement===c?F(!0):c.focus();let a=c.ownerDocument??document,m=a.getSelection(),x=m&&m.rangeCount>0&&c.contains(m.anchorNode);if(m&&!x){let l=a.createRange();l.selectNodeContents(c),l.collapse(!0),m.removeAllRanges(),m.addRange(l)}},[P,F]),(0,C.useEffect)(()=>{let c=I.current;if(!c)return;let a=c.ownerDocument??document,m=()=>{let x=a.getSelection();if(!x||x.rangeCount===0||!x.anchorNode||!c.contains(x.anchorNode))return;let l=x.anchorNode,T=l.nodeType===Node.ELEMENT_NODE?l:l.parentElement,V=(x.isCollapsed?T?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,d=n?.id??o?.id??null;if(V&&V!==d){B(V);return}performance.now()-xe.current<50||N((0,$.getCursorOffset)(c))};return a.addEventListener("selectionchange",m),()=>a.removeEventListener("selectionchange",m)},[n,o,B,N]),(0,C.useLayoutEffect)(()=>{let c=I.current;c&&(0,$.renderEditableContent)({input:c,segments:i,newParamId:r,editingParamId:n?.id??null,placeholderText:v??"",isFocused:h,showChipIcons:t})},[i,r,n,v,h,t]),(0,C.useLayoutEffect)(()=>{let c=we.current,a=r??"";if(we.current=a,!a||a===c)return;let m=I.current;if(!m)return;m.focus();let x=u.current??(0,$.plainTextLength)(m);(0,$.setCursorOffset)(m,x)},[r]),(0,C.useLayoutEffect)(()=>{let c=re.current,a=n?.id??"";if(re.current=a,!a||a===c||s==null)return;let m=I.current;m&&(0,$.setCursorOffset)(m,s)},[n,s]);let K=(0,C.useCallback)(()=>{if(te.current)return;let c=I.current;if(!c)return;let a=(0,$.extractPlainText)(c),x=a.length>0&&a[0]!==a[0].toUpperCase()?a[0].toUpperCase()+a.slice(1):a;w(x)},[w]),se=(0,C.useCallback)(()=>{xe.current=performance.now(),K();let c=I.current;c&&O((0,$.getCursorOffset)(c))},[K,O]);(0,C.useEffect)(()=>{let c=I.current;if(!c)return;let a=m=>{let x=m,l=x.inputType;if(l==="insertParagraph"||l==="insertLineBreak"||l==="insertFromDrop"){m.preventDefault();return}if(l.startsWith("insert")||l.startsWith("delete")){let T=l.startsWith("delete")?"":x.data??"";ne(T)&&m.preventDefault()}};return c.addEventListener("beforeinput",a),()=>c.removeEventListener("beforeinput",a)},[ne]);let ye=(0,C.useCallback)(()=>{te.current=!0},[]),le=(0,C.useCallback)(()=>{te.current=!1,K()},[K]),ae=(0,C.useCallback)(c=>{c.preventDefault();let a=I.current;if(!a)return;let m=(c.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!m)return;let x=a.ownerDocument??document,l=x.getSelection();if(!l||l.rangeCount===0)return;let T=l.getRangeAt(0);if(!a.contains(T.startContainer))return;T.deleteContents();let he=x.createTextNode(m);T.insertNode(he),T.setStartAfter(he),T.collapse(!0),l.removeAllRanges(),l.addRange(T),K()},[K]),de=(0,C.useCallback)(c=>R(c),[R]),ie=(0,C.useCallback)(()=>F(!0),[F]),ce=(0,C.useCallback)(()=>F(!1),[F]),pe=(0,C.useCallback)(()=>I.current?.focus(),[]),G=(0,C.useCallback)(()=>I.current?.blur(),[]),W=(0,C.useCallback)(()=>{let c=I.current;return c?(0,$.extractPlainText)(c):""},[]),Z=da()?"plaintext-only":"true";return{inputRef:I,editorProps:{ref:I,contentEditable:Z,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":f,"aria-expanded":y,"aria-activedescendant":k,spellCheck:!0,enterKeyHint:"send",onInput:se,onKeyDown:de,onCompositionStart:ye,onCompositionEnd:le,onPaste:ae,onFocus:ie,onBlur:ce},getPlainText:W,focus:pe,blur:G}}var ee=require("react/jsx-runtime");function ca(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var zt=(0,L.forwardRef)(function({onSubmit:i,onResult:t,onError:r,optionOverrides:n,maskCompletedText:o,className:s,apiConfig:b,additionalContext:v,columns:h,pillPlacement:y="dropdown",mode:f="auto",optionsPosition:k="below",animations:P=!0,dropdownTrigger:w,closeDropdownOnBlur:R,showNonTappableOptions:O,showOptionIcons:N=!0,showChipIcons:B=!0,showSkipButton:ne,showProducts:F,productsLayout:I,autoFocus:te=!0,onFocus:we,onBlur:re,value:u,completedParams:xe,onChange:K,onParamsChange:se,products:ye,onProductSelect:le,submitButton:ae},de){let ie=(0,L.useRef)(null),ce=(0,L.useRef)(null),pe=(0,L.useRef)(()=>{}),G=(0,L.useRef)(null),W=(0,L.useRef)(null);(0,L.useEffect)(()=>{let E=ie.current;if(E)return G.current?G.current.setMode(f):G.current=new Oe.ModeController(E,f),()=>{G.current?.destroy(),G.current=null}},[f]);let Z=(0,L.useCallback)(E=>{let Ce=W.current?.current;Ce&&(Ce.focus(),(0,Oe.setCursorOffset)(Ce,E))},[]),{completedParams:c,skippedParams:a,identifiedParams:m,isReady:x,customFields:l,suggestionPills:T,setActivePill:he,skipActivePill:V,segments:d,newParamId:ue,clearNewParamId:Se,placeholderText:ke,isFocused:Te,isDropdownOpen:fe,isActivePillSelected:ze,isLoading:_,activeIndex:q,listboxId:Ae,handleTextChange:Fe,handleKeyDown:Xe,setFocused:Ne,editingParam:Ke,editingIdentified:g,editingAnchor:Q,caretOffset:M,startEditingParam:Je,handleCaretAfterInput:Nt,handleCaretMove:Ht,replaceEditingRange:Bt,dropdownProps:Ft,reset:Ge}=Ze({onSubmit:E=>pe.current(E),onResult:t,onError:r,optionOverrides:n,maskCompletedText:o,apiConfig:b,additionalContext:v,columns:h,dropdownTrigger:w,optionsPosition:k,closeDropdownOnBlur:R,showNonTappableOptions:O,showOptionIcons:N,showSkipButton:ne,showProducts:F,onFocus:we,onBlur:re,value:u,completedParams:xe,onChange:K,onParamsChange:se,products:ye,onProductSelect:le,source:"full-sdk",setCursor:Z});(0,L.useEffect)(()=>{if(!ue)return;let E=window.setTimeout(()=>Se(),650);return()=>window.clearTimeout(E)},[ue,Se]);let Kt=q>=0?`${Ae}-option-${q}`:void 0,{inputRef:et,editorProps:Gt,focus:We,blur:dt,getPlainText:ct}=Ot({segments:d,newParamId:ue,editingParam:Ke,editingIdentified:g,editingAnchor:Q,caretOffset:M,placeholderText:ke,isFocused:Te,showChipIcons:B,isDropdownOpen:fe,listboxId:Ae,activeDescendantId:Kt,autoFocus:te,handleTextChange:Fe,handleKeyDown:Xe,handleCaretAfterInput:Nt,handleCaretMove:Ht,startEditingParam:Je,replaceEditingRange:Bt,setFocused:Ne});W.current=et,(0,L.useLayoutEffect)(()=>{let E=ce.current,Ce=et.current;if(!E||!Ce)return;let pt=()=>{let ut=E.firstElementChild;if(!ut)return;let Ut=ut.getBoundingClientRect(),jt=Ce.getBoundingClientRect();Ut.top>=jt.bottom-2?E.setAttribute("data-aia-pill-wrapped",""):E.removeAttribute("data-aia-pill-wrapped")};pt();let ht=new ResizeObserver(pt);return ht.observe(Ce),()=>ht.disconnect()},[d,T.length,_,et]),(0,L.useImperativeHandle)(de,()=>({focus:We,blur:dt,reset:Ge,setMode:E=>G.current?.setMode(E),skipActivePill:V}),[We,dt,Ge,V]);let _e=!!d.length||c.length>0,tt=(0,L.useCallback)(()=>{if(!_e)return;let E=ct();i((0,Oe.buildSubmitResult)(E,c,a,{identifiedParams:m,isReady:x,customFields:l})),Ge()},[_e,c,a,m,x,l,i,Ge,ct]);pe.current=tt;let Wt=(0,L.useCallback)(E=>{E.target?.closest("[data-aia-pill]")||We()},[We]),_t=y==="inline",qt=y==="dropdown";return(0,ee.jsxs)("div",{ref:ie,className:`magicx-aia ${Ee.container} ${s??""}`,"data-pill-placement":y,"data-options-position":k,"data-animations":P?"on":"off","data-mode":ca(f),children:[(0,ee.jsx)(Ve,{...Ft,showPills:qt,productsLayout:I}),(0,ee.jsxs)("div",{className:Ee.inputWrapper,"data-aia-input-wrapper":"",onClick:Wt,children:[(0,ee.jsxs)("div",{className:Ee.editorArea,"data-aia-editor":"",children:[(0,ee.jsx)("div",{...Gt,className:Ee.input,"data-aia-input":""}),_t&&(_||T.length>0)&&(0,ee.jsx)("span",{ref:ce,className:Ee.pillListContainer,"data-aia-pill-list-container":"",children:(0,ee.jsx)(Ue,{pills:T,activePillIndex:0,activeSelected:ze,onSelectPill:he,loading:_})})]}),ae===null?null:ae===void 0?(0,ee.jsx)(Dt,{disabled:!_e,onClick:tt}):(0,ee.jsx)("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:Ee.submitSlot,onClick:E=>{_e&&(E.stopPropagation(),tt())},children:ae})]})]})});0&&(module.exports={AIAutocomplete,AIAutocompleteDropdown,DATE_RANGE_META_END,DATE_RANGE_META_START,PRODUCT_PATH_PREFIX,WEEKDAY_LABELS,buildSubmitResult,cellDay,cellIso,dateCellMarks,formatDate,formatDateRange,isoDate,monthLabel,optionLabel,parseDate,parseLooseDate,parseLooseDateRange,productFromMatchedItem,productsFromCustomFields,sanitizeOptionIconSvg,selectedRangeFor,useAIAutocomplete,visibleDateRange,withSkippedParams});
|
|
1926
|
+
`,document.head.appendChild(e)}var Rt={submitButton:"aia-submitButton-otz7H"};var Qe=require("react/jsx-runtime");function Dt({disabled:e,onClick:i}){return(0,Qe.jsx)("button",{type:"button","data-aia-submit":"",className:Rt.submitButton,disabled:e,onClick:t=>{t.stopPropagation(),i()},"aria-label":"Submit",children:(0,Qe.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:(0,Qe.jsx)("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}var Me=require("@magicx-eng/ai-autocomplete-vanilla"),S=require("react");var st=require("react");function Lt(e){let i=(0,st.useRef)(e);i.current=e;let t=Object.keys(e??{}).sort().join("\0"),r=(0,st.useRef)({key:"",overrides:void 0});if(r.current.key!==t){let n={};for(let o of Object.keys(e??{})){let s=(b,v,h)=>{let y=i.current?.[o];return y?y(b,v,h):[]};n[o]=s}r.current={key:t,overrides:e?n:void 0}}return{overrides:r.current.overrides,key:t}}var lt=require("react");function Mt(e){let i=(0,lt.useRef)(e);i.current=e;let t=(0,lt.useRef)(null);t.current===null&&(t.current={fetch:(n,o)=>{let s=i.current;return s?s.fetch(n,o):Promise.reject(new Error("products config removed"))},transform:n=>i.current?.transform(n)??[],get limit(){return i.current?.limit}});let r=e!==void 0;return{config:r?t.current:void 0,enabled:r}}var la={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],customFields:null,optionSearch:null,activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],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 Ze({onSubmit:e,onResult:i,onError:t,optionOverrides:r,maskCompletedText:n,apiConfig:o,additionalContext:s,columns:b=2,dropdownTrigger:v,optionsPosition:h,closeDropdownOnBlur:y,showNonTappableOptions:f,showOptionIcons:k,showSkipButton:P,showProducts:w,onFocus:R,onBlur:O,value:N,completedParams:B,onChange:ne,onParamsChange:F,products:I,onProductSelect:te,source:we,setCursor:re}){let u=(0,S.useRef)(null),[xe,K]=(0,S.useState)(null),se=(0,S.useRef)(e);se.current=e;let ye=(0,S.useRef)(i);ye.current=i;let le=(0,S.useRef)(t);le.current=t;let ae=(0,S.useRef)(ne);ae.current=ne;let de=(0,S.useRef)(F);de.current=F;let ie=(0,S.useRef)(R);ie.current=R;let ce=(0,S.useRef)(O);ce.current=O;let pe=(0,S.useRef)(re);pe.current=re;let W=(0,S.useRef)(te);W.current=te;let G=Mt(I),Z=Lt(r);(0,S.useEffect)(()=>{if(typeof document>"u")return;let g=new Me.AIAutocomplete(document.createElement("div"),{renderMode:"headless",apiConfig:o,additionalContext:s,optionOverrides:Z.overrides,maskCompletedText:n,columns:b,dropdownTrigger:v,optionsPosition:h,closeDropdownOnBlur:y,showNonTappableOptions:f,showProducts:w,source:we,value:N,completedParams:B,onSubmit:(...M)=>se.current?.(...M),onResult:(...M)=>ye.current?.(...M),onError:(...M)=>le.current?.(...M),onChange:(...M)=>ae.current?.(...M),onParamsChange:(...M)=>de.current?.(...M),onFocus:()=>ie.current?.(),onBlur:()=>ce.current?.(),onProductSelect:M=>W.current?.(M),setCursor:M=>pe.current?.(M),products:G.config});u.current=g,K(g.getState());let Q=g.subscribe(M=>K(M));return()=>{Q(),g.destroy(),u.current===g&&(u.current=null)}},[]),(0,S.useEffect)(()=>{N!==void 0&&u.current?.setValue(N)},[N]),(0,S.useEffect)(()=>{B!==void 0&&u.current?.setCompletedParams(B)},[B]);let c=JSON.stringify(o??null),a;try{a=JSON.stringify(s??null)}catch{a="[unstringifiable]"}(0,S.useEffect)(()=>{u.current?.update({apiConfig:o,additionalContext:s,optionOverrides:Z.overrides,dropdownTrigger:v,optionsPosition:h,closeDropdownOnBlur:y,showNonTappableOptions:f,showProducts:w})},[c,a,Z.key,v,h,y,f,w]);let m=(0,S.useRef)(!1);(0,S.useEffect)(()=>{if(!m.current){m.current=!0;return}u.current?.update({products:G.config})},[G.enabled]);let x=(0,S.useRef)(null);x.current===null&&(x.current={handleTextChange:g=>u.current?.handleTextChange(g),handleKeyDown:g=>{let Q="nativeEvent"in g?g.nativeEvent:g;u.current?.handleKeyDown(Q)},setFocused:g=>u.current?.setFocused(g),startEditingParam:g=>u.current?.startEditingParam(g),exitEditMode:()=>u.current?.exitEditMode(),handleCaretAfterInput:g=>u.current?.handleCaretAfterInput(g),handleCaretMove:g=>u.current?.handleCaretMove(g),replaceEditingRange:g=>u.current?.replaceEditingRange(g)??!1,setActivePill:g=>u.current?.setActivePill(g),skipActivePill:()=>u.current?.skipActivePill(),removeLastParam:()=>u.current?.removeLastParam(),clearNewParamId:()=>u.current?.clearNewParamId(),reset:()=>u.current?.reset(),selectOption:g=>u.current?.selectOption(g),selectProduct:g=>u.current?.selectProduct(g),setActiveDropdownIndex:g=>u.current?.setActiveDropdownIndex(g),showPreviousMonth:()=>u.current?.showPreviousMonth(),showNextMonth:()=>u.current?.showNextMonth(),handleFocus:()=>u.current?.setFocused(!0),handleBlur:()=>u.current?.setFocused(!1)});let l=x.current,T=(0,S.useCallback)(g=>{let Q=g.target.value,Je=Q.length>0&&!g.nativeEvent?.isComposing&&Q[0]!==Q[0].toUpperCase()?Q[0].toUpperCase()+Q.slice(1):Q;u.current?.handleTextChange(Je)},[]),he=(0,S.useCallback)(g=>{u.current?.handleKeyDown(g.nativeEvent)},[]),V=u.current,d=xe??la,ue=N!==void 0?N:d.text,Se=B!==void 0?B:d.completedParams,ke=d.actionableSuggestions,Te=ke[0],fe=V?.listboxId??"",ze=d.activeDropdownIndex>=0&&V?`${fe}-option-${d.activeDropdownIndex}`:void 0,_=d.editingParam,q=d.editingIdentified,Ae=_?{type:_.suggestionType,text:_.suggestionPlaceholder,required:!0,options:_.options}:q?{type:q.type,text:(0,Me.identifiedParamLabel)(q.type),required:!0,options:[]}:null,Fe=Ae??Te,Xe=Ae?[Ae]:ke,Ne=(0,Me.dateSelectionFor)(d),Ke=!V||d.isLoading&&!d.editingParam&&!d.inSelectionAnimation||d.isSearchingOptions;return{completedParams:Se,skippedParams:d.skippedParams,identifiedParams:d.identifiedParams,suggestionPills:ke,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:Ke,isFocused:d.isFocused,isDropdownOpen:d.isDropdownOpen,isActivePillSelected:d.isActivePillSelected,placeholderText:d.placeholderText,listboxId:fe,error:d.error,products:d.products,customFields:d.customFields,selectProduct:l.selectProduct,handleTextChange:l.handleTextChange,handleKeyDown:l.handleKeyDown,setFocused:l.setFocused,editingParam:_,editingIdentified:q,editingAnchor:d.editingAnchor,caretOffset:d.caretOffset,startEditingParam:l.startEditingParam,exitEditMode:l.exitEditMode,handleCaretAfterInput:l.handleCaretAfterInput,handleCaretMove:l.handleCaretMove,replaceEditingRange:l.replaceEditingRange,inputProps:{value:ue,placeholder:d.placeholderText||void 0,onChange:T,onKeyDown:he,onFocus:l.handleFocus,onBlur:l.handleBlur,role:"combobox","aria-expanded":d.isDropdownOpen,"aria-activedescendant":ze,"aria-autocomplete":"list","aria-controls":fe},reset:l.reset,dropdownProps:{suggestions:Fe?[{...Fe,options:d.filteredOptions}]:[],activeIndex:d.activeDropdownIndex,onSelect:l.selectOption,onHighlight:l.setActiveDropdownIndex,isOpen:d.isDropdownOpen,id:fe,pills:Xe,activeSelected:d.isActivePillSelected,onPillClick:l.setActivePill,onSkip:l.skipActivePill,showSkipButton:(P??!0)&&!_&&!q,showOptionIcons:k??!0,skipDisabled:d.inSelectionAnimation,isLoading:Ke,isInputEmpty:ue.trim().length===0,products:d.products,onProductSelect:l.selectProduct,onProductFocusChange:l.setFocused,formatType:d.activeFormatType,dateView:d.dateView,selectedDateIso:Ne.selectedIso,selectedDateRange:Ne.selectedRange,dateRangeStart:Ne.rangeStart,onPreviousMonth:l.showPreviousMonth,onNextMonth:l.showNextMonth,optionsPosition:h??"below"}}}var $=require("@magicx-eng/ai-autocomplete-vanilla"),C=require("react"),Ye;function da(){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 Ot(e){let{segments:i,showChipIcons:t=!0,newParamId:r,editingParam:n,editingIdentified:o,editingAnchor:s,caretOffset:b,placeholderText:v,isFocused:h,isDropdownOpen:y,listboxId:f,activeDescendantId:k,autoFocus:P,handleTextChange:w,handleKeyDown:R,handleCaretAfterInput:O,handleCaretMove:N,startEditingParam:B,replaceEditingRange:ne,setFocused:F}=e,I=(0,C.useRef)(null),te=(0,C.useRef)(!1),we=(0,C.useRef)(""),re=(0,C.useRef)(""),u=(0,C.useRef)(null),xe=(0,C.useRef)(0);u.current=b,(0,C.useEffect)(()=>{if(!P)return;let c=I.current;if(!c)return;document.activeElement===c?F(!0):c.focus();let a=c.ownerDocument??document,m=a.getSelection(),x=m&&m.rangeCount>0&&c.contains(m.anchorNode);if(m&&!x){let l=a.createRange();l.selectNodeContents(c),l.collapse(!0),m.removeAllRanges(),m.addRange(l)}},[P,F]),(0,C.useEffect)(()=>{let c=I.current;if(!c)return;let a=c.ownerDocument??document,m=()=>{let x=a.getSelection();if(!x||x.rangeCount===0||!x.anchorNode||!c.contains(x.anchorNode))return;let l=x.anchorNode,T=l.nodeType===Node.ELEMENT_NODE?l:l.parentElement,V=(x.isCollapsed?T?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,d=n?.id??o?.id??null;if(V&&V!==d){B(V);return}performance.now()-xe.current<50||N((0,$.getCursorOffset)(c))};return a.addEventListener("selectionchange",m),()=>a.removeEventListener("selectionchange",m)},[n,o,B,N]),(0,C.useLayoutEffect)(()=>{let c=I.current;c&&(0,$.renderEditableContent)({input:c,segments:i,newParamId:r,editingParamId:n?.id??null,placeholderText:v??"",isFocused:h,showChipIcons:t})},[i,r,n,v,h,t]),(0,C.useLayoutEffect)(()=>{let c=we.current,a=r??"";if(we.current=a,!a||a===c)return;let m=I.current;if(!m)return;m.focus();let x=u.current??(0,$.plainTextLength)(m);(0,$.setCursorOffset)(m,x)},[r]),(0,C.useLayoutEffect)(()=>{let c=re.current,a=n?.id??"";if(re.current=a,!a||a===c||s==null)return;let m=I.current;m&&(0,$.setCursorOffset)(m,s)},[n,s]);let K=(0,C.useCallback)(()=>{if(te.current)return;let c=I.current;if(!c)return;let a=(0,$.extractPlainText)(c),x=a.length>0&&a[0]!==a[0].toUpperCase()?a[0].toUpperCase()+a.slice(1):a;w(x)},[w]),se=(0,C.useCallback)(()=>{xe.current=performance.now(),K();let c=I.current;c&&O((0,$.getCursorOffset)(c))},[K,O]);(0,C.useEffect)(()=>{let c=I.current;if(!c)return;let a=m=>{let x=m,l=x.inputType;if(l==="insertParagraph"||l==="insertLineBreak"||l==="insertFromDrop"){m.preventDefault();return}if(l.startsWith("insert")||l.startsWith("delete")){let T=l.startsWith("delete")?"":x.data??"";ne(T)&&m.preventDefault()}};return c.addEventListener("beforeinput",a),()=>c.removeEventListener("beforeinput",a)},[ne]);let ye=(0,C.useCallback)(()=>{te.current=!0},[]),le=(0,C.useCallback)(()=>{te.current=!1,K()},[K]),ae=(0,C.useCallback)(c=>{c.preventDefault();let a=I.current;if(!a)return;let m=(c.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!m)return;let x=a.ownerDocument??document,l=x.getSelection();if(!l||l.rangeCount===0)return;let T=l.getRangeAt(0);if(!a.contains(T.startContainer))return;T.deleteContents();let he=x.createTextNode(m);T.insertNode(he),T.setStartAfter(he),T.collapse(!0),l.removeAllRanges(),l.addRange(T),K()},[K]),de=(0,C.useCallback)(c=>R(c),[R]),ie=(0,C.useCallback)(()=>F(!0),[F]),ce=(0,C.useCallback)(()=>F(!1),[F]),pe=(0,C.useCallback)(()=>I.current?.focus(),[]),W=(0,C.useCallback)(()=>I.current?.blur(),[]),G=(0,C.useCallback)(()=>{let c=I.current;return c?(0,$.extractPlainText)(c):""},[]),Z=da()?"plaintext-only":"true";return{inputRef:I,editorProps:{ref:I,contentEditable:Z,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":f,"aria-expanded":y,"aria-activedescendant":k,spellCheck:!0,enterKeyHint:"send",onInput:se,onKeyDown:de,onCompositionStart:ye,onCompositionEnd:le,onPaste:ae,onFocus:ie,onBlur:ce},getPlainText:G,focus:pe,blur:W}}var ee=require("react/jsx-runtime");function ca(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var zt=(0,L.forwardRef)(function({onSubmit:i,onResult:t,onError:r,optionOverrides:n,maskCompletedText:o,className:s,apiConfig:b,additionalContext:v,columns:h,pillPlacement:y="dropdown",mode:f="auto",optionsPosition:k="below",animations:P=!0,dropdownTrigger:w,closeDropdownOnBlur:R,showNonTappableOptions:O,showOptionIcons:N=!0,showChipIcons:B=!0,showSkipButton:ne,showProducts:F,productsLayout:I,autoFocus:te=!0,onFocus:we,onBlur:re,value:u,completedParams:xe,onChange:K,onParamsChange:se,products:ye,onProductSelect:le,submitButton:ae},de){let ie=(0,L.useRef)(null),ce=(0,L.useRef)(null),pe=(0,L.useRef)(()=>{}),W=(0,L.useRef)(null),G=(0,L.useRef)(null);(0,L.useEffect)(()=>{let E=ie.current;if(E)return W.current?W.current.setMode(f):W.current=new Oe.ModeController(E,f),()=>{W.current?.destroy(),W.current=null}},[f]);let Z=(0,L.useCallback)(E=>{let Ce=G.current?.current;Ce&&(Ce.focus(),(0,Oe.setCursorOffset)(Ce,E))},[]),{completedParams:c,skippedParams:a,identifiedParams:m,isReady:x,customFields:l,suggestionPills:T,setActivePill:he,skipActivePill:V,segments:d,newParamId:ue,clearNewParamId:Se,placeholderText:ke,isFocused:Te,isDropdownOpen:fe,isActivePillSelected:ze,isLoading:_,activeIndex:q,listboxId:Ae,handleTextChange:Fe,handleKeyDown:Xe,setFocused:Ne,editingParam:Ke,editingIdentified:g,editingAnchor:Q,caretOffset:M,startEditingParam:Je,handleCaretAfterInput:Nt,handleCaretMove:Ht,replaceEditingRange:Bt,dropdownProps:Ft,reset:We}=Ze({onSubmit:E=>pe.current(E),onResult:t,onError:r,optionOverrides:n,maskCompletedText:o,apiConfig:b,additionalContext:v,columns:h,dropdownTrigger:w,optionsPosition:k,closeDropdownOnBlur:R,showNonTappableOptions:O,showOptionIcons:N,showSkipButton:ne,showProducts:F,onFocus:we,onBlur:re,value:u,completedParams:xe,onChange:K,onParamsChange:se,products:ye,onProductSelect:le,source:"full-sdk",setCursor:Z});(0,L.useEffect)(()=>{if(!ue)return;let E=window.setTimeout(()=>Se(),650);return()=>window.clearTimeout(E)},[ue,Se]);let Kt=q>=0?`${Ae}-option-${q}`:void 0,{inputRef:et,editorProps:Wt,focus:Ge,blur:dt,getPlainText:ct}=Ot({segments:d,newParamId:ue,editingParam:Ke,editingIdentified:g,editingAnchor:Q,caretOffset:M,placeholderText:ke,isFocused:Te,showChipIcons:B,isDropdownOpen:fe,listboxId:Ae,activeDescendantId:Kt,autoFocus:te,handleTextChange:Fe,handleKeyDown:Xe,handleCaretAfterInput:Nt,handleCaretMove:Ht,startEditingParam:Je,replaceEditingRange:Bt,setFocused:Ne});G.current=et,(0,L.useLayoutEffect)(()=>{let E=ce.current,Ce=et.current;if(!E||!Ce)return;let pt=()=>{let ut=E.firstElementChild;if(!ut)return;let Ut=ut.getBoundingClientRect(),jt=Ce.getBoundingClientRect();Ut.top>=jt.bottom-2?E.setAttribute("data-aia-pill-wrapped",""):E.removeAttribute("data-aia-pill-wrapped")};pt();let ht=new ResizeObserver(pt);return ht.observe(Ce),()=>ht.disconnect()},[d,T.length,_,et]),(0,L.useImperativeHandle)(de,()=>({focus:Ge,blur:dt,reset:We,setMode:E=>W.current?.setMode(E),skipActivePill:V}),[Ge,dt,We,V]);let _e=!!d.length||c.length>0,tt=(0,L.useCallback)(()=>{if(!_e)return;let E=ct();i((0,Oe.buildSubmitResult)(E,c,a,{identifiedParams:m,isReady:x,customFields:l})),We()},[_e,c,a,m,x,l,i,We,ct]);pe.current=tt;let Gt=(0,L.useCallback)(E=>{E.target?.closest("[data-aia-pill]")||Ge()},[Ge]),_t=y==="inline",qt=y==="dropdown";return(0,ee.jsxs)("div",{ref:ie,className:`magicx-aia ${Ee.container} ${s??""}`,"data-pill-placement":y,"data-options-position":k,"data-animations":P?"on":"off","data-mode":ca(f),children:[(0,ee.jsx)(Ve,{...Ft,showPills:qt,productsLayout:I}),(0,ee.jsxs)("div",{className:Ee.inputWrapper,"data-aia-input-wrapper":"",onClick:Gt,children:[(0,ee.jsxs)("div",{className:Ee.editorArea,"data-aia-editor":"",children:[(0,ee.jsx)("div",{...Wt,className:Ee.input,"data-aia-input":""}),_t&&(_||T.length>0)&&(0,ee.jsx)("span",{ref:ce,className:Ee.pillListContainer,"data-aia-pill-list-container":"",children:(0,ee.jsx)(Ue,{pills:T,activePillIndex:0,activeSelected:ze,onSelectPill:he,loading:_})})]}),ae===null?null:ae===void 0?(0,ee.jsx)(Dt,{disabled:!_e,onClick:tt}):(0,ee.jsx)("span",{"data-aia-submit":"","data-aia-submit-slot":"",className:Ee.submitSlot,onClick:E=>{_e&&(E.stopPropagation(),tt())},children:ae})]})]})});0&&(module.exports={AIAutocomplete,AIAutocompleteDropdown,DATE_RANGE_META_END,DATE_RANGE_META_START,PRODUCT_PATH_PREFIX,WEEKDAY_LABELS,buildSubmitResult,cellDay,cellIso,dateCellMarks,formatDate,formatDateRange,isoDate,monthLabel,optionLabel,parseDate,parseLooseDate,parseLooseDateRange,productFromMatchedItem,productsFromCustomFields,sanitizeOptionIconSvg,selectedRangeFor,useAIAutocomplete,visibleDateRange,withSkippedParams});
|
|
1914
1927
|
//# sourceMappingURL=index.js.map
|