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