primevue-mirror/components/lib/knob/BaseKnob.vue

90 lines
1.9 KiB
Vue

<script>
import BaseComponent from 'primevue/basecomponent';
import KnobStyle from 'primevue/knob/style';
import { $dt } from 'primevue/themes';
export default {
name: 'BaseKnob',
extends: BaseComponent,
props: {
modelValue: {
type: Number,
default: null
},
size: {
type: Number,
default: 100
},
disabled: {
type: Boolean,
default: false
},
readonly: {
type: Boolean,
default: false
},
step: {
type: Number,
default: 1
},
min: {
type: Number,
default: 0
},
max: {
type: Number,
default: 100
},
valueColor: {
type: String,
default: () => {
return $dt('knob.value.background').variable;
}
},
rangeColor: {
type: String,
default: () => {
return $dt('knob.range.background').variable;
}
},
textColor: {
type: String,
default: () => {
return $dt('knob.text.color').variable;
}
},
strokeWidth: {
type: Number,
default: 14
},
showValue: {
type: Boolean,
default: true
},
valueTemplate: {
type: [String, Function],
default: '{value}'
},
tabindex: {
type: Number,
default: 0
},
ariaLabelledby: {
type: String,
default: null
},
ariaLabel: {
type: String,
default: null
}
},
style: KnobStyle,
provide() {
return {
$pcKnob: this,
$parentInstance: this
};
}
};
</script>