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/ui / src / inputs / Incrementer / renderProps.js
Size: Mime:
"use strict";

var __importDefault = this && this.__importDefault || function (mod) {
  return mod && mod.__esModule ? mod : {
    "default": mod
  };
};

Object.defineProperty(exports, "__esModule", {
  value: true
});

const react_1 = __importDefault(require("react"));

const exotic_1 = require("exotic");

const styled_1 = require("./styled");

function defaultOnIncrement(props, state) {
  return state.incrementCount(props);
}

function defaultOnDecrement(props, state) {
  return state.decrementCount(props);
}

function defaultHandleChange(props, state, event) {
  return state.handleChange(props, event);
}

function defaultHandleBlur(props, state, event) {
  return state.handleBlur(props, event);
}

function defaultRenderBox(props, state) {
  const {
    onChange
  } = props;

  const handleOnChangeQuantity = () => {
    if (exotic_1.isFunction(onChange)) {
      props.onChange(state.count);
    }
  };

  const increment = event => {
    defaultOnIncrement(props, state);
    handleOnChangeQuantity();
  };

  const decrement = event => {
    defaultOnDecrement(props, state);
    handleOnChangeQuantity();
  };

  const handleChange = event => {
    defaultHandleChange(props, state, event);
    handleOnChangeQuantity();
  };

  const handleBlur = event => defaultHandleBlur(props, state, event);

  return react_1.default.createElement(styled_1.InnerWrapper, null, react_1.default.createElement(styled_1.StyledButton, {
    onClick: decrement,
    isDisabled: !state.shouldDecrement
  }, react_1.default.createElement(styled_1.StyledMinusIcon, null)), react_1.default.createElement(styled_1.InputBoxWrapper, null, react_1.default.createElement(styled_1.StyledInput, {
    type: "text",
    value: state.count,
    onChange: handleChange,
    onBlur: handleBlur
  })), react_1.default.createElement(styled_1.StyledButton, {
    onClick: increment,
    isDisabled: !state.shouldIncrement
  }, react_1.default.createElement(styled_1.StyledPlusIcon, null)));
}

exports.defaultRenderBox = defaultRenderBox;

function defaultRenderWrapper(props) {
  const {
    children,
    nowrap,
    className
  } = props;

  if (nowrap) {
    return react_1.default.createElement(react_1.default.Fragment, null, children);
  } else {
    return react_1.default.createElement(styled_1.IncrementerWrapper, {
      className: className
    }, children);
  }
}

exports.defaultRenderWrapper = defaultRenderWrapper; //# sourceMappingURL=renderProps.js.map