@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.
152 lines (130 loc) • 6.09 kB
JavaScript
"use strict";
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"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
var PrefixSuffix = (0, _styledComponents.default)(function (_ref) {
var type = _ref.type,
props = _objectWithoutProperties(_ref, ["type"]);
return React.createElement("div", props);
}).withConfig({
displayName: "InputStepperStateless__PrefixSuffix",
componentId: "ymyi85-0"
})(["flex-shrink:0;z-index:3;cursor:", ";"], function (_ref2) {
var disabled = _ref2.disabled;
return disabled && "not-allowed";
});
PrefixSuffix.defaultProps = {
theme: _defaultTheme.default
};
var StyledInputStepper = _styledComponents.default.div.withConfig({
displayName: "InputStepperStateless__StyledInputStepper",
componentId: "ymyi85-1"
})(["width:100%;margin-bottom:", ";", "{text-align:center;}", "{padding:0;pointer-events:auto;}"], _getSpacingToken.default, _InputField.Input, _InputField.Prefix);
StyledInputStepper.defaultProps = {
theme: _defaultTheme.default
};
var StyledButtonWrapper = _styledComponents.default.div.withConfig({
displayName: "InputStepperStateless__StyledButtonWrapper",
componentId: "ymyi85-2"
})(["&:focus{outline:none;box-shadow:0 0 1px 1px ", ",0 0 1px 3px rgba(1,118,210,0.6);}&:focus:active{box-shadow:none;}"], function (_ref3) {
var theme = _ref3.theme;
return theme.orbit.colorTextButtonWhiteBordered;
});
StyledButtonWrapper.defaultProps = {
theme: _defaultTheme.default
};
var InputStepperStateless = function InputStepperStateless(_ref4) {
var label = _ref4.label,
error = _ref4.error,
onBlur = _ref4.onBlur,
onFocus = _ref4.onFocus,
onChange = _ref4.onChange,
onKeyDown = _ref4.onKeyDown,
help = _ref4.help,
disabled = _ref4.disabled,
name = _ref4.name,
dataTest = _ref4.dataTest,
_ref4$size = _ref4.size,
size = _ref4$size === void 0 ? _consts.SIZE_OPTIONS.NORMAL : _ref4$size,
maxValue = _ref4.maxValue,
minValue = _ref4.minValue,
required = _ref4.required,
tabIndex = _ref4.tabIndex,
forwardedRef = _ref4.forwardedRef,
spaceAfter = _ref4.spaceAfter,
value = _ref4.value,
onDecrement = _ref4.onDecrement,
onIncrement = _ref4.onIncrement,
disabledIncrement = _ref4.disabledIncrement,
disabledDecrement = _ref4.disabledDecrement,
titleIncrement = _ref4.titleIncrement,
titleDecrement = _ref4.titleDecrement;
return React.createElement(StyledInputStepper, {
spaceAfter: spaceAfter
}, 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: React.createElement(StyledButtonWrapper, {
role: "button",
tabIndex: "0",
onKeyDown: onDecrement
}, React.createElement(_ButtonLink.default, {
disabled: disabledDecrement || disabled || typeof value === "number" && value <= +minValue,
iconLeft: React.createElement(_MinusCircle.default, {
color: "secondary"
}),
size: size,
onClick: onDecrement,
transparent: true,
component: PrefixSuffix,
title: titleDecrement
})),
suffix: React.createElement(StyledButtonWrapper, {
role: "button",
tabIndex: "0",
onKeyDown: onIncrement
}, React.createElement(_ButtonLink.default, {
disabled: disabledIncrement || disabled || typeof value === "number" && value >= +maxValue,
iconLeft: React.createElement(_PlusCircle.default, {
color: "secondary"
}),
size: size,
onClick: onIncrement,
transparent: true,
component: PrefixSuffix,
title: titleIncrement
}))
}));
};
var _default = InputStepperStateless;
exports.default = _default;