Repository URL to install this package:
|
Version:
2.8.4 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const mobx_react_1 = require("mobx-react");
const exotic_1 = require("exotic");
const deps_1 = require("./deps");
const renderProps_1 = require("./renderProps");
let MediaCarousel = class MediaCarousel extends react_1.default.Component {
constructor() {
super(...arguments);
this.observableState = deps_1.toMediaCarouselState(this.props);
}
render() {
const _a = this.props,
{
renderWrapper
} = _a,
remainingProps = tslib_1.__rest(_a, ["renderWrapper"]); // assigning values to state
const deviceColSpan = deps_1.getDeviceColSpan(remainingProps);
const attributes = deviceColSpan === this.props.list.length ? Object.assign({}, remainingProps, {
hasArrows: false,
hasBullets: false
}) : remainingProps;
this.observableState.setStep(deviceColSpan);
const children = react_1.default.createElement(react_1.default.Fragment, null, renderProps_1.defaultRenderCarouselPanel(attributes, this.observableState), renderProps_1.defaultRenderBullets(attributes, this.observableState));
const view = renderWrapper(Object.assign({
children
}, remainingProps), this.observableState);
return view;
}
};
MediaCarousel.defaultProps = {
// props
className: '',
list: exotic_1.EMPTY_ARRAY,
gridGap: 10,
desktopColSpan: 3,
tabletColSpan: 2,
mobileColSpan: 1,
// renderProps
renderArrows: renderProps_1.defaultRenderArrows,
renderItem: renderProps_1.defaultRenderItem,
renderList: renderProps_1.defaultRenderList,
renderWrapper: renderProps_1.defaultRenderWrapper
};
MediaCarousel = tslib_1.__decorate([mobx_react_1.observer], MediaCarousel);
exports.MediaCarousel = MediaCarousel;
exports.default = MediaCarousel; //# sourceMappingURL=MediaCarousel.js.map