UNPKG

storybook-readme

Version:

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

185 lines (145 loc) 5.08 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.withDocs = exports.withReadme = exports.doc = void 0; var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject")); var _isString = _interopRequireDefault(require("lodash/isString")); var _isArray = _interopRequireDefault(require("lodash/isArray")); var _vue = _interopRequireDefault(require("./env/vue")); var _react = _interopRequireDefault(require("./env/react")); var config = _interopRequireWildcard(require("../services/config")); var handler = null; function getEnvType() { try { return window.STORYBOOK_ENV; } catch (e) { return null; } } switch (getEnvType()) { case 'vue': handler = _vue.default; break; case 'react': handler = _react.default; break; default: handler = _react.default; } var WITH_README = 'WITH_README'; var WITH_DOCS = 'WITH_DOCS'; var DOC = 'DOC'; function withCallType(_ref) { var type = _ref.type; if (type === DOC) { return function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return handler.doc({ md: args }); }; } var typeHandler = null; switch (type) { case WITH_README: typeHandler = handler.withReadme; break; case WITH_DOCS: typeHandler = handler.withDocs; break; default: throw new Error('storybook-readme: wrong type (withCallType)'); } return function () { switch (true) { /** * withDocs({ * preview: props => {} * footer: props => {} * })(README) */ case arguments.length === 1 && (0, _isPlainObject.default)(arguments.length <= 0 ? undefined : arguments[0]): { console.log("\nstorybook-readme:\n\n\"withDocs()\" as configurable function call is deprecated and do nothing at v5.0.0:\n\nwithDocs({\n preview: props => {}\n footer: props => {}\n})(README);\n \n"); return withCallType({ type: type }); } /** * .addDecorator( * withDocs(README) * ) * * .addDecorator( * withDocs([README1, README2]) * ) */ case arguments.length === 1 && ((0, _isString.default)(arguments.length <= 0 ? undefined : arguments[0]) || (0, _isArray.default)(arguments.length <= 0 ? undefined : arguments[0])): { return typeHandler.callAsDecorator({ md: arguments.length <= 0 ? undefined : arguments[0] }); } /** * withDocs(README, story) * withDocs([README1, README2], story) */ case arguments.length === 2: { return typeHandler.callAsHoc({ md: arguments.length <= 0 ? undefined : arguments[0], story: arguments.length <= 1 ? undefined : arguments[1] }); } default: { throw new Error('storybook-readme: wrong arguments withReadme / withDocs /doc'); } } }; } var doc = function doc() { return withCallType({ type: DOC }).apply(void 0, arguments); }; /** * @deprecated */ exports.doc = doc; var withReadme = function withReadme() { false && console.warn("\nstorybook-readme:\n\nAt version ^5.0.0 \"withReadme()\" is deprectaed. Now it works but will be removed at next release.\nUse \"addParameters()\"\n\nstoriesOf('My Component', module)\n .addParameters({\n readme: {\n sidebar: README,\n },\n })\n .add('MyComponent story', MyComponent)\n .add('MyComponent story', MyComponent, {\n readme: {\n // will override\n sidebar: CUSTOM_README,\n },\n })\n"); return withCallType({ type: WITH_README }).apply(void 0, arguments); }; /** * @deprecated */ exports.withReadme = withReadme; var withDocs = function withDocs() { false && console.warn("\nstorybook-readme:\n\nAt version ^5.0.0 \"withDocs()\" is deprectaed. Now it works but will be removed at next release.\nUse \"addParameters()\" instead\n\nstoriesOf('My Component', module)\n .addParameters({\n readme: {\n content: README,\n },\n })\n .add('MyComponent story', MyComponent)\n .add('MyComponent story', MyComponent, {\n readme: {\n // will override\n content: CUSTOM_README,\n },\n });\n"); return withCallType({ type: WITH_DOCS }).apply(void 0, arguments); }; /** * @deprecated */ exports.withDocs = withDocs; withDocs.addFooterDocs = function (md) { console.warn("\nstorybook-readme:\nwithDocs.addFooterDocs() is deprecated at v5.0.0 and will be removed.\n"); config.addHeader(md); }; /** * @deprecated */ withReadme.addFooterDocs = function (md) { console.warn("\nstorybook-readme:\nwithReadme.addFooterDocs() is deprecated at v5.0.0 and will be removed.\n"); config.addFooter(md); };