t-fighting-design
Version:
Fighting design can quickly build interactive interfaces in vue3 applications, which looks good.
2 lines (1 loc) • 2.54 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),c=require("./index3.js"),l=require("../../svg-icon/index.js"),h=require("../../button/index.js"),y=require("../../_components/svg/index5.js"),g=require("../../_components/svg/index17.js"),k=require("../../_components/svg/index18.js"),C=["type","max","min","maxlength","value","disabled","readonly","autofocus","name","placeholder","onKeyup"],B=n.createTextVNode("\u641C\u7D22"),w=n.defineComponent({name:"FInput"}),V=n.defineComponent({...w,props:c.Props,emits:c.Emits,setup(p,{emit:u}){const s=p,r=n.ref(s.type),f=e=>{u("update:modelValue",e.target.value),s.onChange&&s.onChange(e.target.value)},a=e=>{s.onSearch&&s.onSearch({evt:e,value:s.modelValue})},m=()=>{s.disabled||u("update:modelValue","")},v=e=>{const{search:o,enterSearch:t,onEnter:d}=s;o&&t&&a(e),d&&d(e)},i=e=>{if(e==="down"){r.value="text";return}r.value="password"};return(e,o)=>(n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["f-input",{[`f-input__${e.size}`]:e.size}])},[n.createElementVNode("div",{class:n.normalizeClass(["f-input__wrapper",{"f-input__disabled":e.disabled}])},[e.icon?(n.openBlock(),n.createBlock(n.unref(l.FSvgIcon),{key:0,class:"f-input__icon",icon:e.icon,size:13},null,8,["icon"])):n.createCommentVNode("",!0),n.createElementVNode("input",{class:"f-input__input",type:r.value,max:e.max,min:e.min,maxlength:e.maxLength,value:e.modelValue,disabled:e.disabled,readonly:e.readonly,autofocus:e.autofocus,name:e.name,placeholder:e.placeholder,onInput:f,onKeyup:n.withKeys(v,["enter"]),onBlur:o[0]||(o[0]=(...t)=>e.onBlur&&e.onBlur(...t)),onFocus:o[1]||(o[1]=(...t)=>e.onFocus&&e.onFocus(...t))},null,40,C),e.clear?(n.openBlock(),n.createBlock(n.unref(l.FSvgIcon),{key:1,class:"f-input__clear-btn",icon:n.unref(y.default),size:14,onClick:m},null,8,["icon"])):n.createCommentVNode("",!0),e.type==="password"&&e.showPassword?(n.openBlock(),n.createBlock(n.unref(l.FSvgIcon),{key:2,class:"f-input__show-password",icon:r.value==="text"?n.unref(k.default):n.unref(g.default),size:14,onMousedown:o[2]||(o[2]=t=>i("down")),onMouseup:o[3]||(o[3]=t=>i("up"))},null,8,["icon"])):n.createCommentVNode("",!0)],2),e.search?(n.openBlock(),n.createElementBlock("div",{key:0,class:"f-input__search",onClick:a},[n.renderSlot(e.$slots,"searchBtn",{},()=>[n.createVNode(n.unref(h.FButton),{type:"primary",size:e.size},{default:n.withCtx(()=>[B]),_:1},8,["size"])])])):n.createCommentVNode("",!0)],2))}});exports.default=V;