summaryrefslogtreecommitdiff
path: root/src/Concerns/WithAttributes.php
blob: dceec698f05c7876c5fc369ac55e03005fd49c2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php

declare(strict_types=1);

namespace Lightscale\LaralightTables\Concerns;

use Illuminate\View\ComponentAttributeBag;

trait WithAttributes
{
    /**
     * @var array<string, string>
     */
    protected ?array $attributes = null;

    /**
     * @param  array<string, string>  $attributes
     */
    public function attributes(array $attributes): static
    {
        $this->attributes = $attributes;

        return $this;
    }

    protected function getAttributes(): ComponentAttributeBag
    {
        return new ComponentAttributeBag($this->attributes ?? []);
    }
}