vue-styleguidist
Version:
Vue components style guide generator
54 lines • 2.1 kB
JavaScript
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
var _excluded = ["classes", "name", "type", "description", "returns", "block"];
import "core-js/modules/es.function.name.js";
import "core-js/modules/es.symbol.js";
import "core-js/modules/es.symbol.description.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 Type from 'rsg-components/Type';
import Group from 'react-group';
export var styles = function styles(_ref) {
var space = _ref.space;
return {
block: {
marginBottom: space[2]
}
};
};
export var ArgumentRenderer = function ArgumentRenderer(_ref2) {
var classes = _ref2.classes,
name = _ref2.name,
type = _ref2.type,
description = _ref2.description,
returns = _ref2.returns,
block = _ref2.block,
props = _objectWithoutProperties(_ref2, _excluded);
var isOptional = type && type.type === 'OptionalType';
var defaultValue = props["default"];
if (isOptional) {
type = type.expression;
}
var content = /*#__PURE__*/React.createElement(Group, null, returns && 'Returns', name && /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Name, null, name), type && ':'), type && /*#__PURE__*/React.createElement(Type, null, type.name, isOptional && '?', !!defaultValue && "=".concat(defaultValue)), type && description && "\u2014", description && /*#__PURE__*/React.createElement(Markdown, {
text: "".concat(description),
inline: true
}));
if (block) {
return /*#__PURE__*/React.createElement("div", {
className: classes.block
}, content);
}
return content;
};
ArgumentRenderer.propTypes = {
classes: PropTypes.objectOf(PropTypes.string.isRequired).isRequired,
name: PropTypes.string.isRequired,
type: PropTypes.object,
"default": PropTypes.string,
description: PropTypes.string,
returns: PropTypes.bool,
block: PropTypes.bool
};
export default Styled(styles)(ArgumentRenderer);