fix: style des composants inputs + affichage des hint/error/success #25

Merged
tristan merged 34 commits from develop into main 2026-04-07 08:15:16 +00:00
7 changed files with 345 additions and 331 deletions

View File

@@ -1,4 +1,5 @@
<template> <template>
<div>
<div <div
:class="mergedGroupClass" :class="mergedGroupClass"
> >
@@ -62,6 +63,7 @@
> >
{{ hint || error || success }} {{ hint || error || success }}
</p> </p>
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@@ -133,7 +135,7 @@ const isFilled = computed(() => currentValue.value.trim().length > 0)
const mergedGroupClass = computed(() => const mergedGroupClass = computed(() =>
twMerge( twMerge(
'relative mt-4 flex h-12 w-full items-center', 'relative flex h-12 w-full items-center',
props.groupClass, props.groupClass,
), ),
) )

View File

@@ -1,4 +1,5 @@
<template> <template>
<div>
<div :class="mergedGroupClass" > <div :class="mergedGroupClass" >
<label <label
v-if="label" v-if="label"
@@ -63,6 +64,7 @@
> >
{{ hint || error || success }} {{ hint || error || success }}
</p> </p>
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@@ -170,7 +172,7 @@ const isPlusDisabled = computed(() =>
const mergedGroupClass = computed(() => const mergedGroupClass = computed(() =>
twMerge( twMerge(
'relative mt-4 flex h-12 w-full items-center', 'relative flex h-12 w-full items-center',
props.groupClass, props.groupClass,
), ),
) )

View File

@@ -1,4 +1,5 @@
<template> <template>
<div>
<div <div
:class="mergedGroupClass" :class="mergedGroupClass"
> >
@@ -62,6 +63,7 @@
> >
{{ hint || error || success }} {{ hint || error || success }}
</p> </p>
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@@ -132,7 +134,7 @@ const hasSuccess = computed(() => !!props.success)
const isFilled = computed(() => currentValue.value.trim().length > 0) const isFilled = computed(() => currentValue.value.trim().length > 0)
const mergedGroupClass = computed(() => const mergedGroupClass = computed(() =>
twMerge( twMerge(
'relative mt-4 flex h-12 w-full items-center', 'relative flex h-12 w-full items-center',
props.groupClass, props.groupClass,
), ),
) )

View File

@@ -1,4 +1,5 @@
<template> <template>
<div>
<div <div
:class="mergedGroupClass" :class="mergedGroupClass"
> >
@@ -62,6 +63,7 @@
> >
{{ hint || error || success }} {{ hint || error || success }}
</p> </p>
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@@ -138,7 +140,7 @@ const hasSuccess = computed(() => !!props.success)
const isFilled = computed(() => currentValue.value.trim().length > 0) const isFilled = computed(() => currentValue.value.trim().length > 0)
const mergedGroupClass = computed(() => const mergedGroupClass = computed(() =>
twMerge( twMerge(
'relative mt-4 flex h-12 w-full items-center', 'relative flex h-12 w-full items-center',
props.groupClass, props.groupClass,
), ),
) )

View File

@@ -1,4 +1,5 @@
<template> <template>
<div>
<div <div
:class="mergedGroupClass" :class="mergedGroupClass"
> >
@@ -65,6 +66,7 @@
> >
{{ hint || error || success }} {{ hint || error || success }}
</p> </p>
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@@ -121,7 +123,7 @@ const hasSuccess = computed(() => !!props.success)
const isFilled = computed(() => currentDisplayValue.value.trim().length > 0) const isFilled = computed(() => currentDisplayValue.value.trim().length > 0)
const mergedGroupClass = computed(() => const mergedGroupClass = computed(() =>
twMerge( twMerge(
'relative mt-4 flex h-12 w-full items-center', 'relative flex h-12 w-full items-center',
props.groupClass, props.groupClass,
), ),
) )

View File

@@ -1,4 +1,5 @@
<template> <template>
<div>
<div <div
ref="root" ref="root"
:class="mergedGroupClass" :class="mergedGroupClass"
@@ -148,6 +149,7 @@
> >
{{ error || success || hint }} {{ error || success || hint }}
</p> </p>
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@@ -211,7 +213,7 @@ const normalizedOptions = computed<Option[]>(() => [
...props.options, ...props.options,
]) ])
const mergedGroupClass = computed(() => const mergedGroupClass = computed(() =>
twMerge('relative mt-4 w-full', props.minWidth, props.maxWidth, props.groupClass), twMerge('relative w-full', props.minWidth, props.maxWidth, props.groupClass),
) )
const hasError = computed(() => !!props.error) const hasError = computed(() => !!props.error)
const hasSuccess = computed(() => !!props.success && !hasError.value) const hasSuccess = computed(() => !!props.success && !hasError.value)

View File

@@ -1,7 +1,8 @@
<template> <template>
<div>
<div <div
ref="root" ref="root"
class="relative mt-4 w-full" class="relative w-full"
:class="[minWidth, maxWidth]" :class="[minWidth, maxWidth]"
> >
<button <button
@@ -199,6 +200,7 @@
> >
{{ error || success || hint }} {{ error || success || hint }}
</p> </p>
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">