UNPKG

@codedoc/core

Version:

Create beautiful modern documentation websites.

41 lines 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Tabs = exports.Tab = void 0; var style_1 = require("./style"); var selector_1 = require("./selector"); function Tab(options, renderer, content) { var $tab = renderer.create("div", { class: "tab", "data-tab-title": options.title || '', "data-tab-id": options.id || options.title || '' }, content); if (options.selected) $tab.classList.add('selected'); if (options.icon) $tab.setAttribute('data-tab-icon', options.icon); return $tab; } exports.Tab = Tab; function Tabs(_, renderer, content) { var classes = this.theme.classes(style_1.TabsStyle); var holder = renderer.create("fragment", null, content); var first$; var selected$; holder.querySelectorAll('.tab').forEach(function (_tab$) { var tab$ = _tab$; if (!first$) first$ = tab$; if (tab$.classList.contains('selected')) { if (selected$) tab$.classList.remove('selected'); else selected$ = tab$; } }); first$ === null || first$ === void 0 ? void 0 : first$.classList.add('first'); if (!selected$) first$ === null || first$ === void 0 ? void 0 : first$.classList.add('selected'); return renderer.create("div", { class: classes.tabs }, renderer.create(selector_1.TabSelector$, null), holder); } exports.Tabs = Tabs; var style_2 = require("./style"); Object.defineProperty(exports, "TabsStyle", { enumerable: true, get: function () { return style_2.TabsStyle; } }); //# sourceMappingURL=index.js.map