@magicx-eng/ai-autocomplete-react 0.10.1 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/index.d.mts +31 -1
- package/dist/index.d.ts +31 -1
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +12 -12
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{buildSubmitResult as
|
|
1
|
+
import{buildSubmitResult as Wo,withSkippedParams as Uo}from"@magicx-eng/ai-autocomplete-vanilla";import{forwardRef as ra,useCallback as We,useEffect as bt,useImperativeHandle as na,useLayoutEffect as sa,useRef as xe}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
|
|
@@ -179,7 +179,7 @@ import{buildSubmitResult as Go,withSkippedParams as Ko}from"@magicx-eng/ai-autoc
|
|
|
179
179
|
opacity: 0;
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
|
-
`,document.head.appendChild(e)}var le={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
|
|
182
|
+
`,document.head.appendChild(e)}var le={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 $t,useRef as jt,useState as Qt}from"react";if(typeof document<"u"&&!document.getElementById("ac-style-0ae03977")){let e=document.createElement("style");e.id="ac-style-0ae03977",e.textContent=`/*
|
|
183
183
|
* Built-in appearance defaults \u2014 zero specificity via :where().
|
|
184
184
|
* Consumer CSS always wins without !important.
|
|
185
185
|
*
|
|
@@ -665,7 +665,7 @@ import{buildSubmitResult as Go,withSkippedParams as Ko}from"@magicx-eng/ai-autoc
|
|
|
665
665
|
opacity: 0.25;
|
|
666
666
|
}
|
|
667
667
|
}
|
|
668
|
-
`,document.head.appendChild(e)}var
|
|
668
|
+
`,document.head.appendChild(e)}var ie={dropdown:"AIAutocompleteDropdown-module_dropdown_yz2KC",visible:"AIAutocompleteDropdown-module_visible_QCoXj",pillBar:"AIAutocompleteDropdown-module_pillBar_pwTXe",pillScroll:"AIAutocompleteDropdown-module_pillScroll_Tpzus",skip:"AIAutocompleteDropdown-module_skip_7-olS",skeletonBars:"AIAutocompleteDropdown-module_skeletonBars_HVr9C",skeletonBar:"AIAutocompleteDropdown-module_skeletonBar_O3xIx",aiaSkeletonPulse:"AIAutocompleteDropdown-module_aiaSkeletonPulse_G8W7q"};import{ATTRIBUTION_URL as It,buildAttributionUrl as St,getFooterHint as At}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Ct,useState as Et}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 {
|
|
669
669
|
.aia-cluster {
|
|
670
670
|
display: flex;
|
|
671
671
|
flex-wrap: wrap;
|
|
@@ -707,7 +707,7 @@ import{buildSubmitResult as Go,withSkippedParams as Ko}from"@magicx-eng/ai-autoc
|
|
|
707
707
|
justify-content: space-around;
|
|
708
708
|
}
|
|
709
709
|
}
|
|
710
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
710
|
+
`,document.head.appendChild(e)}import{jsx as Je}from"react/jsx-runtime";function fe({gap:e,align:s="center",justify:t="start",noWrap:n=!1,inline:l=!1,className:r,children:o,...g}){let v=e?{"--aia-cluster-gap":e}:void 0,x={className:r?`aia-cluster ${r}`:"aia-cluster","data-align":s,"data-justify":t,"data-nowrap":n||void 0,"data-inline":l||void 0,style:v,...g};return l?Je("span",{...x,children:o}):Je("div",{...x,children:o})}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
|
|
711
711
|
dropdown's rounded edges. The top inset (--aia-footer-gap) adds breathing
|
|
712
712
|
room above the hint/branding row so the footer doesn't butt against the last
|
|
713
713
|
option row \u2014 additive to the dropdown's 8px section gap. */
|
|
@@ -837,7 +837,7 @@ import{buildSubmitResult as Go,withSkippedParams as Ko}from"@magicx-eng/ai-autoc
|
|
|
837
837
|
justify-content: flex-end;
|
|
838
838
|
}
|
|
839
839
|
}
|
|
840
|
-
`,document.head.appendChild(e)}var
|
|
840
|
+
`,document.head.appendChild(e)}var Z={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 be,jsxs as ze}from"react/jsx-runtime";function Xe({isOptionHighlighted:e=!1,isInputEmpty:s=!1}){let{key:t,hint:n}=At(e,s),[l,r]=Et(It);return Ct(()=>{r(St())},[]),be("footer",{className:Z.footer,"data-aia-footer":"",children:ze(fe,{justify:"between",noWrap:!0,className:Z.row,children:[ze(fe,{gap:"5px",className:Z.hintGroup,children:[be("kbd",{className:Z.key,children:t}),be("span",{className:Z.hint,children:n})]}),ze("a",{className:Z.brandLink,href:l,target:"_blank",rel:"noopener noreferrer",children:[be("span",{className:Z.brand,children:"AI"}),be("span",{className:Z.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,
|
|
841
841
|
no outline. ~28px via 6px padding + 14px text + the 1px border (border-box).
|
|
842
842
|
The border is kept as a 1px transparent line so the box stays the same size
|
|
843
843
|
as it was when the outline was dashed. */
|
|
@@ -894,7 +894,7 @@ import{buildSubmitResult as Go,withSkippedParams as Ko}from"@magicx-eng/ai-autoc
|
|
|
894
894
|
opacity: 0;
|
|
895
895
|
}
|
|
896
896
|
}
|
|
897
|
-
`,document.head.appendChild(e)}var
|
|
897
|
+
`,document.head.appendChild(e)}var re={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 Dt}from"react/jsx-runtime";var Be={selected:1,first:.7,next:.4,last:.2};function Ze({label:e,state:s,rounded:t,loading:n,onClick:l}){let r=[re.pill,t?re.rounded:"",n?re.skeleton:""].filter(Boolean).join(" ");return Dt("button",{type:"button","data-aia-pill":"","data-aia-loading":n?"":void 0,tabIndex:-1,contentEditable:!1,suppressContentEditableWarning:!0,className:r,style:{opacity:Be[s]},onMouseDown:o=>o.preventDefault(),onClick:n?void 0:l,disabled:n,children:e})}if(typeof document<"u"&&!document.getElementById("ac-style-0fcb7940")){let e=document.createElement("style");e.id="ac-style-0fcb7940",e.textContent=`.PillList-module_list_qvLqO {
|
|
898
898
|
position: relative;
|
|
899
899
|
z-index: 1;
|
|
900
900
|
pointer-events: auto;
|
|
@@ -904,7 +904,7 @@ import{buildSubmitResult as Go,withSkippedParams as Ko}from"@magicx-eng/ai-autoc
|
|
|
904
904
|
align-items: center;
|
|
905
905
|
vertical-align: middle;
|
|
906
906
|
}
|
|
907
|
-
`,document.head.appendChild(e)}var
|
|
907
|
+
`,document.head.appendChild(e)}var Fe={list:"PillList-module_list_qvLqO"};import{jsx as Se}from"react/jsx-runtime";var Rt=[125,69];function Ye(e){return e===0?"first":e===1?"next":"last"}function Ae({pills:e,activePillIndex:s,onSelectPill:t,activeSelected:n,rounded:l,loading:r}){return r&&e.length===0?Se("span",{className:Fe.list,"data-aia-pill-list-loading":"",children:Rt.map((o,g)=>Se("span",{"data-aia-pill-skeleton":"",className:`${re.pill} ${l?re.rounded:""} ${re.skeleton}`,style:{width:o,opacity:Be[Ye(g)]}},`skel-${o}`))}):Se("span",{className:Fe.list,"data-aia-pill-list-loading":r?"":void 0,children:e.map((o,g)=>{let v=!!n&&g===s;return Se(Ze,{label:o.text,state:v?"selected":Ye(g),selected:v,rounded:l,loading:r,onClick:()=>t(g)},`${o.type}-${o.text}`)})})}if(typeof document<"u"&&!document.getElementById("ac-style-fef1688d")){let e=document.createElement("style");e.id="ac-style-fef1688d",e.textContent=`/* Product strip \u2014 the React counterpart of the vanilla core's strip rules
|
|
908
908
|
(packages/vanilla/src/styles.css). Same tokens, same defaults, so a consumer
|
|
909
909
|
theming one package sees the same result in the other.
|
|
910
910
|
|
|
@@ -1071,7 +1071,7 @@ import{buildSubmitResult as Go,withSkippedParams as Ko}from"@magicx-eng/ai-autoc
|
|
|
1071
1071
|
var(--aia-option-color-selected, var(--aia-color-text-default, #fff))
|
|
1072
1072
|
);
|
|
1073
1073
|
}
|
|
1074
|
-
`,document.head.appendChild(e)}var
|
|
1074
|
+
`,document.head.appendChild(e)}var O={section:"ProductStrip-module_section_Hugfg",label:"ProductStrip-module_label_nuc93",row:"ProductStrip-module_row_WDVBX",card:"ProductStrip-module_card_JBGYT",media:"ProductStrip-module_media_RrbGe",image:"ProductStrip-module_image_5pNL7",body:"ProductStrip-module_body_ly032",vendor:"ProductStrip-module_vendor_Gvu7G",title:"ProductStrip-module_title_gCNmq",price:"ProductStrip-module_price_gULcE"};import{jsx as ne,jsxs as Me}from"react/jsx-runtime";function et({products:e,listboxId:s,onSelect:t,onFocusChange:n,focusable:l=!0}){if(e.length===0)return null;let r=`${s}-products-label`;return Me("section",{className:O.section,"data-aia-products":"",role:"group","aria-labelledby":r,children:[ne("div",{className:O.label,id:r,children:"Products"}),ne("div",{className:O.row,"data-aia-products-row":"",children:e.map((o,g)=>ne(Tt,{product:o,id:`${s}-product-${g}`,onSelect:t,onFocusChange:n,focusable:l},o.id))})]})}function Tt({product:e,id:s,onSelect:t,onFocusChange:n,focusable:l}){let r=o=>{o.metaKey||o.ctrlKey||o.shiftKey||o.altKey||o.button!==0||(o.preventDefault(),t(e))};return Me("a",{id:s,className:O.card,"data-aia-product":"",role:"option","aria-selected":!1,href:e.url,tabIndex:l?0:-1,onClick:r,onKeyDown:o=>{o.key!=="Enter"&&o.key!==" "||(o.preventDefault(),t(e))},onFocus:()=>n?.(!0),onBlur:o=>{o.relatedTarget?.closest("[data-aia-dropdown]")||n?.(!1)},children:[ne("span",{className:O.media,"data-aia-product-placeholder":e.imageUrl?void 0:"",children:e.imageUrl?ne("img",{className:O.image,src:e.imageUrl,alt:"",loading:"lazy",decoding:"async"}):null}),Me("span",{className:O.body,children:[e.vendor?ne("span",{className:O.vendor,children:e.vendor}):null,ne("span",{className:O.title,children:e.title}),e.price?ne("span",{className:O.price,children:e.price}):null]})]})}import{computeOptionsGridLayout as Ht,isOptionsGridMobileViewport as Gt,OPTIONS_GRID_MOBILE_QUERY as Kt}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Wt,useState as Ut}from"react";import{optionsGridTemplateColumns as Lt}from"@magicx-eng/ai-autocomplete-vanilla";import{useLayoutEffect as zt,useRef as Bt}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 {
|
|
1075
1075
|
.aia-grid {
|
|
1076
1076
|
display: grid;
|
|
1077
1077
|
grid-template-columns: repeat(
|
|
@@ -1106,7 +1106,7 @@ import{buildSubmitResult as Go,withSkippedParams as Ko}from"@magicx-eng/ai-autoc
|
|
|
1106
1106
|
border-radius: 3px;
|
|
1107
1107
|
}
|
|
1108
1108
|
}
|
|
1109
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
1109
|
+
`,document.head.appendChild(e)}import{jsx as Ft}from"react/jsx-runtime";function tt({min:e="16rem",max:s,gap:t,scroll:n=!1,maxHeight:l,scrollResetKey:r,cols:o,className:g,children:v,...x}){let y=Bt(null);zt(()=>{if(r===void 0)return;let T=y.current;T&&(T.scrollTop=0)},[r]);let b={"--aia-grid-min":e};return s&&(b["--aia-grid-max"]=s),t&&(b["--aia-grid-gap"]=t),l&&(b["--aia-grid-max-height"]=l),o&&(b.gridTemplateColumns=Lt(o)),Ft("div",{ref:y,className:g?`aia-grid ${g}`:"aia-grid","data-scroll":n||void 0,style:b,...x,children:v})}import{useEffect as Mt,useRef as Nt,useState as Ot}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 {
|
|
1110
1110
|
position: relative;
|
|
1111
1111
|
overflow: visible;
|
|
1112
1112
|
display: flex;
|
|
@@ -1456,7 +1456,7 @@ import{buildSubmitResult as Go,withSkippedParams as Ko}from"@magicx-eng/ai-autoc
|
|
|
1456
1456
|
filter: brightness(0.55);
|
|
1457
1457
|
}
|
|
1458
1458
|
}
|
|
1459
|
-
`,document.head.appendChild(e)}var
|
|
1459
|
+
`,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 Ce,jsxs as at}from"react/jsx-runtime";function ot({option:e,isHighlighted:s,onSelect:t,onHighlight:n,id:l,loading:r}){let[o,g]=Ot(!1),v=Nt(void 0);Mt(()=>()=>clearTimeout(v.current),[]);let x=()=>{r||!e.is_tappable||o||(g(!0),t(e),clearTimeout(v.current),v.current=setTimeout(()=>g(!1),500))},y=[H.item,s&&!r?H.highlighted:"",e.is_tappable?H.tappable:H.nonTappable,o?H.pressed:""].filter(Boolean).join(" ");return at("div",{id:l,role:"option","data-aia-option":"","data-aia-loading":r?"":void 0,"aria-selected":s,className:y,tabIndex:r||!e.is_tappable?-1:0,onClick:x,onKeyDown:b=>{!r&&e.is_tappable&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),x())},onMouseEnter:!r&&e.is_tappable?n:void 0,children:[Ce("div",{className:H.streaks}),Ce("div",{className:H.streaksVert}),at("span",{className:H.content,children:[Ce("span",{className:H.text,children:e.icon?`${e.icon} ${e.text}`:e.text}),e.tag&&Ce("span",{className:H.tag,children:e.tag})]})]})}import{jsx as it}from"react/jsx-runtime";function Vt(){let[e,s]=Ut(Gt);return Wt(()=>{if(typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia(Kt),n=()=>s(t.matches);return n(),t.addEventListener("change",n),()=>t.removeEventListener("change",n)},[]),e}function rt({options:e,activeIndex:s,onSelect:t,onHighlight:n,listboxId:l,loading:r,groupKey:o}){let g=Vt(),{cols:v,maxHeight:x}=Ht(e.length,g);return it(tt,{min:"250px",max:"1fr",gap:"0",scroll:!0,scrollResetKey:o,cols:v,maxHeight:x,children:e.map((y,b)=>it(ot,{option:y,isHighlighted:b===s,onSelect:t,onHighlight:()=>n(b),id:`${l}-option-${b}`,loading:r},y.text))})}if(typeof document<"u"&&!document.getElementById("ac-style-8414cd5f")){let e=document.createElement("style");e.id="ac-style-8414cd5f",e.textContent=`@layer layout {
|
|
1460
1460
|
.aia-stack {
|
|
1461
1461
|
display: flex;
|
|
1462
1462
|
flex-direction: column;
|
|
@@ -1473,7 +1473,7 @@ import{buildSubmitResult as Go,withSkippedParams as Ko}from"@magicx-eng/ai-autoc
|
|
|
1473
1473
|
}
|
|
1474
1474
|
/* data-align="stretch" is the flex default \u2014 no rule needed. */
|
|
1475
1475
|
}
|
|
1476
|
-
`,document.head.appendChild(e)}import{jsx as
|
|
1476
|
+
`,document.head.appendChild(e)}import{jsx as qt}from"react/jsx-runtime";function nt({space:e,align:s="stretch",className:t,children:n,...l}){let r=e?{"--aia-stack-space":e}:void 0;return qt("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":s,style:r,...l,children:n})}import{jsx as Y,jsxs as st}from"react/jsx-runtime";var Jt=[159,119,164],Xt=()=>{};function Zt(e){let s=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[t,n]=Qt(s);if($t(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let l=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>n(l.matches);return l.addEventListener("change",r),()=>l.removeEventListener("change",r)},[e]),e!==void 0)return e==="auto"?t?"dark":"light":e}function Ne({suggestions:e,activeIndex:s,onSelect:t,onHighlight:n,isOpen:l,id:r,className:o,pills:g,onPillClick:v,showPills:x=!0,onSkip:y,showSkipButton:b=!0,skipDisabled:T=!1,activeSelected:U=!1,isLoading:K=!1,isInputEmpty:A=!1,products:I,onProductSelect:V,onProductFocusChange:C,optionsPosition:k="below",mode:W}){let q=Zt(W),$=q!==void 0,c=e[0]?.options??[],ee=!!(g&&g.length>0&&v),E=!!(I&&I.length>0),B=l&&(c.length>0||x&&ee||K||E),L={suggestions:e,activeIndex:s,pills:g,showPills:x,showSkipButton:b,skipDisabled:T,activeSelected:U,isLoading:K,isInputEmpty:A,products:I},j=jt(L);B&&(j.current=L);let h=B?L:j.current,z=h.suggestions[0],F=z?.options??[],D=h.activeIndex>=0&&!!F[h.activeIndex]?.is_tappable,M=!!(h.pills&&h.pills.length>0&&v),Q=h.showPills&&M,J=h.showPills&&!M&&h.isLoading,N=Q||J,i=M&&h.showSkipButton&&!h.isInputEmpty&&!!y,p=h.pills?.[0]?.text,u=F.length>0,f=h.isLoading&&!u,a=h.products??[];return Y("div",{id:r,role:"listbox","data-aia-dropdown":"","data-options-position":k,"data-mode":q,"data-aia-loading":h.isLoading?"":void 0,"data-aia-has-products":a.length>0?"":void 0,className:`${$?"magicx-aia ":""}${ie.dropdown} ${B?ie.visible:""} ${o??""}`,onMouseDown:_=>_.preventDefault(),children:st(nt,{space:"8px",children:[(N||i)&&st(fe,{noWrap:!0,className:ie.pillBar,"data-aia-pillbar":"",children:[N&&Y("span",{className:ie.pillScroll,"data-aia-pill-scroll":"",children:Y(Ae,{pills:h.pills??[],activePillIndex:0,activeSelected:h.activeSelected,onSelectPill:v??(()=>{}),rounded:!0,loading:h.isLoading})}),i&&Y("button",{type:"button",tabIndex:-1,className:ie.skip,"data-aia-skip":"",disabled:h.isLoading||h.skipDisabled,"aria-label":p?`Skip ${p}`:"Skip",onClick:y,children:"skip"})]}),u&&Y(rt,{options:F,activeIndex:h.activeIndex,onSelect:t,onHighlight:n,listboxId:r,loading:h.isLoading,groupKey:z?`${z.type} ${z.text}`:""}),f&&Y("div",{className:ie.skeletonBars,"data-aia-skeleton-bars":"",children:Jt.map(_=>Y("span",{className:ie.skeletonBar,style:{width:_}},`bar-${_}`))}),Y(et,{products:a,listboxId:r,onSelect:V??Xt,onFocusChange:C,focusable:B}),Y(Xe,{isOptionHighlighted:D,isInputEmpty:h.isInputEmpty})]})})}import{buildSubmitResult as la,ModeController as da,setCursorOffset as pa}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 {
|
|
1477
1477
|
flex-shrink: 0;
|
|
1478
1478
|
width: 32px;
|
|
1479
1479
|
height: 32px;
|
|
@@ -1508,5 +1508,5 @@ import{buildSubmitResult as Go,withSkippedParams as Ko}from"@magicx-eng/ai-autoc
|
|
|
1508
1508
|
);
|
|
1509
1509
|
cursor: default;
|
|
1510
1510
|
}
|
|
1511
|
-
`,document.head.appendChild(e)}var nt={submitButton:"SubmitButton-module_submitButton_otz7H"};import{jsx as Me}from"react/jsx-runtime";function st({disabled:e,onClick:s}){return Me("button",{type:"button","data-aia-submit":"",className:nt.submitButton,disabled:e,onClick:a=>{a.stopPropagation(),s()},"aria-label":"Submit",children:Me("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:Me("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as Xt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as pt,useEffect as fe,useRef as D,useState as Zt}from"react";import{useRef as lt}from"react";function dt(e){let s=lt(e);s.current=e;let a=lt(null);a.current===null&&(a.current={fetch:(d,l)=>{let o=s.current;return o?o.fetch(d,l):Promise.reject(new Error("products config removed"))},transform:d=>s.current?.transform(d)??[],get limit(){return s.current?.limit}});let n=e!==void 0;return{config:n?a.current:void 0,enabled:n}}var Yt={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],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 Ne({onSubmit:e,onError:s,optionOverrides:a,maskCompletedText:n,apiConfig:d,columns:l=2,dropdownTrigger:o,optionsPosition:m,closeDropdownOnBlur:f,showNonTappableOptions:v,showSkipButton:_,onFocus:x,onBlur:R,value:C,completedParams:A,onChange:U,onParamsChange:T,products:X,onProductSelect:E,source:y,setCursor:H}){let c=D(null),[Z,V]=Zt(null),q=D(e);q.current=e;let I=D(s);I.current=s;let L=D(U);L.current=U;let z=D(T);z.current=T;let G=D(x);G.current=x;let h=D(R);h.current=R;let P=D(H);P.current=H;let B=D(E);B.current=E;let $=dt(X);fe(()=>{if(typeof document>"u")return;let p=new Xt(document.createElement("div"),{renderMode:"headless",apiConfig:d,optionOverrides:a,maskCompletedText:n,columns:l,dropdownTrigger:o,optionsPosition:m,closeDropdownOnBlur:f,showNonTappableOptions:v,source:y,value:C,completedParams:A,onSubmit:(...k)=>q.current?.(...k),onError:(...k)=>I.current?.(...k),onChange:(...k)=>L.current?.(...k),onParamsChange:(...k)=>z.current?.(...k),onFocus:()=>G.current?.(),onBlur:()=>h.current?.(),onProductSelect:k=>B.current?.(k),setCursor:k=>P.current?.(k),products:$.config});c.current=p,V(p.getState());let S=p.subscribe(k=>V(k));return()=>{S(),p.destroy(),c.current===p&&(c.current=null)}},[]),fe(()=>{C!==void 0&&c.current?.setValue(C)},[C]),fe(()=>{A!==void 0&&c.current?.setCompletedParams(A)},[A]);let F=JSON.stringify(d??null),K=D(a),W=D(0);if(a!==K.current){let p=K.current,S=a,k=Object.keys(p??{}),de=Object.keys(S??{});(k.length!==de.length||de.some(me=>!p?.[me]||S[me]!==p[me]))&&W.current++,K.current=a}fe(()=>{c.current?.update({apiConfig:d,optionOverrides:a,dropdownTrigger:o,optionsPosition:m,closeDropdownOnBlur:f,showNonTappableOptions:v})},[F,W.current,o,m,f,v]);let j=D(!1);fe(()=>{if(!j.current){j.current=!0;return}c.current?.update({products:$.config})},[$.enabled]);let r=D(null);r.current===null&&(r.current={handleTextChange:p=>c.current?.handleTextChange(p),handleKeyDown:p=>{let S="nativeEvent"in p?p.nativeEvent:p;c.current?.handleKeyDown(S)},setFocused:p=>c.current?.setFocused(p),startEditingParam:p=>c.current?.startEditingParam(p),exitEditMode:()=>c.current?.exitEditMode(),handleCaretAfterInput:p=>c.current?.handleCaretAfterInput(p),handleCaretMove:p=>c.current?.handleCaretMove(p),replaceEditingRange:p=>c.current?.replaceEditingRange(p)??!1,setActivePill:p=>c.current?.setActivePill(p),skipActivePill:()=>c.current?.skipActivePill(),removeLastParam:()=>c.current?.removeLastParam(),clearNewParamId:()=>c.current?.clearNewParamId(),reset:()=>c.current?.reset(),selectOption:p=>c.current?.selectOption(p),selectProduct:p=>c.current?.selectProduct(p),setActiveDropdownIndex:p=>c.current?.setActiveDropdownIndex(p),handleFocus:()=>c.current?.setFocused(!0),handleBlur:()=>c.current?.setFocused(!1)});let t=r.current,u=pt(p=>{let S=p.target.value,de=S.length>0&&!p.nativeEvent?.isComposing&&S[0]!==S[0].toUpperCase()?S[0].toUpperCase()+S.slice(1):S;c.current?.handleTextChange(de)},[]),b=pt(p=>{c.current?.handleKeyDown(p.nativeEvent)},[]),g=c.current,i=Z??Yt,Y=C!==void 0?C:i.text,re=A!==void 0?A:i.completedParams,ne=i.actionableSuggestions,ve=ne[0],se=g?.listboxId??"",Ce=i.activeDropdownIndex>=0&&g?`${se}-option-${i.activeDropdownIndex}`:void 0,ee=i.editingParam,ue=ee?{type:ee.suggestionType,text:ee.suggestionPlaceholder,required:!0,options:ee.options}:null,xe=ue??ve,Ee=ue?[ue]:ne,we=!g||i.isLoading&&!i.editingParam&&!i.inSelectionAnimation;return{completedParams:re,skippedParams:i.skippedParams,suggestionPills:ne,setActivePill:t.setActivePill,skipActivePill:t.skipActivePill,removeLastParam:t.removeLastParam,segments:i.segments,newParamId:i.newParamId,clearNewParamId:t.clearNewParamId,suggestions:i.suggestions,activeIndex:i.activeDropdownIndex,isReady:i.isReady,isLoading:we,isFocused:i.isFocused,isDropdownOpen:i.isDropdownOpen,isActivePillSelected:i.isActivePillSelected,placeholderText:i.placeholderText,listboxId:se,error:i.error,products:i.products,selectProduct:t.selectProduct,handleTextChange:t.handleTextChange,handleKeyDown:t.handleKeyDown,setFocused:t.setFocused,editingParam:ee,editingAnchor:i.editingAnchor,caretOffset:i.caretOffset,startEditingParam:t.startEditingParam,exitEditMode:t.exitEditMode,handleCaretAfterInput:t.handleCaretAfterInput,handleCaretMove:t.handleCaretMove,replaceEditingRange:t.replaceEditingRange,inputProps:{value:Y,placeholder:i.placeholderText||void 0,onChange:u,onKeyDown:b,onFocus:t.handleFocus,onBlur:t.handleBlur,role:"combobox","aria-expanded":i.isDropdownOpen,"aria-activedescendant":Ce,"aria-autocomplete":"list","aria-controls":se},reset:t.reset,dropdownProps:{suggestions:xe?[{...xe,options:i.filteredOptions}]:[],activeIndex:i.activeDropdownIndex,onSelect:t.selectOption,onHighlight:t.setActiveDropdownIndex,isOpen:i.isDropdownOpen,id:se,pills:Ee,activeSelected:i.isActivePillSelected,onPillClick:t.setActivePill,onSkip:t.skipActivePill,showSkipButton:(_??!0)&&!ee,skipDisabled:i.inSelectionAnimation,isLoading:we,isInputEmpty:Y.trim().length===0,products:i.products,onProductSelect:t.selectProduct,onProductFocusChange:t.setFocused,optionsPosition:m??"below"}}}import{extractPlainText as ct,getCursorOffset as ut,plainTextLength as ea,renderEditableContent as ta,setCursorOffset as mt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as O,useEffect as Oe,useLayoutEffect as He,useRef as pe}from"react";var Ae;function aa(){if(Ae!==void 0)return Ae;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),Ae=e.contentEditable==="plaintext-only",Ae}function ht(e){let{segments:s,newParamId:a,editingParam:n,editingAnchor:d,caretOffset:l,placeholderText:o,isFocused:m,isDropdownOpen:f,listboxId:v,activeDescendantId:_,autoFocus:x,handleTextChange:R,handleKeyDown:C,handleCaretAfterInput:A,handleCaretMove:U,startEditingParam:T,replaceEditingRange:X,setFocused:E}=e,y=pe(null),H=pe(!1),c=pe(""),Z=pe(""),V=pe(null),q=pe(0);V.current=l,Oe(()=>{if(!x)return;let r=y.current;if(!r)return;document.activeElement===r?E(!0):r.focus();let t=r.ownerDocument??document,u=t.getSelection(),b=u&&u.rangeCount>0&&r.contains(u.anchorNode);if(u&&!b){let g=t.createRange();g.selectNodeContents(r),g.collapse(!0),u.removeAllRanges(),u.addRange(g)}},[x,E]),Oe(()=>{let r=y.current;if(!r)return;let t=r.ownerDocument??document,u=()=>{let b=t.getSelection();if(!b||b.rangeCount===0||!b.anchorNode||!r.contains(b.anchorNode))return;let g=b.anchorNode,i=g.nodeType===Node.ELEMENT_NODE?g:g.parentElement,re=(b.isCollapsed?i?.closest('strong[data-seg="completed"][data-param-id]'):null)?.dataset.paramId??null;if(re&&re!==n?.id){T(re);return}performance.now()-q.current<50||U(ut(r))};return t.addEventListener("selectionchange",u),()=>t.removeEventListener("selectionchange",u)},[n,T,U]),He(()=>{let r=y.current;r&&ta({input:r,segments:s,newParamId:a,editingParamId:n?.id??null,placeholderText:o??"",isFocused:m})},[s,a,n,o,m]),He(()=>{let r=c.current,t=a??"";if(c.current=t,!t||t===r)return;let u=y.current;if(!u)return;u.focus();let b=V.current??ea(u);mt(u,b)},[a]),He(()=>{let r=Z.current,t=n?.id??"";if(Z.current=t,!t||t===r||d==null)return;let u=y.current;u&&mt(u,d)},[n,d]);let I=O(()=>{if(H.current)return;let r=y.current;if(!r)return;let t=ct(r),b=t.length>0&&t[0]!==t[0].toUpperCase()?t[0].toUpperCase()+t.slice(1):t;R(b)},[R]),L=O(()=>{q.current=performance.now(),I();let r=y.current;r&&A(ut(r))},[I,A]);Oe(()=>{let r=y.current;if(!r)return;let t=u=>{let b=u,g=b.inputType;if(g==="insertParagraph"||g==="insertLineBreak"||g==="insertFromDrop"){u.preventDefault();return}if(g.startsWith("insert")||g.startsWith("delete")){let i=g.startsWith("delete")?"":b.data??"";X(i)&&u.preventDefault()}};return r.addEventListener("beforeinput",t),()=>r.removeEventListener("beforeinput",t)},[X]);let z=O(()=>{H.current=!0},[]),G=O(()=>{H.current=!1,I()},[I]),h=O(r=>{r.preventDefault();let t=y.current;if(!t)return;let u=(r.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!u)return;let b=t.ownerDocument??document,g=b.getSelection();if(!g||g.rangeCount===0)return;let i=g.getRangeAt(0);if(!t.contains(i.startContainer))return;i.deleteContents();let Y=b.createTextNode(u);i.insertNode(Y),i.setStartAfter(Y),i.collapse(!0),g.removeAllRanges(),g.addRange(i),I()},[I]),P=O(r=>C(r),[C]),B=O(()=>E(!0),[E]),$=O(()=>E(!1),[E]),F=O(()=>y.current?.focus(),[]),K=O(()=>y.current?.blur(),[]),W=O(()=>{let r=y.current;return r?ct(r):""},[]),j=aa()?"plaintext-only":"true";return{inputRef:y,editorProps:{ref:y,contentEditable:j,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":v,"aria-expanded":f,"aria-activedescendant":_,spellCheck:!0,enterKeyHint:"send",onInput:L,onKeyDown:P,onCompositionStart:z,onCompositionEnd:G,onPaste:h,onFocus:B,onBlur:$},getPlainText:W,focus:F,blur:K}}import{jsx as ce,jsxs as Ke}from"react/jsx-runtime";function da(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var pa=oa(function({onSubmit:s,onError:a,optionOverrides:n,maskCompletedText:d,className:l,apiConfig:o,columns:m,pillPlacement:f="dropdown",mode:v="auto",optionsPosition:_="below",animations:x=!0,dropdownTrigger:R,closeDropdownOnBlur:C,showNonTappableOptions:A,showSkipButton:U,autoFocus:T=!0,onFocus:X,onBlur:E,value:y,completedParams:H,onChange:c,onParamsChange:Z,products:V,onProductSelect:q,submitButton:I},L){let z=be(null),G=be(null),h=be(()=>{}),P=be(null),B=be(null);gt(()=>{let w=z.current;if(w)return P.current?P.current.setMode(v):P.current=new sa(w,v),()=>{P.current?.destroy(),P.current=null}},[v]);let $=Ge(w=>{let te=B.current?.current;te&&(te.focus(),la(te,w))},[]),{completedParams:F,skippedParams:K,suggestionPills:W,setActivePill:j,skipActivePill:r,segments:t,newParamId:u,clearNewParamId:b,placeholderText:g,isFocused:i,isDropdownOpen:Y,isActivePillSelected:re,isLoading:ne,activeIndex:ve,listboxId:se,handleTextChange:Ce,handleKeyDown:ee,setFocused:ue,editingParam:xe,editingAnchor:Ee,caretOffset:we,startEditingParam:p,handleCaretAfterInput:S,handleCaretMove:k,replaceEditingRange:de,dropdownProps:me,reset:ye}=Ne({onSubmit:w=>h.current(w),onError:a,optionOverrides:n,maskCompletedText:d,apiConfig:o,columns:m,dropdownTrigger:R,optionsPosition:_,closeDropdownOnBlur:C,showNonTappableOptions:A,showSkipButton:U,onFocus:X,onBlur:E,value:y,completedParams:H,onChange:c,onParamsChange:Z,products:V,onProductSelect:q,source:"full-sdk",setCursor:$});gt(()=>{if(!u)return;let w=window.setTimeout(()=>b(),650);return()=>window.clearTimeout(w)},[u,b]);let ft=ve>=0?`${se}-option-${ve}`:void 0,{inputRef:De,editorProps:bt,focus:ke,blur:We,getPlainText:Ue}=ht({segments:t,newParamId:u,editingParam:xe,editingAnchor:Ee,caretOffset:we,placeholderText:g,isFocused:i,isDropdownOpen:Y,listboxId:se,activeDescendantId:ft,autoFocus:T,handleTextChange:Ce,handleKeyDown:ee,handleCaretAfterInput:S,handleCaretMove:k,startEditingParam:p,replaceEditingRange:de,setFocused:ue});B.current=De,ra(()=>{let w=G.current,te=De.current;if(!w||!te)return;let Ve=()=>{let $e=w.firstElementChild;if(!$e)return;let yt=$e.getBoundingClientRect(),kt=te.getBoundingClientRect();yt.top>=kt.bottom-2?w.setAttribute("data-aia-pill-wrapped",""):w.removeAttribute("data-aia-pill-wrapped")};Ve();let qe=new ResizeObserver(Ve);return qe.observe(te),()=>qe.disconnect()},[t,W.length,ne,De]),ia(L,()=>({focus:ke,blur:We,reset:ye,setMode:w=>P.current?.setMode(w),skipActivePill:r}),[ke,We,ye,r]);let _e=!!t.length||F.length>0,Re=Ge(()=>{if(!_e)return;let w=Ue();s(na(w,F,K)),ye()},[_e,F,K,s,ye,Ue]);h.current=Re;let vt=Ge(w=>{w.target?.closest("[data-aia-pill]")||ke()},[ke]),xt=f==="inline",wt=f==="dropdown";return Ke("div",{ref:z,className:`magicx-aia ${le.container} ${l??""}`,"data-pill-placement":f,"data-options-position":_,"data-animations":x?"on":"off","data-mode":da(v),children:[ce(Fe,{...me,showPills:wt}),Ke("div",{className:le.inputWrapper,onClick:vt,children:[Ke("div",{className:le.editorArea,"data-aia-editor":"",children:[ce("div",{...bt,className:le.input,"data-aia-input":""}),xt&&(ne||W.length>0)&&ce("span",{ref:G,className:le.pillListContainer,"data-aia-pill-list-container":"",children:ce(Ie,{pills:W,activePillIndex:0,activeSelected:re,onSelectPill:j,loading:ne})})]}),I===null?null:I===void 0?ce(st,{disabled:!_e,onClick:Re}):ce("span",{"data-aia-submit":"",className:le.submitSlot,onClick:w=>{_e&&(w.stopPropagation(),Re())},children:I})]})]})});export{pa as AIAutocomplete,Fe as AIAutocompleteDropdown,Go as buildSubmitResult,Ne as useAIAutocomplete,Ko as withSkippedParams};
|
|
1511
|
+
`,document.head.appendChild(e)}var lt={submitButton:"SubmitButton-module_submitButton_otz7H"};import{jsx as Oe}from"react/jsx-runtime";function dt({disabled:e,onClick:s}){return Oe("button",{type:"button","data-aia-submit":"",className:lt.submitButton,disabled:e,onClick:t=>{t.stopPropagation(),s()},"aria-label":"Submit",children:Oe("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:Oe("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as Yt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as ut,useEffect as ve,useRef as R,useState as ea}from"react";import{useRef as pt}from"react";function ct(e){let s=pt(e);s.current=e;let t=pt(null);t.current===null&&(t.current={fetch:(l,r)=>{let o=s.current;return o?o.fetch(l,r):Promise.reject(new Error("products config removed"))},transform:l=>s.current?.transform(l)??[],get limit(){return s.current?.limit}});let n=e!==void 0;return{config:n?t.current:void 0,enabled:n}}var ta={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],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 He({onSubmit:e,onError:s,optionOverrides:t,maskCompletedText:n,apiConfig:l,additionalContext:r,generateStartingStateOptions:o,columns:g=2,dropdownTrigger:v,optionsPosition:x,closeDropdownOnBlur:y,showNonTappableOptions:b,showSkipButton:T,onFocus:U,onBlur:K,value:A,completedParams:I,onChange:V,onParamsChange:C,products:k,onProductSelect:W,source:q,setCursor:$}){let c=R(null),[ee,E]=ea(null),B=R(e);B.current=e;let L=R(s);L.current=s;let j=R(V);j.current=V;let h=R(C);h.current=C;let z=R(U);z.current=U;let F=R(K);F.current=K;let D=R($);D.current=$;let M=R(W);M.current=W;let Q=ct(k);ve(()=>{if(typeof document>"u")return;let d=new Yt(document.createElement("div"),{renderMode:"headless",apiConfig:l,additionalContext:r,generateStartingStateOptions:o,optionOverrides:t,maskCompletedText:n,columns:g,dropdownTrigger:v,optionsPosition:x,closeDropdownOnBlur:y,showNonTappableOptions:b,source:q,value:A,completedParams:I,onSubmit:(...P)=>B.current?.(...P),onError:(...P)=>L.current?.(...P),onChange:(...P)=>j.current?.(...P),onParamsChange:(...P)=>h.current?.(...P),onFocus:()=>z.current?.(),onBlur:()=>F.current?.(),onProductSelect:P=>M.current?.(P),setCursor:P=>D.current?.(P),products:Q.config});c.current=d,E(d.getState());let S=d.subscribe(P=>E(P));return()=>{S(),d.destroy(),c.current===d&&(c.current=null)}},[]),ve(()=>{A!==void 0&&c.current?.setValue(A)},[A]),ve(()=>{I!==void 0&&c.current?.setCompletedParams(I)},[I]);let J=JSON.stringify(l??null),N;try{N=JSON.stringify(r??null)}catch{N="[unstringifiable]"}let i=R(t),p=R(0);if(t!==i.current){let d=i.current,S=t,P=Object.keys(d??{}),ce=Object.keys(S??{});(P.length!==ce.length||ce.some(ae=>!d?.[ae]||S[ae]!==d[ae]))&&p.current++,i.current=t}ve(()=>{c.current?.update({apiConfig:l,additionalContext:r,generateStartingStateOptions:o,optionOverrides:t,dropdownTrigger:v,optionsPosition:x,closeDropdownOnBlur:y,showNonTappableOptions:b})},[J,N,o,p.current,v,x,y,b]);let u=R(!1);ve(()=>{if(!u.current){u.current=!0;return}c.current?.update({products:Q.config})},[Q.enabled]);let f=R(null);f.current===null&&(f.current={handleTextChange:d=>c.current?.handleTextChange(d),handleKeyDown:d=>{let S="nativeEvent"in d?d.nativeEvent:d;c.current?.handleKeyDown(S)},setFocused:d=>c.current?.setFocused(d),startEditingParam:d=>c.current?.startEditingParam(d),exitEditMode:()=>c.current?.exitEditMode(),handleCaretAfterInput:d=>c.current?.handleCaretAfterInput(d),handleCaretMove:d=>c.current?.handleCaretMove(d),replaceEditingRange:d=>c.current?.replaceEditingRange(d)??!1,setActivePill:d=>c.current?.setActivePill(d),skipActivePill:()=>c.current?.skipActivePill(),removeLastParam:()=>c.current?.removeLastParam(),clearNewParamId:()=>c.current?.clearNewParamId(),reset:()=>c.current?.reset(),selectOption:d=>c.current?.selectOption(d),selectProduct:d=>c.current?.selectProduct(d),setActiveDropdownIndex:d=>c.current?.setActiveDropdownIndex(d),handleFocus:()=>c.current?.setFocused(!0),handleBlur:()=>c.current?.setFocused(!1)});let a=f.current,_=ut(d=>{let S=d.target.value,ce=S.length>0&&!d.nativeEvent?.isComposing&&S[0]!==S[0].toUpperCase()?S[0].toUpperCase()+S.slice(1):S;c.current?.handleTextChange(ce)},[]),se=ut(d=>{c.current?.handleKeyDown(d.nativeEvent)},[]),X=c.current,m=ee??ta,we=A!==void 0?A:m.text,he=I!==void 0?I:m.completedParams,de=m.actionableSuggestions,ye=de[0],pe=X?.listboxId??"",De=m.activeDropdownIndex>=0&&X?`${pe}-option-${m.activeDropdownIndex}`:void 0,te=m.editingParam,ge=te?{type:te.suggestionType,text:te.suggestionPlaceholder,required:!0,options:te.options}:null,ke=ge??ye,Re=ge?[ge]:de,_e=!X||m.isLoading&&!m.editingParam&&!m.inSelectionAnimation;return{completedParams:he,skippedParams:m.skippedParams,suggestionPills:de,setActivePill:a.setActivePill,skipActivePill:a.skipActivePill,removeLastParam:a.removeLastParam,segments:m.segments,newParamId:m.newParamId,clearNewParamId:a.clearNewParamId,suggestions:m.suggestions,activeIndex:m.activeDropdownIndex,isReady:m.isReady,isLoading:_e,isFocused:m.isFocused,isDropdownOpen:m.isDropdownOpen,isActivePillSelected:m.isActivePillSelected,placeholderText:m.placeholderText,listboxId:pe,error:m.error,products:m.products,selectProduct:a.selectProduct,handleTextChange:a.handleTextChange,handleKeyDown:a.handleKeyDown,setFocused:a.setFocused,editingParam:te,editingAnchor:m.editingAnchor,caretOffset:m.caretOffset,startEditingParam:a.startEditingParam,exitEditMode:a.exitEditMode,handleCaretAfterInput:a.handleCaretAfterInput,handleCaretMove:a.handleCaretMove,replaceEditingRange:a.replaceEditingRange,inputProps:{value:we,placeholder:m.placeholderText||void 0,onChange:_,onKeyDown:se,onFocus:a.handleFocus,onBlur:a.handleBlur,role:"combobox","aria-expanded":m.isDropdownOpen,"aria-activedescendant":De,"aria-autocomplete":"list","aria-controls":pe},reset:a.reset,dropdownProps:{suggestions:ke?[{...ke,options:m.filteredOptions}]:[],activeIndex:m.activeDropdownIndex,onSelect:a.selectOption,onHighlight:a.setActiveDropdownIndex,isOpen:m.isDropdownOpen,id:pe,pills:Re,activeSelected:m.isActivePillSelected,onPillClick:a.setActivePill,onSkip:a.skipActivePill,showSkipButton:(T??!0)&&!te,skipDisabled:m.inSelectionAnimation,isLoading:_e,isInputEmpty:we.trim().length===0,products:m.products,onProductSelect:a.selectProduct,onProductFocusChange:a.setFocused,optionsPosition:x??"below"}}}import{extractPlainText as mt,getCursorOffset as ht,plainTextLength as aa,renderEditableContent as oa,setCursorOffset as gt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as G,useEffect as Ge,useLayoutEffect as Ke,useRef as ue}from"react";var Ee;function ia(){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 ft(e){let{segments:s,newParamId:t,editingParam:n,editingAnchor:l,caretOffset:r,placeholderText:o,isFocused:g,isDropdownOpen:v,listboxId:x,activeDescendantId:y,autoFocus:b,handleTextChange:T,handleKeyDown:U,handleCaretAfterInput:K,handleCaretMove:A,startEditingParam:I,replaceEditingRange:V,setFocused:C}=e,k=ue(null),W=ue(!1),q=ue(""),$=ue(""),c=ue(null),ee=ue(0);c.current=r,Ge(()=>{if(!b)return;let i=k.current;if(!i)return;document.activeElement===i?C(!0):i.focus();let p=i.ownerDocument??document,u=p.getSelection(),f=u&&u.rangeCount>0&&i.contains(u.anchorNode);if(u&&!f){let a=p.createRange();a.selectNodeContents(i),a.collapse(!0),u.removeAllRanges(),u.addRange(a)}},[b,C]),Ge(()=>{let i=k.current;if(!i)return;let p=i.ownerDocument??document,u=()=>{let f=p.getSelection();if(!f||f.rangeCount===0||!f.anchorNode||!i.contains(f.anchorNode))return;let a=f.anchorNode,_=a.nodeType===Node.ELEMENT_NODE?a:a.parentElement,X=(f.isCollapsed?_?.closest('strong[data-seg="completed"][data-param-id]'):null)?.dataset.paramId??null;if(X&&X!==n?.id){I(X);return}performance.now()-ee.current<50||A(ht(i))};return p.addEventListener("selectionchange",u),()=>p.removeEventListener("selectionchange",u)},[n,I,A]),Ke(()=>{let i=k.current;i&&oa({input:i,segments:s,newParamId:t,editingParamId:n?.id??null,placeholderText:o??"",isFocused:g})},[s,t,n,o,g]),Ke(()=>{let i=q.current,p=t??"";if(q.current=p,!p||p===i)return;let u=k.current;if(!u)return;u.focus();let f=c.current??aa(u);gt(u,f)},[t]),Ke(()=>{let i=$.current,p=n?.id??"";if($.current=p,!p||p===i||l==null)return;let u=k.current;u&>(u,l)},[n,l]);let E=G(()=>{if(W.current)return;let i=k.current;if(!i)return;let p=mt(i),f=p.length>0&&p[0]!==p[0].toUpperCase()?p[0].toUpperCase()+p.slice(1):p;T(f)},[T]),B=G(()=>{ee.current=performance.now(),E();let i=k.current;i&&K(ht(i))},[E,K]);Ge(()=>{let i=k.current;if(!i)return;let p=u=>{let f=u,a=f.inputType;if(a==="insertParagraph"||a==="insertLineBreak"||a==="insertFromDrop"){u.preventDefault();return}if(a.startsWith("insert")||a.startsWith("delete")){let _=a.startsWith("delete")?"":f.data??"";V(_)&&u.preventDefault()}};return i.addEventListener("beforeinput",p),()=>i.removeEventListener("beforeinput",p)},[V]);let L=G(()=>{W.current=!0},[]),j=G(()=>{W.current=!1,E()},[E]),h=G(i=>{i.preventDefault();let p=k.current;if(!p)return;let u=(i.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!u)return;let f=p.ownerDocument??document,a=f.getSelection();if(!a||a.rangeCount===0)return;let _=a.getRangeAt(0);if(!p.contains(_.startContainer))return;_.deleteContents();let se=f.createTextNode(u);_.insertNode(se),_.setStartAfter(se),_.collapse(!0),a.removeAllRanges(),a.addRange(_),E()},[E]),z=G(i=>U(i),[U]),F=G(()=>C(!0),[C]),D=G(()=>C(!1),[C]),M=G(()=>k.current?.focus(),[]),Q=G(()=>k.current?.blur(),[]),J=G(()=>{let i=k.current;return i?mt(i):""},[]),N=ia()?"plaintext-only":"true";return{inputRef:k,editorProps:{ref:k,contentEditable:N,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":x,"aria-expanded":v,"aria-activedescendant":y,spellCheck:!0,enterKeyHint:"send",onInput:B,onKeyDown:z,onCompositionStart:L,onCompositionEnd:j,onPaste:h,onFocus:F,onBlur:D},getPlainText:J,focus:M,blur:Q}}import{jsx as me,jsxs as Ue}from"react/jsx-runtime";function ca(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var ua=ra(function({onSubmit:s,onError:t,optionOverrides:n,maskCompletedText:l,className:r,apiConfig:o,additionalContext:g,generateStartingStateOptions:v,columns:x,pillPlacement:y="dropdown",mode:b="auto",optionsPosition:T="below",animations:U=!0,dropdownTrigger:K,closeDropdownOnBlur:A,showNonTappableOptions:I,showSkipButton:V,autoFocus:C=!0,onFocus:k,onBlur:W,value:q,completedParams:$,onChange:c,onParamsChange:ee,products:E,onProductSelect:B,submitButton:L},j){let h=xe(null),z=xe(null),F=xe(()=>{}),D=xe(null),M=xe(null);bt(()=>{let w=h.current;if(w)return D.current?D.current.setMode(b):D.current=new da(w,b),()=>{D.current?.destroy(),D.current=null}},[b]);let Q=We(w=>{let oe=M.current?.current;oe&&(oe.focus(),pa(oe,w))},[]),{completedParams:J,skippedParams:N,suggestionPills:i,setActivePill:p,skipActivePill:u,segments:f,newParamId:a,clearNewParamId:_,placeholderText:se,isFocused:X,isDropdownOpen:m,isActivePillSelected:we,isLoading:he,activeIndex:de,listboxId:ye,handleTextChange:pe,handleKeyDown:De,setFocused:te,editingParam:ge,editingAnchor:ke,caretOffset:Re,startEditingParam:_e,handleCaretAfterInput:d,handleCaretMove:S,replaceEditingRange:P,dropdownProps:ce,reset:ae}=He({onSubmit:w=>F.current(w),onError:t,optionOverrides:n,maskCompletedText:l,apiConfig:o,additionalContext:g,generateStartingStateOptions:v,columns:x,dropdownTrigger:K,optionsPosition:T,closeDropdownOnBlur:A,showNonTappableOptions:I,showSkipButton:V,onFocus:k,onBlur:W,value:q,completedParams:$,onChange:c,onParamsChange:ee,products:E,onProductSelect:B,source:"full-sdk",setCursor:Q});bt(()=>{if(!a)return;let w=window.setTimeout(()=>_(),650);return()=>window.clearTimeout(w)},[a,_]);let vt=de>=0?`${ye}-option-${de}`:void 0,{inputRef:Te,editorProps:xt,focus:Pe,blur:Ve,getPlainText:qe}=ft({segments:f,newParamId:a,editingParam:ge,editingAnchor:ke,caretOffset:Re,placeholderText:se,isFocused:X,isDropdownOpen:m,listboxId:ye,activeDescendantId:vt,autoFocus:C,handleTextChange:pe,handleKeyDown:De,handleCaretAfterInput:d,handleCaretMove:S,startEditingParam:_e,replaceEditingRange:P,setFocused:te});M.current=Te,sa(()=>{let w=z.current,oe=Te.current;if(!w||!oe)return;let $e=()=>{let Qe=w.firstElementChild;if(!Qe)return;let _t=Qe.getBoundingClientRect(),Pt=oe.getBoundingClientRect();_t.top>=Pt.bottom-2?w.setAttribute("data-aia-pill-wrapped",""):w.removeAttribute("data-aia-pill-wrapped")};$e();let je=new ResizeObserver($e);return je.observe(oe),()=>je.disconnect()},[f,i.length,he,Te]),na(j,()=>({focus:Pe,blur:Ve,reset:ae,setMode:w=>D.current?.setMode(w),skipActivePill:u}),[Pe,Ve,ae,u]);let Ie=!!f.length||J.length>0,Le=We(()=>{if(!Ie)return;let w=qe();s(la(w,J,N)),ae()},[Ie,J,N,s,ae,qe]);F.current=Le;let wt=We(w=>{w.target?.closest("[data-aia-pill]")||Pe()},[Pe]),yt=y==="inline",kt=y==="dropdown";return Ue("div",{ref:h,className:`magicx-aia ${le.container} ${r??""}`,"data-pill-placement":y,"data-options-position":T,"data-animations":U?"on":"off","data-mode":ca(b),children:[me(Ne,{...ce,showPills:kt}),Ue("div",{className:le.inputWrapper,onClick:wt,children:[Ue("div",{className:le.editorArea,"data-aia-editor":"",children:[me("div",{...xt,className:le.input,"data-aia-input":""}),yt&&(he||i.length>0)&&me("span",{ref:z,className:le.pillListContainer,"data-aia-pill-list-container":"",children:me(Ae,{pills:i,activePillIndex:0,activeSelected:we,onSelectPill:p,loading:he})})]}),L===null?null:L===void 0?me(dt,{disabled:!Ie,onClick:Le}):me("span",{"data-aia-submit":"",className:le.submitSlot,onClick:w=>{Ie&&(w.stopPropagation(),Le())},children:L})]})]})});export{ua as AIAutocomplete,Ne as AIAutocompleteDropdown,Wo as buildSubmitResult,He as useAIAutocomplete,Uo as withSkippedParams};
|
|
1512
1512
|
//# sourceMappingURL=index.mjs.map
|