mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
95 lines
3.1 KiB
PHP
95 lines
3.1 KiB
PHP
@php
|
|
$hasError = false;
|
|
if ($name) { $hasError = $errors->has($name); }
|
|
@endphp
|
|
|
|
<div class="@if($disabled) opacity-60 @endif">
|
|
@if ($label || $cornerHint)
|
|
<div class="flex {{ !$label && $cornerHint ? 'justify-end' : 'justify-between' }} mb-1">
|
|
@if ($label)
|
|
<x-dynamic-component
|
|
:component="WireUi::component('label')"
|
|
:label="$label"
|
|
:has-error="$hasError"
|
|
:for="$id"
|
|
/>
|
|
@endif
|
|
|
|
@if ($cornerHint)
|
|
<x-dynamic-component
|
|
:component="WireUi::component('label')"
|
|
:label="$cornerHint"
|
|
:has-error="$hasError"
|
|
:for="$id"
|
|
/>
|
|
@endif
|
|
</div>
|
|
@endif
|
|
|
|
<div class="relative rounded-md @unless($shadowless) shadow-sm @endunless">
|
|
@if ($prefix || $icon)
|
|
<div class="absolute inset-y-0 left-0 pl-2.5 flex items-center pointer-events-none
|
|
{{ $hasError ? 'text-negative-500' : 'text-secondary-400' }}">
|
|
@if ($icon)
|
|
<x-dynamic-component
|
|
:component="WireUi::component('icon')"
|
|
:name="$icon"
|
|
class="h-5 w-5"
|
|
/>
|
|
@elseif($prefix)
|
|
<span class="pl-1 flex items-center self-center">
|
|
{{ $prefix }}
|
|
</span>
|
|
@endif
|
|
</div>
|
|
@elseif($prepend)
|
|
{{ $prepend }}
|
|
@endif
|
|
|
|
<textarea {{ $attributes->class([
|
|
$getInputClasses($hasError),
|
|
])->merge([
|
|
'autocomplete' => 'off',
|
|
'rows' => 4
|
|
]) }}>{{ $slot }}</textarea>
|
|
|
|
@if ($suffix || $rightIcon || ($hasError && !$append))
|
|
<div class="absolute inset-y-0 right-0 pr-2.5 flex items-center pointer-events-none
|
|
{{ $hasError ? 'text-negative-500' : 'text-secondary-400' }}">
|
|
@if ($rightIcon)
|
|
<x-dynamic-component
|
|
:component="WireUi::component('icon')"
|
|
:name="$rightIcon"
|
|
class="h-5 w-5"
|
|
/>
|
|
@elseif($suffix)
|
|
<span class="pr-1 flex items-center justify-center">
|
|
{{ $suffix }}
|
|
</span>
|
|
@elseif($hasError)
|
|
<x-dynamic-component
|
|
:component="WireUi::component('icon')"
|
|
name="exclamation-circle"
|
|
class="h-5 w-5"
|
|
/>
|
|
@endif
|
|
</div>
|
|
@elseif($append)
|
|
{{ $append }}
|
|
@endif
|
|
</div>
|
|
|
|
@if (!$hasError && $hint)
|
|
<label @if($id) for="{{ $id }}" @endif class="mt-2 text-sm text-secondary-500 dark:text-secondary-400">
|
|
{{ $hint }}
|
|
</label>
|
|
@endif
|
|
|
|
@if ($name)
|
|
<x-dynamic-component
|
|
:component="WireUi::component('error')"
|
|
:name="$name"
|
|
/>
|
|
@endif
|
|
</div>
|