@codedoc/core
Version:
Create beautiful modern documentation websites.
41 lines • 1.63 kB
JavaScript
;
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