lasthourcloud/resources/views/components/forms/textarea.blade.php

74 lines
3.6 KiB
PHP
Raw Normal View History

2024-04-12 11:33:56 +00:00
<script>
function handleKeydown(e) {
if (e.keyCode === 9) {
e.preventDefault();
e.target.setRangeText(
2024-04-12 13:23:48 +00:00
' ',
2024-04-12 11:33:56 +00:00
e.target.selectionStart,
e.target.selectionStart,
'end'
);
}
}
</script>
2024-03-15 21:02:37 +00:00
<div class="flex-1 form-control">
2023-06-02 13:15:12 +00:00
@if ($label)
2024-04-03 13:10:21 +00:00
<label class="flex items-center gap-1 mb-1 text-sm font-medium">{{ $label }}
2023-09-19 13:51:13 +00:00
@if ($required)
<x-highlighted text="*" />
@endif
@if ($helper)
<x-helper :helper="$helper" />
@endif
2023-05-17 13:46:20 +00:00
</label>
@endif
2024-03-15 21:02:37 +00:00
@if ($type === 'password')
<div class="relative" x-data="{ type: 'password' }">
@if ($allowToPeak)
<div x-on:click="changePasswordFieldType"
2024-03-24 15:00:25 +00:00
class="absolute inset-y-0 right-0 flex items-center h-6 pt-2 pr-2 cursor-pointer hover:dark:text-white">
2024-03-15 21:02:37 +00:00
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
<path d="M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6" />
</svg>
</div>
@endif
<input x-cloak x-show="type === 'password'" value="{{ $value }}"
{{ $attributes->merge(['class' => $defaultClassInput]) }} @required($required)
@if ($id !== 'null') wire:model={{ $id }} @endif
2024-03-20 11:54:06 +00:00
wire:dirty.class.remove='dark:focus:ring-coolgray-300 dark:ring-coolgray-300'
wire:dirty.class="dark:focus:ring-warning dark:ring-warning" wire:loading.attr="disabled"
2024-03-15 21:02:37 +00:00
type="{{ $type }}" @readonly($readonly) @disabled($disabled) id="{{ $id }}"
name="{{ $name }}" placeholder="{{ $attributes->get('placeholder') }}"
aria-placeholder="{{ $attributes->get('placeholder') }}">
<textarea x-cloak x-show="type !== 'password'" placeholder="{{ $placeholder }}"
{{ $attributes->merge(['class' => $defaultClass]) }}
@if ($realtimeValidation) wire:model.debounce.200ms="{{ $id }}"
@else
wire:model={{ $value ?? $id }}
2024-03-20 11:54:06 +00:00
wire:dirty.class.remove='dark:focus:ring-coolgray-300 dark:ring-coolgray-300' wire:dirty.class="dark:focus:ring-warning dark:ring-warning" @endif
2024-03-15 21:02:37 +00:00
@disabled($disabled) @readonly($readonly) @required($required) id="{{ $id }}"
name="{{ $name }}" name={{ $id }}></textarea>
</div>
@else
<textarea {{ $allowTab ? '@keydown.tab=handleKeydown' : '' }} placeholder="{{ $placeholder }}" {{ !$spellcheck ? 'spellcheck=false' : '' }} {{ $attributes->merge(['class' => $defaultClass]) }}
2024-03-15 21:02:37 +00:00
@if ($realtimeValidation) wire:model.debounce.200ms="{{ $id }}"
2023-09-15 09:55:58 +00:00
@else
2024-03-15 21:02:37 +00:00
wire:model={{ $value ?? $id }}
2024-03-20 11:54:06 +00:00
wire:dirty.class.remove='dark:focus:ring-coolgray-300 dark:ring-coolgray-300' wire:dirty.class="dark:focus:ring-warning dark:ring-warning" @endif
2024-03-15 21:02:37 +00:00
@disabled($disabled) @readonly($readonly) @required($required) id="{{ $id }}"
name="{{ $name }}" name={{ $id }}></textarea>
@endif
2023-05-17 13:46:20 +00:00
@error($id)
2023-08-11 18:19:42 +00:00
<label class="label">
<span class="text-red-500 label-text-alt">{{ $message }}</span>
</label>
2023-05-17 13:46:20 +00:00
@enderror
</div>