public function header()
    {
        /** @var string $tabHeader Header html view */
        $tabSubHeader = '';

        // Set content of header view
        $tabHeader = $this->renderer->view($this->headerContentView)
            ->headName(t($this->name, true))
            ->headUrl('#'.$this->id)
            ->set($this->size, 'subTabsCount')
            ->output();

        // If tab has sub tabs
        if (count($this->subTabs) > 1) {
            // Render header of each sub tab inside parent tab
            foreach ($this->subTabs as $tab) {
                $tabSubHeader .= $tab->header();
            }
        }

        return $this->renderer->view($this->headerIndexView)
            ->tabHeader($tabHeader)
            ->tabSubHeader($tabSubHeader)
            ->output();
    }