You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.0 KiB
96 lines
2.0 KiB
import { placements } from '@popperjs/core';
|
|
import '../../../utils/index.mjs';
|
|
import '../../../constants/index.mjs';
|
|
import '../../../hooks/index.mjs';
|
|
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
|
|
import { useSizeProp } from '../../../hooks/use-size/index.mjs';
|
|
import { useAriaProps } from '../../../hooks/use-aria/index.mjs';
|
|
import { isNumber } from '../../../utils/types.mjs';
|
|
import { isArray } from '@vue/shared';
|
|
import { UPDATE_MODEL_EVENT, INPUT_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
|
|
|
|
const sliderProps = buildProps({
|
|
modelValue: {
|
|
type: definePropType([Number, Array]),
|
|
default: 0
|
|
},
|
|
id: {
|
|
type: String,
|
|
default: void 0
|
|
},
|
|
min: {
|
|
type: Number,
|
|
default: 0
|
|
},
|
|
max: {
|
|
type: Number,
|
|
default: 100
|
|
},
|
|
step: {
|
|
type: Number,
|
|
default: 1
|
|
},
|
|
showInput: Boolean,
|
|
showInputControls: {
|
|
type: Boolean,
|
|
default: true
|
|
},
|
|
size: useSizeProp,
|
|
inputSize: useSizeProp,
|
|
showStops: Boolean,
|
|
showTooltip: {
|
|
type: Boolean,
|
|
default: true
|
|
},
|
|
formatTooltip: {
|
|
type: definePropType(Function),
|
|
default: void 0
|
|
},
|
|
disabled: Boolean,
|
|
range: Boolean,
|
|
vertical: Boolean,
|
|
height: String,
|
|
debounce: {
|
|
type: Number,
|
|
default: 300
|
|
},
|
|
rangeStartLabel: {
|
|
type: String,
|
|
default: void 0
|
|
},
|
|
rangeEndLabel: {
|
|
type: String,
|
|
default: void 0
|
|
},
|
|
formatValueText: {
|
|
type: definePropType(Function),
|
|
default: void 0
|
|
},
|
|
tooltipClass: {
|
|
type: String,
|
|
default: void 0
|
|
},
|
|
placement: {
|
|
type: String,
|
|
values: placements,
|
|
default: "top"
|
|
},
|
|
marks: {
|
|
type: definePropType(Object)
|
|
},
|
|
validateEvent: {
|
|
type: Boolean,
|
|
default: true
|
|
},
|
|
...useAriaProps(["ariaLabel"])
|
|
});
|
|
const isValidValue = (value) => isNumber(value) || isArray(value) && value.every(isNumber);
|
|
const sliderEmits = {
|
|
[UPDATE_MODEL_EVENT]: isValidValue,
|
|
[INPUT_EVENT]: isValidValue,
|
|
[CHANGE_EVENT]: isValidValue
|
|
};
|
|
|
|
export { sliderEmits, sliderProps };
|
|
//# sourceMappingURL=slider2.mjs.map
|