<?php

namespace App\Domain\Website\Blocks\Types;

use App\Domain\Website\Blocks\BlockField;
use App\Domain\Website\Blocks\BlockType;
use App\Domain\Website\Enums\BlockCategory;

/** Generic full-width container. The backbone of every custom layout. */
class SectionBlock extends BlockType
{
    public function key(): string
    {
        return 'section';
    }

    public function label(): string
    {
        return 'قسم';
    }

    public function description(): string
    {
        return 'حاوية عامة يمكن وضع أي عناصر بداخلها';
    }

    public function icon(): string
    {
        return 'squares-2x2';
    }

    public function category(): BlockCategory
    {
        return BlockCategory::Layout;
    }

    public function allowsChildren(): bool
    {
        return true;
    }

    public function variants(): array
    {
        return [
            'default' => 'عرض الحاوية',
            'full_bleed' => 'عرض كامل',
            'narrow' => 'ضيق',
        ];
    }

    public function fields(): array
    {
        return [
            BlockField::text('eyebrow', 'نص علوي صغير'),
            BlockField::text('title', 'العنوان'),
            BlockField::textarea('subtitle', 'العنوان الفرعي'),
            BlockField::alignment('header_align', 'محاذاة العنوان'),
            BlockField::select('max_width', 'أقصى عرض', [
                'sm' => 'صغير', 'md' => 'متوسط', 'lg' => 'كبير',
                'xl' => 'كبير جدًا', 'full' => 'كامل',
            ])->default('lg'),
        ];
    }
}
