@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.
114 lines (98 loc) • 4 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _consts = require("../../InputField/consts");
var _PlusCircle = _interopRequireDefault(require("../../icons/PlusCircle"));
var _MinusCircle = _interopRequireDefault(require("../../icons/MinusCircle"));
var _ButtonLink = _interopRequireDefault(require("../../ButtonLink"));
var _InputField = _interopRequireWildcard(require("../../InputField"));
var _defaultTheme = _interopRequireDefault(require("../../defaultTheme"));
var _getSpacingToken = _interopRequireDefault(require("../../common/getSpacingToken"));
var StyledInputStepper = _styledComponents.default.div.withConfig({
displayName: "InputStepperStateless__StyledInputStepper",
componentId: "ymyi85-0"
})(["width:100%;margin-bottom:", ";", "{text-align:center;&[type=\"number\"]{-moz-appearance:textfield;}}", "{padding:0;pointer-events:auto;}"], _getSpacingToken.default, _InputField.Input, _InputField.Prefix);
StyledInputStepper.defaultProps = {
theme: _defaultTheme.default
};
var InputStepperStateless = function InputStepperStateless(_ref) {
var label = _ref.label,
error = _ref.error,
onBlur = _ref.onBlur,
onFocus = _ref.onFocus,
onChange = _ref.onChange,
onKeyDown = _ref.onKeyDown,
help = _ref.help,
disabled = _ref.disabled,
name = _ref.name,
dataTest = _ref.dataTest,
_ref$size = _ref.size,
size = _ref$size === void 0 ? _consts.SIZE_OPTIONS.NORMAL : _ref$size,
maxValue = _ref.maxValue,
minValue = _ref.minValue,
required = _ref.required,
tabIndex = _ref.tabIndex,
forwardedRef = _ref.forwardedRef,
spaceAfter = _ref.spaceAfter,
value = _ref.value,
onDecrement = _ref.onDecrement,
onIncrement = _ref.onIncrement,
disabledIncrement = _ref.disabledIncrement,
disabledDecrement = _ref.disabledDecrement,
titleIncrement = _ref.titleIncrement,
titleDecrement = _ref.titleDecrement;
return /*#__PURE__*/React.createElement(StyledInputStepper, {
spaceAfter: spaceAfter
}, /*#__PURE__*/React.createElement(_InputField.default, {
dataTest: dataTest,
size: size,
label: label,
disabled: disabled,
required: required,
name: name,
error: error,
help: help,
type: typeof value === "number" ? "number" : "text",
onChange: onChange,
onBlur: onBlur,
onFocus: onFocus,
onKeyDown: onKeyDown,
value: value,
minValue: minValue,
maxValue: maxValue,
tabIndex: tabIndex,
ref: forwardedRef,
prefix: /*#__PURE__*/React.createElement(_ButtonLink.default, {
type: "primary",
disabled: disabledDecrement || disabled || typeof value === "number" && value <= +minValue,
compact: true,
iconLeft: /*#__PURE__*/React.createElement(_MinusCircle.default, null),
size: size,
onClick: !disabled ? onDecrement : undefined,
title: titleDecrement,
asComponent: function asComponent(props) {
return /*#__PURE__*/React.createElement("div", props);
}
}),
suffix: /*#__PURE__*/React.createElement(_ButtonLink.default, {
disabled: disabledIncrement || disabled || typeof value === "number" && value >= +maxValue,
type: "primary",
compact: true,
iconLeft: /*#__PURE__*/React.createElement(_PlusCircle.default, null),
size: size,
onClick: !disabled ? onIncrement : undefined,
title: titleIncrement,
asComponent: function asComponent(props) {
return /*#__PURE__*/React.createElement("div", props);
}
})
}));
};
var _default = InputStepperStateless;
exports.default = _default;