vue-amazing-ui
Version:
An Amazing Vue3 UI Components Library, Using TypeScript.
7 lines (6 loc) • 7.32 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),g=require("../utils/index.cjs"),P={key:0,class:"input-prefix"},T=["type","value","placeholder","maxlength","disabled","onKeydown"],K={key:1,class:"input-suffix"},Q={class:"eye-svg",focusable:"false","data-icon":"eye",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},j={class:"eye-svg",focusable:"false","data-icon":"eye-invisible",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},F={key:2,class:"input-count"},R={key:3,class:"suffix-item"},W=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","compositionstart","compositionend","change","enter"],setup(a,{emit:B}){const n=a,v=e.ref(null),d=e.ref(!1),c=e.ref(!1),r=e.ref(!1),l=e.ref(),s=e.ref(!1),{colorPalettes:m,shadowColor:y}=g.useInject("Input"),u=B,i=g.useSlotsExist(["prefix","suffix","addonBefore","addonAfter"]),x=e.computed(()=>typeof n.width=="number"?`${n.width}px`:n.width),h=e.computed(()=>!n.disabled&&n.allowClear),k=e.computed(()=>n.maxlength?`${l.value?l.value.length:0} / ${n.maxlength}`:l.value?l.value.length:0),E=e.computed(()=>i.prefix||n.prefix),w=e.computed(()=>i.suffix||n.suffix),N=e.computed(()=>h.value||n.password||n.showCount||w.value),f=e.computed(()=>i.addonBefore||n.addonBefore),p=e.computed(()=>i.addonAfter||n.addonAfter),C=e.computed(()=>"lazy"in n.valueModifiers);e.watch(()=>n.value,t=>{l.value!==t&&(l.value=t)},{immediate:!0});function V(){d.value=!0}function z(){d.value=!1}function b(){c.value=!0}function S(){c.value=!1}function M(t){r.value=!0,u("compositionstart",t)}function $(t){r.value=!1,u("compositionend",t);const o=new Event("change");t.target?.dispatchEvent(o)}function L(t){if(!r.value){const o=t.target;l.value=o.value,C.value||(u("update:value",o.value),u("change",t))}}function A(t){const o=t.target;o.value!==n.value&&(u("update:value",o.value),u("change",t))}function D(t){if(!r.value&&(u("enter",t),C.value)){const o=new Event("change");t.target?.dispatchEvent(o)}}function q(){l.value="",u("update:value",""),v.value?.focus()}function I(){s.value=!s.value}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:"input-wrap",style:e.normalizeStyle(`
--input-width: ${x.value};
--input-primary-color-hover: ${e.unref(m)[4]};
--input-primary-color-focus: ${e.unref(m)[4]};
--input-primary-shadow-color: ${e.unref(y)};
`)},[f.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["input-addon",{"addon-before":f.value}])},[e.renderSlot(t.$slots,"addonBefore",{},()=>[e.createTextVNode(e.toDisplayString(a.addonBefore),1)],!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{tabindex:"1",class:e.normalizeClass(["input-container",[`input-${a.size}`,{"input-before":f.value,"input-after":p.value,"input-disabled":a.disabled}]]),onMouseenter:V,onMouseleave:z},[o[3]||(o[3]=e.createElementVNode("div",{class:"input-border"},null,-1)),e.createElementVNode("div",{class:e.normalizeClass(["input-border-state",{"input-hover":d.value,"input-focus":c.value}])},null,2),E.value?(e.openBlock(),e.createElementBlock("span",P,[e.renderSlot(t.$slots,"prefix",{},()=>[e.createTextVNode(e.toDisplayString(a.prefix),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("input",{ref_key:"inputRef",ref:v,class:"input-item",type:a.password&&!s.value?"password":"text",value:l.value,placeholder:a.placeholder,maxlength:a.maxlength,disabled:a.disabled,onFocus:b,onBlur:S,onCompositionstart:M,onCompositionend:$,onInput:L,onChange:A,onKeydown:e.withKeys(e.withModifiers(D,["prevent"]),["enter"])},null,40,T),N.value?(e.openBlock(),e.createElementBlock("span",K,[h.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["input-actions",{"clear-hidden":!l.value}]),onClick:q},[...o[0]||(o[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),a.password?(e.openBlock(),e.createElementBlock("span",{key:1,class:"input-actions",onClick:I},[e.withDirectives((e.openBlock(),e.createElementBlock("svg",Q,[...o[1]||(o[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,s.value]]),e.withDirectives((e.openBlock(),e.createElementBlock("svg",j,[...o[2]||(o[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,!s.value]])])):e.createCommentVNode("",!0),a.showCount?(e.openBlock(),e.createElementBlock("span",F,e.toDisplayString(k.value),1)):e.createCommentVNode("",!0),w.value?(e.openBlock(),e.createElementBlock("span",R,[e.renderSlot(t.$slots,"suffix",{},()=>[e.createTextVNode(e.toDisplayString(a.suffix),1)],!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],34),p.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["input-addon",{"addon-after":p.value}])},[e.renderSlot(t.$slots,"addonAfter",{},()=>[e.createTextVNode(e.toDisplayString(a.addonAfter),1)],!0)],2)):e.createCommentVNode("",!0)],4))}});exports.default=W;