@bootstrap-styled/rsg-components
Version:
Create documentation layouts for your react-styleguidist using Bootstrap-Styled rsg-component. Boostrap Styled rsg-components use the @bootstrap-styled/v4 for recreating the original rsg-components.
79 lines (64 loc) • 2.39 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = Section;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _Examples = _interopRequireDefault(require("react-styleguidist/lib/client/rsg-components/Examples"));
var _Components = _interopRequireDefault(require("react-styleguidist/lib/client/rsg-components/Components"));
var _Sections = _interopRequireDefault(require("react-styleguidist/lib/client/rsg-components/Sections"));
var _consts = require("react-styleguidist/lib/client/consts");
var _SectionRenderer = _interopRequireDefault(require("./SectionRenderer"));
function Section(_ref, _ref2) {
var section = _ref.section,
depth = _ref.depth;
var displayMode = _ref2.displayMode,
pagePerSection = _ref2.config.pagePerSection;
var name = section.name,
slug = section.slug,
filepath = section.filepath,
content = section.content,
components = section.components,
sections = section.sections,
description = section.description,
exampleMode = section.exampleMode,
usageMode = section.usageMode;
var contentJsx = content && _react.default.createElement(_Examples.default, {
examples: content,
name: name,
exampleMode: exampleMode
});
var componentsJsx = components && _react.default.createElement(_Components.default, {
usageMode: usageMode,
exampleMode: exampleMode,
components: components,
depth: depth + 1
});
var sectionsJsx = sections && _react.default.createElement(_Sections.default, {
sections: sections,
depth: depth + 1
});
return _react.default.createElement(_SectionRenderer.default, {
description: description,
pagePerSection: pagePerSection,
name: name,
slug: slug,
filepath: filepath,
content: contentJsx,
components: componentsJsx,
sections: sectionsJsx,
isolated: displayMode !== _consts.DisplayModes.all,
depth: depth
});
}
Section.propTypes = {
section: _propTypes.default.object.isRequired,
depth: _propTypes.default.number.isRequired
};
Section.contextTypes = {
displayMode: _propTypes.default.string,
config: _propTypes.default.object.isRequired
};
module.exports = exports.default;