UNPKG

vue-styleguidist

Version:
72 lines 2.58 kB
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray"; import "core-js/modules/es.function.name.js"; import "core-js/modules/es.array.reduce.js"; import "core-js/modules/es.object.to-string.js"; import "core-js/modules/es.symbol.js"; import "core-js/modules/es.symbol.description.js"; import "core-js/modules/es.array.concat.js"; import React from 'react'; import PropTypes from 'prop-types'; import Styled from 'rsg-components/Styled'; import Markdown from 'rsg-components/Markdown'; import Name from 'rsg-components/Name'; import JsDoc from 'rsg-components/JsDoc'; import Table from 'rsg-components/Table'; import getOriginColumn from 'rsg-components/OriginColumn'; import exposeStyles from '../../utils/propStyles'; var getRowKey = function getRowKey(row) { return row.name; }; function renderMethodName(_ref) { var name = _ref.name, _ref$tags = _ref.tags, tags = _ref$tags === void 0 ? [] : _ref$tags; var tagsObject = tags.reduce(function (acc, tag) { acc[tag.title] = tag.description; return acc; }, {}); return /*#__PURE__*/React.createElement(Name, { deprecated: !!tagsObject.deprecated }, name); } function renderDescription(myClasses) { return function renderDesc(_ref2) { var description = _ref2.description, _ref2$tags = _ref2.tags, tags = _ref2$tags === void 0 ? [] : _ref2$tags; var tagsObject = tags.reduce(function (acc, tag) { acc[tag.title] = tag.description; return acc; }, {}); return /*#__PURE__*/React.createElement(React.Fragment, null, description && /*#__PURE__*/React.createElement("div", { className: myClasses.descriptionWrapper }, /*#__PURE__*/React.createElement(Markdown, { text: description })), /*#__PURE__*/React.createElement(JsDoc, tagsObject)); }; } export var columns = function columns(methods, classes) { return [{ caption: 'Exposed', render: renderMethodName, className: classes.name }, { caption: 'Description', render: renderDescription(classes), className: classes.description }].concat(_toConsumableArray(getOriginColumn(methods))); }; export var ExposeRenderer = function ExposeRenderer(_ref3) { var expose = _ref3.expose, classes = _ref3.classes; return /*#__PURE__*/React.createElement(Table, { columns: columns(expose, classes), rows: expose, getRowKey: getRowKey }); }; ExposeRenderer.propTypes = { classes: PropTypes.objectOf(PropTypes.string.isRequired).isRequired, expose: PropTypes.array.isRequired }; export default Styled(exposeStyles)(ExposeRenderer);