vue-styleguidist
Version:
Vue components style guide generator
103 lines • 5.9 kB
JavaScript
import "core-js/modules/es.object.to-string.js";
import "core-js/modules/es.reflect.construct.js";
import "core-js/modules/es.object.keys.js";
import "core-js/modules/es.symbol.js";
import "core-js/modules/es.array.filter.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 _extends from "@babel/runtime/helpers/extends";
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
import _createClass from "@babel/runtime/helpers/createClass";
import _inherits from "@babel/runtime/helpers/inherits";
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
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; }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
import "core-js/modules/es.array.concat.js";
import "core-js/modules/es.array.map.js";
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import Styled from 'rsg-components/Styled';
import Context from 'rsg-components/Context';
import RsgReactComponent from 'react-styleguidist/lib/client/rsg-components/ReactComponent/ReactComponent';
import getUrl from 'react-styleguidist/lib/client/utils/getUrl';
var FinalRsgReactComponent = RsgReactComponent;
var styles = function styles(_ref) {
var space = _ref.space;
return {
subComponents: {
borderLeft: '1px solid #CCCCCC',
padding: "".concat(space[2], "px 0 0 ").concat(space[3], "px"),
marginBottom: space[4]
}
};
};
export var DocumentedComponentContext = /*#__PURE__*/React.createContext({});
export var VsgReactComponent = /*#__PURE__*/function (_Component) {
_inherits(VsgReactComponent, _Component);
var _super = _createSuper(VsgReactComponent);
function VsgReactComponent() {
_classCallCheck(this, VsgReactComponent);
return _super.apply(this, arguments);
}
_createClass(VsgReactComponent, [{
key: "render",
value: function render() {
var _this = this;
var _ref2 = this.context,
pagePerSection = _ref2.config.pagePerSection;
var _this$props = this.props,
component = _this$props.component,
classes = _this$props.classes;
var getFinalUrl = function getFinalUrl(slug, depth) {
return pagePerSection ? getUrl({
slug: slug,
useSlugAsIdParam: depth !== 1,
takeHash: true
}) : getUrl({
slug: slug,
anchor: true
});
};
if (component.subComponents && component.props) {
var links = component.subComponents.map(function (c) {
return {
name: c.visibleName,
url: getFinalUrl(c.slug || '', _this.props.depth)
};
});
component.props.tags = _objectSpread(_objectSpread({}, component.props.tags), {}, {
subComponents: links
});
}
var parentHref = component.props ? getFinalUrl(component.slug || '', this.props.depth) : '';
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DocumentedComponentContext.Provider, {
value: component
}, /*#__PURE__*/React.createElement(FinalRsgReactComponent, this.props)), component.subComponents ? /*#__PURE__*/React.createElement("div", {
className: classes.subComponents
}, component.subComponents.map(function (c, i) {
c.parentComponent = {
href: parentHref,
visibleName: component.visibleName
};
return /*#__PURE__*/React.createElement(DocumentedComponentContext.Provider, {
key: c.props && c.props.displayName || i,
value: c
}, /*#__PURE__*/React.createElement(FinalRsgReactComponent, _extends({}, _this.props, {
component: c,
depth: _this.props.depth + 1
})));
})) : null);
}
}]);
return VsgReactComponent;
}(Component);
_defineProperty(VsgReactComponent, "propTypes", _objectSpread(_objectSpread({}, RsgReactComponent.propTypes), {}, {
classes: PropTypes.objectOf(PropTypes.string.isRequired).isRequired
}));
_defineProperty(VsgReactComponent, "contextType", Context);
export default Styled(styles)(VsgReactComponent);