@props([ // Identificador único 'uid' => uniqid(), // Modelo para Livewire 'model' => '', // Etiqueta y Texto de ayuda 'message' => '', 'note' => '', // Clases generales 'size' => 'md', // Tamaño del textarea (xxs, xs, sm, md) 'mb0' => false, // Remover margen inferior 'parentClass' => '', ]) @php // **Configuración de Name, ID y Model** $livewireModel = $attributes->get('wire:model', $model); $name = $attributes->get('name', $livewireModel); $inputId = $attributes->get('id', $name . '_' . $uid); // **Manejo de errores** $errorKey = $livewireModel ?: $name; $hasError = $errors->has($errorKey); $errorClass = $hasError ? 'is-invalid' : ''; // **Clases dinámicas** $sizeClassDropzone = match ($size) { 'sm' => 'dropzone-sm', 'xs' => 'dropzone-xs', 'md' => 'dropzone-md', default => '', }; $sizeClassButton = match ($size) { 'sm' => 'btn-sm', 'xs' => 'btn-xs', default => '', }; @endphp