>(() => defu({}, props.ui, appConfig.ui.range))
- const { emitFormBlur } = useFormEvents()
+ const { emitFormChange, formGroup } = useFormGroup()
+ const color = computed(() => formGroup?.error?.value ? 'red' : props.color)
+ const size = computed(() => formGroup?.size?.value ?? props.size)
const value = computed({
get () {
@@ -96,13 +97,13 @@ export default defineComponent({
const onChange = (event: Event) => {
emit('change', event)
- emitFormBlur()
+ emitFormChange()
}
const wrapperClass = computed(() => {
return classNames(
ui.value.wrapper,
- ui.value.size[props.size]
+ ui.value.size[size.value]
)
})
@@ -111,8 +112,8 @@ export default defineComponent({
ui.value.base,
ui.value.background,
ui.value.rounded,
- ui.value.ring.replaceAll('{color}', props.color),
- ui.value.size[props.size]
+ ui.value.ring.replaceAll('{color}', color.value),
+ ui.value.size[size.value]
)
})
@@ -120,10 +121,10 @@ export default defineComponent({
return classNames(
ui.value.thumb.base,
// Intermediate class to allow thumb ring or background color (set to `current`) as it's impossible to safelist with arbitrary values
- ui.value.thumb.color.replaceAll('{color}', props.color),
+ ui.value.thumb.color.replaceAll('{color}', color.value),
ui.value.thumb.ring,
ui.value.thumb.background,
- ui.value.thumb.size[props.size]
+ ui.value.thumb.size[size.value]
)
})
@@ -132,7 +133,7 @@ export default defineComponent({
ui.value.track.base,
ui.value.track.background,
ui.value.track.rounded,
- ui.value.track.size[props.size]
+ ui.value.track.size[size.value]
)
})
@@ -140,8 +141,8 @@ export default defineComponent({
return classNames(
ui.value.progress.base,
ui.value.progress.rounded,
- ui.value.progress.background.replaceAll('{color}', props.color),
- ui.value.progress.size[props.size]
+ ui.value.progress.background.replaceAll('{color}', color.value),
+ ui.value.progress.size[size.value]
)
})
diff --git a/src/runtime/components/forms/Select.vue b/src/runtime/components/forms/Select.vue
index 588a2198..95ab75c8 100644
--- a/src/runtime/components/forms/Select.vue
+++ b/src/runtime/components/forms/Select.vue
@@ -1,7 +1,6 @@