Repository URL to install this package:
|
Version:
2.4.9 ▾
|
"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("xmobx/mobx-react");
const utils_1 = require("@skava/utils");
const exotic_1 = require("exotic");
const state_1 = require("./state");
const renderProps_1 = require("./renderProps");
function initIncrementerState() {
return new state_1.IncrementerState();
}
function toIncrementerState(props) {
if (props.state === undefined) {
return initIncrementerState();
} else {
return props.state;
}
}
let Incrementer = class Incrementer extends react_1.default.Component {
constructor() {
super(...arguments);
this.observableState = toIncrementerState(this.props);
}
componentWillMount() {
this.observableState.count = this.props.defaultValue;
}
render() {
const _a = this.props,
{
className,
renderBox,
renderWrapper
} = _a,
remainingProps = tslib_1.__rest(_a, ["className", "renderBox", "renderWrapper"]);
const requiredProps = utils_1.omit(remainingProps, ['nowrap']);
const children = renderBox(requiredProps, this.observableState);
const view = renderWrapper(Object.assign({
children
}, remainingProps));
return view;
}
};
Incrementer.defaultProps = {
className: '',
step: 1,
minValue: 1,
maxValue: 99,
defaultValue: 1,
onChange: exotic_1.NO_OP,
renderBox: renderProps_1.defaultRenderBox,
renderWrapper: renderProps_1.defaultRenderWrapper
};
Incrementer = tslib_1.__decorate([mobx_react_1.observer], Incrementer);
exports.Incrementer = Incrementer;
exports.default = Incrementer; //# sourceMappingURL=Incrementer.js.map