@gits-id/progress-bar
Version:
GITS Progress Bar Component
2 lines (1 loc) • 2.14 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");const g=["aria-valuemin","aria-valuemax","aria-valuenow"],o=e.defineComponent({__name:"VProgressBar",props:{modelValue:{type:[Number,String],default:0},color:{type:String,default:"default"},min:{type:[Number,String],default:0},max:{type:[Number,String],default:100},height:{type:[Number,String],default:""},bgColor:{type:String,default:""},fillColor:{type:String,default:""},bgClass:{type:String,default:""},fillClass:{type:String,default:""},label:{type:String,default:""},labelClass:{type:String,default:""},indeterminate:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(a,{emit:n}){const l=a,{modelValue:i}=e.toRefs(l),s=e.ref(l.modelValue);e.watch(i,r=>{s.value=r}),e.watch(s,r=>{n("update:modelValue",r)});const u=e.computed(()=>typeof l.height=="string"?l.height:`${l.height}px`),d=e.computed(()=>{const r={};return l.height&&(r["--v-progress-bar-height"]=u.value),l.bgColor&&(r["--v-progress-bar-bg-color"]=l.bgColor),l.fillColor&&(r["--v-progress-bar-fill-color"]=l.fillColor),r}),t=e.computed(()=>Math.floor(+s.value/+l.max*100));return(r,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["v-progress-bar",[`v-progress-bar-${a.color}`,`v-progress-bar--${e.unref(t)}`,{"v-progress-bar--indeterminate":a.indeterminate}]]),role:"progressbar","aria-valuemin":a.min,"aria-valuemax":a.max,"aria-valuenow":e.unref(t),"aria-labelledby":"progress-label",style:e.normalizeStyle(e.unref(d))},[e.createElementVNode("div",{class:e.normalizeClass(["v-progress-bar-label",a.labelClass]),id:"progress-label"},[e.renderSlot(r.$slots,"label",{value:e.unref(t)},()=>[e.createTextVNode(e.toDisplayString(a.label),1)])],2),e.createElementVNode("div",{class:e.normalizeClass(["v-progress-bar-background",a.bgClass])},[e.createElementVNode("div",{style:e.normalizeStyle({width:a.indeterminate?"100%":e.unref(t)+"%"}),class:e.normalizeClass(["v-progress-bar-fill",a.fillClass])},[e.renderSlot(r.$slots,"default",{value:e.unref(t)})],6)],2)],14,g))}});exports.VProgressBar=o;exports.default=o;