67 lines
1.5 KiB
JavaScript
67 lines
1.5 KiB
JavaScript
import { useSizeProp } from '../../../hooks/use-size/index.mjs';
|
|
import { useAriaProps } from '../../../hooks/use-aria/index.mjs';
|
|
import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
|
|
import { isString } from '@vue/shared';
|
|
import { isNumber, isBoolean } from '../../../utils/types.mjs';
|
|
|
|
const checkboxProps = {
|
|
modelValue: {
|
|
type: [Number, String, Boolean],
|
|
default: void 0
|
|
},
|
|
label: {
|
|
type: [String, Boolean, Number, Object],
|
|
default: void 0
|
|
},
|
|
value: {
|
|
type: [String, Boolean, Number, Object],
|
|
default: void 0
|
|
},
|
|
indeterminate: Boolean,
|
|
disabled: {
|
|
type: Boolean,
|
|
default: void 0
|
|
},
|
|
checked: Boolean,
|
|
name: {
|
|
type: String,
|
|
default: void 0
|
|
},
|
|
trueValue: {
|
|
type: [String, Number],
|
|
default: void 0
|
|
},
|
|
falseValue: {
|
|
type: [String, Number],
|
|
default: void 0
|
|
},
|
|
trueLabel: {
|
|
type: [String, Number],
|
|
default: void 0
|
|
},
|
|
falseLabel: {
|
|
type: [String, Number],
|
|
default: void 0
|
|
},
|
|
id: {
|
|
type: String,
|
|
default: void 0
|
|
},
|
|
border: Boolean,
|
|
size: useSizeProp,
|
|
tabindex: [String, Number],
|
|
validateEvent: {
|
|
type: Boolean,
|
|
default: true
|
|
},
|
|
ariaLabel: String,
|
|
...useAriaProps(["ariaControls"])
|
|
};
|
|
const checkboxEmits = {
|
|
[UPDATE_MODEL_EVENT]: (val) => isString(val) || isNumber(val) || isBoolean(val),
|
|
change: (val) => isString(val) || isNumber(val) || isBoolean(val)
|
|
};
|
|
|
|
export { checkboxEmits, checkboxProps };
|
|
//# sourceMappingURL=checkbox.mjs.map
|