@semcore/input-number 4.4.19 → 4.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [4.5.1] - 2023-05-22
6
+
7
+ ### Changed
8
+
9
+ - Version patch update due to children dependencies update (`@semcore/input` [3.5.25 ~> 3.6.25], `@semcore/utils` [3.50.7 ~> 3.51.0]).
10
+
11
+ ## [4.5.0] - 2023-05-22
12
+
13
+ ### Changed
14
+
15
+ - Prevent page scrolling while incrementing or decrementing input value with mouse wheel.
16
+
5
17
  ## [4.4.19] - 2023-05-11
6
18
 
7
19
  ### Changed
@@ -16,31 +16,25 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
16
16
  var _core = _interopRequireWildcard(require("@semcore/core"));
17
17
  var _react = _interopRequireDefault(require("react"));
18
18
  var _input = _interopRequireDefault(require("@semcore/input"));
19
- var _buttons = _interopRequireDefault(require("./buttons"));
19
+ var _buttons = require("./buttons");
20
20
  var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
21
21
  var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
22
22
  /*__reshadow-styles__:"./style/input-number.shadow.css"*/
23
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SValue_jsy5x_gg_:focus~.___SControls_jsy5x_gg_{display:flex}.___SControls_jsy5x_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_jsy5x_gg_.__showControls_jsy5x_gg_{display:flex}.___SDown_jsy5x_gg_,.___SUp_jsy5x_gg_{padding:0;width:16px;color:var(--intergalactic-icon-secondary-neutral, #a9abb6);box-sizing:border-box;display:inline-flex;justify-content:center;border:0;background:0 0;cursor:pointer}.___SDown_jsy5x_gg_:focus,.___SUp_jsy5x_gg_:focus{outline:0}@media (hover:hover){.___SDown_jsy5x_gg_:hover,.___SUp_jsy5x_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SUp_jsy5x_gg_{padding-bottom:1px}.___SDown_jsy5x_gg_{padding-top:1px}.___SValue_jsy5x_gg_::-webkit-inner-spin-button,.___SValue_jsy5x_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_jsy5x_gg_._type_number_jsy5x_gg_{-moz-appearance:textfield}.___SValue_jsy5x_gg_.__disabled_jsy5x_gg_~.___SControls_jsy5x_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SValueHidden_jsy5x_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}" /*__inner_css_end__*/, "jsy5x_gg_") /*__reshadow_css_end__*/, {
24
- "__SValue": "___SValue_jsy5x_gg_",
25
- "__SControls": "___SControls_jsy5x_gg_",
26
- "_showControls": "__showControls_jsy5x_gg_",
27
- "__SUp": "___SUp_jsy5x_gg_",
28
- "__SDown": "___SDown_jsy5x_gg_",
29
- "_type_number": "_type_number_jsy5x_gg_",
30
- "_disabled": "__disabled_jsy5x_gg_",
31
- "__SValueHidden": "___SValueHidden_jsy5x_gg_"
23
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SValue_118kf_gg_:focus~.___SControls_118kf_gg_{display:flex}.___SControls_118kf_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_118kf_gg_.__showControls_118kf_gg_{display:flex}.___SDown_118kf_gg_,.___SUp_118kf_gg_{padding:0;width:16px;color:var(--intergalactic-icon-secondary-neutral, #a9abb6);box-sizing:border-box;display:inline-flex;justify-content:center;border:0;background:0 0;cursor:pointer}.___SDown_118kf_gg_:focus,.___SUp_118kf_gg_:focus{outline:0}@media (hover:hover){.___SDown_118kf_gg_:hover,.___SUp_118kf_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SUp_118kf_gg_{padding-bottom:1px}.___SDown_118kf_gg_{padding-top:1px}.___SValue_118kf_gg_::-webkit-inner-spin-button,.___SValue_118kf_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_118kf_gg_._type_number_118kf_gg_{-moz-appearance:textfield}.___SValue_118kf_gg_.__disabled_118kf_gg_~.___SControls_118kf_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SValueHidden_118kf_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}" /*__inner_css_end__*/, "118kf_gg_") /*__reshadow_css_end__*/, {
24
+ "__SValue": "___SValue_118kf_gg_",
25
+ "__SControls": "___SControls_118kf_gg_",
26
+ "_showControls": "__showControls_118kf_gg_",
27
+ "__SUp": "___SUp_118kf_gg_",
28
+ "__SDown": "___SDown_118kf_gg_",
29
+ "_type_number": "_type_number_118kf_gg_",
30
+ "_disabled": "__disabled_118kf_gg_",
31
+ "__SValueHidden": "___SValueHidden_118kf_gg_"
32
32
  });
33
33
  function parseValueWithMinMax(value) {
34
34
  var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MIN_SAFE_INTEGER;
35
35
  var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Number.MAX_SAFE_INTEGER;
36
36
  return Math.max(min, Math.min(max, value));
37
37
  }
38
- var IconUp = function IconUp() {
39
- return _buttons["default"].up;
40
- };
41
- var IconDown = function IconDown() {
42
- return _buttons["default"].down;
43
- };
44
38
  var InputNumber = /*#__PURE__*/function (_Component) {
45
39
  (0, _inherits2["default"])(InputNumber, _Component);
46
40
  var _super = (0, _createSuper2["default"])(InputNumber);
@@ -53,17 +47,18 @@ var InputNumber = /*#__PURE__*/function (_Component) {
53
47
  _this = _super.call.apply(_super, [this].concat(args));
54
48
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "inputRef", /*#__PURE__*/_react["default"].createRef());
55
49
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "inputHandlersRef", /*#__PURE__*/_react["default"].createRef());
56
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlerInc", function (e) {
57
- var _this$inputRef$curren, _this$inputRef$curren2, _this$inputHandlersRe;
58
- // TODO: IE11 dont work
59
- ((_this$inputRef$curren = _this.inputRef.current) === null || _this$inputRef$curren === void 0 ? void 0 : _this$inputRef$curren.stepUp) && ((_this$inputRef$curren2 = _this.inputRef.current) === null || _this$inputRef$curren2 === void 0 ? void 0 : _this$inputRef$curren2.stepUp());
60
- (_this$inputHandlersRe = _this.inputHandlersRef.current) === null || _this$inputHandlersRe === void 0 ? void 0 : _this$inputHandlersRe.value(_this.inputRef.current.value, e);
50
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "increment", function (event) {
51
+ var _this$inputRef$curren, _this$inputRef$curren2, _this$inputRef$curren3, _this$inputHandlersRe;
52
+ // https://stackoverflow.com/questions/68010124/safari-number-input-stepup-stepdown-not-functioning-with-empty-value
53
+ if (((_this$inputRef$curren = _this.inputRef.current) === null || _this$inputRef$curren === void 0 ? void 0 : _this$inputRef$curren.value) === '') _this.inputRef.current.value = _this.inputRef.current.min || '0';
54
+ ((_this$inputRef$curren2 = _this.inputRef.current) === null || _this$inputRef$curren2 === void 0 ? void 0 : _this$inputRef$curren2.stepUp) && ((_this$inputRef$curren3 = _this.inputRef.current) === null || _this$inputRef$curren3 === void 0 ? void 0 : _this$inputRef$curren3.stepUp());
55
+ (_this$inputHandlersRe = _this.inputHandlersRef.current) === null || _this$inputHandlersRe === void 0 ? void 0 : _this$inputHandlersRe.value(_this.inputRef.current.value, event);
61
56
  });
62
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlerDec", function (e) {
63
- var _this$inputRef$curren3, _this$inputRef$curren4, _this$inputHandlersRe2;
64
- // TODO: IE11 dont work
65
- ((_this$inputRef$curren3 = _this.inputRef.current) === null || _this$inputRef$curren3 === void 0 ? void 0 : _this$inputRef$curren3.stepDown) && ((_this$inputRef$curren4 = _this.inputRef.current) === null || _this$inputRef$curren4 === void 0 ? void 0 : _this$inputRef$curren4.stepDown());
66
- (_this$inputHandlersRe2 = _this.inputHandlersRef.current) === null || _this$inputHandlersRe2 === void 0 ? void 0 : _this$inputHandlersRe2.value(_this.inputRef.current.value, e);
57
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "decrement", function (event) {
58
+ var _this$inputRef$curren4, _this$inputRef$curren5, _this$inputRef$curren6, _this$inputHandlersRe2;
59
+ if (((_this$inputRef$curren4 = _this.inputRef.current) === null || _this$inputRef$curren4 === void 0 ? void 0 : _this$inputRef$curren4.value) === '') _this.inputRef.current.value = _this.inputRef.current.max || '0';
60
+ ((_this$inputRef$curren5 = _this.inputRef.current) === null || _this$inputRef$curren5 === void 0 ? void 0 : _this$inputRef$curren5.stepDown) && ((_this$inputRef$curren6 = _this.inputRef.current) === null || _this$inputRef$curren6 === void 0 ? void 0 : _this$inputRef$curren6.stepDown());
61
+ (_this$inputHandlersRe2 = _this.inputHandlersRef.current) === null || _this$inputHandlersRe2 === void 0 ? void 0 : _this$inputHandlersRe2.value(_this.inputRef.current.value, event);
67
62
  });
