<?php

declare(strict_types=1);

namespace App\Support\Ui\ActionSurface;

use App\Support\Ui\ActionSurface\Enums\ActionSurfaceComponentType;
use App\Support\Ui\ActionSurface\Enums\ActionSurfacePanelScope;

final class ActionSurfaceDiscoveredComponent
{
    /**
     * @param  array<int, ActionSurfacePanelScope>  $panelScopes
     */
    public function __construct(
        public readonly string $className,
        public readonly ActionSurfaceComponentType $componentType,
        public readonly array $panelScopes,
    ) {}

    public function hasPanelScope(ActionSurfacePanelScope $scope): bool
    {
        return in_array($scope, $this->panelScopes, true);
    }
}
