label($label); $this->id(Str::slug($label)); } public static function make(string $label): static { $static = app(static::class, ['label' => $label]); $static->configure(); return $static; } public function icon(string | Closure | null $icon): static { $this->icon = $icon; return $this; } public function iconColor(string | Closure | null $color): static { $this->iconColor = $color; return $this; } public function iconPosition(string | Closure | null $position): static { $this->iconPosition = $position; return $this; } public function badge(string | Closure | null $badge): static { $this->badge = $badge; return $this; } public function getId(): string { return $this->getContainer()->getParentComponent()->getId() . '-' . parent::getId() . '-tab'; } public function getColumnsConfig(): array { return $this->columns ?? $this->getContainer()->getColumnsConfig(); } public function getIcon(): ?string { return $this->evaluate($this->icon); } public function getIconPosition(): ?string { return $this->evaluate($this->iconPosition) ?? 'before'; } public function getIconColor(): ?string { return $this->evaluate($this->iconColor); } public function getBadge(): ?string { return $this->evaluate($this->badge); } public function canConcealComponents(): bool { return true; } }