Files
solidtime/resources/js/packages/ui/src/Input/TextareaInput.vue
Gregor Vostrak e78a551098 refactor to shadcn components, dynamically load extension frontend
add jetstream permissions, add dynamic inertia module loading, add shadcn components, change modals and dropdowns to shadcn dismissable layer,
2025-04-23 14:33:32 +02:00

45 lines
945 B
Vue

<script setup lang="ts">
import { computed } from 'vue';
import { twMerge } from 'tailwind-merge';
const model = defineModel<string | number>({
default: '',
});
const props = withDefaults(defineProps<{
id?: string;
type?: string;
class?: string;
rows?: number;
placeholder?: string;
disabled?: boolean;
required?: boolean;
}>(), {
type: 'text',
class: '',
rows: 3,
disabled: false,
required: false,
});
const classes = computed(() => {
return twMerge(
'block w-full rounded-md bg-input-background border-input-border shadow-sm focus:border-transparent focus:ring-ring disabled:opacity-50',
props.class
);
});
</script>
<template>
<textarea
:id="id"
v-model="model"
:type="type"
:class="classes"
:rows="rows"
:placeholder="placeholder"
:disabled="disabled"
:required="required"
/>
</template>