@magicx-eng/ai-autocomplete-react 0.12.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/index.d.mts +1 -15
- package/dist/index.d.ts +1 -15
- 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 Ko,withSkippedParams as Wo}from"@magicx-eng/ai-autocomplete-vanilla";import{forwardRef as ia,useCallback as Ke,useEffect as ft,useImperativeHandle as ra,useLayoutEffect as na,useRef as ve}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 Wo,withSkippedParams as Uo}from"@magicx-eng/ai-autoc
|
|
|
179
179
|
opacity: 0;
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
|
-
`,document.head.appendChild(e)}var
|
|
182
|
+
`,document.head.appendChild(e)}var se={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 qt,useRef as $t,useState as jt}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 Wo,withSkippedParams as Uo}from"@magicx-eng/ai-autoc
|
|
|
665
665
|
opacity: 0.25;
|
|
666
666
|
}
|
|
667
667
|
}
|
|
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
|
|
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 Pt,buildAttributionUrl as It,getFooterHint as St}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as At,useState as Ct}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 Wo,withSkippedParams as Uo}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 Qe}from"react/jsx-runtime";function ge({gap:e,align:n="center",justify:t="start",noWrap:r=!1,inline:l=!1,className:i,children:a,...h}){let b=e?{"--aia-cluster-gap":e}:void 0,x={className:i?`aia-cluster ${i}`:"aia-cluster","data-align":n,"data-justify":t,"data-nowrap":r||void 0,"data-inline":l||void 0,style:b,...h};return l?Qe("span",{...x,children:a}):Qe("div",{...x,children:a})}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 Wo,withSkippedParams as Uo}from"@magicx-eng/ai-autoc
|
|
|
837
837
|
justify-content: flex-end;
|
|
838
838
|
}
|
|
839
839
|
}
|
|
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
|
|
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 fe,jsxs as Le}from"react/jsx-runtime";function Je({isOptionHighlighted:e=!1,isInputEmpty:n=!1}){let{key:t,hint:r}=St(e,n),[l,i]=Ct(Pt);return At(()=>{i(It())},[]),fe("footer",{className:Z.footer,"data-aia-footer":"",children:Le(ge,{justify:"between",noWrap:!0,className:Z.row,children:[Le(ge,{gap:"5px",className:Z.hintGroup,children:[fe("kbd",{className:Z.key,children:t}),fe("span",{className:Z.hint,children:r})]}),Le("a",{className:Z.brandLink,href:l,target:"_blank",rel:"noopener noreferrer",children:[fe("span",{className:Z.brand,children:"AI"}),fe("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 Wo,withSkippedParams as Uo}from"@magicx-eng/ai-autoc
|
|
|
894
894
|
opacity: 0;
|
|
895
895
|
}
|
|
896
896
|
}
|
|
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
|
|
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 Et}from"react/jsx-runtime";var ze={selected:1,first:.7,next:.4,last:.2};function Xe({label:e,state:n,rounded:t,loading:r,onClick:l}){let i=[re.pill,t?re.rounded:"",r?re.skeleton:""].filter(Boolean).join(" ");return Et("button",{type:"button","data-aia-pill":"","data-aia-loading":r?"":void 0,tabIndex:-1,contentEditable:!1,suppressContentEditableWarning:!0,className:i,style:{opacity:ze[n]},onMouseDown:a=>a.preventDefault(),onClick:r?void 0:l,disabled:r,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 Wo,withSkippedParams as Uo}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 Be={list:"PillList-module_list_qvLqO"};import{jsx as Ie}from"react/jsx-runtime";var Dt=[125,69];function Ze(e){return e===0?"first":e===1?"next":"last"}function Se({pills:e,activePillIndex:n,onSelectPill:t,activeSelected:r,rounded:l,loading:i}){return i&&e.length===0?Ie("span",{className:Be.list,"data-aia-pill-list-loading":"",children:Dt.map((a,h)=>Ie("span",{"data-aia-pill-skeleton":"",className:`${re.pill} ${l?re.rounded:""} ${re.skeleton}`,style:{width:a,opacity:ze[Ze(h)]}},`skel-${a}`))}):Ie("span",{className:Be.list,"data-aia-pill-list-loading":i?"":void 0,children:e.map((a,h)=>{let b=!!r&&h===n;return Ie(Xe,{label:a.text,state:b?"selected":Ze(h),selected:b,rounded:l,loading:i,onClick:()=>t(h)},`${a.type}-${a.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 Wo,withSkippedParams as Uo}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 N={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 Fe}from"react/jsx-runtime";function Ye({products:e,listboxId:n,onSelect:t,onFocusChange:r,focusable:l=!0}){if(e.length===0)return null;let i=`${n}-products-label`;return Fe("section",{className:N.section,"data-aia-products":"",role:"group","aria-labelledby":i,children:[ne("div",{className:N.label,id:i,children:"Products"}),ne("div",{className:N.row,"data-aia-products-row":"",children:e.map((a,h)=>ne(Rt,{product:a,id:`${n}-product-${h}`,onSelect:t,onFocusChange:r,focusable:l},a.id))})]})}function Rt({product:e,id:n,onSelect:t,onFocusChange:r,focusable:l}){let i=a=>{a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||a.button!==0||(a.preventDefault(),t(e))};return Fe("a",{id:n,className:N.card,"data-aia-product":"",role:"option","aria-selected":!1,href:e.url,tabIndex:l?0:-1,onClick:i,onKeyDown:a=>{a.key!=="Enter"&&a.key!==" "||(a.preventDefault(),t(e))},onFocus:()=>r?.(!0),onBlur:a=>{a.relatedTarget?.closest("[data-aia-dropdown]")||r?.(!1)},children:[ne("span",{className:N.media,"data-aia-product-placeholder":e.imageUrl?void 0:"",children:e.imageUrl?ne("img",{className:N.image,src:e.imageUrl,alt:"",loading:"lazy",decoding:"async"}):null}),Fe("span",{className:N.body,children:[e.vendor?ne("span",{className:N.vendor,children:e.vendor}):null,ne("span",{className:N.title,children:e.title}),e.price?ne("span",{className:N.price,children:e.price}):null]})]})}import{computeOptionsGridLayout as Ot,isOptionsGridMobileViewport as Ht,OPTIONS_GRID_MOBILE_QUERY as Gt}from"@magicx-eng/ai-autocomplete-vanilla";import{useEffect as Kt,useState as Wt}from"react";import{optionsGridTemplateColumns as Tt}from"@magicx-eng/ai-autocomplete-vanilla";import{useLayoutEffect as Lt,useRef as zt}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 Wo,withSkippedParams as Uo}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 Bt}from"react/jsx-runtime";function et({min:e="16rem",max:n,gap:t,scroll:r=!1,maxHeight:l,scrollResetKey:i,cols:a,className:h,children:b,...x}){let w=zt(null);Lt(()=>{if(i===void 0)return;let T=w.current;T&&(T.scrollTop=0)},[i]);let v={"--aia-grid-min":e};return n&&(v["--aia-grid-max"]=n),t&&(v["--aia-grid-gap"]=t),l&&(v["--aia-grid-max-height"]=l),a&&(v.gridTemplateColumns=Tt(a)),Bt("div",{ref:w,className:h?`aia-grid ${h}`:"aia-grid","data-scroll":r||void 0,style:v,...x,children:b})}import{useEffect as Ft,useRef as Mt,useState as Nt}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 Wo,withSkippedParams as Uo}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 O={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 Ae,jsxs as tt}from"react/jsx-runtime";function at({option:e,isHighlighted:n,onSelect:t,onHighlight:r,id:l,loading:i}){let[a,h]=Nt(!1),b=Mt(void 0);Ft(()=>()=>clearTimeout(b.current),[]);let x=()=>{i||!e.is_tappable||a||(h(!0),t(e),clearTimeout(b.current),b.current=setTimeout(()=>h(!1),500))},w=[O.item,n&&!i?O.highlighted:"",e.is_tappable?O.tappable:O.nonTappable,a?O.pressed:""].filter(Boolean).join(" ");return tt("div",{id:l,role:"option","data-aia-option":"","data-aia-loading":i?"":void 0,"aria-selected":n,className:w,tabIndex:i||!e.is_tappable?-1:0,onClick:x,onKeyDown:v=>{!i&&e.is_tappable&&(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),x())},onMouseEnter:!i&&e.is_tappable?r:void 0,children:[Ae("div",{className:O.streaks}),Ae("div",{className:O.streaksVert}),tt("span",{className:O.content,children:[Ae("span",{className:O.text,children:e.icon?`${e.icon} ${e.text}`:e.text}),e.tag&&Ae("span",{className:O.tag,children:e.tag})]})]})}import{jsx as ot}from"react/jsx-runtime";function Ut(){let[e,n]=Wt(Ht);return Kt(()=>{if(typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia(Gt),r=()=>n(t.matches);return r(),t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[]),e}function it({options:e,activeIndex:n,onSelect:t,onHighlight:r,listboxId:l,loading:i,groupKey:a}){let h=Ut(),{cols:b,maxHeight:x}=Ot(e.length,h);return ot(et,{min:"250px",max:"1fr",gap:"0",scroll:!0,scrollResetKey:a,cols:b,maxHeight:x,children:e.map((w,v)=>ot(at,{option:w,isHighlighted:v===n,onSelect:t,onHighlight:()=>r(v),id:`${l}-option-${v}`,loading:i},w.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 Wo,withSkippedParams as Uo}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 Vt}from"react/jsx-runtime";function rt({space:e,align:n="stretch",className:t,children:r,...l}){let i=e?{"--aia-stack-space":e}:void 0;return Vt("div",{className:t?`aia-stack ${t}`:"aia-stack","data-align":n,style:i,...l,children:r})}import{jsx as Y,jsxs as nt}from"react/jsx-runtime";var Qt=[159,119,164],Jt=()=>{};function Xt(e){let n=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[t,r]=jt(n);if(qt(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let l=window.matchMedia("(prefers-color-scheme: dark)"),i=()=>r(l.matches);return l.addEventListener("change",i),()=>l.removeEventListener("change",i)},[e]),e!==void 0)return e==="auto"?t?"dark":"light":e}function Me({suggestions:e,activeIndex:n,onSelect:t,onHighlight:r,isOpen:l,id:i,className:a,pills:h,onPillClick:b,showPills:x=!0,onSkip:w,showSkipButton:v=!0,skipDisabled:T=!1,activeSelected:V=!1,isLoading:A=!1,isInputEmpty:C=!1,products:F,onProductSelect:q,onProductFocusChange:L,optionsPosition:y="below",mode:$}){let G=Xt($),m=G!==void 0,ee=e[0]?.options??[],j=!!(h&&h.length>0&&b),E=!!(F&&F.length>0),D=l&&(ee.length>0||x&&j||A||E),K={suggestions:e,activeIndex:n,pills:h,showPills:x,showSkipButton:v,skipDisabled:T,activeSelected:V,isLoading:A,isInputEmpty:C,products:F},W=$t(K);D&&(W.current=K);let g=D?K:W.current,z=g.suggestions[0],I=z?.options??[],Q=g.activeIndex>=0&&!!I[g.activeIndex]?.is_tappable,M=!!(g.pills&&g.pills.length>0&&b),J=g.showPills&&M,U=g.showPills&&!M&&g.isLoading,B=J||U,s=M&&g.showSkipButton&&!g.isInputEmpty&&!!w,p=g.pills?.[0]?.text,u=I.length>0,o=g.isLoading&&!u,f=g.products??[];return Y("div",{id:i,role:"listbox","data-aia-dropdown":"","data-options-position":y,"data-mode":G,"data-aia-loading":g.isLoading?"":void 0,"data-aia-has-products":f.length>0?"":void 0,className:`${m?"magicx-aia ":""}${ie.dropdown} ${D?ie.visible:""} ${a??""}`,onMouseDown:_=>_.preventDefault(),children:nt(rt,{space:"8px",children:[(B||s)&&nt(ge,{noWrap:!0,className:ie.pillBar,"data-aia-pillbar":"",children:[B&&Y("span",{className:ie.pillScroll,"data-aia-pill-scroll":"",children:Y(Se,{pills:g.pills??[],activePillIndex:0,activeSelected:g.activeSelected,onSelectPill:b??(()=>{}),rounded:!0,loading:g.isLoading})}),s&&Y("button",{type:"button",tabIndex:-1,className:ie.skip,"data-aia-skip":"",disabled:g.isLoading||g.skipDisabled,"aria-label":p?`Skip ${p}`:"Skip",onClick:w,children:"skip"})]}),u&&Y(it,{options:I,activeIndex:g.activeIndex,onSelect:t,onHighlight:r,listboxId:i,loading:g.isLoading,groupKey:z?`${z.type} ${z.text}`:""}),o&&Y("div",{className:ie.skeletonBars,"data-aia-skeleton-bars":"",children:Qt.map(_=>Y("span",{className:ie.skeletonBar,style:{width:_}},`bar-${_}`))}),Y(Ye,{products:f,listboxId:i,onSelect:q??Jt,onFocusChange:L,focusable:D}),Y(Je,{isOptionHighlighted:Q,isInputEmpty:g.isInputEmpty})]})})}import{buildSubmitResult as sa,ModeController as la,setCursorOffset as da}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 Wo,withSkippedParams as Uo}from"@magicx-eng/ai-autoc
|
|
|
1508
1508
|
);
|
|
1509
1509
|
cursor: default;
|
|
1510
1510
|
}
|
|
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};
|
|
1511
|
+
`,document.head.appendChild(e)}var st={submitButton:"SubmitButton-module_submitButton_otz7H"};import{jsx as Ne}from"react/jsx-runtime";function lt({disabled:e,onClick:n}){return Ne("button",{type:"button","data-aia-submit":"",className:st.submitButton,disabled:e,onClick:t=>{t.stopPropagation(),n()},"aria-label":"Submit",children:Ne("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:Ne("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}import{AIAutocomplete as Zt}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as ct,useEffect as be,useRef as R,useState as Yt}from"react";import{useRef as dt}from"react";function pt(e){let n=dt(e);n.current=e;let t=dt(null);t.current===null&&(t.current={fetch:(l,i)=>{let a=n.current;return a?a.fetch(l,i):Promise.reject(new Error("products config removed"))},transform:l=>n.current?.transform(l)??[],get limit(){return n.current?.limit}});let r=e!==void 0;return{config:r?t.current:void 0,enabled:r}}var ea={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 Oe({onSubmit:e,onError:n,optionOverrides:t,maskCompletedText:r,apiConfig:l,additionalContext:i,columns:a=2,dropdownTrigger:h,optionsPosition:b,closeDropdownOnBlur:x,showNonTappableOptions:w,showSkipButton:v,onFocus:T,onBlur:V,value:A,completedParams:C,onChange:F,onParamsChange:q,products:L,onProductSelect:y,source:$,setCursor:G}){let m=R(null),[ee,j]=Yt(null),E=R(e);E.current=e;let D=R(n);D.current=n;let K=R(F);K.current=F;let W=R(q);W.current=q;let g=R(T);g.current=T;let z=R(V);z.current=V;let I=R(G);I.current=G;let Q=R(y);Q.current=y;let M=pt(L);be(()=>{if(typeof document>"u")return;let d=new Zt(document.createElement("div"),{renderMode:"headless",apiConfig:l,additionalContext:i,optionOverrides:t,maskCompletedText:r,columns:a,dropdownTrigger:h,optionsPosition:b,closeDropdownOnBlur:x,showNonTappableOptions:w,source:$,value:A,completedParams:C,onSubmit:(...P)=>E.current?.(...P),onError:(...P)=>D.current?.(...P),onChange:(...P)=>K.current?.(...P),onParamsChange:(...P)=>W.current?.(...P),onFocus:()=>g.current?.(),onBlur:()=>z.current?.(),onProductSelect:P=>Q.current?.(P),setCursor:P=>I.current?.(P),products:M.config});m.current=d,j(d.getState());let S=d.subscribe(P=>j(P));return()=>{S(),d.destroy(),m.current===d&&(m.current=null)}},[]),be(()=>{A!==void 0&&m.current?.setValue(A)},[A]),be(()=>{C!==void 0&&m.current?.setCompletedParams(C)},[C]);let J=JSON.stringify(l??null),U;try{U=JSON.stringify(i??null)}catch{U="[unstringifiable]"}let B=R(t),s=R(0);if(t!==B.current){let d=B.current,S=t,P=Object.keys(d??{}),pe=Object.keys(S??{});(P.length!==pe.length||pe.some(ae=>!d?.[ae]||S[ae]!==d[ae]))&&s.current++,B.current=t}be(()=>{m.current?.update({apiConfig:l,additionalContext:i,optionOverrides:t,dropdownTrigger:h,optionsPosition:b,closeDropdownOnBlur:x,showNonTappableOptions:w})},[J,U,s.current,h,b,x,w]);let p=R(!1);be(()=>{if(!p.current){p.current=!0;return}m.current?.update({products:M.config})},[M.enabled]);let u=R(null);u.current===null&&(u.current={handleTextChange:d=>m.current?.handleTextChange(d),handleKeyDown:d=>{let S="nativeEvent"in d?d.nativeEvent:d;m.current?.handleKeyDown(S)},setFocused:d=>m.current?.setFocused(d),startEditingParam:d=>m.current?.startEditingParam(d),exitEditMode:()=>m.current?.exitEditMode(),handleCaretAfterInput:d=>m.current?.handleCaretAfterInput(d),handleCaretMove:d=>m.current?.handleCaretMove(d),replaceEditingRange:d=>m.current?.replaceEditingRange(d)??!1,setActivePill:d=>m.current?.setActivePill(d),skipActivePill:()=>m.current?.skipActivePill(),removeLastParam:()=>m.current?.removeLastParam(),clearNewParamId:()=>m.current?.clearNewParamId(),reset:()=>m.current?.reset(),selectOption:d=>m.current?.selectOption(d),selectProduct:d=>m.current?.selectProduct(d),setActiveDropdownIndex:d=>m.current?.setActiveDropdownIndex(d),handleFocus:()=>m.current?.setFocused(!0),handleBlur:()=>m.current?.setFocused(!1)});let o=u.current,f=ct(d=>{let S=d.target.value,pe=S.length>0&&!d.nativeEvent?.isComposing&&S[0]!==S[0].toUpperCase()?S[0].toUpperCase()+S.slice(1):S;m.current?.handleTextChange(pe)},[]),_=ct(d=>{m.current?.handleKeyDown(d.nativeEvent)},[]),X=m.current,c=ee??ea,xe=A!==void 0?A:c.text,me=C!==void 0?C:c.completedParams,le=c.actionableSuggestions,we=le[0],de=X?.listboxId??"",Ee=c.activeDropdownIndex>=0&&X?`${de}-option-${c.activeDropdownIndex}`:void 0,te=c.editingParam,he=te?{type:te.suggestionType,text:te.suggestionPlaceholder,required:!0,options:te.options}:null,ye=he??we,De=he?[he]:le,ke=!X||c.isLoading&&!c.editingParam&&!c.inSelectionAnimation;return{completedParams:me,skippedParams:c.skippedParams,suggestionPills:le,setActivePill:o.setActivePill,skipActivePill:o.skipActivePill,removeLastParam:o.removeLastParam,segments:c.segments,newParamId:c.newParamId,clearNewParamId:o.clearNewParamId,suggestions:c.suggestions,activeIndex:c.activeDropdownIndex,isReady:c.isReady,isLoading:ke,isFocused:c.isFocused,isDropdownOpen:c.isDropdownOpen,isActivePillSelected:c.isActivePillSelected,placeholderText:c.placeholderText,listboxId:de,error:c.error,products:c.products,selectProduct:o.selectProduct,handleTextChange:o.handleTextChange,handleKeyDown:o.handleKeyDown,setFocused:o.setFocused,editingParam:te,editingAnchor:c.editingAnchor,caretOffset:c.caretOffset,startEditingParam:o.startEditingParam,exitEditMode:o.exitEditMode,handleCaretAfterInput:o.handleCaretAfterInput,handleCaretMove:o.handleCaretMove,replaceEditingRange:o.replaceEditingRange,inputProps:{value:xe,placeholder:c.placeholderText||void 0,onChange:f,onKeyDown:_,onFocus:o.handleFocus,onBlur:o.handleBlur,role:"combobox","aria-expanded":c.isDropdownOpen,"aria-activedescendant":Ee,"aria-autocomplete":"list","aria-controls":de},reset:o.reset,dropdownProps:{suggestions:ye?[{...ye,options:c.filteredOptions}]:[],activeIndex:c.activeDropdownIndex,onSelect:o.selectOption,onHighlight:o.setActiveDropdownIndex,isOpen:c.isDropdownOpen,id:de,pills:De,activeSelected:c.isActivePillSelected,onPillClick:o.setActivePill,onSkip:o.skipActivePill,showSkipButton:(v??!0)&&!te,skipDisabled:c.inSelectionAnimation,isLoading:ke,isInputEmpty:xe.trim().length===0,products:c.products,onProductSelect:o.selectProduct,onProductFocusChange:o.setFocused,optionsPosition:b??"below"}}}import{extractPlainText as ut,getCursorOffset as mt,plainTextLength as ta,renderEditableContent as aa,setCursorOffset as ht}from"@magicx-eng/ai-autocomplete-vanilla";import{useCallback as H,useEffect as He,useLayoutEffect as Ge,useRef as ce}from"react";var Ce;function oa(){if(Ce!==void 0)return Ce;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),Ce=e.contentEditable==="plaintext-only",Ce}function gt(e){let{segments:n,newParamId:t,editingParam:r,editingAnchor:l,caretOffset:i,placeholderText:a,isFocused:h,isDropdownOpen:b,listboxId:x,activeDescendantId:w,autoFocus:v,handleTextChange:T,handleKeyDown:V,handleCaretAfterInput:A,handleCaretMove:C,startEditingParam:F,replaceEditingRange:q,setFocused:L}=e,y=ce(null),$=ce(!1),G=ce(""),m=ce(""),ee=ce(null),j=ce(0);ee.current=i,He(()=>{if(!v)return;let s=y.current;if(!s)return;document.activeElement===s?L(!0):s.focus();let p=s.ownerDocument??document,u=p.getSelection(),o=u&&u.rangeCount>0&&s.contains(u.anchorNode);if(u&&!o){let f=p.createRange();f.selectNodeContents(s),f.collapse(!0),u.removeAllRanges(),u.addRange(f)}},[v,L]),He(()=>{let s=y.current;if(!s)return;let p=s.ownerDocument??document,u=()=>{let o=p.getSelection();if(!o||o.rangeCount===0||!o.anchorNode||!s.contains(o.anchorNode))return;let f=o.anchorNode,_=f.nodeType===Node.ELEMENT_NODE?f:f.parentElement,c=(o.isCollapsed?_?.closest('strong[data-seg="completed"][data-param-id]'):null)?.dataset.paramId??null;if(c&&c!==r?.id){F(c);return}performance.now()-j.current<50||C(mt(s))};return p.addEventListener("selectionchange",u),()=>p.removeEventListener("selectionchange",u)},[r,F,C]),Ge(()=>{let s=y.current;s&&aa({input:s,segments:n,newParamId:t,editingParamId:r?.id??null,placeholderText:a??"",isFocused:h})},[n,t,r,a,h]),Ge(()=>{let s=G.current,p=t??"";if(G.current=p,!p||p===s)return;let u=y.current;if(!u)return;u.focus();let o=ee.current??ta(u);ht(u,o)},[t]),Ge(()=>{let s=m.current,p=r?.id??"";if(m.current=p,!p||p===s||l==null)return;let u=y.current;u&&ht(u,l)},[r,l]);let E=H(()=>{if($.current)return;let s=y.current;if(!s)return;let p=ut(s),o=p.length>0&&p[0]!==p[0].toUpperCase()?p[0].toUpperCase()+p.slice(1):p;T(o)},[T]),D=H(()=>{j.current=performance.now(),E();let s=y.current;s&&A(mt(s))},[E,A]);He(()=>{let s=y.current;if(!s)return;let p=u=>{let o=u,f=o.inputType;if(f==="insertParagraph"||f==="insertLineBreak"||f==="insertFromDrop"){u.preventDefault();return}if(f.startsWith("insert")||f.startsWith("delete")){let _=f.startsWith("delete")?"":o.data??"";q(_)&&u.preventDefault()}};return s.addEventListener("beforeinput",p),()=>s.removeEventListener("beforeinput",p)},[q]);let K=H(()=>{$.current=!0},[]),W=H(()=>{$.current=!1,E()},[E]),g=H(s=>{s.preventDefault();let p=y.current;if(!p)return;let u=(s.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!u)return;let o=p.ownerDocument??document,f=o.getSelection();if(!f||f.rangeCount===0)return;let _=f.getRangeAt(0);if(!p.contains(_.startContainer))return;_.deleteContents();let X=o.createTextNode(u);_.insertNode(X),_.setStartAfter(X),_.collapse(!0),f.removeAllRanges(),f.addRange(_),E()},[E]),z=H(s=>V(s),[V]),I=H(()=>L(!0),[L]),Q=H(()=>L(!1),[L]),M=H(()=>y.current?.focus(),[]),J=H(()=>y.current?.blur(),[]),U=H(()=>{let s=y.current;return s?ut(s):""},[]),B=oa()?"plaintext-only":"true";return{inputRef:y,editorProps:{ref:y,contentEditable:B,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":x,"aria-expanded":b,"aria-activedescendant":w,spellCheck:!0,enterKeyHint:"send",onInput:D,onKeyDown:z,onCompositionStart:K,onCompositionEnd:W,onPaste:g,onFocus:I,onBlur:Q},getPlainText:U,focus:M,blur:J}}import{jsx as ue,jsxs as We}from"react/jsx-runtime";function pa(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var ca=ia(function({onSubmit:n,onError:t,optionOverrides:r,maskCompletedText:l,className:i,apiConfig:a,additionalContext:h,columns:b,pillPlacement:x="dropdown",mode:w="auto",optionsPosition:v="below",animations:T=!0,dropdownTrigger:V,closeDropdownOnBlur:A,showNonTappableOptions:C,showSkipButton:F,autoFocus:q=!0,onFocus:L,onBlur:y,value:$,completedParams:G,onChange:m,onParamsChange:ee,products:j,onProductSelect:E,submitButton:D},K){let W=ve(null),g=ve(null),z=ve(()=>{}),I=ve(null),Q=ve(null);ft(()=>{let k=W.current;if(k)return I.current?I.current.setMode(w):I.current=new la(k,w),()=>{I.current?.destroy(),I.current=null}},[w]);let M=Ke(k=>{let oe=Q.current?.current;oe&&(oe.focus(),da(oe,k))},[]),{completedParams:J,skippedParams:U,suggestionPills:B,setActivePill:s,skipActivePill:p,segments:u,newParamId:o,clearNewParamId:f,placeholderText:_,isFocused:X,isDropdownOpen:c,isActivePillSelected:xe,isLoading:me,activeIndex:le,listboxId:we,handleTextChange:de,handleKeyDown:Ee,setFocused:te,editingParam:he,editingAnchor:ye,caretOffset:De,startEditingParam:ke,handleCaretAfterInput:d,handleCaretMove:S,replaceEditingRange:P,dropdownProps:pe,reset:ae}=Oe({onSubmit:k=>z.current(k),onError:t,optionOverrides:r,maskCompletedText:l,apiConfig:a,additionalContext:h,columns:b,dropdownTrigger:V,optionsPosition:v,closeDropdownOnBlur:A,showNonTappableOptions:C,showSkipButton:F,onFocus:L,onBlur:y,value:$,completedParams:G,onChange:m,onParamsChange:ee,products:j,onProductSelect:E,source:"full-sdk",setCursor:M});ft(()=>{if(!o)return;let k=window.setTimeout(()=>f(),650);return()=>window.clearTimeout(k)},[o,f]);let bt=le>=0?`${we}-option-${le}`:void 0,{inputRef:Re,editorProps:vt,focus:_e,blur:Ue,getPlainText:Ve}=gt({segments:u,newParamId:o,editingParam:he,editingAnchor:ye,caretOffset:De,placeholderText:_,isFocused:X,isDropdownOpen:c,listboxId:we,activeDescendantId:bt,autoFocus:q,handleTextChange:de,handleKeyDown:Ee,handleCaretAfterInput:d,handleCaretMove:S,startEditingParam:ke,replaceEditingRange:P,setFocused:te});Q.current=Re,na(()=>{let k=g.current,oe=Re.current;if(!k||!oe)return;let qe=()=>{let je=k.firstElementChild;if(!je)return;let kt=je.getBoundingClientRect(),_t=oe.getBoundingClientRect();kt.top>=_t.bottom-2?k.setAttribute("data-aia-pill-wrapped",""):k.removeAttribute("data-aia-pill-wrapped")};qe();let $e=new ResizeObserver(qe);return $e.observe(oe),()=>$e.disconnect()},[u,B.length,me,Re]),ra(K,()=>({focus:_e,blur:Ue,reset:ae,setMode:k=>I.current?.setMode(k),skipActivePill:p}),[_e,Ue,ae,p]);let Pe=!!u.length||J.length>0,Te=Ke(()=>{if(!Pe)return;let k=Ve();n(sa(k,J,U)),ae()},[Pe,J,U,n,ae,Ve]);z.current=Te;let xt=Ke(k=>{k.target?.closest("[data-aia-pill]")||_e()},[_e]),wt=x==="inline",yt=x==="dropdown";return We("div",{ref:W,className:`magicx-aia ${se.container} ${i??""}`,"data-pill-placement":x,"data-options-position":v,"data-animations":T?"on":"off","data-mode":pa(w),children:[ue(Me,{...pe,showPills:yt}),We("div",{className:se.inputWrapper,onClick:xt,children:[We("div",{className:se.editorArea,"data-aia-editor":"",children:[ue("div",{...vt,className:se.input,"data-aia-input":""}),wt&&(me||B.length>0)&&ue("span",{ref:g,className:se.pillListContainer,"data-aia-pill-list-container":"",children:ue(Se,{pills:B,activePillIndex:0,activeSelected:xe,onSelectPill:s,loading:me})})]}),D===null?null:D===void 0?ue(lt,{disabled:!Pe,onClick:Te}):ue("span",{"data-aia-submit":"",className:se.submitSlot,onClick:k=>{Pe&&(k.stopPropagation(),Te())},children:D})]})]})});export{ca as AIAutocomplete,Me as AIAutocompleteDropdown,Ko as buildSubmitResult,Oe as useAIAutocomplete,Wo as withSkippedParams};
|
|
1512
1512
|
//# sourceMappingURL=index.mjs.map
|