category page filters components and general ui - no functionality yet

This commit is contained in:
elvira
2026-08-31 21:52:47 +03:00
parent 74e554884f
commit b070a7d1e6
13 changed files with 1491 additions and 1620 deletions
@@ -0,0 +1,33 @@
@aware(['id'])
@props([
'href' => null,
'current' => false,
'close' => true,
])
{{--
A single option inside <x-ui.dropdown>.
- Renders a <button> by default, or an <a> when :href is given.
- `close` (button only): also dismiss the panel on click via
popovertargetaction="hide". Any data-action on the same button still
fires — Stimulus handler runs AND the popover closes. Pass :close="false"
for options that shouldn't close the panel (e.g. a multi-select filter).
- `current`: marks the active option (aria-current + bold).
- Everything else (data-action, data-*-param, aria-*, class, …) is forwarded.
`id` comes from the parent <x-ui.dropdown> via @aware.
--}}
@php $tag = $href ? 'a' : 'button'; @endphp
<{{ $tag }}
@if($tag === 'button') type="button" @endif
@if($href) href="{{ $href }}" @endif
@if($close && $tag === 'button') popovertarget="{{ $id }}" popovertargetaction="hide" @endif
@if($current) aria-current="true" @endif
{{ $attributes->merge(['class' => 'block w-full text-left px-5 py-2.5 cursor-pointer transition-colors hover:bg-black hover:text-neutral-200 aria-[current=true]:font-bold']) }}
>
{{ $slot }}
</{{ $tag }}>