primevue-mirror/components/lib/inputnumber/BaseInputNumber.vue

169 lines
3.7 KiB
Vue
Raw Normal View History

2023-05-24 11:03:56 +00:00
<script>
import BaseComponent from 'primevue/basecomponent';
import InputNumberStyle from 'primevue/inputnumber/style';
2023-05-24 11:03:56 +00:00
export default {
name: 'BaseInputNumber',
extends: BaseComponent,
props: {
modelValue: {
type: Number,
default: null
},
format: {
type: Boolean,
default: true
},
showButtons: {
type: Boolean,
default: false
},
buttonLayout: {
type: String,
default: 'stacked'
},
incrementButtonClass: {
type: String,
default: null
},
decrementButtonClass: {
type: String,
default: null
},
incrementButtonIcon: {
type: String,
default: undefined
},
decrementButtonIcon: {
type: String,
default: undefined
},
locale: {
type: String,
default: undefined
},
localeMatcher: {
type: String,
default: undefined
},
mode: {
type: String,
default: 'decimal'
},
prefix: {
type: String,
default: null
},
suffix: {
type: String,
default: null
},
currency: {
type: String,
default: undefined
},
currencyDisplay: {
type: String,
default: undefined
},
useGrouping: {
type: Boolean,
default: true
},
minFractionDigits: {
type: Number,
default: undefined
},
maxFractionDigits: {
type: Number,
default: undefined
},
roundingMode: {
type: String,
default: 'halfExpand',
validator(value) {
2023-12-22 00:25:54 +00:00
return ['ceil', 'floor', 'expand', 'trunc', 'halfCeil', 'halfFloor', 'halfExpand', 'halfTrunc', 'halfEven'].includes(value);
}
},
2023-05-24 11:03:56 +00:00
min: {
type: Number,
default: null
},
max: {
type: Number,
default: null
},
step: {
type: Number,
default: 1
},
allowEmpty: {
type: Boolean,
default: true
},
highlightOnFocus: {
type: Boolean,
default: false
},
readonly: {
type: Boolean,
default: false
},
2024-01-31 08:02:53 +00:00
variant: {
type: String,
2024-02-02 11:46:26 +00:00
default: null
2024-01-31 08:02:53 +00:00
},
invalid: {
type: Boolean,
default: false
2023-05-24 11:03:56 +00:00
},
disabled: {
type: Boolean,
default: false
},
placeholder: {
type: String,
default: null
},
inputId: {
type: String,
default: null
},
inputClass: {
type: [String, Object],
default: null
},
inputStyle: {
type: Object,
default: null
},
inputProps: {
type: null,
default: null
},
incrementButtonProps: {
type: null,
default: null
},
decrementButtonProps: {
type: null,
default: null
},
ariaLabelledby: {
2023-05-24 11:03:56 +00:00
type: String,
default: null
},
ariaLabel: {
2023-05-24 11:03:56 +00:00
type: String,
default: null
}
},
style: InputNumberStyle,
provide() {
return {
$parentInstance: this
};
2023-05-24 11:03:56 +00:00
}
};
</script>