@props([ 'items' => [], 'value' => null, 'label' => null, 'size' => 'md', 'variant' => 'default', ]) @php $label = $label ?: __('kview-ui-core::ui.navigation.segmented_control'); $variant = in_array($variant, ['default', 'pills'], true) ? $variant : 'default'; @endphp
class([ 'ui-segmented-control', 'ui-segmented-control--'.$size, 'ui-segmented-control--'.$variant, ])->merge([ 'role' => 'group', 'aria-label' => $label, ]) }} > @foreach ($items as $item) @php $itemValue = (string) ($item['value'] ?? $item['id'] ?? $loop->index); $isActive = (string) $value === $itemValue || (is_null($value) && ! empty($item['active'])); $isDisabled = ! empty($item['disabled']); $labelText = $item['label'] ?? $itemValue; $badge = $item['badge'] ?? null; $icon = $item['icon'] ?? null; $href = $item['href'] ?? null; $segmentClasses = ['ui-segment', 'is-active' => $isActive, 'is-disabled' => $isDisabled]; $itemAttributes = new \Illuminate\View\ComponentAttributeBag($item['attributes'] ?? []); @endphp @if ($href && ! $isDisabled) class($segmentClasses) }} href="{{ $href }}" @if ($isActive) aria-current="true" @endif data-ui-segment-value="{{ $itemValue }}" > @if ($icon) @endif {{ $labelText }} @if (! is_null($badge)) {{ $badge }} @endif @else @endif @endforeach