dkt-plus
Version:
Decathlon component library built in Vue3 with TypeScript.
2 lines (1 loc) • 5.85 kB
JavaScript
(function(s,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(s=typeof globalThis!="undefined"?globalThis:s||self,e(s.DktPlus={},s.Vue))})(this,function(s,e){"use strict";var _e=Object.defineProperty,he=Object.defineProperties;var ke=Object.getOwnPropertyDescriptors;var A=Object.getOwnPropertySymbols;var ye=Object.prototype.hasOwnProperty,Ce=Object.prototype.propertyIsEnumerable;var F=(s,e,r)=>e in s?_e(s,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[e]=r,C=(s,e)=>{for(var r in e||(e={}))ye.call(e,r)&&F(s,r,e[r]);if(A)for(var r of A(e))Ce.call(e,r)&&F(s,r,e[r]);return s},E=(s,e)=>he(s,ke(e));var r="",b=(n,a)=>{const o=n.__vccOpts||n;for(const[l,d]of a)o[l]=d;return o};const K={name:"DktButton"},L=e.defineComponent(E(C({},K),{props:{type:{default:"default"},size:{default:"default"},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(n){const a=e.computed(()=>({["dkt-button--"+n.size]:n.size!="default",["dkt-button--"+n.type]:n.type!="default",loading:n.loading,disabled:n.disabled}));return(o,l)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["dkt-button",e.unref(a)])},[e.renderSlot(o.$slots,"default",{},void 0,!0)],2))}}));var O=b(L,[["__scopeId","data-v-2c84f22e"]]);const g=(n,a)=>{if(n.install=o=>{for(const l of[n,...Object.values(a!=null?a:{})])o.component(l.name,l)},a)for(const[o,l]of Object.entries(a))n[o]=l;return n},P=g(O),j=n=>/([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi.test(n);function R(n){return n==null||n==null}function U(n){let a=-1,o=n?n.length:0,l={};for(;++a<o;){let d=n[a];l[d[0]]=d[1]}return l}const X="update:modelValue",q=["class","style"],W=/^on[A-Z]/,Y=(n={})=>{const{excludeKeys:a=[],excludeListeners:o=!1}=n,l=a.concat(q),d=e.getCurrentInstance();return d?e.computed(()=>{var c;return U(Object.entries((c=d.proxy)==null?void 0:c.$attrs).filter(([u])=>!l.includes(u)&&!(o&&W.test(u))))}):(console.warn("[use-attrs]: getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function"),e.computed(()=>({})))};var Ee="";const Z=n=>(e.pushScopeId("data-v-75aa2896"),n=n(),e.popScopeId(),n),G={key:0,class:"dkt-input__prepend"},H={key:0,class:"dkt-input__prefix"},J=["type","disabled","placeholder"],Q={key:1,class:"dkt-input__suffix"},v={class:"dkt-input__suffix--inner"},ee=Z(()=>e.createElementVNode("span",null,null,-1)),te={key:1,class:"dkt-input__append"},ne={key:1,class:"dkt-textarea"},oe=["disabled","placeholder"],se={name:"DktInput"},le=e.defineComponent(E(C({},se),{props:{type:null,size:null,disabled:{type:Boolean},placeholder:null,modelValue:null,showWorldLimit:{type:Boolean}},emits:["input","compositionstart","compositionupdate","compositionend","focus","blur","change","keydown","mouseleave","mouseenter"],setup(n,{expose:a,emit:o}){const l=n,d=e.ref(!1),c=e.ref(!1),u=e.ref(!1);Y();const{type:I="text",size:V="default",disabled:f=!1,placeholder:$=""}=l,m=e.shallowRef(),_=e.shallowRef(),h=e.computed(()=>R(l.modelValue)?"":String(l.modelValue)),p=e.computed(()=>m.value||_.value),k=()=>{const t=p.value;!t||t.value===h.value||(t.value=h.value)},y=async t=>{let{value:i}=t.target;d.value||(o(X,i),o("input",i),await e.nextTick(),k())},w=t=>{o("compositionstart",t),d.value=!0},N=t=>{var M;o("compositionupdate",t);const i=(M=t.target)==null?void 0:M.value,me=i[i.length-1]||"";d.value=!j(me)},S=t=>{o("compositionend",t),d.value||(d.value=!1,y(t))},ie=async()=>{var t;await e.nextTick(),(t=p.value)==null||t.focus()},D=t=>{c.value=!0,o("focus",t)},ue=()=>{var t;return(t=p.value)==null?void 0:t.blur()},T=t=>{c.value=!1,o("blur",t)},x=t=>{o("change",t.target.value)},z=t=>{o("keydown",t)},pe=t=>{u.value=!1,o("mouseleave",t)},fe=t=>{u.value=!0,o("mouseenter",t)};return e.watch(h,()=>k()),e.onMounted(()=>{k()}),a({input:m,textarea:_,ref:p,focus:ie,blur:ue}),(t,i)=>e.unref(I)!="textarea"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["dkt-input",[{["dkt-input--"+e.unref(V)]:e.unref(V)!="default","dkt-input--prepend":t.$slots.prepend,"dkt-input--append":t.$slots.append,"is-disabled":e.unref(f)},t.$attrs.class]]),onMouseenter:fe,onMouseleave:pe},[t.$slots.prepend?(e.openBlock(),e.createElementBlock("div",G,[e.renderSlot(t.$slots,"prepend",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["dkt-input__wrapper",{"is-focused":c.value}])},[t.$slots.prefix?(e.openBlock(),e.createElementBlock("div",H,[e.renderSlot(t.$slots,"prefix",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps(t.$attrs,{class:"dkt-input__inner",ref_key:"input",ref:m,type:e.unref(I),disabled:e.unref(f),placeholder:e.unref($),onCompositionstart:w,onCompositionupdate:N,onCompositionend:S,onInput:y,onFocus:D,onBlur:T,onChange:x,onKeydown:z}),null,16,J),t.$slots.suffix?(e.openBlock(),e.createElementBlock("div",Q,[e.createElementVNode("span",v,[e.createElementVNode("template",null,[e.renderSlot(t.$slots,"suffix",{},void 0,!0)]),ee])])):e.createCommentVNode("",!0)],2),t.$slots.append?(e.openBlock(),e.createElementBlock("div",te,[e.renderSlot(t.$slots,"append",{},void 0,!0)])):e.createCommentVNode("",!0)],34)):(e.openBlock(),e.createElementBlock("div",ne,[e.createElementVNode("textarea",e.mergeProps({class:"dkt-textarea__inner",ref_key:"textarea",ref:_,disabled:e.unref(f),placeholder:e.unref($),onCompositionstart:w,onCompositionupdate:N,onCompositionend:S,onInput:y,onFocus:D,onBlur:T,onChange:x,onKeydown:z},t.$attrs),null,16,oe)]))}}));var ae=b(le,[["__scopeId","data-v-75aa2896"]]);const de=g(ae);var re=[P,de],B=((n=[])=>({install:o=>{n.forEach(l=>{o.use(l)})}}))([...re]);const ce=B.install;s.default=B,s.install=ce,Object.defineProperties(s,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});