Files
nademitex_user/src/components/ui/SearchField.vue
T

47 lines
902 B
Vue
Raw Normal View History

<script setup lang="ts">
defineProps<{
modelValue?: string
placeholder?: string
}>()
defineEmits<{
'update:modelValue': [value: string]
}>()
</script>
<template>
<div class="search-field">
<input
class="search-field__input"
type="search"
:value="modelValue"
:placeholder="placeholder"
@input="$emit('update:modelValue', ($event.target as HTMLInputElement).value)"
/>
</div>
</template>
<style scoped>
.search-field__input {
width: 100%;
height: 48px;
padding: 0 16px;
border: 1px solid var(--color-border);
border-radius: var(--radius-sm);
color: var(--color-text);
font-family: inherit;
font-size: 0.9375rem;
line-height: 1.5;
transition: border-color 0.15s;
}
.search-field__input::placeholder {
color: var(--color-text-muted);
}
.search-field__input:focus {
outline: none;
border-color: var(--color-primary);
}
</style>