@yeutech-lab/rollup-umd-documentation
Version:
Quickly build awesome documentation for your rollup-umd project.
167 lines (131 loc) • 5.71 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 _breakpoints = require('@bootstrap-styled/css-mixins/lib/breakpoints');
var _breakpoints2 = _interopRequireDefault(_breakpoints);
var _Img = require('@bootstrap-styled/v4/lib/Img');
var _Img2 = _interopRequireDefault(_Img);
var _Footer = require('@bootstrap-styled/v4/lib/Footer');
var _Footer2 = _interopRequireDefault(_Footer);
var _A = require('@bootstrap-styled/v4/lib/A');
var _A2 = _interopRequireDefault(_A);
var _styledComponents = require('styled-components');
var _styledComponents2 = _interopRequireDefault(_styledComponents);
var _lodash = require('lodash.omit');
var _lodash2 = _interopRequireDefault(_lodash);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _lib = require('map-to-css-modules/lib');
var _lib2 = _interopRequireDefault(_lib);
var _badgeYeutech = require('../static/badge-yeutech');
var _badgeYeutech2 = _interopRequireDefault(_badgeYeutech);
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 defaultProps = exports.defaultProps = {
logo: {
logo: _badgeYeutech2.default,
href: 'https://www.yeutech.vn',
target: '_blank',
alt: 'Yeutech Company Limited logo'
},
theme: {
styleguide: {
'$rsg-footer-margin': '40px 0 60px 0',
'$rsg-footer-float': 'right',
'$rsg-footer-img-height': {
xs: '35px',
md: '43px'
}
}
}
};
var propTypes = exports.propTypes = {
/**
* @ignore
*/
className: _propTypes2.default.string, // 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
}),
/** Theme variables. Can be: */
theme: _propTypes2.default.shape({
styleguide: _propTypes2.default.shape({
'$rsg-footer-margin': _propTypes2.default.string,
'$rsg-footer-float': _propTypes2.default.string,
'$rsg-footer-img-height': _propTypes2.default.shape({
xs: _propTypes2.default.string,
md: _propTypes2.default.string
})
})
}),
/**
* Replace or remove a className from the component.
* See example <a href="https://www.npmjs.com/package/map-to-css-modules" target="_blank">here</a>.
*/
cssModule: _propTypes2.default.object // eslint-disable-line react/require-default-props
};
var FooterRendererUnstyled = function FooterRendererUnstyled(props) {
var _omit = (0, _lodash2.default)(props, ['theme']),
className = _omit.className,
logo = _omit.logo,
cssModule = _omit.cssModule,
attributes = _objectWithoutProperties(_omit, ['className', 'logo', 'cssModule']);
return _react2.default.createElement(
_Footer2.default,
_extends({
className: (0, _lib2.default)((0, _classnames2.default)(className, 'rsg-footer', cssModule))
}, attributes),
typeof logo.logo === 'string' ? _react2.default.createElement(
'div',
null,
logo.text && _react2.default.createElement(
'span',
null,
logo.text
),
_react2.default.createElement(
_A2.default,
{
href: logo.href,
target: logo.target,
alt: logo.alt
},
_react2.default.createElement(_Img2.default, {
className: 'rsg-footer-img',
src: 'data:image/png;base64,' + logo.logo,
height: logo.height,
alt: logo.alt
})
)
) : _react2.default.createElement(
_A2.default,
{
href: logo.href,
target: logo.target,
alt: logo.alt
},
logo.logo
)
);
};
FooterRendererUnstyled.defaultProps = defaultProps;
FooterRendererUnstyled.propTypes = propTypes;
var FooterRenderer = (0, _styledComponents2.default)(FooterRendererUnstyled)(_templateObject, function (props) {
return '\n &.rsg-footer {\n margin: ' + props.theme.styleguide['$rsg-footer-margin'] + ';\n float: ' + props.theme.styleguide['$rsg-footer-float'] + ';\n & .rsg-footer-img {\n ' + _breakpoints2.default.up('xs', props.theme['$grid-breakpoints'], '\n height: ' + props.theme.styleguide['$rsg-footer-img-height'].xs + ';\n ') + '\n ' + _breakpoints2.default.up('md', props.theme['$grid-breakpoints'], '\n height: ' + props.theme.styleguide['$rsg-footer-img-height'].md + ';\n ') + '\n }\n }\n ';
});
FooterRenderer.defaultProps = defaultProps;
FooterRenderer.propTypes = propTypes;
exports.default = FooterRenderer;