@props([ 'selectableHeader' => null, 'weekNumbers' => null, 'unavailable' => null, 'withInputs' => null, 'navigation' => null, 'withToday' => null, 'months' => null, 'value' => null, 'mode' => null, 'size' => null, 'name' => null, ]) @php // We only want to show the name attribute if it has been set manually // but not if it has been set from the `wire:model` attribute... $showName = isset($name); if (! isset($name)) { $name = $attributes->whereStartsWith('wire:model')->first(); } // Support adding the .self modifier to the wire:model directive... if (($wireModel = $attributes->wire('model')) && $wireModel->directive && ! $wireModel->hasModifier('self')) { unset($attributes[$wireModel->directive]); $wireModel->directive .= '.self'; $attributes = $attributes->merge([$wireModel->directive => $wireModel->value]); } $months = $months ?? ($mode === 'range' ? 2 : 1); $range = $mode === 'range'; // Mark it invalid if the property or any of it's nested attributes have errors... $invalid ??= ($name && ($errors->has($name) || $errors->has($name . '.*'))); $class = Flux::classes() ->add('isolate relative') ; $sizeClasses = match ($size) { '2xl' => $weekNumbers ? 'size-12 sm:size-16' : 'size-13 sm:size-16', 'xl' => $weekNumbers ? 'size-11 sm:size-14' : 'size-12 sm:size-14', 'lg' => $weekNumbers ? 'size-10 sm:size-12' : 'size-11 sm:size-12', default => $weekNumbers ? 'size-10 sm:size-11' : 'size-11 sm:size-11', 'sm' => $weekNumbers ? 'size-9 sm:size-10' : 'size-11 sm:size-10', 'xs' => $weekNumbers ? 'size-8 sm:size-9' : 'size-10 sm:size-9', }; // Add support for `$value` being an array, if for example it's coming from // the `old()` helper or if a user prefers to pass data in as an array... if (is_array($value)) { $value = match (true) { $mode === 'range' => isset($value['start']) && isset($value['end']) ? $value['start'] . '/' . $value['end'] : null, default => collect($value)->join(','), }; } if (isset($unavailable)) { $unavailable = collect($unavailable)->implode(','); } @endphp class($class) }} data-flux-calendar @if ($mode) mode="{{ $mode }}" @endif months="1" sm:months="{{ $months }}" @if (isset($unavailable) && $unavailable !== '') unavailable="{{ $unavailable }}" @endif @if ($showName) name="{{ $name }}" @endif @if (isset($value)) value="{{ $value }}" @endif >
{{ __('Start') }}
{{ __('End') }}