breadcrumbs

    public function breadcrumbs()
    {
        return _class('html')->breadcrumbs([
            [
                'link' => '#home',
                'name' => 'Home',
            ],
            [
                'link' => '#library',
                'name' => 'Library',
            ],
            [
                'name' => 'Data',
            ],
        ]);
    }
    public function breadcrumbs($data = [], $extra = [])
    {
        if ($this->_is_bs5) {
            return $this->_bs5()->breadcrumbs($data, $extra);
        }
        $extra['id'] = ($extra['id'] ?? null) ?: __FUNCTION__ . '_' . ($this->_ids[__FUNCTION__] = ($this->_ids[__FUNCTION__] ?? 0) + 1);
        $items = [];
        $divider = ($extra['divider'] ?? null) ?: ''; // '/'
        $show_divider = ! $this->_is_bs3 && strlen($divider);
        $len = count((array) $data);
        $data = _prepare_html($data);
        $i = 0;
        foreach ((array) $data as $k => $v) {
            $is_last = (++$i == $len);
            $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>' : '';
            $items[] = '<li class="' . ($is_last ? ' active' : '') . ($class_item ? ' ' . $class_item : '') . '">
				' . (
                ($is_last || ! ($v['link'] ?? null)) ? ($v['name'] ?? null)
                : '<a href="' . ($v['link'] ?? null) . '" title="' . ($v['name'] ?? null) . '">' . ($v['name'] ?? null) . $badge . '</a>' . ($show_divider ? ' <span class="divider">' . $divider . '</span>' : '')
            ) . '
			</li>';
        }
        $tag = $this->_is_bs3 ? 'ol' : 'ul';
        return '<' . $tag . ' class="breadcrumb' . (($extra['class'] ?? null) ? ' ' . ($extra['class'] ?? null) : '') . '" id="' . ($extra['id'] ?? null) . '">' . implode(PHP_EOL, (array) $items) . '</' . $tag . '>';
    }