You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
9 lines
6.7 KiB
9 lines
6.7 KiB
import{d as ee,s as m,O as te,c as v,G as u,T as ne,y as oe}from"./index-bVOhw2NF.js";import{c as ae,N as le,a as re}from"./Select-BpXzRZdb.js";import{b as ie,c as x,u as se,f as V,h as ue}from"./light-Cua7cqmF.js";import{f as de}from"./fade-in-scale-up.cssr-CTZmXn_X.js";import{u as ce}from"./use-form-item-CNgNT5jP.js";import{u as me}from"./use-merged-state-CzrzZJbg.js";import{a as fe}from"./light-CVXL3bIM.js";import{i as he}from"./use-is-mounted-wlrzLfZo.js";import{u as F,B as ve,V as pe,a as ge}from"./Follower-DJGS5Fnl.js";import{g as be}from"./index-C9vhMoZJ.js";import{_ as Se}from"./Input-CFQSA5NN.js";import{c as Te}from"./clickoutside-CCtiUDaG.js";import{g as ye}from"./get-precise-event-target-DhO46Lpt.js";import{c as f}from"./call-f2ri57Kd.js";function Ce(t){return t.map(A)}function A(t){var i,o;return typeof t=="string"?{label:t,value:t}:t.type==="group"?{type:"group",label:(i=t.label)!==null&&i!==void 0?i:t.name,value:(o=t.value)!==null&&o!==void 0?o:t.name,key:t.key||t.name,children:t.children.map(a=>A(a))}:t}const _e=ie([x("auto-complete",`
|
|
z-index: auto;
|
|
position: relative;
|
|
display: inline-flex;
|
|
width: 100%;
|
|
`),x("auto-complete-menu",`
|
|
margin: 4px 0;
|
|
box-shadow: var(--n-menu-box-shadow);
|
|
`,[de({originalTransition:"background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)"})])]),Fe=Object.assign(Object.assign({},V.props),{to:F.propTo,menuProps:Object,append:Boolean,bordered:{type:Boolean,default:void 0},clearable:{type:Boolean,default:void 0},defaultValue:{type:String,default:null},loading:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},placeholder:String,placement:{type:String,default:"bottom-start"},value:String,blurAfterSelect:Boolean,clearAfterSelect:Boolean,getShow:Function,showEmpty:Boolean,inputProps:Object,renderOption:Function,renderLabel:Function,size:String,options:{type:Array,default:()=>[]},zIndex:Number,status:String,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onSelect:[Function,Array],onBlur:[Function,Array],onFocus:[Function,Array],onInput:[Function,Array]}),je=ee({name:"AutoComplete",props:Fe,setup(t){const{mergedBorderedRef:i,namespaceRef:o,mergedClsPrefixRef:l,inlineThemeDisabled:a}=se(t),h=ce(t),{mergedSizeRef:M,mergedDisabledRef:z,mergedStatusRef:P}=h,T=m(null),p=m(null),y=m(t.defaultValue),k=te(t,"value"),g=me(k,y),d=m(!1),C=m(!1),R=V("AutoComplete","-auto-complete",_e,fe,t,l),w=v(()=>Ce(t.options)),E=v(()=>{const{getShow:e}=t;return e?e(g.value||""):!!g.value}),D=v(()=>E.value&&d.value&&(t.showEmpty?!0:!!w.value.length)),j=v(()=>ae(w.value,re("value","children")));function b(e){const{"onUpdate:value":n,onUpdateValue:r,onInput:s}=t,{nTriggerFormInput:S,nTriggerFormChange:Z}=h;r&&f(r,e),n&&f(n,e),s&&f(s,e),y.value=e,S(),Z()}function U(e){const{onSelect:n}=t,{nTriggerFormInput:r,nTriggerFormChange:s}=h;n&&f(n,e),r(),s()}function $(e){const{onBlur:n}=t,{nTriggerFormBlur:r}=h;n&&f(n,e),r()}function N(e){const{onFocus:n}=t,{nTriggerFormFocus:r}=h;n&&f(n,e),r()}function L(){C.value=!0}function K(){window.setTimeout(()=>{C.value=!1},0)}function G(e){var n,r,s;switch(e.key){case"Enter":if(!C.value){const S=(n=p.value)===null||n===void 0?void 0:n.getPendingTmNode();S&&(B(S.rawNode),e.preventDefault())}break;case"ArrowDown":(r=p.value)===null||r===void 0||r.next();break;case"ArrowUp":(s=p.value)===null||s===void 0||s.prev();break}}function B(e){(e==null?void 0:e.value)!==void 0&&(U(e.value),t.clearAfterSelect?b(null):e.label!==void 0&&b(t.append?`${g.value}${e.label}`:e.label),d.value=!1,t.blurAfterSelect&&Y())}function H(){b(null)}function q(e){d.value=!0,N(e)}function J(e){d.value=!1,$(e)}function Q(e){d.value=!0,b(e)}function W(e){B(e.rawNode)}function X(e){var n;!((n=T.value)===null||n===void 0)&&n.contains(ye(e))||(d.value=!1)}function Y(){var e,n;!((e=T.value)===null||e===void 0)&&e.contains(document.activeElement)&&((n=document.activeElement)===null||n===void 0||n.blur())}const O=v(()=>{const{common:{cubicBezierEaseInOut:e},self:{menuBoxShadow:n}}=R.value;return{"--n-menu-box-shadow":n,"--n-bezier":e}}),c=a?ue("auto-complete",void 0,O,t):void 0,_=m(null),I={focus:()=>{var e;(e=_.value)===null||e===void 0||e.focus()},blur:()=>{var e;(e=_.value)===null||e===void 0||e.blur()}};return{focus:I.focus,blur:I.blur,inputInstRef:_,uncontrolledValue:y,mergedValue:g,isMounted:he(),adjustedTo:F(t),menuInstRef:p,triggerElRef:T,treeMate:j,mergedSize:M,mergedDisabled:z,active:D,mergedStatus:P,handleClear:H,handleFocus:q,handleBlur:J,handleInput:Q,handleToggle:W,handleClickOutsideMenu:X,handleCompositionStart:L,handleCompositionEnd:K,handleKeyDown:G,mergedTheme:R,cssVars:a?void 0:O,themeClass:c==null?void 0:c.themeClass,onRender:c==null?void 0:c.onRender,mergedBordered:i,namespace:o,mergedClsPrefix:l}},render(){const{mergedClsPrefix:t}=this;return u("div",{class:`${t}-auto-complete`,ref:"triggerElRef",onKeydown:this.handleKeyDown,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd},u(ve,null,{default:()=>[u(pe,null,{default:()=>{if(this.$slots.default)return be(this.$slots,"default",{handleInput:this.handleInput,handleFocus:this.handleFocus,handleBlur:this.handleBlur,value:this.mergedValue});const{mergedTheme:o}=this;return u(Se,{ref:"inputInstRef",status:this.mergedStatus,theme:o.peers.Input,themeOverrides:o.peerOverrides.Input,bordered:this.mergedBordered,value:this.mergedValue,placeholder:this.placeholder,size:this.mergedSize,disabled:this.mergedDisabled,clearable:this.clearable,loading:this.loading,inputProps:this.inputProps,onClear:this.handleClear,onFocus:this.handleFocus,onUpdateValue:this.handleInput,onBlur:this.handleBlur},{suffix:()=>{var l,a;return(a=(l=this.$slots).suffix)===null||a===void 0?void 0:a.call(l)},prefix:()=>{var l,a;return(a=(l=this.$slots).prefix)===null||a===void 0?void 0:a.call(l)}})}}),u(ge,{show:this.active,to:this.adjustedTo,containerClass:this.namespace,zIndex:this.zIndex,teleportDisabled:this.adjustedTo===F.tdkey,placement:this.placement,width:"target"},{default:()=>u(ne,{name:"fade-in-scale-up-transition",appear:this.isMounted},{default:()=>{var i;if((i=this.onRender)===null||i===void 0||i.call(this),!this.active)return null;const{menuProps:o}=this;return oe(u(le,Object.assign({},o,{clsPrefix:t,ref:"menuInstRef",theme:this.mergedTheme.peers.InternalSelectMenu,themeOverrides:this.mergedTheme.peerOverrides.InternalSelectMenu,"auto-pending":!0,class:[`${t}-auto-complete-menu`,this.themeClass,o==null?void 0:o.class],style:[o==null?void 0:o.style,this.cssVars],treeMate:this.treeMate,multiple:!1,renderLabel:this.renderLabel,renderOption:this.renderOption,size:"medium",onToggle:this.handleToggle}),{empty:()=>{var l,a;return(a=(l=this.$slots).empty)===null||a===void 0?void 0:a.call(l)}}),[[Te,this.handleClickOutsideMenu,void 0,{capture:!0}]])}})})]}))}});export{je as _};
|