mirror of
https://github.com/sysadminsmedia/homebox.git
synced 2025-12-21 13:23:14 +01:00
* Remove text-sm from inputs * Update frontend/components/ui/command/CommandInput.vue Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update frontend/components/ui/tags-input/TagsInputInput.vue Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update frontend/components/ui/select/SelectTrigger.vue Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Respond to coderrabitai * Another coderrabbit comment * More coderrabbit responses * Fix formatting * Apply suggestion from @coderabbitai[bot] Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update frontend/components/ui/input/Input.vue Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Correct Coderrabbit's messy suggestion that I was too trigger-happy on * Accessible changes aOnly use accessible font sizing on mobile --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
31 lines
1.4 KiB
Vue
31 lines
1.4 KiB
Vue
<script setup lang="ts">
|
|
import type { HTMLAttributes } from 'vue'
|
|
import { cn } from '@/lib/utils'
|
|
import { useVModel } from '@vueuse/core'
|
|
|
|
const {textarea} = useTextareaAutosize()
|
|
|
|
const props = defineProps<{
|
|
class?: HTMLAttributes['class']
|
|
defaultValue?: string | number
|
|
modelValue?: string | number
|
|
autosize?: boolean
|
|
}>()
|
|
|
|
const emits = defineEmits<{
|
|
(e: 'update:modelValue', payload: string | number): void
|
|
}>()
|
|
|
|
const modelValue = useVModel(props, 'modelValue', emits, {
|
|
passive: true,
|
|
defaultValue: props.defaultValue,
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<textarea v-if="!props.autosize" v-model="modelValue" :class="cn('flex min-h-20 w-full rounded-md border border-input bg-background px-3 py-2 text-base md:text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', props.class)" />
|
|
<div v-else :class="cn('flex w-full rounded-md border border-input', props.class)">
|
|
<textarea ref="textarea" v-model="modelValue" class="w-full min-h-20 resize-none w-full rounded-md border-input bg-background px-3 py-2 text-base md:text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50" />
|
|
</div>
|
|
</template>
|