68
63
  return _this;
69
64
  }
@@ -72,7 +67,9 @@ var InputNumber = /*#__PURE__*/function (_Component) {
72
67
  value: function getValueProps() {
73
68
  return {
74
69
  ref: this.inputRef,
75
- $inputHandlers: this.inputHandlersRef
70
+ inputHandlerRefs: this.inputHandlersRef,
71
+ increment: this.increment,
72
+ decrement: this.decrement
76
73
  };
77
74
  }
78
75
  }, {
@@ -83,8 +80,8 @@ var InputNumber = /*#__PURE__*/function (_Component) {
83
80
  getI18nText = _this$asProps.getI18nText;
84
81
  return {
85
82
  size: size,
86
- inc: this.handlerInc,
87
- dec: this.handlerDec,
83
+ increment: this.increment,
84
+ decrement: this.decrement,
88
85
  getI18nText: getI18nText
89
86
  };
90
87
  }
@@ -117,28 +114,39 @@ var Value = /*#__PURE__*/function (_Component2) {
117
114
  args[_key2] = arguments[_key2];
118
115
  }
119
116
  _this2 = _super2.call.apply(_super2, [this].concat(args));
120
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleValidation", function (e) {
117
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "inputRef", /*#__PURE__*/_react["default"].createRef());
118
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleValidation", function (event) {
121
119
  var _this2$asProps = _this2.asProps,
122
120
  value = _this2$asProps.value,
123
121
  min = _this2$asProps.min,
124
122
  max = _this2$asProps.max,
125
123
  step = _this2$asProps.step;
126
124
  var roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;
127
- if (Number.isNaN(e.currentTarget.valueAsNumber)) {
128
- e.currentTarget.value = '';
129
- _this2.handlers.value('', e);
125
+ if (Number.isNaN(event.currentTarget.valueAsNumber)) {
126
+ event.currentTarget.value = '';
127
+ _this2.handlers.value('', event);
130
128
  } else {
131
129
  var numberValue = parseValueWithMinMax(Number.parseFloat(value), min, max);
132
- var r = _this2.roundRemainder(numberValue % step, step);
133
- if (r !== 0) {
134
- if (r >= step / 2) {
135
- numberValue += step - r;
136
- } else if (Math.abs(r) < step) {
137
- numberValue -= r;
130
+ var rounded = _this2.round(numberValue % step, step);
131
+ if (rounded !== 0) {
132
+ if (rounded >= step / 2) {
133
+ numberValue += step - rounded;
134
+ } else if (Math.abs(rounded) < step) {
135
+ numberValue -= rounded;
138
136
  }
139
137
  }
140
138
  var numberValueRounded = Number(numberValue.toFixed(roundCoefficient));
141
- _this2.handlers.value(String(numberValueRounded), e);
139
+ _this2.handlers.value(String(numberValueRounded), event);
140
+ }
141
+ });
142
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleWheel", function (event) {
143
+ if (event.target !== _this2.inputRef.current) return;
144
+ if (document.activeElement !== _this2.inputRef.current) return;
145
+ event.preventDefault();
146
+ if (event.wheelDelta > 0) {
147
+ _this2.asProps.increment(event);
148
+ } else if (event.wheelDelta < 0) {
149
+ _this2.asProps.decrement(event);
142
150
  }
143
151
  });
144
152
  return _this2;
@@ -151,11 +159,25 @@ var Value = /*#__PURE__*/function (_Component2) {
151
159
  };
152
160
  }
153
161
  }, {
154
- key: "roundRemainder",
155
- value: function roundRemainder(value, step) {
162
+ key: "round",
163
+ value: function round(value, step) {
156
164
  var countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;
157
165
  return countDecimals === 0 ? Number.parseFloat(value) : Number.parseFloat(value).toPrecision(countDecimals);
158
166
  }
167
+ }, {
168
+ key: "componentDidMount",
169
+ value:
170
+ // https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling
171
+ function componentDidMount() {
172
+ var _this$inputRef$curren7;
173
+ (_this$inputRef$curren7 = this.inputRef.current) === null || _this$inputRef$curren7 === void 0 ? void 0 : _this$inputRef$curren7.addEventListener('wheel', this.handleWheel);
174
+ }
175
+ }, {
176
+ key: "componentWillUnmount",
177
+ value: function componentWillUnmount() {
178
+ var _this$inputRef$curren8;
179
+ (_this$inputRef$curren8 = this.inputRef.current) === null || _this$inputRef$curren8 === void 0 ? void 0 : _this$inputRef$curren8.removeEventListener('wheel', this.handleWheel);
180
+ }
159
181
  }, {
160
182
  key: "render",
161
183
  value: function render() {
@@ -165,18 +187,17 @@ var Value = /*#__PURE__*/function (_Component2) {
165
187
  var SValueHidden = 'div';
166
188
  var _this$asProps2 = this.asProps,
167
189
  styles = _this$asProps2.styles,
168
- $inputHandlers = _this$asProps2.$inputHandlers,
190
+ inputHandlerRefs = _this$asProps2.inputHandlerRefs,
169
191
  value = _this$asProps2.value,
170
192
  min = _this$asProps2.min,
171
193
  max = _this$asProps2.max;
172
-
173
- // 🐒 не делайте так
174
- $inputHandlers.current = this.handlers;
194
+ inputHandlerRefs.current = this.handlers;
175
195
  return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SValue, _ref5.cn("SValue", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
176
196
  "type": "number",
177
197
  "autoComplete": "off",
178
198
  "onBlur": this.handleValidation,
179
199
  "onInvalid": this.handleValidation,
200
+ "ref": this.inputRef,
180
201
  "aria-valuenow": value,
181
202
  "aria-valuemin": min,
182
203
  "aria-valuemax": max
@@ -196,8 +217,8 @@ function Controls(props) {
196
217
  var _ref3 = arguments[0],
197
218
  _ref6;
198
219
  var Children = props.Children,
199
- inc = props.inc,
200
- dec = props.dec,
220
+ increment = props.increment,
221
+ decrement = props.decrement,
201
222
  size = props.size,
202
223
  styles = props.styles,
203
224
  getI18nText = props.getI18nText;
@@ -207,18 +228,18 @@ function Controls(props) {
207
228
  return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SControls, _ref6.cn("SControls", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
208
229
  "aria-hidden": "true"
209
230
  }, _ref3))), /*#__PURE__*/_react["default"].createElement(SUp, _ref6.cn("SUp", {
210
- "onClick": inc,
231
+ "onClick": increment,
211
232
  "tabIndex": -1,
212
233
  "type": "button",
213
234
  "size": size,
214
235
  "aria-label": getI18nText('increment')
215
- }), /*#__PURE__*/_react["default"].createElement(IconUp, _ref6.cn("IconUp", {}))), /*#__PURE__*/_react["default"].createElement(SDown, _ref6.cn("SDown", {
216
- "onClick": dec,
236
+ }), /*#__PURE__*/_react["default"].createElement(_buttons.IncrementIcon, _ref6.cn("IncrementIcon", {}))), /*#__PURE__*/_react["default"].createElement(SDown, _ref6.cn("SDown", {
237
+ "onClick": decrement,
217
238
  "tabIndex": -1,
218
239
  "type": "button",
219
240
  "size": size,
220
241
  "aria-label": getI18nText('decrement')
221
- }), /*#__PURE__*/_react["default"].createElement(IconDown, _ref6.cn("IconDown", {}))), /*#__PURE__*/_react["default"].createElement(Children, _ref6.cn("Children", {})));
242
+ }), /*#__PURE__*/_react["default"].createElement(_buttons.DecrementIcon, _ref6.cn("DecrementIcon", {}))), /*#__PURE__*/_react["default"].createElement(Children, _ref6.cn("Children", {})));
222
243
  }
