import type { VNode } from 'vue'; import type { DropdownButtonItemArgs } from '../dropdown-button/dropdown-button-item'; import type { FormItemWrapperArgs, MarginType } from '../form/form-item-wrapper'; import type { CheckBoxSkin } from './checkbox'; import { Prop, toNative } from 'vue-facing-decorator'; import TsxComponent, { Component } from '../../app/vuetsx'; import CheckBox from './checkbox'; import './css/checkbox-without-label.css'; interface CheckBoxArgs extends FormItemWrapperArgs { value: boolean; checkboxLabelHtml?: string; disabled?: boolean; placeholder?: string; skin?: CheckBoxSkin; changed?: (newValue: boolean) => void; } @Component class CheckBoxWithoutLabelComponent extends TsxComponent implements CheckBoxArgs { @Prop() label!: string | VNode; @Prop() cssClass!: string; @Prop() labelButtons!: DropdownButtonItemArgs[]; @Prop() subtitle!: string; @Prop() checkboxLabelHtml!: string; @Prop() disabled!: boolean; @Prop() value!: boolean; @Prop() placeholder!: string; @Prop() mandatory!: boolean; @Prop() wrap!: boolean; @Prop() maxWidth?: number; @Prop() skin!: CheckBoxSkin; @Prop() marginType?: MarginType; @Prop() hint: string; @Prop() appendIcon: string; @Prop() prependIcon: string; @Prop() appendClicked: () => void; @Prop() prependClicked: () => void; @Prop() changed: (newValue: boolean) => void; render (h) { return (
); } } const CheckBoxWithoutLabel = toNative(CheckBoxWithoutLabelComponent); export default CheckBoxWithoutLabel;