UNPKG

@yeutech-lab/rollup-umd-documentation

Version:

Quickly build awesome documentation for your rollup-umd project.

219 lines (182 loc) 12.1 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.propTypes = exports.defaultProps = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _templateObject = _taggedTemplateLiteral([' \n ', '\n'], [' \n ', '\n']); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _lodash = require('lodash.omit'); var _lodash2 = _interopRequireDefault(_lodash); var _breakpoints = require('@bootstrap-styled/css-mixins/lib/breakpoints'); var _breakpoints2 = _interopRequireDefault(_breakpoints); var _NavigationStyleguide = require('@bootstrap-styled/navigation-bar/lib/NavigationStyleguide/NavigationStyleguide'); var _NavigationStyleguide2 = _interopRequireDefault(_NavigationStyleguide); var _Img = require('@bootstrap-styled/v4/lib/Img'); var _Img2 = _interopRequireDefault(_Img); var _styledComponents = require('styled-components'); var _styledComponents2 = _interopRequireDefault(_styledComponents); var _lib = require('map-to-css-modules/lib'); var _lib2 = _interopRequireDefault(_lib); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _Logo = require('../rsg-bs-components/Logo'); var _Logo2 = _interopRequireDefault(_Logo); var _Version = require('../rsg-bs-components/Version'); var _Version2 = _interopRequireDefault(_Version); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } var LogoYeutech = function LogoYeutech(props) { return _react2.default.createElement( 'svg', props, _react2.default.createElement( 'g', { fill: '#FFF' }, _react2.default.createElement('path', { d: 'M70.014 12.384l-7.34 10.107V32.96a.93.93 0 0 1-.297.707c-.197.187-.439.281-.725.281s-.521-.095-.708-.281a.958.958 0 0 1-.28-.707V22.523L53.29 12.451a1.014 1.014 0 0 1-.264-.691c0-.265.111-.495.33-.692a1.06 1.06 0 0 1 .724-.297c.351 0 .625.154.824.462l6.814 9.283 6.649-9.283c.242-.308.527-.462.856-.462.264 0 .494.105.692.313.197.208.295.434.295.676.002.154-.064.362-.196.624zM111.988 11.184a.962.962 0 0 1 .279.707v13.63c0 1.603-.384 3.073-1.152 4.411a8.463 8.463 0 0 1-3.127 3.161c-1.317.768-2.766 1.151-4.346 1.151-1.603 0-3.062-.384-4.379-1.151a8.473 8.473 0 0 1-3.128-3.161c-.767-1.338-1.152-2.809-1.152-4.411v-13.63c0-.284.093-.52.28-.707.187-.187.446-.28.774-.28.263 0 .494.093.691.28a.932.932 0 0 1 .297.707v13.63a6.69 6.69 0 0 0 .889 3.39 6.65 6.65 0 0 0 2.42 2.455 6.384 6.384 0 0 0 3.309.904 6.441 6.441 0 0 0 3.34-.904 6.79 6.79 0 0 0 2.438-2.455 6.59 6.59 0 0 0 .905-3.39v-13.63c0-.284.086-.52.262-.707s.407-.28.691-.28a.96.96 0 0 1 .709.28zM134.734 11.167c.187.176.278.407.278.691 0 .287-.092.511-.278.676a1.04 1.04 0 0 1-.709.246h-6.814v20.182a.93.93 0 0 1-.297.707 1.01 1.01 0 0 1-.724.281c-.309 0-.556-.095-.742-.281a.957.957 0 0 1-.279-.707V12.779h-6.813a.993.993 0 0 1-.709-.262c-.186-.176-.279-.405-.279-.692 0-.262.094-.482.279-.658a.998.998 0 0 1 .709-.263h15.67a.992.992 0 0 1 .708.263zM153.81 32.303a.97.97 0 0 1 .281.691.905.905 0 0 1-.281.691.992.992 0 0 1-.706.264h-12.083a.964.964 0 0 1-.708-.281.954.954 0 0 1-.28-.707v-21.07a.958.958 0 0 1 .988-.987h12.083a.956.956 0 0 1 .987.987c0 .286-.094.517-.281.691a.992.992 0 0 1-.706.265h-10.997v8.263h6.664a.959.959 0 0 1 .988.987.908.908 0 0 1-.281.692.993.993 0 0 1-.707.262h-6.664v8.955h10.997c.284 0 .521.099.706.297zM89.655 32.303a.973.973 0 0 1 .281.691.909.909 0 0 1-.281.691.997.997 0 0 1-.708.264H76.864a.959.959 0 0 1-.987-.988v-21.07a.955.955 0 0 1 .987-.987h12.082a.96.96 0 0 1 .989.987.904.904 0 0 1-.281.691.997.997 0 0 1-.708.265H77.95v8.263h6.664a.96.96 0 0 1 .99.987.905.905 0 0 1-.282.692.993.993 0 0 1-.708.262H77.95v8.955h10.996c.285 0 .522.099.709.297zM197.863 11.184c.186.187.28.433.28.741v21.003c-.021.309-.132.555-.329.74-.197.187-.439.281-.725.281s-.527-.1-.725-.297-.296-.438-.296-.725v-9.81h-13.366v9.81a1.11 1.11 0 0 1-.329.725.987.987 0 0 1-.724.297c-.307 0-.555-.095-.742-.281-.186-.186-.279-.432-.279-.74V11.925c0-.308.1-.554.297-.741s.449-.28.758-.28c.283 0 .525.099.725.297a.986.986 0 0 1 .295.725v9.283h13.366v-9.283a.96.96 0 0 1 .313-.725c.21-.198.456-.297.741-.297.307-.001.553.093.74.28zM168.677 34.369h-3.26c-4.064 0-7.611-3.306-7.611-7.369v-8.96c0-4.063 3.307-7.371 7.372-7.371l3.552.006a7.348 7.348 0 0 1 6.601 7.331 1.03 1.03 0 0 1-2.059 0 5.294 5.294 0 0 0-4.703-5.277h-3.39a5.316 5.316 0 0 0-5.311 5.311v.414l-.001 8.119V27c0 2.928 2.621 5.311 5.551 5.311h3.15c2.864-.071 4.703-2.563 4.703-5.276a1.03 1.03 0 0 1 2.059 0 7.349 7.349 0 0 1-6.601 7.331l-.052.003z' }) ), _react2.default.createElement('path', { fill: '#FFF', d: 'M19.9 44.906c-.37 0-.712-.197-.895-.519l-5.902-10.311H1.032a1.032 1.032 0 0 1-.904-1.529l5.714-10.389L.14 12.382a1.03 1.03 0 0 1 .892-1.552h12.07L19.004.52c.184-.322.526-.52.896-.52h.001c.371 0 .712.199.896.521l5.869 10.308h12.07a1.032 1.032 0 0 1 .892 1.552l-5.748 9.847 5.711 10.23a1.032 1.032 0 0 1-.849 1.618H26.667l-5.869 10.308a1.03 1.03 0 0 1-.896.521l-.002.001zM2.778 32.013h10.901c.371 0 .734.198.918.521l5.3 9.26 5.272-9.258c.184-.322.526-.522.897-.522h10.911L31.79 22.72a1.032 1.032 0 0 1 .01-1.023l5.138-8.803h-10.85c-.372 0-.735-.199-.918-.521l-5.272-9.258-5.3 9.261c-.184.32-.526.519-.896.519H2.828l5.091 8.731c.183.313.188.7.013 1.017l-5.154 9.37z' }), _react2.default.createElement('path', { fill: '#FFF', d: 'M19.872 45c-.57 0-1.032-.462-1.032-1.032V22.783a1.032 1.032 0 1 1 2.064 0v21.185c0 .57-.462 1.032-1.032 1.032z' }), _react2.default.createElement('path', { fill: '#FFF', d: 'M19.857 23.516a1.031 1.031 0 0 1-.505-1.933L37.611 11.36a1.032 1.032 0 0 1 1.009 1.8L20.361 23.384c-.16.09-.333.132-.504.132z' }), _react2.default.createElement('path', { fill: '#FFF', d: 'M19.855 23.516c-.171 0-.344-.042-.503-.132L1.093 13.16a1.031 1.031 0 1 1 1.008-1.8l18.26 10.223a1.033 1.033 0 0 1-.506 1.933z' }) ); }; LogoYeutech.defaultProps = { xmlns: 'http://www.w3.org/2000/svg', width: '198.143', height: '45', viewBox: '0 0 198.143 45' }; var defaultProps = exports.defaultProps = { logo: { logo: _react2.default.createElement(LogoYeutech, null), href: 'https://www.yeutech.vn', target: '_blank', alt: 'Yeutech Company Limited logo' }, theme: { styleguide: { '$rsg-sidebar-box-shadow': { xs: 'none', md: 'none' }, '$rsg-sidebar-linear-gradient': 'linear-gradient(#3A007D, #B31255)', '$rsg-sidebar-logo-padding': '30px 20px 0 20px', '$rsg-sidebar-logo-align': 'center', '$rsg-sidebar-title-line-height': '1', '$rsg-sidebar-title-word-wrap': 'break-word', '$rsg-sidebar-logo-svg-height': '35px', '$rsg-sidebar-logo-svg-margin': '0 0 0 -8px' } } }; var propTypes = exports.propTypes = { /** * @ignore */ className: _propTypes2.default.string, // eslint-disable-line react/require-default-props /** Theme variables. Can be: */ theme: _propTypes2.default.shape({ styleguide: _propTypes2.default.shape({ '$rsg-sidebar-box-shadow': _propTypes2.default.object, '$rsg-sidebar-linear-gradient': _propTypes2.default.string, '$rsg-sidebar-logo-padding': _propTypes2.default.string, '$rsg-sidebar-logo-align': _propTypes2.default.string, '$rsg-sidebar-title-line-height': _propTypes2.default.string, '$rsg-sidebar-title-word-wrap': _propTypes2.default.string, '$rsg-sidebar-logo-svg-height': _propTypes2.default.string, '$rsg-sidebar-logo-svg-margin': _propTypes2.default.string }) }), /** * Replace or remove a className from the component. * See example <a href="https://www.npmjs.com/package/map-import styled from 'styled-components'; to-css-modules" target="_blank">here</a>. */ cssModule: _propTypes2.default.object, // eslint-disable-line react/require-default-props /** Logo attributes in order to render logo. */ logo: _propTypes2.default.shape({ logo: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]), href: _propTypes2.default.string, target: _propTypes2.default.string, alt: _propTypes2.default.string }), version: _propTypes2.default.string, // eslint-disable-line react/require-default-props /** Set title to be rendered. */ title: _propTypes2.default.string, // eslint-disable-line react/require-default-props /** Table of content elements to be rendered. */ items: _propTypes2.default.node // eslint-disable-line react/require-default-props }; var SideBarUnstyled = function SideBarUnstyled(props) { var _omit = (0, _lodash2.default)(props, ['theme']), className = _omit.className, cssModule = _omit.cssModule, logo = _omit.logo, title = _omit.title, version = _omit.version, items = _omit.items, attributes = _objectWithoutProperties(_omit, ['className', 'cssModule', 'logo', 'title', 'version', 'items']); return _react2.default.createElement( _NavigationStyleguide2.default, _extends({ className: (0, _lib2.default)((0, _classnames2.default)(className, 'navigation'), cssModule) }, attributes), _react2.default.createElement( 'div', { className: 'navigation-logo' }, _react2.default.createElement( _Logo2.default, { className: 'logo-img' }, typeof logo.logo === 'string' ? _react2.default.createElement(_Img2.default, { className: 'logo-img', src: 'data:image/png;base64,' + logo.logo, alt: logo.alt }) : logo.logo ), _react2.default.createElement( 'p', { className: 'navigation-title' }, title ), version && _react2.default.createElement( _Version2.default, null, 'v', version ) ), _react2.default.createElement( 'div', { className: 'font-weight-bold' }, items ) ); }; SideBarUnstyled.defaultProps = defaultProps; SideBarUnstyled.propTypes = propTypes; var SideBar = (0, _styledComponents2.default)(SideBarUnstyled)(_templateObject, function (props) { return '\n &.navigation {\n ' + _breakpoints2.default.up('xs', props.theme['$grid-breakpoints'], '\n box-shadow: ' + props.theme.styleguide['$rsg-sidebar-box-shadow'].xs + ';\n ') + '\n ' + _breakpoints2.default.up('sm', props.theme['$grid-breakpoints'], '\n box-shadow: ' + props.theme.styleguide['$rsg-sidebar-box-shadow'].sm + ';\n ') + '\n .navigation-logo {\n color: white;\n background: ' + props.theme.styleguide['$rsg-sidebar-linear-gradient'] + ' !important;\n padding: ' + props.theme.styleguide['$rsg-sidebar-logo-padding'] + ';\n text-align: ' + props.theme.styleguide['$rsg-sidebar-logo-align'] + ';\n .logo-img {\n & svg {\n height: ' + props.theme.styleguide['$rsg-sidebar-logo-svg-height'] + ';\n margin: ' + props.theme.styleguide['$rsg-sidebar-logo-svg-margin'] + ';\n }\n }\n .navigation-title {\n line-height: ' + props.theme.styleguide['$rsg-sidebar-title-line-height'] + ';\n word-wrap: ' + props.theme.styleguide['$rsg-sidebar-title-word-wrap'] + ';\n }\n }\n }\n '; }); SideBar.defaultProps = defaultProps; SideBar.propTypes = propTypes; exports.default = SideBar;