navbar

    public function navbar()
    {
        return _class('html')->navbar([
            'brand' => [
                'link' => url('/'),
                'name' => 'Title',
            ],
            [
                'link' => '#home',
                'name' => 'Home',
            ],
            [
                'link' => '#link1',
                'name' => 'Link1',
            ],
            [
                'link' => '#link2',
                'name' => 'Link2',
            ],
        ]);
    }
    public function navbar($data = [], $extra = [])
    {
        if ($this->_is_bs5) {
            return $this->_bs5()->navbar($data, $extra);
        }
        $extra['id'] = ($extra['id'] ?? null) ?: __FUNCTION__ . '_' . ($this->_ids[__FUNCTION__] = ($this->_ids[__FUNCTION__] ?? 0) + 1);
        $items = [];
        $brand = '';
        if (isset($data['brand'])) {
            $b = ($data['brand'] ?? null);
            unset($data['brand']);
            $brand = '<a class="brand navbar-brand' . (($b['class'] ?? null) ? ' ' . ($b['class'] ?? null) : '') . '" href="' . ($b['link'] ?? null) . '" title="' . ($b['name'] ?? null) . '">' . ($b['name'] ?? null) . '</a>';
        }
        $subs = $this->B5_ITEM_OPTIONS ? $this->_navbar_subs($data) : [];
        $data = _prepare_html($data);
        $i = 0;
        foreach ((array) $data as $k => $v) {
            if (isset($extra['selected'])) {
                $is_selected = (($extra['selected'] ?? null) == $k);
            } else {
                $is_selected = (++$i == 1);
            }
            $class_item = ($v['class_item'] ?? null) ?: ($extra['class_item'] ?? null);
            $badge = ($v['badge'] ?? null) ? ' <sup class="badge badge-' . (($v['class_badge'] ?? null) ?: 'info') . '">' . ($v['badge'] ?? null) . '</sup>' : '';
            if (isset($subs[$k])) {
                $items[] = $this->_navbar_dropdown_bs3($v, $subs[$k], $is_selected, $class_item, $badge, false);
                continue;
            }
            $items[] = '<li class="' . ($is_selected ? ' active' : '') . ($class_item ? ' ' . $class_item : '') . '"><a href="' . ($v['link'] ?? null) . '" title="' . ($v['name'] ?? null) . '">' . ($v['name'] ?? null) . $badge . '</a></li>';
        }
        $right = $this->_navbar_right_bs3($extra);
        $nav_class = ! empty($extra['dark']) ? 'navbar-inverse' : 'navbar-default';
        if ($this->_navbar_collapse($extra) !== '') {
            $target = fix_html_attr_id($extra['id'] . '_collapse');
            return '<div class="navbar ' . $nav_class . (($extra['class'] ?? null) ? ' ' . $extra['class'] : '') . '" id="' . $extra['id'] . '"><div class="container-fluid">'
                . '<div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#' . $target . '" aria-controls="' . $target . '" aria-expanded="false">'
                . '<span class="sr-only">' . t('Toggle navigation') . '</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>' . $brand . '</div>'
                . '<div class="collapse navbar-collapse" id="' . $target . '"><ul class="nav navbar-nav">' . implode(PHP_EOL, $items) . '</ul>' . $right . '</div>'
                . '</div></div>';
        }
        return
            '<div class="navbar ' . $nav_class . (($extra['class'] ?? null) ? ' ' . ($extra['class'] ?? null) : '') . '" id="' . ($extra['id'] ?? null) . '">
				<div class="navbar-inner navbar-header">'
            . $brand
            . '<ul class="nav navbar-nav">' . implode(PHP_EOL, (array) $items) . '</ul>
				</div>' . $right . '
			</div>';
    }
Navbar widget based on bootstrap navbar markup.

https://getbootstrap.com/docs/3.4/components/#navbar