component(
ref="formEl"
:is="formRegister && !wRadios ? 'w-form-element' : 'div'"
v-bind="formRegister && { validators, inputValue, disabled: isDisabled, readonly: isReadonly, noBlurValidation }"
v-model:valid="valid"
@reset="$emit('update:modelValue', inputValue = null);$emit('input', null)"
:class="classes")
input(
ref="input"
:id="inputId"
type="radio"
:name="inputName"
:checked="inputValue || null"
:disabled="isDisabled || isReadonly || null"
:required="required || null"
:tabindex="tabindex || null"
@focus="$emit('focus', $event)"
@change="onInput($event) /* Edge doesn't emit an `input` event on checkbox/radio/select change */"
:aria-checked="inputValue || 'false'"
role="radio")
template(v-if="hasLabel && labelOnLeft")
label.w-radio__label.w-form-el-shakable.pr2(
v-if="$slots.default"
:for="inputId"
:class="labelClasses")
slot {{ label }}
label.w-radio__label.w-form-el-shakable.pr2(
v-else-if="label"
:for="inputId"
:class="labelClasses"
v-html="label")
.w-radio__input(
@click="$refs.input.focus();$refs.input.click()"
:class="this.color")
template(v-if="hasLabel && !labelOnLeft")
label.w-radio__label.w-form-el-shakable.pl2(
v-if="$slots.default"
:for="inputId"
:class="labelClasses")
slot {{ label }}
label.w-radio__label.w-form-el-shakable.pl2(
v-else-if="label"
:for="inputId"
:class="labelClasses"
v-html="label")