componentFactory->createMenu(); * $menuItem = $this->componentFactory->createMenuItem() * ->setTitle('List View') * ->setHref('/my-module?view=list') * ->setActive(true) // Marks this item as currently selected * ->setClasses('my-custom-class') * ->setDataAttributes(['action' => 'switch-view']); * $menu->addMenuItem($menuItem); * } * ``` */ class MenuItem extends AbstractControl { protected string $href = ''; protected bool $active = false; public function setHref(string $href): static { $this->href = $href; return $this; } public function getHref(): string { return $this->href; } public function setActive(bool $active): static { $this->active = $active; return $this; } public function isActive(): bool { return $this->active; } public function isValid(): bool { return $this->getHref() !== '' && $this->getTitle() !== ''; } }