UNPKG

vue-styleguidist

Version:
104 lines 4.64 kB
import "core-js/modules/es.object.keys.js"; import "core-js/modules/es.array.filter.js"; import "core-js/modules/es.object.to-string.js"; import "core-js/modules/es.object.get-own-property-descriptor.js"; import "core-js/modules/web.dom-collections.for-each.js"; import "core-js/modules/es.object.get-own-property-descriptors.js"; import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; import _extends from "@babel/runtime/helpers/extends"; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } import "core-js/modules/es.function.name.js"; import "core-js/modules/es.symbol.js"; import "core-js/modules/es.symbol.description.js"; import "core-js/modules/es.array.map.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 Argument from 'rsg-components/Argument'; import Arguments from 'rsg-components/Arguments'; 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 methodStyles from '../../utils/propStyles'; import renderTypeString from '../../utils/renderTypeString'; 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; return /*#__PURE__*/React.createElement(Name, { deprecated: !!tags.deprecated }, "".concat(name, "()")); } function renderDescription(myClasses) { return function renderDesc(_ref2) { var description = _ref2.description, returns = _ref2.returns, _ref2$tags = _ref2.tags, tags = _ref2$tags === void 0 ? {} : _ref2$tags; return /*#__PURE__*/React.createElement(React.Fragment, null, description && /*#__PURE__*/React.createElement("div", { className: myClasses.descriptionWrapper }, /*#__PURE__*/React.createElement(Markdown, { text: description })), returns && /*#__PURE__*/React.createElement("div", null, "Returns:", ' ', /*#__PURE__*/React.createElement(Argument, _extends({ name: "" }, returns, { type: returns.type ? { name: renderTypeString(returns.type) } : undefined, description: returns.description }))), /*#__PURE__*/React.createElement(JsDoc, tags)); }; } function renderParameters(_ref3) { var _ref3$params = _ref3.params, params = _ref3$params === void 0 ? [] : _ref3$params; return /*#__PURE__*/React.createElement(Arguments, { args: params.map(function (p) { return _objectSpread(_objectSpread({ block: true }, p), {}, { type: p.type ? { name: renderTypeString(p.type) } : undefined, name: p.name || '', description: p.description }); }) }); } export var columns = function columns(methods, classes) { return [{ caption: 'Method name', render: renderMethodName, className: classes.name }, { caption: 'Description', render: renderDescription(classes), className: classes.description }, { caption: 'Parameters', render: renderParameters }].concat(_toConsumableArray(getOriginColumn(methods))); }; export var MethodsRenderer = function MethodsRenderer(_ref4) { var methods = _ref4.methods, classes = _ref4.classes; return /*#__PURE__*/React.createElement(Table, { columns: columns(methods, classes), rows: methods, getRowKey: getRowKey }); }; MethodsRenderer.propTypes = { classes: PropTypes.objectOf(PropTypes.string.isRequired).isRequired, methods: PropTypes.array.isRequired }; export default Styled(methodStyles)(MethodsRenderer);