@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.
102 lines (84 loc) • 3.33 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var React = _interopRequireWildcard(require("react"));
var _Stepper = _interopRequireDefault(require("./Stepper"));
var _validateIncrement = _interopRequireDefault(require("../utils/validateIncrement"));
var _validateDecrement = _interopRequireDefault(require("../utils/validateDecrement"));
var _useStateWithCallback3 = _interopRequireDefault(require("../hooks/useStateWithCallback"));
var BaggageStepper = function BaggageStepper(_ref) {
var onChange = _ref.onChange,
_ref$defaultValue = _ref.defaultValue,
defaultValue = _ref$defaultValue === void 0 ? 0 : _ref$defaultValue,
props = (0, _objectWithoutProperties2.default)(_ref, ["onChange", "defaultValue"]);
var _useStateWithCallback = (0, _useStateWithCallback3.default)(defaultValue, onChange),
_useStateWithCallback2 = (0, _slicedToArray2.default)(_useStateWithCallback, 2),
value = _useStateWithCallback2[0],
setValue = _useStateWithCallback2[1];
var incrementCounter = function incrementCounter() {
var _props$maxValue = props.maxValue,
maxValue = _props$maxValue === void 0 ? Number.POSITIVE_INFINITY : _props$maxValue,
_props$step = props.step,
step = _props$step === void 0 ? 1 : _props$step;
setValue((0, _validateIncrement.default)({
value: value,
maxValue: maxValue,
step: step
}));
};
var decrementCounter = function decrementCounter() {
var _props$minValue = props.minValue,
minValue = _props$minValue === void 0 ? Number.NEGATIVE_INFINITY : _props$minValue,
_props$step2 = props.step,
step = _props$step2 === void 0 ? 1 : _props$step2;
setValue((0, _validateDecrement.default)({
value: value,
minValue: minValue,
step: step
}));
};
var handleKeyDown = function handleKeyDown(ev) {
if (ev.keyCode === 40) {
ev.preventDefault();
decrementCounter();
}
if (ev.keyCode === 38) {
ev.preventDefault();
incrementCounter();
}
};
var onBlur = props.onBlur,
onFocus = props.onFocus,
disabled = props.disabled,
name = props.name,
selected = props.selected,
dataTest = props.dataTest,
minValue = props.minValue,
maxValue = props.maxValue,
titleIncrement = props.titleIncrement,
titleDecrement = props.titleDecrement;
return /*#__PURE__*/React.createElement(_Stepper.default, {
disabled: disabled,
dataTest: dataTest,
value: value,
name: name,
selected: selected,
minValue: minValue,
maxValue: maxValue,
onKeyDown: handleKeyDown,
onBlur: onBlur,
onFocus: onFocus,
onIncrement: incrementCounter,
onDecrement: decrementCounter,
titleIncrement: titleIncrement,
titleDecrement: titleDecrement
});
};
var _default = BaggageStepper;
exports.default = _default;