wix-storybook-utils
Version:
Utilities for automated component documentation within Storybook
66 lines • 2.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getView = exports.tab = void 0;
var tslib_1 = require("tslib");
var React = tslib_1.__importStar(require("react"));
var section_with_siblings_1 = require("../section-with-siblings");
var import_example_1 = require("./import-example");
var description_1 = require("./description");
var code_1 = require("./code");
var api_1 = require("./api");
var playground_1 = require("./playground");
var testkit_1 = require("./testkit");
var extract_tabs_1 = require("../extract-tabs");
var columns_1 = require("./columns");
var table_1 = require("./table");
var tabs_1 = require("./tabs");
var mdx_1 = require("./mdx");
var divider_1 = require("./divider");
var header_1 = require("./header");
var title_1 = require("./title");
var plugin_1 = require("./plugin");
var example_1 = require("./example");
var do_dont_1 = require("./do-dont");
var included_components_1 = require("./included-components");
var demo_1 = require("./demo");
var story_page_1 = require("./story-page");
var styles_scss_1 = tslib_1.__importDefault(require("../styles.scss"));
var TabbedView_1 = tslib_1.__importDefault(require("../../TabbedView"));
var tab = function (section, storyConfig) {
var extractedTabs = (0, extract_tabs_1.extractTabs)(section);
return render(section, extractedTabs, storyConfig);
};
exports.tab = tab;
var views = {
header: header_1.header,
importExample: import_example_1.importExample,
description: description_1.description,
code: code_1.code,
api: api_1.api,
playground: playground_1.playground,
testkit: testkit_1.testkit,
tab: exports.tab,
columns: columns_1.columns,
table: table_1.table,
tabs: tabs_1.tabs,
mdx: mdx_1.mdx,
divider: divider_1.divider,
title: title_1.title,
plugin: plugin_1.plugin,
example: example_1.example,
doDont: do_dont_1.doDont,
includedComponents: included_components_1.includedComponents,
demo: demo_1.demo,
storyPage: story_page_1.storyPage,
};
var getView = function (type) { return views[type] || (function (i) { return i; }); };
exports.getView = getView;
function render(section, tabTitles, storyConfig) {
return React.createElement(tabTitles.length ? TabbedView_1.default : 'div', tslib_1.__assign(tslib_1.__assign({}, (tabTitles ? { tabs: tabTitles } : {})), { className: styles_scss_1.default.tab, children: section.sections.map(function (tabSection, key) {
var view = (0, exports.getView)(tabSection.type)(tabSection, storyConfig);
return (React.createElement("div", { key: key, "data-hook": section.dataHook || null }, (0, extract_tabs_1.isTab)(tabSection)
? view
: (0, section_with_siblings_1.sectionWithSiblings)(tabSection, view, true)));
}) }));
}
//# sourceMappingURL=tab.js.map