mirror of
https://github.com/HolgerHatGarKeineNode/einundzwanzig-nostr.git
synced 2026-01-28 07:43:18 +00:00
🎨 Add new Flux icons: implement multiple reusable icon components (e.g., hand-raised, hand-thumb-up, heart, hashtag, home) with variant support for improved UI consistency.
This commit is contained in:
14
resources/views/flux/select/indicator/index.blade.php
Normal file
14
resources/views/flux/select/indicator/index.blade.php
Normal file
@@ -0,0 +1,14 @@
|
||||
@aware([ 'variant' ])
|
||||
|
||||
@props([
|
||||
'variant' => 'check',
|
||||
])
|
||||
|
||||
@php
|
||||
// This prevents variants picked up by `@aware()` from other wrapping components like flux::modal from being used here...
|
||||
$variant = $variant !== 'check' && Flux::componentExists('select.indicator.variants.' . $variant)
|
||||
? $variant
|
||||
: 'check';
|
||||
@endphp
|
||||
|
||||
<flux:delegate-component :component="'select.indicator.variants.' . $variant">{{ $slot }}</flux:delegate-component>
|
||||
@@ -0,0 +1,3 @@
|
||||
@blaze
|
||||
|
||||
<flux:icon variant="mini" icon="check" class="hidden [ui-option[data-selected]_&]:block" />
|
||||
@@ -0,0 +1,28 @@
|
||||
@blaze
|
||||
|
||||
@php
|
||||
$classes = Flux::classes()
|
||||
->add('shrink-0 size-[1.125rem] rounded-[.3rem] flex justify-center items-center')
|
||||
->add('text-sm text-zinc-700 dark:text-zinc-800')
|
||||
->add('[ui-option[disabled]_&]:opacity-75 [ui-option[data-selected][disabled]_&]:opacity-50 ')
|
||||
->add('[ui-option[data-selected]_&>svg:first-child]:block')
|
||||
->add([
|
||||
'border',
|
||||
'border-zinc-300 dark:border-white/10',
|
||||
'[ui-option[disabled]_&]:border-zinc-200 dark:[ui-option[disabled]_&]:border-white/5',
|
||||
'[ui-option[data-selected]_&]:border-transparent',
|
||||
'[ui-option[disabled][data-selected]_&]::border-transparent',
|
||||
])
|
||||
->add([
|
||||
'bg-white dark:bg-white/10',
|
||||
'[ui-option[data-selected]_&]:bg-[var(--color-accent)]',
|
||||
'hover:[ui-option[data-selected]_&]:bg-(--color-accent)',
|
||||
'focus:[ui-option[data-selected]_&]:bg-(--color-accent)',
|
||||
])
|
||||
;
|
||||
@endphp
|
||||
|
||||
<div {{ $attributes->class($classes) }}>
|
||||
<flux:icon.check variant="micro" class="hidden text-[var(--color-accent-foreground)]" />
|
||||
<flux:icon.minus variant="micro" class="hidden text-[var(--color-accent-foreground)]" />
|
||||
</div>
|
||||
@@ -0,0 +1,27 @@
|
||||
@blaze
|
||||
|
||||
@php
|
||||
$classes = Flux::classes()
|
||||
->add('shrink-0 size-[1.125rem] rounded-full')
|
||||
->add('text-sm text-zinc-700 dark:text-zinc-800')
|
||||
->add('[ui-option[disabled]_&]:opacity-75 [ui-option[data-selected][disabled]_&]:opacity-50')
|
||||
->add('flex justify-center items-center [ui-option[data-selected]_&>div]:block')
|
||||
->add([
|
||||
'border',
|
||||
'border-zinc-300 dark:border-white/10',
|
||||
'[ui-option[disabled]_&]:border-zinc-200 dark:[ui-option[disabled]_&]:border-white/5',
|
||||
'[ui-option[data-selected]_&]:border-transparent data-indeterminate:border-transparent',
|
||||
'[ui-option[data-selected]_&]:[ui-option[disabled]_&]:border-transparent data-indeterminate:border-transparent',
|
||||
])
|
||||
->add([
|
||||
'bg-white dark:bg-white/10',
|
||||
'[ui-option[data-selected]_&]:bg-[var(--color-accent)]',
|
||||
'hover:[ui-option[data-selected]_&]:bg-(--color-accent)',
|
||||
'focus:[ui-option[data-selected]_&]:bg-(--color-accent)',
|
||||
])
|
||||
;
|
||||
@endphp
|
||||
|
||||
<div {{ $attributes->class($classes) }}>
|
||||
<div class="hidden size-2 rounded-full bg-[var(--color-accent-foreground)]"></div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user