@aware([ 'variant' ]) @props([ 'size' => null, 'variant' => null, 'scrollable' => false, ]) @php if ($variant === 'pills') { $classes = Flux::classes() ->add('flex gap-4 h-8') ; } elseif ($variant === 'segmented') { $classes = Flux::classes() ->add('inline-flex p-1') ->add($scrollable ? '' : 'rounded-lg bg-zinc-800/5 dark:bg-white/10') ->add($size === 'sm' ? 'h-[calc(2rem+2px)] py-[3px] px-[3px]' : 'h-10 p-1') ; } else { $classes = Flux::classes() ->add('flex gap-4 h-10 border-b') ->add($scrollable ? 'border-transparent' : 'border-zinc-800/10 dark:border-white/20') ; } $scrollableFade = $attributes->pluck('scrollable:fade', false); $scrollableScrollbar = $attributes->pluck('scrollable:scrollbar', null); $wrapperClasses = Flux::classes() ->add('relative') ->add($variant === 'segmented' ? 'rounded-lg bg-zinc-800/5 dark:bg-white/10' : ''); $borderClasses = Flux::classes() ->add('absolute inset-x-0 bottom-0 h-px') ->add($variant === null ? 'bg-zinc-800/10 dark:bg-white/20' : '') ; $scrollAreaClasses = Flux::classes() ->add('relative flex overflow-auto') ->add($scrollableFade ? [ '[--flux-scroll-percentage:0%]', // This is controlled by JavaScript... 'mask-r-from-[max(calc(100%-6rem),var(--flux-scroll-percentage))]', 'rtl:mask-r-from-100% rtl:mask-l-from-[max(calc(100%-6rem),var(--flux-scroll-percentage))]', ] : '') ->add($scrollableScrollbar === 'hide' ? 'flux-no-scrollbar' : '') ->add($variant == 'segmented' ? 'rounded-lg' : '') ; @endphp
class($classes) }} data-flux-tabs> {{ $slot }}
class($classes) }} data-flux-tabs> {{ $slot }}