import { computed, defineComponent, type PropType } from 'vue'; import { DefaultComponentProps } from '../_default'; import InputWrapper from './_input'; const component = defineComponent({ props: { ...DefaultComponentProps, label: String, modelValue: Boolean, value: { type: Boolean, default: false, }, disabled: { type: Boolean, default: false, }, states: Object as PropType<[string, string]>, helperText: String, propPath: String, }, emits: { input: (_value: boolean) => { return true; }, 'update:modelValue': (_?: boolean) => { return true; }, }, setup(props, ctx) { // const state = ref(getState()); const state = computed(() => props.value ? props.value : props.modelValue ? props.modelValue : false ); function keyDownHandler(event: KeyboardEvent) { if (event.key === 'Enter') { ctx.emit('input', !state.value); ctx.emit('update:modelValue', !state.value); } } return () => ( { if (!props.disabled) { ctx.emit('input', !state.value); ctx.emit('update:modelValue', !state.value); } }} >
{props.states ? ( {state.value ? props.states[0] : props.states[1]} ) : ( '' )}
); }, }); export default component;