UNPKG

storybook-readme

Version:

Storybook addon to show components README (for React and Vue)

120 lines (97 loc) 4.13 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.addReadme = exports.addFooter = exports.addHeader = exports.configureReadme = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")); var _vue = _interopRequireDefault(require("vue")); var _vuex = _interopRequireDefault(require("vuex")); var _addons = _interopRequireWildcard(require("@storybook/addons")); var _getDocsLayout = _interopRequireDefault(require("../services/getDocsLayout")); var _getParameters = _interopRequireDefault(require("../services/getParameters")); var _ReadmeContent = _interopRequireDefault(require("./components/ReadmeContent")); var _const = require("../const"); var config = _interopRequireWildcard(require("../services/config")); var configureReadme = function configureReadme(parameters) { config.addHeader(parameters.header); config.addFooter(parameters.footer); config.addStoryPreview(parameters.StoryPreview); config.addDocPreview(parameters.DocPreview); config.addHeaderPreview(parameters.HeaderPreview); config.addFooterPreview(parameters.FooterPreview); }; exports.configureReadme = configureReadme; var addHeader = function addHeader(md) { config.addHeader(md); }; exports.addHeader = addHeader; var addFooter = function addFooter(md) { config.addFooter(md); }; exports.addFooter = addFooter; _vue.default.use(_vuex.default); var addReadme = (0, _addons.makeDecorator)({ name: 'addReadme', parameterName: 'readme', wrapper: function wrapper(getStory, context) { var store = new _vuex.default.Store({ state: { withPreview: true }, mutations: { notify: function notify(state) { state.withPreview = false; } } }); var parameters = (0, _getParameters.default)(context); return { name: 'add-readme-hoc', store: store, computed: { withPreview: function withPreview() { return store.state.withPreview; // || !!parameters.content; } }, data: function data() { var story = getStory(context); var layout = parameters.layout ? parameters.layout : (0, _getDocsLayout.default)({ footer: parameters.footer || '', header: parameters.header || '', md: parameters.content || '', excludePropTables: parameters.excludePropTables || [], includePropTables: parameters.includePropTables || [], story: story }); var channel = _addons.default.getChannel(); if (parameters.sidebar) { var sidebarLayout = (0, _getDocsLayout.default)({ md: parameters.sidebar, excludePropTables: parameters.excludePropTables || [], includePropTables: parameters.includePropTables || [], story: story }); channel.emit(_const.CHANNEL_SET_SIDEBAR_DOCS, { layout: sidebarLayout, theme: parameters.theme, codeTheme: parameters.highlightSidebar ? parameters.codeTheme : null, config: config.getConfig() }); } return { layout: layout, parameters: (0, _objectSpread2.default)({}, parameters, { codeTheme: parameters.highlightContent ? parameters.codeTheme : null }) }; }, components: { 'readme-content': _ReadmeContent.default }, template: "\n <readme-content \n v-bind:layout=\"layout\"\n v-bind:withPreview=\"withPreview\"\n v-bind:theme=\"parameters.theme\"\n v-bind:codeTheme=\"parameters.codeTheme\"\n v-bind:HeaderPreview=\"parameters.HeaderPreview\"\n v-bind:StoryPreview=\"parameters.StoryPreview\"\n v-bind:FooterPreview=\"parameters.FooterPreview\"\n v-bind:DocPreview=\"parameters.DocPreview\" />" }; } }); exports.addReadme = addReadme;