@yeutech-lab/rollup-umd-documentation
Version:
Quickly build awesome documentation for your rollup-umd project.
219 lines (182 loc) • 12.1 kB
JavaScript
'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;