vue-amazing-ui
Version:
An Amazing Vue3 UI Components Library, Using TypeScript.
7 lines (6 loc) • 7.06 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),w=require("../utils/index.cjs"),q={key:0,class:"input-prefix"},I=["type","value","placeholder","maxlength","disabled","onKeydown"],P={key:1,class:"input-suffix"},T={class:"eye-svg",focusable:"false","data-icon":"eye",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},K={class:"eye-svg",focusable:"false","data-icon":"eye-invisible",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},Q={key:2,class:"input-count"},j={key:3,class:"suffix-item"},F=e.defineComponent({__name:"Input",props:{width:{default:"100%"},size:{default:"middle"},addonBefore:{default:void 0},addonAfter:{default:void 0},prefix:{default:void 0},suffix:{default:void 0},allowClear:{type:Boolean,default:!1},password:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placeholder:{default:void 0},maxlength:{default:void 0},showCount:{type:Boolean,default:!1},value:{default:void 0},valueModifiers:{default:()=>({})}},emits:["update:value","change","enter"],setup(B,{emit:C}){const o=B,f=e.ref(null),s=e.ref(!1),i=e.ref(!1),r=e.ref(),n=e.ref(!1),{colorPalettes:p,shadowColor:y}=w.useInject("Input"),l=C,u=w.useSlotsExist(["prefix","suffix","addonBefore","addonAfter"]),g=e.computed(()=>typeof o.width=="number"?`${o.width}px`:o.width),v=e.computed(()=>!o.disabled&&o.allowClear),k=e.computed(()=>o.maxlength?`${o.value?o.value.length:0} / ${o.maxlength}`:o.value?o.value.length:0),E=e.computed(()=>u.prefix||o.prefix),m=e.computed(()=>u.suffix||o.suffix),N=e.computed(()=>v.value||o.password||o.showCount||m.value),d=e.computed(()=>u.addonBefore||o.addonBefore),c=e.computed(()=>u.addonAfter||o.addonAfter),h=e.computed(()=>"lazy"in o.valueModifiers);e.watch(()=>o.value,t=>{r.value!==t&&(r.value=t)},{immediate:!0});function V(){s.value=!0}function x(){s.value=!1}function z(){i.value=!0}function b(){i.value=!1}function S(t){const a=t.target;r.value=a.value,h.value||(l("update:value",a.value),l("change",t))}function M(t){const a=t.target;a.value!==o.value&&(l("update:value",a.value),l("change",t))}function $(t){var a;if(l("enter",t),h.value){const D=new Event("change");(a=t.target)==null||a.dispatchEvent(D)}}function L(){var t;l("update:value",""),(t=f.value)==null||t.focus()}function A(){n.value=!n.value}return(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:"m-input",style:e.normalizeStyle(`
--input-width: ${g.value};
--input-primary-color-hover: ${e.unref(p)[4]};
--input-primary-color-focus: ${e.unref(p)[4]};
--input-primary-shadow-color: ${e.unref(y)};
`)},[d.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["input-addon",{"addon-before":d.value}])},[e.renderSlot(t.$slots,"addonBefore",{},()=>[e.createTextVNode(e.toDisplayString(t.addonBefore),1)],!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{tabindex:"1",class:e.normalizeClass(["input-wrap",[`input-${t.size}`,{"input-before":d.value,"input-after":c.value,"input-disabled":t.disabled}]]),onMouseenter:V,onMouseleave:x},[a[3]||(a[3]=e.createElementVNode("div",{class:"input-border"},null,-1)),e.createElementVNode("div",{class:e.normalizeClass(["input-border-state",{"input-hover":s.value,"input-focus":i.value}])},null,2),E.value?(e.openBlock(),e.createElementBlock("span",q,[e.renderSlot(t.$slots,"prefix",{},()=>[e.createTextVNode(e.toDisplayString(t.prefix),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("input",{ref_key:"inputRef",ref:f,class:"input-item",type:t.password&&!n.value?"password":"text",value:r.value,placeholder:t.placeholder,maxlength:t.maxlength,disabled:t.disabled,onFocus:z,onBlur:b,onInput:S,onChange:M,onKeydown:e.withKeys(e.withModifiers($,["prevent"]),["enter"])},null,40,I),N.value?(e.openBlock(),e.createElementBlock("span",P,[v.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["input-actions",{"clear-hidden":!t.value}]),onClick:L},a[0]||(a[0]=[e.createElementVNode("svg",{class:"clear-svg",focusable:"false","data-icon":"close-circle",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},[e.createElementVNode("path",{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z"})],-1)]),2)):e.createCommentVNode("",!0),t.password?(e.openBlock(),e.createElementBlock("span",{key:1,class:"input-actions",onClick:A},[e.withDirectives((e.openBlock(),e.createElementBlock("svg",T,a[1]||(a[1]=[e.createElementVNode("path",{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"},null,-1)]),512)),[[e.vShow,n.value]]),e.withDirectives((e.openBlock(),e.createElementBlock("svg",K,a[2]||(a[2]=[e.createElementVNode("path",{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"},null,-1),e.createElementVNode("path",{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"},null,-1)]),512)),[[e.vShow,!n.value]])])):e.createCommentVNode("",!0),t.showCount?(e.openBlock(),e.createElementBlock("span",Q,e.toDisplayString(k.value),1)):e.createCommentVNode("",!0),m.value?(e.openBlock(),e.createElementBlock("span",j,[e.renderSlot(t.$slots,"suffix",{},()=>[e.createTextVNode(e.toDisplayString(t.suffix),1)],!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],34),c.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["input-addon",{"addon-after":c.value}])},[e.renderSlot(t.$slots,"addonAfter",{},()=>[e.createTextVNode(e.toDisplayString(t.addonAfter),1)],!0)],2)):e.createCommentVNode("",!0)],4))}});exports.default=F;