apeman-react-accordion
Version:
apeman react package for accordion components.
143 lines (117 loc) • 11 kB
JavaScript
/**
* Style for ApAccordion.
* @class ApAccordionStyle
*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _apemanReactStyle = require('apeman-react-style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
/** @lends ApAccordionStyle */
var ApAccordionStyle = function (_Component) {
_inherits(ApAccordionStyle, _Component);
function ApAccordionStyle() {
_classCallCheck(this, ApAccordionStyle);
return _possibleConstructorReturn(this, Object.getPrototypeOf(ApAccordionStyle).apply(this, arguments));
}
_createClass(ApAccordionStyle, [{
key: 'render',
value: function render() {
var s = this;
var props = s.props;
var _ApAccordionStyle$sty = ApAccordionStyle.styleData(props);
var all = _ApAccordionStyle$sty.all;
var small = _ApAccordionStyle$sty.small;
var medium = _ApAccordionStyle$sty.medium;
var large = _ApAccordionStyle$sty.large;
return _react2.default.createElement(
_apemanReactStyle.ApStyle,
{ data: Object.assign(all, props.style),
smallMediaData: small,
mediumMediaData: medium,
largeMediaData: large
},
props.children
);
}
}]);
return ApAccordionStyle;
}(_react.Component);
Object.assign(ApAccordionStyle, {
propTypes: {
style: _react.PropTypes.object,
headerHeight: _react.PropTypes.number,
animationDuration: _react.PropTypes.number,
borderRadius: _react.PropTypes.number,
borderColor: _react.PropTypes.string
},
defaultProps: {
style: {},
headerHeight: 44,
animationDuration: 300,
borderRadius: 4,
borderColor: '#AAA'
},
styleData: function styleData(config) {
var headerHeight = config.headerHeight;
var animationDuration = config.animationDuration;
var borderRadius = config.borderRadius;
var borderColor = config.borderColor;
return {
all: {
'.ap-accordion': {
position: 'relative',
overflow: 'hidden',
transition: 'max-height ' + animationDuration + 'ms',
border: '1px solid ' + borderColor,
background: 'white',
boxSizing: 'border-box',
borderRadius: borderRadius + 'px'
},
'.ap-accordion-header': {
padding: '0 8px',
lineHeight: headerHeight + 'px',
height: headerHeight + 1 + 'px',
cursor: 'pointer',
boxSizing: 'border-box',
margin: '-1px',
borderRadius: '0 0 ' + borderRadius + 'px ' + borderRadius + 'px',
border: '1px solid ' + borderColor
},
'.ap-accordion-header:hover': {
opacity: 0.9
},
'.ap-accordion-header:active': {
opacity: 0.66
},
'.ap-accordion-body': {
padding: '8px'
},
'.ap-accordion-arrow': {
display: 'inline-block',
marginRight: '2px',
transform: 'rotate(0deg)',
transition: 'transform ' + animationDuration + 'ms'
},
'.ap-accordion-arrow-icon': {},
'.ap-accordion-closed': {
maxHeight: headerHeight + 'px !important'
},
'.ap-accordion-closed .ap-accordion-arrow': {
transform: 'rotate(-90deg)'
}
}
};
}
});
exports.default = ApAccordionStyle;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX2FjY29yZGlvbl9zdHlsZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0FBS0E7Ozs7Ozs7O0FBRUE7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7Ozs7O0FBRUE7SUFDTSxnQjs7Ozs7Ozs7Ozs7NkJBQ007QUFDUixVQUFNLElBQUksSUFBVjtBQURRLFVBRUYsS0FGRSxHQUVRLENBRlIsQ0FFRixLQUZFOztBQUFBLGtDQUk0QixpQkFBaUIsU0FBakIsQ0FBMkIsS0FBM0IsQ0FKNUI7O0FBQUEsVUFJRixHQUpFLHlCQUlGLEdBSkU7QUFBQSxVQUlHLEtBSkgseUJBSUcsS0FKSDtBQUFBLFVBSVUsTUFKVix5QkFJVSxNQUpWO0FBQUEsVUFJa0IsS0FKbEIseUJBSWtCLEtBSmxCOzs7QUFNUixhQUNFO0FBQUE7QUFBQSxVQUFTLE1BQU8sT0FBTyxNQUFQLENBQWMsR0FBZCxFQUFtQixNQUFNLEtBQXpCLENBQWhCO0FBQ1MsMEJBQWlCLEtBRDFCO0FBRVMsMkJBQWtCLE1BRjNCO0FBR1MsMEJBQWlCO0FBSDFCO0FBSUcsY0FBTTtBQUpULE9BREY7QUFPRDs7Ozs7O0FBR0gsT0FBTyxNQUFQLENBQWMsZ0JBQWQsRUFBZ0M7QUFDOUIsYUFBVztBQUNULFdBQU8saUJBQU0sTUFESjtBQUVULGtCQUFjLGlCQUFNLE1BRlg7QUFHVCx1QkFBbUIsaUJBQU0sTUFIaEI7QUFJVCxrQkFBYyxpQkFBTSxNQUpYO0FBS1QsaUJBQWEsaUJBQU07QUFMVixHQURtQjs7QUFTOUIsZ0JBQWM7QUFDWixXQUFPLEVBREs7QUFFWixrQkFBYyxFQUZGO0FBR1osdUJBQW1CLEdBSFA7QUFJWixrQkFBYyxDQUpGO0FBS1osaUJBQWE7QUFMRCxHQVRnQjs7QUFpQjlCLFdBakI4QixxQkFpQm5CLE1BakJtQixFQWlCWDtBQUFBLFFBRWYsWUFGZSxHQU1iLE1BTmEsQ0FFZixZQUZlO0FBQUEsUUFHZixpQkFIZSxHQU1iLE1BTmEsQ0FHZixpQkFIZTtBQUFBLFFBSWYsWUFKZSxHQU1iLE1BTmEsQ0FJZixZQUplO0FBQUEsUUFLZixXQUxlLEdBTWIsTUFOYSxDQUtmLFdBTGU7O0FBT2pCLFdBQU87QUFDTCxXQUFLO0FBQ0gseUJBQWlCO0FBQ2Ysb0JBQVUsVUFESztBQUVmLG9CQUFVLFFBRks7QUFHZixzQ0FBMEIsaUJBQTFCLE9BSGU7QUFJZixpQ0FBcUIsV0FKTjtBQUtmLHNCQUFZLE9BTEc7QUFNZixxQkFBVyxZQU5JO0FBT2Ysd0JBQWlCLFlBQWpCO0FBUGUsU0FEZDtBQVVILGdDQUF3QjtBQUN0QixtQkFBUyxPQURhO0FBRXRCLHNCQUFlLFlBQWYsT0FGc0I7QUFHdEIsa0JBQVcsZUFBZSxDQUExQixPQUhzQjtBQUl0QixrQkFBUSxTQUpjO0FBS3RCLHFCQUFXLFlBTFc7QUFNdEIsa0JBQVEsTUFOYztBQU90QixpQ0FBcUIsWUFBckIsV0FBdUMsWUFBdkMsT0FQc0I7QUFRdEIsaUNBQXFCO0FBUkMsU0FWckI7QUFvQkgsc0NBQThCO0FBQzVCLG1CQUFTO0FBRG1CLFNBcEIzQjtBQXVCSCx1Q0FBK0I7QUFDN0IsbUJBQVM7QUFEb0IsU0F2QjVCO0FBMEJILDhCQUFzQjtBQUNwQixtQkFBUztBQURXLFNBMUJuQjtBQTZCSCwrQkFBdUI7QUFDckIsbUJBQVMsY0FEWTtBQUVyQix1QkFBYSxLQUZRO0FBR3JCLHFCQUFXLGNBSFU7QUFJckIscUNBQXlCLGlCQUF6QjtBQUpxQixTQTdCcEI7QUFtQ0gsb0NBQTRCLEVBbkN6QjtBQW9DSCxnQ0FBd0I7QUFDdEIscUJBQWMsWUFBZDtBQURzQixTQXBDckI7QUF1Q0gsb0RBQTRDO0FBQzFDLHFCQUFXO0FBRCtCO0FBdkN6QztBQURBLEtBQVA7QUE2Q0Q7QUFyRTZCLENBQWhDOztrQkF3RWUsZ0IiLCJmaWxlIjoiYXBfYWNjb3JkaW9uX3N0eWxlLmpzeCIsInNvdXJjZVJvb3QiOiJsaWIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN0eWxlIGZvciBBcEFjY29yZGlvbi5cbiAqIEBjbGFzcyBBcEFjY29yZGlvblN0eWxlXG4gKi9cblxuJ3VzZSBzdHJpY3QnXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgUHJvcFR5cGVzIGFzIHR5cGVzfSBmcm9tICdyZWFjdCdcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnXG5pbXBvcnQge0FwU3R5bGV9IGZyb20gJ2FwZW1hbi1yZWFjdC1zdHlsZSdcblxuLyoqIEBsZW5kcyBBcEFjY29yZGlvblN0eWxlICovXG5jbGFzcyBBcEFjY29yZGlvblN0eWxlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCBzID0gdGhpc1xuICAgIGxldCB7IHByb3BzIH0gPSBzXG5cbiAgICBsZXQgeyBhbGwsIHNtYWxsLCBtZWRpdW0sIGxhcmdlIH0gPSBBcEFjY29yZGlvblN0eWxlLnN0eWxlRGF0YShwcm9wcylcblxuICAgIHJldHVybiAoXG4gICAgICA8QXBTdHlsZSBkYXRhPXsgT2JqZWN0LmFzc2lnbihhbGwsIHByb3BzLnN0eWxlKSB9XG4gICAgICAgICAgICAgICBzbWFsbE1lZGlhRGF0YT17IHNtYWxsIH1cbiAgICAgICAgICAgICAgIG1lZGl1bU1lZGlhRGF0YT17IG1lZGl1bSB9XG4gICAgICAgICAgICAgICBsYXJnZU1lZGlhRGF0YT17IGxhcmdlIH1cbiAgICAgID57IHByb3BzLmNoaWxkcmVuIH08L0FwU3R5bGU+XG4gICAgKVxuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oQXBBY2NvcmRpb25TdHlsZSwge1xuICBwcm9wVHlwZXM6IHtcbiAgICBzdHlsZTogdHlwZXMub2JqZWN0LFxuICAgIGhlYWRlckhlaWdodDogdHlwZXMubnVtYmVyLFxuICAgIGFuaW1hdGlvbkR1cmF0aW9uOiB0eXBlcy5udW1iZXIsXG4gICAgYm9yZGVyUmFkaXVzOiB0eXBlcy5udW1iZXIsXG4gICAgYm9yZGVyQ29sb3I6IHR5cGVzLnN0cmluZ1xuICB9LFxuXG4gIGRlZmF1bHRQcm9wczoge1xuICAgIHN0eWxlOiB7fSxcbiAgICBoZWFkZXJIZWlnaHQ6IDQ0LFxuICAgIGFuaW1hdGlvbkR1cmF0aW9uOiAzMDAsXG4gICAgYm9yZGVyUmFkaXVzOiA0LFxuICAgIGJvcmRlckNvbG9yOiAnI0FBQSdcbiAgfSxcblxuICBzdHlsZURhdGEgKGNvbmZpZykge1xuICAgIGxldCB7XG4gICAgICBoZWFkZXJIZWlnaHQsXG4gICAgICBhbmltYXRpb25EdXJhdGlvbixcbiAgICAgIGJvcmRlclJhZGl1cyxcbiAgICAgIGJvcmRlckNvbG9yXG4gICAgfSA9IGNvbmZpZ1xuICAgIHJldHVybiB7XG4gICAgICBhbGw6IHtcbiAgICAgICAgJy5hcC1hY2NvcmRpb24nOiB7XG4gICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgIHRyYW5zaXRpb246IGBtYXgtaGVpZ2h0ICR7YW5pbWF0aW9uRHVyYXRpb259bXNgLFxuICAgICAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAke2JvcmRlckNvbG9yfWAsXG4gICAgICAgICAgYmFja2dyb3VuZDogJ3doaXRlJyxcbiAgICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IGAke2JvcmRlclJhZGl1c31weGBcbiAgICAgICAgfSxcbiAgICAgICAgJy5hcC1hY2NvcmRpb24taGVhZGVyJzoge1xuICAgICAgICAgIHBhZGRpbmc6ICcwIDhweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogYCR7aGVhZGVySGVpZ2h0fXB4YCxcbiAgICAgICAgICBoZWlnaHQ6IGAke2hlYWRlckhlaWdodCArIDF9cHhgLFxuICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAgIG1hcmdpbjogJy0xcHgnLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogYDAgMCAke2JvcmRlclJhZGl1c31weCAke2JvcmRlclJhZGl1c31weGAsXG4gICAgICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7Ym9yZGVyQ29sb3J9YFxuICAgICAgICB9LFxuICAgICAgICAnLmFwLWFjY29yZGlvbi1oZWFkZXI6aG92ZXInOiB7XG4gICAgICAgICAgb3BhY2l0eTogMC45XG4gICAgICAgIH0sXG4gICAgICAgICcuYXAtYWNjb3JkaW9uLWhlYWRlcjphY3RpdmUnOiB7XG4gICAgICAgICAgb3BhY2l0eTogMC42NlxuICAgICAgICB9LFxuICAgICAgICAnLmFwLWFjY29yZGlvbi1ib2R5Jzoge1xuICAgICAgICAgIHBhZGRpbmc6ICc4cHgnXG4gICAgICAgIH0sXG4gICAgICAgICcuYXAtYWNjb3JkaW9uLWFycm93Jzoge1xuICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgIG1hcmdpblJpZ2h0OiAnMnB4JyxcbiAgICAgICAgICB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknLFxuICAgICAgICAgIHRyYW5zaXRpb246IGB0cmFuc2Zvcm0gJHthbmltYXRpb25EdXJhdGlvbn1tc2BcbiAgICAgICAgfSxcbiAgICAgICAgJy5hcC1hY2NvcmRpb24tYXJyb3ctaWNvbic6IHt9LFxuICAgICAgICAnLmFwLWFjY29yZGlvbi1jbG9zZWQnOiB7XG4gICAgICAgICAgbWF4SGVpZ2h0OiBgJHtoZWFkZXJIZWlnaHR9cHggIWltcG9ydGFudGBcbiAgICAgICAgfSxcbiAgICAgICAgJy5hcC1hY2NvcmRpb24tY2xvc2VkIC5hcC1hY2NvcmRpb24tYXJyb3cnOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiAncm90YXRlKC05MGRlZyknXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0pXG5cbmV4cG9ydCBkZWZhdWx0IEFwQWNjb3JkaW9uU3R5bGVcbiJdfQ==