41 lines
1.8 KiB
PHP
41 lines
1.8 KiB
PHP
@props([
|
|
'name' => defaultBladewindName(),
|
|
'icon' => null,
|
|
'avatar' => null,
|
|
'avatarSize' => config('bladewind.checkcards.avatar_size', 'medium'),
|
|
'class' => null,
|
|
'required' => false,
|
|
'max' => 1,
|
|
'compact' => config('bladewind.selectable_card.compact', false),
|
|
'color' => config('bladewind.checkcards.color', 'primary'),
|
|
'radius' => config('bladewind.checkcards.radius', 'medium'),
|
|
'borderWidth' => config('bladewind.checkcards.border_width', 2),
|
|
'borderColor' => config('bladewind.checkcards.border_color', 'gray'),
|
|
'alignItems' => config('bladewind.checkcards.align_items', 'top'),
|
|
'showError' => config('bladewind.checkcards.show_error', false),
|
|
'autoSelectNew' => config('bladewind.checkcards.auto_select_new', true),
|
|
'errorHeading' => config('bladewind.checkcards.error_heading', 'Max selection'),
|
|
'errorMessage' => config('bladewind.checkcards.error_message', 'You have selected the maximum cards allowed'),
|
|
'selectedValue' => '',
|
|
])
|
|
@php
|
|
$name = parseBladewindName($name);
|
|
$required = parseBladewindVariable($required);
|
|
$show_error = parseBladewindVariable($showError);
|
|
$auto_select_new = parseBladewindVariable($autoSelectNew);
|
|
$max_selection = (!empty($max) && is_numeric($max) && $max > 0) ? $max : 1;
|
|
if($show_error) $auto_select_new = false;
|
|
@endphp
|
|
|
|
<div class="bw-checkcards-{{$name}} {{$class}}">
|
|
<x-bladewind::input
|
|
:name="$name"
|
|
:error_message="$errorMessage"
|
|
:error_heading="$errorHeading"
|
|
data-max-selection="{{$max_selection}}"
|
|
data-show-error="{{$show_error}}"
|
|
data-auto-select="{{$auto_select_new}}"
|
|
type="hidden"
|
|
class="{{ ($required) ? 'required':''}}"/>
|
|
{{ $slot }}
|
|
</div> |