Files
ABSDEV/Modules/Builder/Components/HeroComponent.php
T
2026-07-24 14:59:44 +01:00

39 lines
985 B
PHP

<?php
namespace Modules\Builder\Components;
use Modules\Builder\Contracts\BuilderComponent;
final class HeroComponent implements BuilderComponent
{
public function type(): string
{
return 'hero';
}
public function label(): string
{
return 'Hero';
}
public function category(): string
{
return 'Content';
}
public function schema(): array
{
return ['heading' => ['type' => 'text', 'required' => true], 'content' => ['type' => 'textarea'], 'button_label' => ['type' => 'text'], 'button_url' => ['type' => 'text']];
}
public function defaults(): array
{
return ['heading' => 'A compelling headline', 'content' => 'Add supporting content here.', 'button_label' => 'Learn more', 'button_url' => '#'];
}
public function render(array $properties, array $context = []): string
{
return view('builder::components.hero', ['properties' => $properties])->render();
}
}