@props([
'columns' => [
'lg' => 2,
],
'data' => [],
'widgets' => [],
])
@php
$normalizeWidgetClass = function (string | Filament\Widgets\WidgetConfiguration $widget): string {
if ($widget instanceof \Filament\Widgets\WidgetConfiguration) {
return $widget->widget;
}
return $widget;
};
@endphp
@foreach ($widgets as $widgetKey => $widget)
@php
$widgetClass = $normalizeWidgetClass($widget);
@endphp
@livewire(
$widgetClass,
[...(($widget instanceof \Filament\Widgets\WidgetConfiguration) ? [...$widget->widget::getDefaultProperties(), ...$widget->properties] : $widget::getDefaultProperties()), ...$data],
key("{$widgetClass}-{$widgetKey}"),
)
@endforeach