🎨 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:
HolgerHatGarKeineNode
2026-01-23 23:00:02 +01:00
parent 578e4f13fc
commit b30fec150c
792 changed files with 307541 additions and 117 deletions

View File

@@ -0,0 +1,55 @@
@blaze
@props([
'heading' => null,
'as' => 'div',
'header' => null,
'footer' => null,
])
@php
$classes = (string) Flux::classes()
->add('rounded-lg shadow-xs ring-1 p-3')
->add('bg-white dark:bg-zinc-700')
->add('ring-black/7 dark:ring-zinc-700')
;
$asButtonClasses = (string) Flux::classes()
->add('cursor-default select-none')
->add('hover:bg-zinc-50 dark:hover:bg-zinc-700 dark:hover:ring-zinc-600')
;
@endphp
<?php if ($as === 'button'): ?>
<ui-button {{ $attributes->class([$classes, $asButtonClasses]) }} data-flux-kanban-card>
@if ($header)
<div class="mb-2 [&:not(:has(>_*))]:hidden flex items-center gap-1.5">{{ $header }}</div>
@endif
<?php if ($heading): ?>
<flux:heading>{{ $heading }}</flux:heading>
<?php endif; ?>
{{ $slot }}
@if ($footer)
<div class="mt-2 [&:not(:has(>_*))]:hidden flex items-center gap-1.5">{{ $footer }}</div>
@endif
</ui-button>
<?php else: ?>
<div {{ $attributes->class($classes) }} flux-kanban-card>
@if ($header)
<div class="mb-2 [&:not(:has(>_*))]:hidden flex items-center gap-1.5">{{ $header }}</div>
@endif
<?php if ($heading): ?>
<flux:heading>{{ $heading }}</flux:heading>
<?php endif; ?>
{{ $slot }}
@if ($footer)
<div class="mt-2 [&:not(:has(>_*))]:hidden flex items-center gap-1.5">{{ $footer }}</div>
@endif
</div>
<?php endif; ?>

View File

@@ -0,0 +1,15 @@
@blaze
@props([
//
])
@php
$classes = (string) Flux::classes()
->add('px-2 pb-2 flex flex-col gap-2')
;
@endphp
<div {{ $attributes->class($classes) }} data-flux-kanban-column-cards>
{{ $slot }}
</div>

View File

@@ -0,0 +1,15 @@
@blaze
@props([
//
])
@php
$classes = Flux::classes()
->add('px-2 pb-2 flex flex-col gap-2')
;
@endphp
<div {{ $attributes->class($classes) }} data-flux-kanban-column-footer>
{{ $slot }}
</div>

View File

@@ -0,0 +1,46 @@
@blaze
@props([
'heading' => null,
'subheading' => null,
'count' => null,
'badge' => null,
])
@php
$classes = (string) Flux::classes()
->add('p-2 flex flex-col')
;
$badgeAttributes = Flux::attributesAfter('badge:', $attributes);
@endphp
<div {{ $attributes->class($classes) }} data-flux-kanban-column-header>
<div class="flex items-center justify-between min-h-8">
<div class="px-3 flex items-center gap-1.5">
{{ $slot }}
@if ($heading)
<flux:heading>{{ $heading }}</flux:heading>
@endif
@if ($count)
<div class="text-sm text-zinc-500 dark:text-white/70">{{ $count }}</div>
@endif
@if ($badge)
<flux:badge size="sm" :attributes="$badgeAttributes">{{ $badge }}</flux:badge>
@endif
</div>
<div class="flex items-center gap-1">
{{ $actions ?? '' }}
</div>
</div>
@if ($subheading)
<div class="px-3 flex items-center gap-1.5 mb-1">
<flux:subheading>{{ $subheading }}</flux:subheading>
</div>
@endif
</div>

View File

@@ -0,0 +1,18 @@
@blaze
@props([
//
])
@php
$classes = Flux::classes()
->add('rounded-lg w-80 max-w-80')
->add('[:where(&)]:bg-zinc-100 dark:[:where(&)]:bg-zinc-800')
;
@endphp
<div data-flux-kanban-column>
<div {{ $attributes->class($classes) }}>
{{ $slot }}
</div>
</div>

View File

@@ -0,0 +1,5 @@
@blaze
<div {{ $attributes->class('flex gap-4') }} data-flux-kanban>
{{ $slot }}
</div>