223
244
  var _default = (0, _core["default"])(InputNumber, {
224
245
  Value: Value,
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_input","_buttons","_intergalacticDynamicLocales","_i18nEnhance","style","sstyled","insert","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","IconUp","BUTTONS","up","IconDown","down","InputNumber","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","e","_this$inputRef$curren","_this$inputRef$curren2","_this$inputHandlersRe","inputRef","current","stepUp","inputHandlersRef","_this$inputRef$curren3","_this$inputRef$curren4","_this$inputHandlersRe2","stepDown","_createClass2","key","getValueProps","ref","$inputHandlers","getControlsProps","_this$asProps","asProps","size","getI18nText","inc","handlerInc","dec","handlerDec","render","_ref","_ref4","SInputNumber","Input","createElement","cn","_objectSpread2","assignProps","Component","i18nEnhance","localizedMessages","i18n","locale","Value","_Component2","_super2","_this2","_len2","_key2","_this2$asProps","step","roundCoefficient","toString","split","isNaN","currentTarget","valueAsNumber","handlers","numberValue","parseFloat","r","roundRemainder","abs","numberValueRounded","toFixed","String","uncontrolledProps","countDecimals","floor","toPrecision","_ref2","_ref5","SValue","SValueHidden","_this$asProps2","styles","Fragment","handleValidation","defaultValue","Controls","props","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","_default","createComponent","exports"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport BUTTONS from './buttons';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\n\nfunction parseValueWithMinMax(value, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(max, value));\n}\n\nconst IconUp = () => BUTTONS.up;\nconst IconDown = () => BUTTONS.down;\n\nclass InputNumber extends Component {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n inputRef = React.createRef();\n inputHandlersRef = React.createRef();\n\n handlerInc = (e) => {\n // TODO: IE11 dont work\n this.inputRef.current?.stepUp && this.inputRef.current?.stepUp();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, e);\n };\n\n handlerDec = (e) => {\n // TODO: IE11 dont work\n this.inputRef.current?.stepDown && this.inputRef.current?.stepDown();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, e);\n };\n\n getValueProps() {\n return {\n ref: this.inputRef,\n $inputHandlers: this.inputHandlersRef,\n };\n }\n\n getControlsProps() {\n const { size, getI18nText } = this.asProps;\n return {\n size,\n inc: this.handlerInc,\n dec: this.handlerDec,\n getI18nText,\n };\n }\n\n render() {\n const SInputNumber = Root;\n return sstyled(this.asProps.style)(<SInputNumber render={Input} />);\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n step: 1,\n };\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n roundRemainder(value, step) {\n const countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;\n return countDecimals === 0\n ? Number.parseFloat(value)\n : Number.parseFloat(value).toPrecision(countDecimals);\n }\n\n handleValidation = (e) => {\n const { value, min, max, step } = this.asProps;\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n if (Number.isNaN(e.currentTarget.valueAsNumber)) {\n e.currentTarget.value = '';\n this.handlers.value('', e);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(value), min, max);\n const r = this.roundRemainder(numberValue % step, step);\n if (r !== 0) {\n if (r >= step / 2) {\n numberValue += step - r;\n } else if (Math.abs(r) < step) {\n numberValue -= r;\n }\n }\n const numberValueRounded = Number(numberValue.toFixed(roundCoefficient));\n this.handlers.value(String(numberValueRounded), e);\n }\n };\n\n render() {\n const SValue = Root;\n const SValueHidden = 'div';\n const { styles, $inputHandlers, value, min, max } = this.asProps;\n\n // 🐒 не делайте так\n $inputHandlers.current = this.handlers;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n type=\"number\"\n autoComplete=\"off\"\n onBlur={this.handleValidation}\n onInvalid={this.handleValidation}\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n />\n {/* the next hidden div is necessary for the screen reader to report the value\n in the input, because after validation the value can change to the `min` or `max` \n if entered less than `min` or more than `max` */}\n <SValueHidden aria-live=\"polite\" aria-atomic={true}>\n {value}\n </SValueHidden>\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, inc, dec, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden=\"true\">\n <SUp\n onClick={inc}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IconUp />\n </SUp>\n <SDown\n onClick={dec}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <IconDown />\n </SDown>\n <Children />\n </SControls>,\n );\n}\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputNumber.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_input","_buttons","_intergalacticDynamicLocales","_i18nEnhance","style","sstyled","insert","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","InputNumber","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","event","_this$inputRef$curren","_this$inputRef$curren2","_this$inputRef$curren3","_this$inputHandlersRe","inputRef","current","stepUp","inputHandlersRef","_this$inputRef$curren4","_this$inputRef$curren5","_this$inputRef$curren6","_this$inputHandlersRe2","stepDown","_createClass2","key","getValueProps","ref","inputHandlerRefs","increment","decrement","getControlsProps","_this$asProps","asProps","size","getI18nText","render","_ref","_ref4","SInputNumber","Input","createElement","cn","_objectSpread2","assignProps","Component","i18nEnhance","localizedMessages","i18n","locale","Value","_Component2","_super2","_this2","_len2","_key2","_this2$asProps","step","roundCoefficient","toString","split","isNaN","currentTarget","valueAsNumber","handlers","numberValue","parseFloat","rounded","round","abs","numberValueRounded","toFixed","String","target","document","activeElement","preventDefault","wheelDelta","uncontrolledProps","countDecimals","floor","toPrecision","componentDidMount","_this$inputRef$curren7","addEventListener","handleWheel","componentWillUnmount","_this$inputRef$curren8","removeEventListener","_ref2","_ref5","SValue","SValueHidden","_this$asProps2","styles","Fragment","handleValidation","defaultValue","Controls","props","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","IncrementIcon","DecrementIcon","_default","createComponent","exports"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport { IncrementIcon, DecrementIcon } from './buttons';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\n\nfunction parseValueWithMinMax(value, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(max, value));\n}\n\nclass InputNumber extends Component {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n inputRef = React.createRef();\n inputHandlersRef = React.createRef();\n\n increment = (event) => {\n // https://stackoverflow.com/questions/68010124/safari-number-input-stepup-stepdown-not-functioning-with-empty-value\n if (this.inputRef.current?.value === '')\n this.inputRef.current.value = this.inputRef.current.min || '0';\n this.inputRef.current?.stepUp && this.inputRef.current?.stepUp();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, event);\n };\n\n decrement = (event) => {\n if (this.inputRef.current?.value === '')\n this.inputRef.current.value = this.inputRef.current.max || '0';\n this.inputRef.current?.stepDown && this.inputRef.current?.stepDown();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, event);\n };\n\n getValueProps() {\n return {\n ref: this.inputRef,\n inputHandlerRefs: this.inputHandlersRef,\n increment: this.increment,\n decrement: this.decrement,\n };\n }\n\n getControlsProps() {\n const { size, getI18nText } = this.asProps;\n return {\n size,\n increment: this.increment,\n decrement: this.decrement,\n getI18nText,\n };\n }\n\n render() {\n const SInputNumber = Root;\n return sstyled(this.asProps.style)(<SInputNumber render={Input} />);\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n step: 1,\n };\n\n inputRef = React.createRef();\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n round(value, step) {\n const countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;\n return countDecimals === 0\n ? Number.parseFloat(value)\n : Number.parseFloat(value).toPrecision(countDecimals);\n }\n\n handleValidation = (event) => {\n const { value, min, max, step } = this.asProps;\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n if (Number.isNaN(event.currentTarget.valueAsNumber)) {\n event.currentTarget.value = '';\n this.handlers.value('', event);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(value), min, max);\n const rounded = this.round(numberValue % step, step);\n if (rounded !== 0) {\n if (rounded >= step / 2) {\n numberValue += step - rounded;\n } else if (Math.abs(rounded) < step) {\n numberValue -= rounded;\n }\n }\n const numberValueRounded = Number(numberValue.toFixed(roundCoefficient));\n this.handlers.value(String(numberValueRounded), event);\n }\n };\n\n // https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling\n componentDidMount() {\n this.inputRef.current?.addEventListener('wheel', this.handleWheel);\n }\n componentWillUnmount() {\n this.inputRef.current?.removeEventListener('wheel', this.handleWheel);\n }\n\n handleWheel = (event) => {\n if (event.target !== this.inputRef.current) return;\n if (document.activeElement !== this.inputRef.current) return;\n event.preventDefault();\n if (event.wheelDelta > 0) {\n this.asProps.increment(event);\n } else if (event.wheelDelta < 0) {\n this.asProps.decrement(event);\n }\n };\n\n render() {\n const SValue = Root;\n const SValueHidden = 'div';\n const { styles, inputHandlerRefs, value, min, max } = this.asProps;\n\n inputHandlerRefs.current = this.handlers;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n type=\"number\"\n autoComplete=\"off\"\n onBlur={this.handleValidation}\n onInvalid={this.handleValidation}\n ref={this.inputRef}\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n />\n {/* the next hidden div is necessary for the screen reader to report the value\n in the input, because after validation the value can change to the `min` or `max` \n if entered less than `min` or more than `max` */}\n <SValueHidden aria-live=\"polite\" aria-atomic={true}>\n {value}\n </SValueHidden>\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, increment, decrement, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden=\"true\">\n <SUp\n onClick={increment}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IncrementIcon />\n </SUp>\n <SDown\n onClick={decrement}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <DecrementIcon />\n </SDown>\n <Children />\n </SControls>,\n );\n}\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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"}
@@ -4,24 +4,28 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports["default"] = void 0;
7
+ exports.IncrementIcon = exports.DecrementIcon = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- var svg = function svg(orientation, width, height) {
9
+ var IncrementIcon = function IncrementIcon() {
10
10
  return /*#__PURE__*/_react["default"].createElement("svg", {
11
- xmlns: "http://www.w3.org/2000/svg",
12
11
  fill: "currentColor",
13
- width: width,
14
- height: height,
15
- viewBox: "0 0 ".concat(width, " ").concat(height)
16
- }, orientation === 'up' ? /*#__PURE__*/_react["default"].createElement("path", {
17
- d: "M0,".concat(height, "l").concat(height, ",-").concat(height, "l").concat(height, ",").concat(height, "Z")
18
- }) : /*#__PURE__*/_react["default"].createElement("path", {
19
- d: "M0,0l".concat(width, ",0l-").concat(height, ",").concat(height, "Z")
12
+ width: "10",
13
+ height: "5",
14
+ viewBox: "0 0 10 5"
15
+ }, /*#__PURE__*/_react["default"].createElement("path", {
16
+ d: "M0,5l5,-5l5,5Z"
20
17
  }));
21
18
  };
22
- var _default = {
23
- up: svg('up', 10, 5),
24
- down: svg('down', 10, 5)
19
+ exports.IncrementIcon = IncrementIcon;
20
+ var DecrementIcon = function DecrementIcon() {
21
+ return /*#__PURE__*/_react["default"].createElement("svg", {
22
+ fill: "currentColor",
23
+ width: "10",
24
+ height: "5",
25
+ viewBox: "0 0 10 5"
26
+ }, /*#__PURE__*/_react["default"].createElement("path", {
27
+ d: "M0,0l10,0l-5,5Z"
28
+ }));
25
29
  };
26
- exports["default"] = _default;
30
+ exports.DecrementIcon = DecrementIcon;
27
31
  //# sourceMappingURL=buttons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buttons.js","names":["_react","_interopRequireDefault","require","svg","orientation","width","height","createElement","xmlns","fill","viewBox","concat","d","_default","up","down","exports"],"sources":["../../src/buttons.jsx"],"sourcesContent":["import React from 'react';\n\nconst svg = (orientation, width, height) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n width={width}\n height={height}\n viewBox={`0 0 ${width} ${height}`}\n >\n {orientation === 'up' ? (\n <path d={`M0,${height}l${height},-${height}l${height},${height}Z`} />\n ) : (\n <path d={`M0,0l${width},0l-${height},${height}Z`} />\n )}\n </svg>\n);\n\nexport default {\n up: svg('up', 10, 5),\n down: svg('down', 10, 5),\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,GAAG,GAAG,SAANA,GAAGA,CAAIC,WAAW,EAAEC,KAAK,EAAEC,MAAM;EAAA,oBACrCN,MAAA,YAAAO,aAAA;IACEC,KAAK,EAAC,4BAA4B;IAClCC,IAAI,EAAC,cAAc;IACnBJ,KAAK,EAAEA,KAAM;IACbC,MAAM,EAAEA,MAAO;IACfI,OAAO,SAAAC,MAAA,CAASN,KAAK,OAAAM,MAAA,CAAIL,MAAM;EAAG,GAEjCF,WAAW,KAAK,IAAI,gBACnBJ,MAAA,YAAAO,aAAA;IAAMK,CAAC,QAAAD,MAAA,CAAQL,MAAM,OAAAK,MAAA,CAAIL,MAAM,QAAAK,MAAA,CAAKL,MAAM,OAAAK,MAAA,CAAIL,MAAM,OAAAK,MAAA,CAAIL,MAAM;EAAI,EAAG,gBAErEN,MAAA,YAAAO,aAAA;IAAMK,CAAC,UAAAD,MAAA,CAAUN,KAAK,UAAAM,MAAA,CAAOL,MAAM,OAAAK,MAAA,CAAIL,MAAM;EAAI,EAClD,CACG;AAAA,CACP;AAAC,IAAAO,QAAA,GAEa;EACbC,EAAE,EAAEX,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;EACpBY,IAAI,EAAEZ,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;AACzB,CAAC;AAAAa,OAAA,cAAAH,QAAA"}
1
+ {"version":3,"file":"buttons.js","names":["_react","_interopRequireDefault","require","IncrementIcon","createElement","fill","width","height","viewBox","d","exports","DecrementIcon"],"sources":["../../src/buttons.jsx"],"sourcesContent":["import React from 'react';\n\nexport const IncrementIcon = () => (\n <svg fill=\"currentColor\" width=\"10\" height=\"5\" viewBox=\"0 0 10 5\">\n <path d={`M0,5l5,-5l5,5Z`} />\n </svg>\n);\nexport const DecrementIcon = () => (\n <svg fill=\"currentColor\" width=\"10\" height=\"5\" viewBox=\"0 0 10 5\">\n <path d={`M0,0l10,0l-5,5Z`} />\n </svg>\n);\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAA;EAAA,oBACxBH,MAAA,YAAAI,aAAA;IAAKC,IAAI,EAAC,cAAc;IAACC,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,GAAG;IAACC,OAAO,EAAC;EAAU,gBAC/DR,MAAA,YAAAI,aAAA;IAAMK,CAAC;EAAmB,EAAG,CACzB;AAAA,CACP;AAACC,OAAA,CAAAP,aAAA,GAAAA,aAAA;AACK,IAAMQ,aAAa,GAAG,SAAhBA,aAAaA,CAAA;EAAA,oBACxBX,MAAA,YAAAI,aAAA;IAAKC,IAAI,EAAC,cAAc;IAACC,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,GAAG;IAACC,OAAO,EAAC;EAAU,gBAC/DR,MAAA,YAAAI,aAAA;IAAMK,CAAC;EAAoB,EAAG,CAC1B;AAAA,CACP;AAACC,OAAA,CAAAC,aAAA,GAAAA,aAAA"}
@@ -12,31 +12,25 @@ import { assignProps as _assignProps } from "@semcore/core";
12
12
  import React from 'react';
13
13
  import createComponent, { Component, sstyled, Root } from '@semcore/core';
14
14
  import Input from '@semcore/input';
15
- import BUTTONS from './buttons';
15
+ import { IncrementIcon, DecrementIcon } from './buttons';
16
16
  import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
17
17
  import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
18
18
  /*__reshadow-styles__:"./style/input-number.shadow.css"*/
19
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SValue_jsy5x_gg_:focus~.___SControls_jsy5x_gg_{display:flex}.___SControls_jsy5x_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_jsy5x_gg_.__showControls_jsy5x_gg_{display:flex}.___SDown_jsy5x_gg_,.___SUp_jsy5x_gg_{padding:0;width:16px;color:var(--intergalactic-icon-secondary-neutral, #a9abb6);box-sizing:border-box;display:inline-flex;justify-content:center;border:0;background:0 0;cursor:pointer}.___SDown_jsy5x_gg_:focus,.___SUp_jsy5x_gg_:focus{outline:0}@media (hover:hover){.___SDown_jsy5x_gg_:hover,.___SUp_jsy5x_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SUp_jsy5x_gg_{padding-bottom:1px}.___SDown_jsy5x_gg_{padding-top:1px}.___SValue_jsy5x_gg_::-webkit-inner-spin-button,.___SValue_jsy5x_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_jsy5x_gg_._type_number_jsy5x_gg_{-moz-appearance:textfield}.___SValue_jsy5x_gg_.__disabled_jsy5x_gg_~.___SControls_jsy5x_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SValueHidden_jsy5x_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}" /*__inner_css_end__*/, "jsy5x_gg_") /*__reshadow_css_end__*/, {
20
- "__SValue": "___SValue_jsy5x_gg_",
21
- "__SControls": "___SControls_jsy5x_gg_",
22
- "_showControls": "__showControls_jsy5x_gg_",
23
- "__SUp": "___SUp_jsy5x_gg_",
24
- "__SDown": "___SDown_jsy5x_gg_",
25
- "_type_number": "_type_number_jsy5x_gg_",
26
- "_disabled": "__disabled_jsy5x_gg_",
27
- "__SValueHidden": "___SValueHidden_jsy5x_gg_"
19
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SValue_118kf_gg_:focus~.___SControls_118kf_gg_{display:flex}.___SControls_118kf_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_118kf_gg_.__showControls_118kf_gg_{display:flex}.___SDown_118kf_gg_,.___SUp_118kf_gg_{padding:0;width:16px;color:var(--intergalactic-icon-secondary-neutral, #a9abb6);box-sizing:border-box;display:inline-flex;justify-content:center;border:0;background:0 0;cursor:pointer}.___SDown_118kf_gg_:focus,.___SUp_118kf_gg_:focus{outline:0}@media (hover:hover){.___SDown_118kf_gg_:hover,.___SUp_118kf_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SUp_118kf_gg_{padding-bottom:1px}.___SDown_118kf_gg_{padding-top:1px}.___SValue_118kf_gg_::-webkit-inner-spin-button,.___SValue_118kf_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_118kf_gg_._type_number_118kf_gg_{-moz-appearance:textfield}.___SValue_118kf_gg_.__disabled_118kf_gg_~.___SControls_118kf_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SValueHidden_118kf_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}" /*__inner_css_end__*/, "118kf_gg_") /*__reshadow_css_end__*/, {
20
+ "__SValue": "___SValue_118kf_gg_",
21
+ "__SControls": "___SControls_118kf_gg_",
22
+ "_showControls": "__showControls_118kf_gg_",
23
+ "__SUp": "___SUp_118kf_gg_",
24
+ "__SDown": "___SDown_118kf_gg_",
25
+ "_type_number": "_type_number_118kf_gg_",
26
+ "_disabled": "__disabled_118kf_gg_",
27
+ "__SValueHidden": "___SValueHidden_118kf_gg_"
28
28
  });
29
29
  function parseValueWithMinMax(value) {
30
30
  var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MIN_SAFE_INTEGER;
31
31
  var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Number.MAX_SAFE_INTEGER;
32
32
  return Math.max(min, Math.min(max, value));
33
33
  }
34
- var IconUp = function IconUp() {
35
- return BUTTONS.up;
36
- };
37
- var IconDown = function IconDown() {
38
- return BUTTONS.down;
39
- };
40
34
  var InputNumber = /*#__PURE__*/function (_Component) {
41
35
  _inherits(InputNumber, _Component);
42
36
  var _super = _createSuper(InputNumber);
@@ -49,17 +43,18 @@ var InputNumber = /*#__PURE__*/function (_Component) {
49
43
  _this = _super.call.apply(_super, [this].concat(args));
50
44
  _defineProperty(_assertThisInitialized(_this), "inputRef", /*#__PURE__*/React.createRef());
51
45
  _defineProperty(_assertThisInitialized(_this), "inputHandlersRef", /*#__PURE__*/React.createRef());
52
- _defineProperty(_assertThisInitialized(_this), "handlerInc", function (e) {
53
- var _this$inputRef$curren, _this$inputRef$curren2, _this$inputHandlersRe;
54
- // TODO: IE11 dont work
55
- ((_this$inputRef$curren = _this.inputRef.current) === null || _this$inputRef$curren === void 0 ? void 0 : _this$inputRef$curren.stepUp) && ((_this$inputRef$curren2 = _this.inputRef.current) === null || _this$inputRef$curren2 === void 0 ? void 0 : _this$inputRef$curren2.stepUp());
56
- (_this$inputHandlersRe = _this.inputHandlersRef.current) === null || _this$inputHandlersRe === void 0 ? void 0 : _this$inputHandlersRe.value(_this.inputRef.current.value, e);
46
+ _defineProperty(_assertThisInitialized(_this), "increment", function (event) {
47
+ var _this$inputRef$curren, _this$inputRef$curren2, _this$inputRef$curren3, _this$inputHandlersRe;
48
+ // https://stackoverflow.com/questions/68010124/safari-number-input-stepup-stepdown-not-functioning-with-empty-value
49
+ if (((_this$inputRef$curren = _this.inputRef.current) === null || _this$inputRef$curren === void 0 ? void 0 : _this$inputRef$curren.value) === '') _this.inputRef.current.value = _this.inputRef.current.min || '0';
50
+ ((_this$inputRef$curren2 = _this.inputRef.current) === null || _this$inputRef$curren2 === void 0 ? void 0 : _this$inputRef$curren2.stepUp) && ((_this$inputRef$curren3 = _this.inputRef.current) === null || _this$inputRef$curren3 === void 0 ? void 0 : _this$inputRef$curren3.stepUp());
51
+ (_this$inputHandlersRe = _this.inputHandlersRef.current) === null || _this$inputHandlersRe === void 0 ? void 0 : _this$inputHandlersRe.value(_this.inputRef.current.value, event);
57
52
  });
58
- _defineProperty(_assertThisInitialized(_this), "handlerDec", function (e) {
59
- var _this$inputRef$curren3, _this$inputRef$curren4, _this$inputHandlersRe2;
60
- // TODO: IE11 dont work
61
- ((_this$inputRef$curren3 = _this.inputRef.current) === null || _this$inputRef$curren3 === void 0 ? void 0 : _this$inputRef$curren3.stepDown) && ((_this$inputRef$curren4 = _this.inputRef.current) === null || _this$inputRef$curren4 === void 0 ? void 0 : _this$inputRef$curren4.stepDown());
62
- (_this$inputHandlersRe2 = _this.inputHandlersRef.current) === null || _this$inputHandlersRe2 === void 0 ? void 0 : _this$inputHandlersRe2.value(_this.inputRef.current.value, e);
53
+ _defineProperty(_assertThisInitialized(_this), "decrement", function (event) {
54
+ var _this$inputRef$curren4, _this$inputRef$curren5, _this$inputRef$curren6, _this$inputHandlersRe2;
55
+ if (((_this$inputRef$curren4 = _this.inputRef.current) === null || _this$inputRef$curren4 === void 0 ? void 0 : _this$inputRef$curren4.value) === '') _this.inputRef.current.value = _this.inputRef.current.max || '0';
56
+ ((_this$inputRef$curren5 = _this.inputRef.current) === null || _this$inputRef$curren5 === void 0 ? void 0 : _this$inputRef$curren5.stepDown) && ((_this$inputRef$curren6 = _this.inputRef.current) === null || _this$inputRef$curren6 === void 0 ? void 0 : _this$inputRef$curren6.stepDown());
57
+ (_this$inputHandlersRe2 = _this.inputHandlersRef.current) === null || _this$inputHandlersRe2 === void 0 ? void 0 : _this$inputHandlersRe2.value(_this.inputRef.current.value, event);
63
58
  });
64
59
  return _this;
65
60
  }
@@ -68,7 +63,9 @@ var InputNumber = /*#__PURE__*/function (_Component) {
68
63
  value: function getValueProps() {
69
64
  return {
70
65
  ref: this.inputRef,
71
- $inputHandlers: this.inputHandlersRef
66
+ inputHandlerRefs: this.inputHandlersRef,
67
+ increment: this.increment,
68
+ decrement: this.decrement
72
69
  };
73
70
  }
74
71
  }, {
@@ -79,8 +76,8 @@ var InputNumber = /*#__PURE__*/function (_Component) {
79
76
  getI18nText = _this$asProps.getI18nText;
80
77
  return {
81
78
  size: size,
82
- inc: this.handlerInc,
83
- dec: this.handlerDec,
79
+ increment: this.increment,
80
+ decrement: this.decrement,
84
81
  getI18nText: getI18nText
85
82
  };
86
83
  }
@@ -113,28 +110,39 @@ var Value = /*#__PURE__*/function (_Component2) {
113
110
  args[_key2] = arguments[_key2];
114
111
  }
115
112
  _this2 = _super2.call.apply(_super2, [this].concat(args));
116
- _defineProperty(_assertThisInitialized(_this2), "handleValidation", function (e) {
113
+ _defineProperty(_assertThisInitialized(_this2), "inputRef", /*#__PURE__*/React.createRef());
114
+ _defineProperty(_assertThisInitialized(_this2), "handleValidation", function (event) {
117
115
  var _this2$asProps = _this2.asProps,
118
116
  value = _this2$asProps.value,
119
117
  min = _this2$asProps.min,
120
118
  max = _this2$asProps.max,
121
119
  step = _this2$asProps.step;
122
120
  var roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;
123
- if (Number.isNaN(e.currentTarget.valueAsNumber)) {
124
- e.currentTarget.value = '';
125
- _this2.handlers.value('', e);
121
+ if (Number.isNaN(event.currentTarget.valueAsNumber)) {
122
+ event.currentTarget.value = '';
123
+ _this2.handlers.value('', event);
126
124
  } else {
127
125
  var numberValue = parseValueWithMinMax(Number.parseFloat(value), min, max);
128
- var r = _this2.roundRemainder(numberValue % step, step);
129
- if (r !== 0) {
130
- if (r >= step / 2) {
131
- numberValue += step - r;
132
- } else if (Math.abs(r) < step) {
133
- numberValue -= r;
126
+ var rounded = _this2.round(numberValue % step, step);
127
+ if (rounded !== 0) {
128
+ if (rounded >= step / 2) {
129
+ numberValue += step - rounded;
130
+ } else if (Math.abs(rounded) < step) {
131
+ numberValue -= rounded;
134
132
  }
135
133
  }
136
134
  var numberValueRounded = Number(numberValue.toFixed(roundCoefficient));
137
- _this2.handlers.value(String(numberValueRounded), e);
135
+ _this2.handlers.value(String(numberValueRounded), event);
136
+ }
137
+ });
138
+ _defineProperty(_assertThisInitialized(_this2), "handleWheel", function (event) {
139
+ if (event.target !== _this2.inputRef.current) return;
140
+ if (document.activeElement !== _this2.inputRef.current) return;
141
+ event.preventDefault();
142
+ if (event.wheelDelta > 0) {
143
+ _this2.asProps.increment(event);
144
+ } else if (event.wheelDelta < 0) {
145
+ _this2.asProps.decrement(event);
138
146
  }
139
147
  });
140
148
  return _this2;
@@ -147,11 +155,25 @@ var Value = /*#__PURE__*/function (_Component2) {
147
155
  };
148
156
  }
149
157
  }, {
150
- key: "roundRemainder",
151
- value: function roundRemainder(value, step) {
158
+ key: "round",
159
+ value: function round(value, step) {
152
160
  var countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;
153
161
  return countDecimals === 0 ? Number.parseFloat(value) : Number.parseFloat(value).toPrecision(countDecimals);
154
162
  }
163
+ }, {
164
+ key: "componentDidMount",
165
+ value:
166
+ // https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling
167
+ function componentDidMount() {
168
+ var _this$inputRef$curren7;
169
+ (_this$inputRef$curren7 = this.inputRef.current) === null || _this$inputRef$curren7 === void 0 ? void 0 : _this$inputRef$curren7.addEventListener('wheel', this.handleWheel);
170
+ }
171
+ }, {
172
+ key: "componentWillUnmount",
173
+ value: function componentWillUnmount() {
174
+ var _this$inputRef$curren8;
175
+ (_this$inputRef$curren8 = this.inputRef.current) === null || _this$inputRef$curren8 === void 0 ? void 0 : _this$inputRef$curren8.removeEventListener('wheel', this.handleWheel);
176
+ }
155
177
  }, {
156
178
  key: "render",
157
179
  value: function render() {
@@ -161,18 +183,17 @@ var Value = /*#__PURE__*/function (_Component2) {
161
183
  var SValueHidden = 'div';
162
184
  var _this$asProps2 = this.asProps,
163
185
  styles = _this$asProps2.styles,
164
- $inputHandlers = _this$asProps2.$inputHandlers,
186
+ inputHandlerRefs = _this$asProps2.inputHandlerRefs,
165
187
  value = _this$asProps2.value,
166
188
  min = _this$asProps2.min,
167
189
  max = _this$asProps2.max;
168
-
169
- // 🐒 не делайте так
170
- $inputHandlers.current = this.handlers;
190
+ inputHandlerRefs.current = this.handlers;
171
191
  return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SValue, _ref5.cn("SValue", _objectSpread({}, _assignProps2({
172
192
  "type": "number",
173
193
  "autoComplete": "off",
174
194
  "onBlur": this.handleValidation,
175
195
  "onInvalid": this.handleValidation,
196
+ "ref": this.inputRef,
176
197
  "aria-valuenow": value,
177
198
  "aria-valuemin": min,
178
199
  "aria-valuemax": max
@@ -192,8 +213,8 @@ function Controls(props) {
192
213
  var _ref3 = arguments[0],
193
214
  _ref6;
194
215
  var Children = props.Children,
195
- inc = props.inc,
196
- dec = props.dec,
216
+ increment = props.increment,
217
+ decrement = props.decrement,
197
218
  size = props.size,
198
219
  styles = props.styles,
199
220
  getI18nText = props.getI18nText;
@@ -203,18 +224,18 @@ function Controls(props) {
203
224
  return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SControls, _ref6.cn("SControls", _objectSpread({}, _assignProps3({
204
225
  "aria-hidden": "true"
205
226
  }, _ref3))), /*#__PURE__*/React.createElement(SUp, _ref6.cn("SUp", {
206
- "onClick": inc,
227
+ "onClick": increment,
207
228
  "tabIndex": -1,
208
229
  "type": "button",
209
230
  "size": size,
210
231
  "aria-label": getI18nText('increment')
211
- }), /*#__PURE__*/React.createElement(IconUp, _ref6.cn("IconUp", {}))), /*#__PURE__*/React.createElement(SDown, _ref6.cn("SDown", {
212
- "onClick": dec,
232
+ }), /*#__PURE__*/React.createElement(IncrementIcon, _ref6.cn("IncrementIcon", {}))), /*#__PURE__*/React.createElement(SDown, _ref6.cn("SDown", {
233
+ "onClick": decrement,
213
234
  "tabIndex": -1,
214
235
  "type": "button",
215
236
  "size": size,
216
237
  "aria-label": getI18nText('decrement')
217
- }), /*#__PURE__*/React.createElement(IconDown, _ref6.cn("IconDown", {}))), /*#__PURE__*/React.createElement(Children, _ref6.cn("Children", {})));
238
+ }), /*#__PURE__*/React.createElement(DecrementIcon, _ref6.cn("DecrementIcon", {}))), /*#__PURE__*/React.createElement(Children, _ref6.cn("Children", {})));
218
239
  }
219
240
  export default createComponent(InputNumber, {
220
241
  Value: Value,
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["React","createComponent","Component","sstyled","Root","Input","BUTTONS","localizedMessages","i18nEnhance","style","_sstyled","insert","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","IconUp","up","IconDown","down","InputNumber","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","e","_this$inputRef$curren","_this$inputRef$curren2","_this$inputHandlersRe","inputRef","current","stepUp","inputHandlersRef","_this$inputRef$curren3","_this$inputRef$curren4","_this$inputHandlersRe2","stepDown","_createClass","key","getValueProps","ref","$inputHandlers","getControlsProps","_this$asProps","asProps","size","getI18nText","inc","handlerInc","dec","handlerDec","render","_ref","_ref4","SInputNumber","createElement","cn","_objectSpread","_assignProps","i18n","locale","Value","_Component2","_super2","_this2","_len2","_key2","_this2$asProps","step","roundCoefficient","toString","split","isNaN","currentTarget","valueAsNumber","handlers","numberValue","parseFloat","r","roundRemainder","abs","numberValueRounded","toFixed","String","uncontrolledProps","countDecimals","floor","toPrecision","_ref2","_ref5","SValue","SValueHidden","_this$asProps2","styles","Fragment","_assignProps2","handleValidation","defaultValue","Controls","props","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","_assignProps3"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport BUTTONS from './buttons';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\n\nfunction parseValueWithMinMax(value, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(max, value));\n}\n\nconst IconUp = () => BUTTONS.up;\nconst IconDown = () => BUTTONS.down;\n\nclass InputNumber extends Component {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n inputRef = React.createRef();\n inputHandlersRef = React.createRef();\n\n handlerInc = (e) => {\n // TODO: IE11 dont work\n this.inputRef.current?.stepUp && this.inputRef.current?.stepUp();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, e);\n };\n\n handlerDec = (e) => {\n // TODO: IE11 dont work\n this.inputRef.current?.stepDown && this.inputRef.current?.stepDown();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, e);\n };\n\n getValueProps() {\n return {\n ref: this.inputRef,\n $inputHandlers: this.inputHandlersRef,\n };\n }\n\n getControlsProps() {\n const { size, getI18nText } = this.asProps;\n return {\n size,\n inc: this.handlerInc,\n dec: this.handlerDec,\n getI18nText,\n };\n }\n\n render() {\n const SInputNumber = Root;\n return sstyled(this.asProps.style)(<SInputNumber render={Input} />);\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n step: 1,\n };\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n roundRemainder(value, step) {\n const countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;\n return countDecimals === 0\n ? Number.parseFloat(value)\n : Number.parseFloat(value).toPrecision(countDecimals);\n }\n\n handleValidation = (e) => {\n const { value, min, max, step } = this.asProps;\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n if (Number.isNaN(e.currentTarget.valueAsNumber)) {\n e.currentTarget.value = '';\n this.handlers.value('', e);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(value), min, max);\n const r = this.roundRemainder(numberValue % step, step);\n if (r !== 0) {\n if (r >= step / 2) {\n numberValue += step - r;\n } else if (Math.abs(r) < step) {\n numberValue -= r;\n }\n }\n const numberValueRounded = Number(numberValue.toFixed(roundCoefficient));\n this.handlers.value(String(numberValueRounded), e);\n }\n };\n\n render() {\n const SValue = Root;\n const SValueHidden = 'div';\n const { styles, $inputHandlers, value, min, max } = this.asProps;\n\n // 🐒 не делайте так\n $inputHandlers.current = this.handlers;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n type=\"number\"\n autoComplete=\"off\"\n onBlur={this.handleValidation}\n onInvalid={this.handleValidation}\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n />\n {/* the next hidden div is necessary for the screen reader to report the value\n in the input, because after validation the value can change to the `min` or `max` \n if entered less than `min` or more than `max` */}\n <SValueHidden aria-live=\"polite\" aria-atomic={true}>\n {value}\n </SValueHidden>\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, inc, dec, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden=\"true\">\n <SUp\n onClick={inc}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IconUp />\n </SUp>\n <SDown\n onClick={dec}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <IconDown />\n </SDown>\n <Children />\n </SControls>,\n );\n}\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputNumber.js","names":["React","createComponent","Component","sstyled","Root","Input","IncrementIcon","DecrementIcon","localizedMessages","i18nEnhance","style","_sstyled","insert","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","InputNumber","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","event","_this$inputRef$curren","_this$inputRef$curren2","_this$inputRef$curren3","_this$inputHandlersRe","inputRef","current","stepUp","inputHandlersRef","_this$inputRef$curren4","_this$inputRef$curren5","_this$inputRef$curren6","_this$inputHandlersRe2","stepDown","_createClass","key","getValueProps","ref","inputHandlerRefs","increment","decrement","getControlsProps","_this$asProps","asProps","size","getI18nText","render","_ref","_ref4","SInputNumber","createElement","cn","_objectSpread","_assignProps","i18n","locale","Value","_Component2","_super2","_this2","_len2","_key2","_this2$asProps","step","roundCoefficient","toString","split","isNaN","currentTarget","valueAsNumber","handlers","numberValue","parseFloat","rounded","round","abs","numberValueRounded","toFixed","String","target","document","activeElement","preventDefault","wheelDelta","uncontrolledProps","countDecimals","floor","toPrecision","componentDidMount","_this$inputRef$curren7","addEventListener","handleWheel","componentWillUnmount","_this$inputRef$curren8","removeEventListener","_ref2","_ref5","SValue","SValueHidden","_this$asProps2","styles","Fragment","_assignProps2","handleValidation","defaultValue","Controls","props","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","_assignProps3"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport { IncrementIcon, DecrementIcon } from './buttons';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\n\nfunction parseValueWithMinMax(value, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(max, value));\n}\n\nclass InputNumber extends Component {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n inputRef = React.createRef();\n inputHandlersRef = React.createRef();\n\n increment = (event) => {\n // https://stackoverflow.com/questions/68010124/safari-number-input-stepup-stepdown-not-functioning-with-empty-value\n if (this.inputRef.current?.value === '')\n this.inputRef.current.value = this.inputRef.current.min || '0';\n this.inputRef.current?.stepUp && this.inputRef.current?.stepUp();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, event);\n };\n\n decrement = (event) => {\n if (this.inputRef.current?.value === '')\n this.inputRef.current.value = this.inputRef.current.max || '0';\n this.inputRef.current?.stepDown && this.inputRef.current?.stepDown();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, event);\n };\n\n getValueProps() {\n return {\n ref: this.inputRef,\n inputHandlerRefs: this.inputHandlersRef,\n increment: this.increment,\n decrement: this.decrement,\n };\n }\n\n getControlsProps() {\n const { size, getI18nText } = this.asProps;\n return {\n size,\n increment: this.increment,\n decrement: this.decrement,\n getI18nText,\n };\n }\n\n render() {\n const SInputNumber = Root;\n return sstyled(this.asProps.style)(<SInputNumber render={Input} />);\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n step: 1,\n };\n\n inputRef = React.createRef();\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n round(value, step) {\n const countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;\n return countDecimals === 0\n ? Number.parseFloat(value)\n : Number.parseFloat(value).toPrecision(countDecimals);\n }\n\n handleValidation = (event) => {\n const { value, min, max, step } = this.asProps;\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n if (Number.isNaN(event.currentTarget.valueAsNumber)) {\n event.currentTarget.value = '';\n this.handlers.value('', event);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(value), min, max);\n const rounded = this.round(numberValue % step, step);\n if (rounded !== 0) {\n if (rounded >= step / 2) {\n numberValue += step - rounded;\n } else if (Math.abs(rounded) < step) {\n numberValue -= rounded;\n }\n }\n const numberValueRounded = Number(numberValue.toFixed(roundCoefficient));\n this.handlers.value(String(numberValueRounded), event);\n }\n };\n\n // https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling\n componentDidMount() {\n this.inputRef.current?.addEventListener('wheel', this.handleWheel);\n }\n componentWillUnmount() {\n this.inputRef.current?.removeEventListener('wheel', this.handleWheel);\n }\n\n handleWheel = (event) => {\n if (event.target !== this.inputRef.current) return;\n if (document.activeElement !== this.inputRef.current) return;\n event.preventDefault();\n if (event.wheelDelta > 0) {\n this.asProps.increment(event);\n } else if (event.wheelDelta < 0) {\n this.asProps.decrement(event);\n }\n };\n\n render() {\n const SValue = Root;\n const SValueHidden = 'div';\n const { styles, inputHandlerRefs, value, min, max } = this.asProps;\n\n inputHandlerRefs.current = this.handlers;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n type=\"number\"\n autoComplete=\"off\"\n onBlur={this.handleValidation}\n onInvalid={this.handleValidation}\n ref={this.inputRef}\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n />\n {/* the next hidden div is necessary for the screen reader to report the value\n in the input, because after validation the value can change to the `min` or `max` \n if entered less than `min` or more than `max` */}\n <SValueHidden aria-live=\"polite\" aria-atomic={true}>\n {value}\n </SValueHidden>\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, increment, decrement, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden=\"true\">\n <SUp\n onClick={increment}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IncrementIcon />\n </SUp>\n <SDown\n onClick={decrement}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <DecrementIcon />\n </SDown>\n <Children />\n </SControls>,\n );\n}\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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"}
@@ -1,19 +1,22 @@
1
1
  import React from 'react';
2
- var svg = function svg(orientation, width, height) {
2
+ export var IncrementIcon = function IncrementIcon() {
3
3
  return /*#__PURE__*/React.createElement("svg", {
4
- xmlns: "http://www.w3.org/2000/svg",
5
4
  fill: "currentColor",
6
- width: width,
7
- height: height,
8
- viewBox: "0 0 ".concat(width, " ").concat(height)
9
- }, orientation === 'up' ? /*#__PURE__*/React.createElement("path", {
10
- d: "M0,".concat(height, "l").concat(height, ",-").concat(height, "l").concat(height, ",").concat(height, "Z")
11
- }) : /*#__PURE__*/React.createElement("path", {
12
- d: "M0,0l".concat(width, ",0l-").concat(height, ",").concat(height, "Z")
5
+ width: "10",
6
+ height: "5",
7
+ viewBox: "0 0 10 5"
8
+ }, /*#__PURE__*/React.createElement("path", {
9
+ d: "M0,5l5,-5l5,5Z"
13
10
  }));
14
11
  };
15
- export default {
16
- up: svg('up', 10, 5),
17
- down: svg('down', 10, 5)
12
+ export var DecrementIcon = function DecrementIcon() {
13
+ return /*#__PURE__*/React.createElement("svg", {
14
+ fill: "currentColor",
15
+ width: "10",
16
+ height: "5",
17
+ viewBox: "0 0 10 5"
18
+ }, /*#__PURE__*/React.createElement("path", {
19
+ d: "M0,0l10,0l-5,5Z"
20
+ }));
18
21
  };
19
22
  //# sourceMappingURL=buttons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buttons.js","names":["React","svg","orientation","width","height","createElement","xmlns","fill","viewBox","concat","d","up","down"],"sources":["../../src/buttons.jsx"],"sourcesContent":["import React from 'react';\n\nconst svg = (orientation, width, height) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n width={width}\n height={height}\n viewBox={`0 0 ${width} ${height}`}\n >\n {orientation === 'up' ? (\n <path d={`M0,${height}l${height},-${height}l${height},${height}Z`} />\n ) : (\n <path d={`M0,0l${width},0l-${height},${height}Z`} />\n )}\n </svg>\n);\n\nexport default {\n up: svg('up', 10, 5),\n down: svg('down', 10, 5),\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,IAAMC,GAAG,GAAG,SAANA,GAAGA,CAAIC,WAAW,EAAEC,KAAK,EAAEC,MAAM;EAAA,oBACrCJ,KAAA,CAAAK,aAAA;IACEC,KAAK,EAAC,4BAA4B;IAClCC,IAAI,EAAC,cAAc;IACnBJ,KAAK,EAAEA,KAAM;IACbC,MAAM,EAAEA,MAAO;IACfI,OAAO,SAAAC,MAAA,CAASN,KAAK,OAAAM,MAAA,CAAIL,MAAM;EAAG,GAEjCF,WAAW,KAAK,IAAI,gBACnBF,KAAA,CAAAK,aAAA;IAAMK,CAAC,QAAAD,MAAA,CAAQL,MAAM,OAAAK,MAAA,CAAIL,MAAM,QAAAK,MAAA,CAAKL,MAAM,OAAAK,MAAA,CAAIL,MAAM,OAAAK,MAAA,CAAIL,MAAM;EAAI,EAAG,gBAErEJ,KAAA,CAAAK,aAAA;IAAMK,CAAC,UAAAD,MAAA,CAAUN,KAAK,UAAAM,MAAA,CAAOL,MAAM,OAAAK,MAAA,CAAIL,MAAM;EAAI,EAClD,CACG;AAAA,CACP;AAED,eAAe;EACbO,EAAE,EAAEV,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;EACpBW,IAAI,EAAEX,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"buttons.js","names":["React","IncrementIcon","createElement","fill","width","height","viewBox","d","DecrementIcon"],"sources":["../../src/buttons.jsx"],"sourcesContent":["import React from 'react';\n\nexport const IncrementIcon = () => (\n <svg fill=\"currentColor\" width=\"10\" height=\"5\" viewBox=\"0 0 10 5\">\n <path d={`M0,5l5,-5l5,5Z`} />\n </svg>\n);\nexport const DecrementIcon = () => (\n <svg fill=\"currentColor\" width=\"10\" height=\"5\" viewBox=\"0 0 10 5\">\n <path d={`M0,0l10,0l-5,5Z`} />\n </svg>\n);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAA;EAAA,oBACxBD,KAAA,CAAAE,aAAA;IAAKC,IAAI,EAAC,cAAc;IAACC,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,GAAG;IAACC,OAAO,EAAC;EAAU,gBAC/DN,KAAA,CAAAE,aAAA;IAAMK,CAAC;EAAmB,EAAG,CACzB;AAAA,CACP;AACD,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAA;EAAA,oBACxBR,KAAA,CAAAE,aAAA;IAAKC,IAAI,EAAC,cAAc;IAACC,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,GAAG;IAACC,OAAO,EAAC;EAAU,gBAC/DN,KAAA,CAAAE,aAAA;IAAMK,CAAC;EAAoB,EAAG,CAC1B;AAAA,CACP"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/input-number",
3
3
  "description": "Semrush InputNumber Component",
4
- "version": "4.4.19",
4
+ "version": "4.5.1",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",