storybook-readme
Version:
Storybook addon to show components README (for React and Vue)
120 lines (97 loc) • 4.13 kB
JavaScript
;
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;