UNPKG

wix-storybook-utils

Version:

Utilities for automated component documentation within Storybook

66 lines 2.86 kB
"use strict"; 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