react-storybook-addon-chapters
Version:
React Storybook Chapters addon allows showcasing of multiple components within a story by breaking it down into smaller categories (chapters) and subcategories (sections) for more organizational goodness.
123 lines (111 loc) • 3.38 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.setDefaults = setDefaults;
Object.defineProperty(exports, "Theme", {
enumerable: true,
get: function get() {
return _theme["default"];
}
});
Object.defineProperty(exports, "StoryDecorator", {
enumerable: true,
get: function get() {
return _Story.StoryDecorator;
}
});
Object.defineProperty(exports, "storyStyles", {
enumerable: true,
get: function get() {
return _Story.storyStyles;
}
});
Object.defineProperty(exports, "ChapterDecorator", {
enumerable: true,
get: function get() {
return _Chapter.ChapterDecorator;
}
});
Object.defineProperty(exports, "chapterStyles", {
enumerable: true,
get: function get() {
return _Chapter.chapterStyles;
}
});
Object.defineProperty(exports, "SectionDecorator", {
enumerable: true,
get: function get() {
return _Section.SectionDecorator;
}
});
Object.defineProperty(exports, "sectionStyles", {
enumerable: true,
get: function get() {
return _Section.sectionStyles;
}
});
Object.defineProperty(exports, "propTableStyles", {
enumerable: true,
get: function get() {
return _PropTable.propTableStyles;
}
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _theme = _interopRequireDefault(require("./theme"));
var _Story = _interopRequireWildcard(require("./components/Story"));
var _Chapter = require("./components/Chapter");
var _Section = require("./components/Section");
var _PropTable = require("./components/PropTable");
var defaultProps = {
addonInfo: {
inline: false,
header: true,
source: true,
propTables: [],
maxPropsIntoLine: 3,
maxPropObjectKeys: 3,
maxPropArrayLength: 3,
maxPropStringLength: 50
},
sectionOptions: {
showSource: true,
allowSourceToggling: true,
showPropTables: false,
allowPropTablesToggling: true,
useTheme: true,
decorator: false
}
};
var _default = {
addWithChapters: function addWithChapters(storyName) {
var storyContentOrFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return this.add(storyName, function (context) {
var storyContent = typeof storyContentOrFn === 'function' ? storyContentOrFn() : storyContentOrFn;
(storyContent.chapters || []).forEach(function (chapter) {
(chapter.sections || []).forEach(function (section) {
Object.assign(section, {
options: Object.assign({}, defaultProps.sectionOptions, section.options)
});
});
});
return _react["default"].createElement(_Story["default"], (0, _extends2["default"])({
context: context,
title: storyName,
subtitle: storyContent.subtitle,
info: storyContent.info,
chapters: storyContent.chapters
}, defaultProps));
});
}
};
exports["default"] = _default;
function setDefaults(newDefaults) {
Object.assign(defaultProps.addonInfo, newDefaults.addonInfo);
Object.assign(defaultProps.sectionOptions, newDefaults.sectionOptions);
return defaultProps;
}