diff --git a/resources/views/components/accordion/item.blade.php b/resources/views/components/accordion/item.blade.php
index 841c6f8..d934de2 100644
--- a/resources/views/components/accordion/item.blade.php
+++ b/resources/views/components/accordion/item.blade.php
@@ -3,6 +3,8 @@
'isIsolated' => false,
'icon' => null,
'label' => '',
+ 'badge' => null,
+ 'badgeColor' => null,
])
@endif
{{ $label }}
+
+ @if (filled($badge))
+
+ {{ $badge }}
+
+ @endif
@svg('heroicon-m-chevron-down','w-4 h-4 duration-200 ease-out')
diff --git a/resources/views/forms/accordions.blade.php b/resources/views/forms/accordions.blade.php
index c9e5f4d..1aed13e 100644
--- a/resources/views/forms/accordions.blade.php
+++ b/resources/views/forms/accordions.blade.php
@@ -25,6 +25,8 @@
{{ $accordion }}
diff --git a/resources/views/infolists/accordion.blade.php b/resources/views/infolists/accordion.blade.php
new file mode 100644
index 0000000..d8b994f
--- /dev/null
+++ b/resources/views/infolists/accordion.blade.php
@@ -0,0 +1,3 @@
+
+ {{ $getChildComponentContainer() }}
+
diff --git a/resources/views/infolists/accordions.blade.php b/resources/views/infolists/accordions.blade.php
new file mode 100644
index 0000000..1aed13e
--- /dev/null
+++ b/resources/views/infolists/accordions.blade.php
@@ -0,0 +1,36 @@
+merge([
+ 'id' => $getId(),
+ 'wire:key' => "{$this->getId()}.{$getStatePath()}." . Accordions::class . '.container',
+ ], escape: false)
+ ->merge($getExtraAttributes(), escape: false)
+ ->merge($getExtraAlpineAttributes(), escape: false)
+ ->class([
+ 'rounded-xl bg-white shadow-sm ring-1 ring-gray-950/5 dark:bg-gray-900 dark:ring-white/10',
+ ])
+ }}
+>
+
+ @php
+ $isIsolated = $isIsolated();
+ $getActiveAccordion = $getActiveAccordion();
+ @endphp
+
+
+ @foreach ($getChildComponentContainer()->getComponents() as $accordion)
+
+ {{ $accordion }}
+
+ @endforeach
+
+
diff --git a/src/Forms/Accordion.php b/src/Forms/Accordion.php
index b8940e2..e6103b2 100644
--- a/src/Forms/Accordion.php
+++ b/src/Forms/Accordion.php
@@ -5,12 +5,14 @@
use Closure;
use Filament\Forms\Components\Component;
use Filament\Forms\Components\Contracts\CanConcealComponents;
+use Filament\Support\Concerns\HasBadge;
use Filament\Support\Concerns\HasIcon;
use Illuminate\Support\Str;
class Accordion extends Component implements CanConcealComponents
{
use HasIcon;
+ use HasBadge;
protected string $view = 'zeus-accordion::forms.accordion';
@@ -42,11 +44,4 @@ public static function make(string | Closure | null $label = null): static
return $static;
}
-
- public function badge(string | Closure | null $badge): static
- {
- $this->badge = $badge;
-
- return $this;
- }
}
diff --git a/src/Infolists/Accordion.php b/src/Infolists/Accordion.php
new file mode 100644
index 0000000..7bee43d
--- /dev/null
+++ b/src/Infolists/Accordion.php
@@ -0,0 +1,41 @@
+label($label);
+ $this->id(Str::slug($label));
+ }
+
+ public function getId(): string
+ {
+ return $this->getContainer()->getParentComponent()->getId() . '-' . parent::getId() . '-accordion';
+ }
+
+ public function getColumnsConfig(): array
+ {
+ return $this->columns ?? $this->getContainer()->getColumnsConfig();
+ }
+
+ public static function make(string | Closure | null $label = null): static
+ {
+ $static = app(static::class, ['label' => $label]);
+ $static->configure();
+
+ return $static;
+ }
+}
diff --git a/src/Infolists/Accordions.php b/src/Infolists/Accordions.php
new file mode 100644
index 0000000..6b4eb2c
--- /dev/null
+++ b/src/Infolists/Accordions.php
@@ -0,0 +1,50 @@
+label($label);
+ }
+
+ public static function make(?string $label = null): static
+ {
+ $static = app(static::class, ['label' => $label]);
+ $static->configure();
+
+ return $static;
+ }
+
+ public function activeAccordion(int | Closure $activeAccordion): static
+ {
+ $this->activeAccordion = $activeAccordion;
+
+ return $this;
+ }
+
+ public function getActiveAccordion(): int
+ {
+ return $this->evaluate($this->activeAccordion);
+ }
+
+ public function accordions(array | Closure $accordions): static
+ {
+ $this->childComponents($accordions);
+
+ return $this;
+ }
+}