vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
2 lines (1 loc) • 1.24 kB
JavaScript
"use strict";const e=require("vue"),c=require("./hook/useSlider.cjs"),y=e.defineComponent({name:"Slider",__name:"index",props:{modelValue:{},min:{default:0},max:{default:100},height:{default:200},width:{default:4},step:{default:1},direction:{default:"horizontal"},disabled:{type:Boolean,default:!1},theme:{default:"var(--app-theme)"},animated:{type:Boolean}},emits:["update:modelValue","change"],setup(i,{emit:o}){const n=i,d=o,r=e.useTemplateRef("sliderEl"),{classNames:u,styles:m,fillStyle:f,thumbStyle:p,onClickTrack:a,startDrag:s}=c.useSlider(n,r,d);return(S,l)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"sliderEl",ref:r,class:e.normalizeClass(["app-slider",e.unref(u)]),style:e.normalizeStyle(e.unref(m)),onClick:l[2]||(l[2]=(...t)=>e.unref(a)&&e.unref(a)(...t))},[l[3]||(l[3]=e.createElementVNode("div",{class:"slider-track"},null,-1)),e.createElementVNode("div",{class:e.normalizeClass(["slider-fill",{"is-animated":n.animated}]),style:e.normalizeStyle(e.unref(f))},null,6),e.createElementVNode("div",{class:"slider-thumb",style:e.normalizeStyle(e.unref(p)),onMousedown:l[0]||(l[0]=(...t)=>e.unref(s)&&e.unref(s)(...t)),onTouchstartPassive:l[1]||(l[1]=(...t)=>e.unref(s)&&e.unref(s)(...t))},null,36)],6))}});module.exports=y;