index-787afd2a.js 3.0 KB

1
  1. import{f as b,F as L}from"./index-8985876e.js";import{q as N,Z as g,U as f,V as P,d as k,an as T,l as A,z as F,f as o,$ as h,a0 as D,G as U,K,i as O,w as z,I as M,B as $,g as j}from"./index-4fdf58de.js";const[G,l,Z]=N("search"),H=g({},b,{label:String,shape:f("square"),leftIcon:f("search"),clearable:P,actionText:String,background:String,showAction:Boolean});var J=k({name:G,props:H,emits:["blur","focus","clear","search","cancel","clickInput","clickLeftIcon","clickRightIcon","update:modelValue"],setup(a,{emit:c,slots:n,attrs:t}){const s=T(),u=A(),m=()=>{n.action||(c("update:modelValue",""),c("cancel"))},I=e=>{e.keyCode===13&&(U(e),c("search",a.modelValue))},d=()=>a.id||`${s}-input`,p=()=>{if(n.label||a.label)return o("label",{class:l("label"),for:d()},[n.label?n.label():a.label])},_=()=>{if(a.showAction){const e=a.actionText||Z("cancel");return o("div",{class:l("action"),role:"button",tabindex:0,onClick:m},[n.action?n.action():e])}},y=()=>{var e;return(e=u.value)==null?void 0:e.blur()},C=()=>{var e;return(e=u.value)==null?void 0:e.focus()},S=e=>c("blur",e),v=e=>c("focus",e),V=e=>c("clear",e),B=e=>c("clickInput",e),w=e=>c("clickLeftIcon",e),x=e=>c("clickRightIcon",e),R=Object.keys(b),q=()=>{const e=g({},t,h(a,R),{id:d()}),i=E=>c("update:modelValue",E);return o(L,D({ref:u,type:"search",class:l("field"),border:!1,onBlur:S,onFocus:v,onClear:V,onKeypress:I,onClickInput:B,onClickLeftIcon:w,onClickRightIcon:x,"onUpdate:modelValue":i},e),h(n,["left-icon","right-icon"]))};return F({focus:C,blur:y}),()=>{var e;return o("div",{class:l({"show-action":a.showAction}),style:{background:a.background}},[(e=n.left)==null?void 0:e.call(n),o("div",{class:l("content",a.shape)},[p(),q()]),_()])}}});const Q=K(J),W="_white_1oqt0_25",X="_transparent_1oqt0_28",Y="_searchBtn_1oqt0_40",r={"m-search":"_m-search_1oqt0_1",default:"_default_1oqt0_22",white:W,transparent:X,searchBtn:Y},ee=""+new URL("icon-search-d43eb2c3.svg",import.meta.url).href,ne=k({name:"m-search",props:{modelValue:{type:String,default:""},shape:{type:String,default:"round"},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},placeholder:{type:String,default:"请输入搜索关键词"},background:{type:String,default:"#fff"},searchIcon:{type:String,default:ee},inputBackground:{type:String,default:"default"}},emits:["search"],setup(a,{slots:c,emit:n}){const t=O({search:a.modelValue||""});return z(()=>a.modelValue,()=>{t.search=a.modelValue}),()=>o(Q,{class:[r["m-search"],r[a.inputBackground]],shape:a.shape,background:a.background,placeholder:a.placeholder,disabled:a.disabled,autofocus:a.autofocus,autocomplete:"off",modelValue:t.search,"onUpdate:modelValue":s=>t.search=s,clearTrigger:"always",onClear:()=>{console.log("clear"),t.search="",n("search",t.search)},onSearch:()=>n("search",t.search)},{left:()=>c.left&&c.left(),"left-icon":()=>o(M,{name:a.searchIcon,class:r.leftIcon},null),"right-icon":()=>o($,{disabled:a.disabled,class:r.searchBtn,round:!0,type:"primary",size:"mini",onClick:()=>n("search",t.search)},{default:()=>[j("搜索")]})})}});export{ne as M};