<?php

namespace App\Domain\Website\Blocks\Types;

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

/** Generic full-width container. The backbone of every custom layout. */
class SectionBlock extends BlockType
{
    use HasSectionHeader;

    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 [
            ...$this->sectionHeaderFields(),
            BlockField::select('max_width', 'أقصى عرض', [
                'sm' => 'صغير', 'md' => 'متوسط', 'lg' => 'كبير',
                'xl' => 'كبير جدًا', 'full' => 'كامل',
            ])->default('lg'),
        ];
    }
}
