UNPKG

@vuesax-alpha/nightly

Version:
60 lines (57 loc) 1.68 kB
import { isNil } from 'lodash-unified'; import '../../../utils/index.mjs'; import '../../../constants/index.mjs'; import '../../../hooks/index.mjs'; import { buildProps } from '../../../utils/vue/props/runtime.mjs'; import { useColorProp } from '../../../hooks/use-common-props/index.mjs'; import { isNumber } from '../../../utils/types.mjs'; import { CHANGE_EVENT, INPUT_EVENT, UPDATE_MODEL_EVENT } from '../../../constants/event.mjs'; const inputNumberProps = buildProps({ color: useColorProp, background: useColorProp, id: { type: String, default: void 0 }, step: { type: Number, default: 1 }, stepStrictly: { type: Boolean }, max: { type: Number, default: Number.POSITIVE_INFINITY }, min: { type: Number, default: Number.NEGATIVE_INFINITY }, modelValue: { type: Number }, readonly: { type: Boolean }, disabled: { type: Boolean }, controls: { type: Boolean, default: true }, valueOnClear: { type: [String, Number, null], validator: (val) => val === null || isNumber(val) || ["min", "max"].includes(val), default: null }, name: { type: String }, label: { type: String }, placeholder: { type: String }, precision: { type: Number, validator: (val) => val >= 0 && val === Number.parseInt(`${val}`, 10) } }); const inputNumberEmits = { [CHANGE_EVENT]: (cur, prev) => prev !== cur, blur: (e) => e instanceof FocusEvent, focus: (e) => e instanceof FocusEvent, [INPUT_EVENT]: (val) => isNumber(val) || isNil(val), [UPDATE_MODEL_EVENT]: (val) => isNumber(val) || isNil(val) }; export { inputNumberEmits, inputNumberProps }; //# sourceMappingURL=input-number.mjs.map