UNPKG

vue-styleguidist

Version:
117 lines 3.82 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; var _excluded = ["classes"]; import "core-js/modules/es.array.join.js"; import "core-js/modules/es.array.map.js"; import "core-js/modules/es.symbol.js"; import "core-js/modules/es.symbol.description.js"; import "core-js/modules/es.function.name.js"; import "core-js/modules/es.object.to-string.js"; import "core-js/modules/es.regexp.to-string.js"; import React from 'react'; import PropTypes from 'prop-types'; import map from 'lodash/map'; import capitalize from 'lodash/capitalize'; import Markdown from 'rsg-components/Markdown'; import Argument from 'rsg-components/Argument'; import Styled from 'rsg-components/Styled'; import SubComponents from 'rsg-components/SubComponents'; var styles = function styles(_ref) { var space = _ref.space, color = _ref.color; return { wrapper: { color: color.base, fontSize: 'inherit', lineHeight: 1.5 }, name: { marginRight: space[1] } }; }; var list = function list(array) { return array.map(function (item) { return item.description; }).join(', '); }; var paragraphs = function paragraphs(array) { return array.map(function (item) { return item.description; }).join('\n\n'); }; var fields = { deprecated: function deprecated(value) { return typeof value[0].description === 'string' ? "".concat(value[0].description) : ''; }, see: function see(value) { return paragraphs(value); }, link: function link(value) { return paragraphs(value); }, author: function author(value) { return "".concat(list(value)); }, version: function version(value) { return "".concat(value[0].description); }, since: function since(value) { return "".concat(value[0].description); } }; var JsDocRenderer = function JsDocRenderer(_ref2) { var classes = _ref2.classes, field = _ref2.field, children = _ref2.children; return /*#__PURE__*/React.createElement("div", { className: "vsg-jsdoc-tag ".concat(classes.wrapper), key: field }, /*#__PURE__*/React.createElement("span", { className: "vsg-tag-name ".concat(classes.name) }, capitalize(field)), /*#__PURE__*/React.createElement("span", { className: "vsg-tag-value ".concat(classes.value) }, children)); }; export var JsDoc = function JsDoc(_ref3) { var classes = _ref3.classes, props = _objectWithoutProperties(_ref3, _excluded); return /*#__PURE__*/React.createElement(React.Fragment, null, props.subComponents && /*#__PURE__*/React.createElement(SubComponents, { subComponents: props.subComponents }), props["throws"] && props["throws"].map(function (_throws, i) { return /*#__PURE__*/React.createElement(JsDocRenderer, { key: i, field: "throws", classes: classes }, /*#__PURE__*/React.createElement(Argument, _extends({ name: "" }, _throws, { description: typeof _throws.description === 'boolean' ? _throws.description.toString() : _throws.description }))); }), map(fields, function (format, field) { var value = props[field]; if (!value || !Array.isArray(value)) { return null; } return /*#__PURE__*/React.createElement(JsDocRenderer, { key: field, field: field, classes: classes }, /*#__PURE__*/React.createElement(Markdown, { text: format(value) || '', inline: true })); })); }; JsDoc.propTypes = { classes: PropTypes.objectOf(PropTypes.string.isRequired).isRequired, subComponents: PropTypes.array, deprecated: PropTypes.array, see: PropTypes.array, link: PropTypes.array, author: PropTypes.array, version: PropTypes.array, since: PropTypes.array, "throws": PropTypes.array }; export default Styled(styles)(JsDoc);