@rakuten-rex/stepper
Version:
Input Stepper is a UI control used to incrementally increase of decrease a numeric value.
888 lines (729 loc) • 29.3 kB
JavaScript
/*!
*
* @license @rakuten-rex/stepper v1.6.0 2020-07-01
* StepperLabel/StepperLabel.development.js
*
* Copyright (c) 2018-present, Rakuten, Inc.
*
* This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree.
*/
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("react"));
else if(typeof define === 'function' && define.amd)
define("rakutenRexStepper", ["react"], factory);
else if(typeof exports === 'object')
exports["rakutenRexStepper"] = factory(require("react"));
else
root["rakutenRexStepper"] = factory(root["React"]);
})(window, function(__WEBPACK_EXTERNAL_MODULE__0__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 17);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE__0__;
/***/ }),
/* 1 */
/***/ (function(module, exports) {
function _assertThisInitialized(self) {
if (self === void 0) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return self;
}
module.exports = _assertThisInitialized;
/***/ }),
/* 2 */
/***/ (function(module, exports) {
function _extends() {
module.exports = _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
module.exports = _extends;
/***/ }),
/* 3 */
/***/ (function(module, exports, __webpack_require__) {
var objectWithoutPropertiesLoose = __webpack_require__(11);
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;
}
module.exports = _objectWithoutProperties;
/***/ }),
/* 4 */
/***/ (function(module, exports) {
function _getPrototypeOf(o) {
module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
return o.__proto__ || Object.getPrototypeOf(o);
};
return _getPrototypeOf(o);
}
module.exports = _getPrototypeOf;
/***/ }),
/* 5 */
/***/ (function(module, exports) {
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
module.exports = _classCallCheck;
/***/ }),
/* 6 */
/***/ (function(module, exports) {
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
module.exports = _createClass;
/***/ }),
/* 7 */
/***/ (function(module, exports, __webpack_require__) {
var setPrototypeOf = __webpack_require__(13);
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function");
}
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
writable: true,
configurable: true
}
});
if (superClass) setPrototypeOf(subClass, superClass);
}
module.exports = _inherits;
/***/ }),
/* 8 */
/***/ (function(module, exports, __webpack_require__) {
var _typeof = __webpack_require__(14);
var assertThisInitialized = __webpack_require__(1);
function _possibleConstructorReturn(self, call) {
if (call && (_typeof(call) === "object" || typeof call === "function")) {
return call;
}
return assertThisInitialized(self);
}
module.exports = _possibleConstructorReturn;
/***/ }),
/* 9 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return LabelUi; });
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _LabelUi_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12);
/* harmony import */ var _LabelUi_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_LabelUi_scss__WEBPACK_IMPORTED_MODULE_3__);
/* eslint-disable react/jsx-props-no-spreading */
function LabelUi(_ref) {
var label = _ref.label,
className = _ref.className,
disabled = _ref.disabled,
state = _ref.state,
labelRef = _ref.labelRef,
required = _ref.required,
htmlFor = _ref.htmlFor,
props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_ref, ["label", "className", "disabled", "state", "labelRef", "required", "htmlFor"]);
var stateClass = function (stateClassName) {
switch (stateClassName) {
case 'active':
return 'active';
case 'hover':
return 'hover';
default:
return '';
}
}(state);
var classes = ['rex-stepper-label-ui', className, stateClass].filter(function (singleClass) {
return singleClass && singleClass.length > 0;
}).join(' ').trim();
var hasHtmlFor = !!(htmlFor && htmlFor.length > 0);
var labelText = required ? "".concat(label, " *") : label;
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("label", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
htmlFor: hasHtmlFor ? htmlFor : null,
className: classes,
disabled: disabled,
ref: labelRef
}, props), labelText);
}
LabelUi.displayName = "LabelUi";
LabelUi.defaultProps = {
htmlFor: '',
label: '',
className: '',
disabled: false,
state: '',
labelRef: null,
required: false
};
/***/ }),
/* 10 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
var classCallCheck = __webpack_require__(5);
var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
var createClass = __webpack_require__(6);
var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
var assertThisInitialized = __webpack_require__(1);
var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
var inherits = __webpack_require__(7);
var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
var possibleConstructorReturn = __webpack_require__(8);
var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
var getPrototypeOf = __webpack_require__(4);
var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
// EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react","umd":"react"}
var external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_ = __webpack_require__(0);
var external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default = /*#__PURE__*/__webpack_require__.n(external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_);
// EXTERNAL MODULE: ./src/Stepper/Stepper.scss
var Stepper_Stepper = __webpack_require__(15);
// CONCATENATED MODULE: ./src/Stepper/img/rex-icon-plus.svg
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
var _ref = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement("path", {
d: "M19.3 10v5.3H14v1.3h5.3V22h1.3v-5.3H26v-1.3h-5.3V10z",
fill: "#b6b6b6",
fillRule: "evenodd"
});
var rex_icon_plus_SvgRexIconPlus = function SvgRexIconPlus(props) {
return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement("svg", _extends({
width: 40,
height: 32
}, props), _ref);
};
/* harmony default export */ var rex_icon_plus = (rex_icon_plus_SvgRexIconPlus);
// CONCATENATED MODULE: ./src/Stepper/img/rex-icon-minus.svg
function rex_icon_minus_extends() { rex_icon_minus_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return rex_icon_minus_extends.apply(this, arguments); }
var rex_icon_minus_ref = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement("path", {
d: "M14 17h12v-1.3H14V17z",
fillRule: "evenodd",
clipRule: "evenodd",
fill: "#b6b6b6"
});
var rex_icon_minus_SvgRexIconMinus = function SvgRexIconMinus(props) {
return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement("svg", rex_icon_minus_extends({
width: 40,
height: 32
}, props), rex_icon_minus_ref);
};
/* harmony default export */ var rex_icon_minus = (rex_icon_minus_SvgRexIconMinus);
// CONCATENATED MODULE: ./src/Stepper/Stepper.jsx
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Stepper_Stepper_Stepper; });
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
/* eslint-disable react/jsx-props-no-spreading */
var Stepper_Stepper_Stepper = /*#__PURE__*/function (_Component) {
inherits_default()(Stepper, _Component);
var _super = _createSuper(Stepper);
function Stepper(props) {
var _this;
classCallCheck_default()(this, Stepper);
_this = _super.call(this, props);
var _this$props = _this.props,
maxValue = _this$props.maxValue,
counter = _this$props.counter,
state = _this$props.state;
_this.state = {
counter: counter,
maxValue: maxValue,
state: state
};
_this.onIncrease = _this.onIncrease.bind(assertThisInitialized_default()(_this));
_this.onDecrease = _this.onDecrease.bind(assertThisInitialized_default()(_this));
_this.handleChange = _this.handleChange.bind(assertThisInitialized_default()(_this));
_this.handleBlur = _this.handleBlur.bind(assertThisInitialized_default()(_this));
_this.handleClick = _this.handleClick.bind(assertThisInitialized_default()(_this));
_this.textInput = external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createRef();
return _this;
}
createClass_default()(Stepper, [{
key: "componentDidUpdate",
value: function componentDidUpdate(prevProps) {
var _this$props2 = this.props,
maxValue = _this$props2.maxValue,
counter = _this$props2.counter,
state = _this$props2.state;
if (maxValue !== prevProps.maxValue) {
this.updateMaxValueState(maxValue);
}
if (counter !== prevProps.counter) {
this.updateCounterState(counter);
}
if (state !== prevProps.state) {
this.updateState(state);
}
}
}, {
key: "onIncrease",
value: function onIncrease() {
var _this$state = this.state,
counter = _this$state.counter,
maxValue = _this$state.maxValue;
if (counter < maxValue) {
var countNumber = Number(counter) + 1;
this.setState({
counter: countNumber
});
}
if (this.textInput.current) {
this.textInput.current.setSelectionRange(0, 5);
}
}
}, {
key: "onDecrease",
value: function onDecrease() {
var counter = this.state.counter;
if (counter > 0) {
var countNumber = Number(counter) - 1;
this.setState({
counter: countNumber
});
}
this.textInput.current.setSelectionRange(0, 5);
}
}, {
key: "updateMaxValueState",
value: function updateMaxValueState(maxValue) {
this.setState({
maxValue: maxValue
});
}
}, {
key: "updateCounterState",
value: function updateCounterState(counter) {
this.setState({
counter: counter
});
}
}, {
key: "updateState",
value: function updateState(state) {
this.setState({
state: state
});
}
}, {
key: "handleChange",
value: function handleChange(e) {
var maxValue = this.state.maxValue;
var inputValue = e.target.value.replace(/\D/, '');
if (inputValue <= maxValue) {
this.setState({
counter: inputValue
});
}
}
}, {
key: "handleClick",
value: function handleClick() {
this.textInput.current.select();
}
}, {
key: "handleBlur",
value: function handleBlur(e) {
var counter = this.props.counter;
if (e.target.value === '') {
this.setState({
counter: counter
});
}
}
}, {
key: "render",
value: function render() {
var _this$props3 = this.props,
id = _this$props3.id,
name = _this$props3.name,
className = _this$props3.className,
plusLabel = _this$props3.plusLabel,
minusLabel = _this$props3.minusLabel,
label = _this$props3.label,
labelId = _this$props3.labelId,
required = _this$props3.required,
disabled = _this$props3.disabled,
style = _this$props3.style;
var _this$state2 = this.state,
counter = _this$state2.counter,
state = _this$state2.state; // component class
var classes = ['rex-stepper', className].filter(function (singleClass) {
return singleClass && singleClass.length > 0;
}).join(' ').trim();
var hasLabel = !!(label && label.length > 0); // button class condition
var minusStateClass;
var plusStateClass;
switch (state) {
case 'hover':
minusStateClass = ['hover'];
plusStateClass = ['hover'];
break;
case 'active':
minusStateClass = ['active'];
plusStateClass = ['active'];
break;
case 'minusHover':
minusStateClass = ['hover'];
break;
case 'plusHover':
plusStateClass = ['hover'];
break;
case 'minusActive':
minusStateClass = ['active'];
break;
case 'plusActive':
plusStateClass = ['active'];
break;
default:
minusStateClass = [''];
plusStateClass = [''];
break;
}
var minusClasses = ['rex-icon-button minus', minusStateClass].filter(function (singleClass) {
return singleClass && singleClass.length > 0;
}).join(' ').trim();
var plusClasses = ['rex-icon-button plus', plusStateClass].filter(function (singleClass) {
return singleClass && singleClass.length > 0;
}).join(' ').trim();
return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement("div", {
className: classes,
style: style
}, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement("button", {
className: minusClasses,
type: "button",
"aria-label": minusLabel,
onClick: this.onDecrease,
disabled: disabled,
required: required
}, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement(rex_icon_minus, null)), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement("input", {
id: id,
type: "text",
className: "rex-stepper-counter",
name: name,
pattern: "[0-9]*",
value: counter,
ref: this.textInput,
"aria-label": !hasLabel ? name : null,
"aria-labelledby": hasLabel ? labelId : null,
onChange: this.handleChange,
onBlur: this.handleBlur,
onClick: this.handleClick,
disabled: disabled,
required: required
}), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement("button", {
className: plusClasses,
type: "button",
"aria-label": plusLabel,
onClick: this.onIncrease,
disabled: disabled,
required: required
}, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement(rex_icon_plus, null)));
}
}]);
return Stepper;
}(external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_["Component"]);
Stepper_Stepper_Stepper.displayName = "Stepper";
Stepper_Stepper_Stepper.defaultProps = {
name: '',
id: '',
className: '',
state: '',
label: '',
labelId: '',
style: {},
plusLabel: '',
minusLabel: '',
counter: 0,
maxValue: 99,
disabled: false,
required: false
};
/***/ }),
/* 11 */
/***/ (function(module, exports) {
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;
}
module.exports = _objectWithoutPropertiesLoose;
/***/ }),
/* 12 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/* 13 */
/***/ (function(module, exports) {
function _setPrototypeOf(o, p) {
module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
module.exports = _setPrototypeOf;
/***/ }),
/* 14 */
/***/ (function(module, exports) {
function _typeof(obj) {
"@babel/helpers - typeof";
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
module.exports = _typeof = function _typeof(obj) {
return typeof obj;
};
} else {
module.exports = _typeof = function _typeof(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};
}
return _typeof(obj);
}
module.exports = _typeof;
/***/ }),
/* 15 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/* 16 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/* 17 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
var helpers_extends = __webpack_require__(2);
var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(3);
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
// EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react","umd":"react"}
var external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_ = __webpack_require__(0);
var external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default = /*#__PURE__*/__webpack_require__.n(external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_);
// EXTERNAL MODULE: ./src/Stepper/Stepper.jsx + 2 modules
var Stepper = __webpack_require__(10);
// CONCATENATED MODULE: ./src/Stepper/index.jsx
// EXTERNAL MODULE: ./src/LabelUi/LabelUi.jsx
var LabelUi = __webpack_require__(9);
// CONCATENATED MODULE: ./src/LabelUi/index.jsx
// EXTERNAL MODULE: ./src/StepperLabel/StepperLabel.scss
var StepperLabel = __webpack_require__(16);
// CONCATENATED MODULE: ./src/StepperLabel/StepperLabel.jsx
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return StepperLabel_StepperLabel; });
/* eslint-disable react/jsx-props-no-spreading */
function StepperLabel_StepperLabel(_ref) {
var name = _ref.name,
id = _ref.id,
className = _ref.className,
label = _ref.label,
labelId = _ref.labelId,
state = _ref.state,
style = _ref.style,
counter = _ref.counter,
plusLabel = _ref.plusLabel,
minusLabel = _ref.minusLabel,
maxValue = _ref.maxValue,
disabled = _ref.disabled,
required = _ref.required,
props = objectWithoutProperties_default()(_ref, ["name", "id", "className", "label", "labelId", "state", "style", "counter", "plusLabel", "minusLabel", "maxValue", "disabled", "required"]);
var stateClass = function (stateClassName) {
switch (stateClassName) {
case 'active':
return 'active';
case 'focus':
return 'focus';
case 'hover':
return 'hover';
default:
return '';
}
}(state);
var classes = ['rex-stepper-label', className, stateClass].filter(function (singleClass) {
return singleClass && singleClass.length > 0;
}).join(' ').trim();
var labelEl = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_["useRef"])(null);
var onStepperFocus = function onStepperFocus() {
labelEl.current.focus();
};
var onStepperBlur = function onStepperBlur() {
labelEl.current.classList.remove('active');
labelEl.current.blur();
};
return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement("div", extends_default()({
className: classes,
style: style
}, props), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement(LabelUi["default"], {
id: labelId,
htmlFor: id,
label: label,
labelRef: labelEl,
disabled: disabled,
required: required
}), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_default.a.createElement(Stepper["default"], {
name: name,
id: id,
labelId: labelId,
counter: counter,
plusLabel: plusLabel,
minusLabel: minusLabel,
maxValue: maxValue,
disabled: disabled,
required: required,
state: state,
onFocus: onStepperFocus,
onBlur: onStepperBlur
}));
}
StepperLabel_StepperLabel.displayName = "StepperLabel";
StepperLabel_StepperLabel.defaultProps = {
name: '',
id: '',
className: '',
label: '',
labelId: '',
state: '',
style: null,
plusLabel: '',
minusLabel: '',
counter: 0,
maxValue: 99,
disabled: false,
required: false
};
/***/ })
/******/ ]);
});