Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/forms / build / dist / components / Incrementer / Incrementer.js
Size: Mime:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const React = require("react");
const state_1 = require("@skava/state");
const utils_1 = require("@skava/utils");
const exotic_1 = require("exotic");
const state_2 = require("./state");
const renderProps_1 = require("./renderProps");
function initIncrementerState() {
    return new state_2.IncrementerState();
}
function toIncrementerState(props) {
    if (props.state === undefined) {
        const state = initIncrementerState();
        state.update(props);
        return state;
    }
    else {
        return props.state;
    }
}
let Incrementer = class Incrementer extends React.Component {
    constructor() {
        super(...arguments);
        this.updateState = (value) => {
            this.observableState.update(value);
        };
        this.observableState = toIncrementerState(this.props);
    }
    componentWillMount() {
        this.observableState.count = this.props.defaultValue;
    }
    render() {
        const _a = this.props, { renderBox, renderWrapper } = _a, remainingProps = tslib_1.__rest(_a, ["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([
    state_1.observerWithObservableProps
], Incrementer);
exports.Incrementer = Incrementer;
exports.default = Incrementer;
//# sourceMappingURL=Incrementer.js.map