Files
website/src/components/input/Textarea.svelte
2025-10-13 21:04:21 +02:00

37 lines
723 B
Svelte

<script lang="ts">
interface Props {
id?: string;
value?: string | null;
label?: string;
required?: boolean;
readonly?: boolean;
size?: 'sm';
dynamicWidth?: boolean;
rows?: number;
}
let { id, value = $bindable(), label, required, readonly, size, dynamicWidth, rows }: Props = $props();
</script>
<fieldset class="fieldset">
<legend class="fieldset-legend">
{label}
{#if required}
<span class="text-red-700">*</span>
{/if}
</legend>
<textarea
{id}
class="textarea"
class:textarea-sm={size === 'sm'}
class:w-full={dynamicWidth}
class:validator={required}
bind:value
{required}
{rows}
{readonly}
></textarea>
</fieldset>