wix-storybook-utils
Version:
Utilities for automated component documentation within Storybook
54 lines • 2.92 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createDefaultSections = void 0;
var tslib_1 = require("tslib");
var _1 = require(".");
var import_string_1 = require("../StoryPage/import-string");
var given = function (expr) { return function (item) { return (expr ? [item] : []); }; };
var getHeader = function (sections) { return sections[0] || {}; };
var getSourceUrl = function (_a) {
var _b = _a.config.repoBaseURL, repoBaseURL = _b === void 0 ? '' : _b, displayName = _a.metadata.displayName;
return (repoBaseURL && displayName ? "".concat(repoBaseURL).concat(displayName) : undefined);
};
var createDefaultSections = function (_a) {
var config = _a.config, metadata = _a.metadata, exampleImport = _a.exampleImport, examples = _a.examples, storyName = _a.storyName, _b = _a.sections, sections = _b === void 0 ? [] : _b;
return [
(0, _1.header)(tslib_1.__assign({ dataHook: 'section-header', sourceUrl: getSourceUrl({ config: config, metadata: metadata }), title: storyName || metadata.displayName }, getHeader(sections))),
(0, _1.tabs)(tslib_1.__spreadArray([
(0, _1.tab)({
title: 'Usage',
sections: tslib_1.__spreadArray(tslib_1.__spreadArray(tslib_1.__spreadArray([], given(metadata.readme || metadata.description)((0, _1.description)({
title: 'Description',
text: metadata.readme || metadata.description,
dataHook: 'metadata-readme',
})), true), [
(0, _1.importExample)({
source: (0, import_string_1.importString)({ config: config, metadata: metadata, exampleImport: exampleImport }),
dataHook: 'metadata-import',
}),
(0, _1.playground)()
], false), given(!!examples)(examples), true),
}),
(0, _1.tab)({
title: 'API',
sections: tslib_1.__spreadArray(tslib_1.__spreadArray([], given(metadata.readmeApi)((0, _1.description)({ text: metadata.readmeApi, dataHook: 'api-markdown' })), true), [
(0, _1.api)(),
], false),
}),
(0, _1.tab)({
title: 'Testkit',
sections: tslib_1.__spreadArray([
(0, _1.testkit)()
], given(metadata.readmeTestkit)((0, _1.description)({
text: metadata.readmeTestkit,
dataHook: 'testkit-markdown',
})), true),
})
], given(metadata.readmeAccessibility)((0, _1.tab)({
title: 'Accessibility',
sections: [(0, _1.description)(metadata.readmeAccessibility)],
})), true)),
];
};
exports.createDefaultSections = createDefaultSections;
//# sourceMappingURL=create-default-sections.js.map