UNPKG

@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
"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;