@semcore/input-number 16.0.1 → 16.0.2-prerelease.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,12 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [16.0.2] - 2025-06-13
6
+
7
+ ### Changed
8
+
9
+ - Version patch update due to children dependencies update (`@semcore/input` [16.0.1 ~> 16.0.2], `@semcore/flex-box` [16.0.1 ~> 16.0.2], `@semcore/base-components` [16.0.1 ~> 16.0.2]).
10
+
5
11
  ## [16.0.1] - 2025-05-30
6
12
 
7
13
  ### Changed
package/README.md CHANGED
@@ -13,40 +13,10 @@
13
13
  ## Install
14
14
 
15
15
  ```sh
16
- npm install intergalactic
16
+ npm install @semcore/input-number
17
17
  ```
18
18
 
19
- ## Usage
20
19
 
21
- ```jsx
22
- import InputNumber from 'intergalactic/input-number';
23
- ```
24
-
25
- <details>
26
- <summary>Alternative installation and use</summary>
27
-
28
- **We do not recommend this usage path due to possible dependency and update issues.**
29
-
30
- ### Install
31
-
32
- You can only install one package from the design system
33
-
34
- ```sh
35
- npm install @semcore/input-number @semcore/core
36
- ```
37
-
38
- `@semcore/core` - _is the basic package by which we create our components, and it contains all of the common logic
39
- of the components that is discussed below. There should only be one version of the package in the project._
40
-
41
- ### Usage
42
-
43
- You can use the package the same way but without `/ui/` in the import path.
44
-
45
- ```jsx
46
- import InputNumber from '@semcore/input-number';
47
- ```
48
-
49
- </details>
50
20
 
51
21
  ## 👤 Author
52
22
 
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -10,30 +10,32 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _isNativeReflectConstruct2 = _interopRequireDefault(require("@babel/runtime/helpers/isNativeReflectConstruct"));
15
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
16
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
- var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
16
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
18
  var _core = require("@semcore/core");
18
- var _react = _interopRequireDefault(require("react"));
19
+ var _assignProps4 = require("@semcore/core/lib/utils/assignProps");
20
+ var _i18nEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/i18nEnhance"));
21
+ var _ref7 = require("@semcore/core/lib/utils/ref");
19
22
  var _input = _interopRequireDefault(require("@semcore/input"));
23
+ var _react = _interopRequireDefault(require("react"));
20
24
  var _buttons = require("./buttons");
21
25
  var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
22
- var _i18nEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/i18nEnhance"));
23
- var _ref7 = require("@semcore/core/lib/utils/ref");
24
- var _assignProps4 = require("@semcore/core/lib/utils/assignProps");
26
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, (0, _isNativeReflectConstruct2["default"])() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
25
27
  /*!__reshadow-styles__:"./style/input-number.shadow.css"*/
26
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SValue_og6bd_gg_:focus~.___SControls_og6bd_gg_{display:flex}.___SControls_og6bd_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_og6bd_gg_.__showControls_og6bd_gg_{display:flex}.___SDown_og6bd_gg_,.___SUp_og6bd_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_og6bd_gg_:focus,.___SUp_og6bd_gg_:focus{outline:0}@media (hover:hover){.___SDown_og6bd_gg_:hover,.___SUp_og6bd_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #878992)}}.___SUp_og6bd_gg_{padding-bottom:1px}.___SDown_og6bd_gg_{padding-top:1px}.___SValue_og6bd_gg_::-webkit-inner-spin-button,.___SValue_og6bd_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_og6bd_gg_._type_number_og6bd_gg_{-moz-appearance:textfield}.___SValue_og6bd_gg_.__disabled_og6bd_gg_~.___SControls_og6bd_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SValueHidden_og6bd_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}", /*__inner_css_end__*/"og6bd_gg_"),
28
+ var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SValue_tmq0p_gg_:focus~.___SControls_tmq0p_gg_{display:flex}.___SControls_tmq0p_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_tmq0p_gg_.__showControls_tmq0p_gg_{display:flex}.___SDown_tmq0p_gg_,.___SUp_tmq0p_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_tmq0p_gg_:focus,.___SUp_tmq0p_gg_:focus{outline:0}@media (hover:hover){.___SDown_tmq0p_gg_:hover,.___SUp_tmq0p_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #878992)}}.___SUp_tmq0p_gg_{padding-bottom:1px}.___SDown_tmq0p_gg_{padding-top:1px}.___SValue_tmq0p_gg_::-webkit-inner-spin-button,.___SValue_tmq0p_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_tmq0p_gg_._type_number_tmq0p_gg_{-moz-appearance:textfield}.___SValue_tmq0p_gg_.__disabled_tmq0p_gg_~.___SControls_tmq0p_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SValueHidden_tmq0p_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}", /*__inner_css_end__*/"tmq0p_gg_"),
27
29
  /*__reshadow_css_end__*/
28
30
  {
29
- "__SValue": "___SValue_og6bd_gg_",
30
- "__SControls": "___SControls_og6bd_gg_",
31
- "_showControls": "__showControls_og6bd_gg_",
32
- "__SUp": "___SUp_og6bd_gg_",
33
- "__SDown": "___SDown_og6bd_gg_",
34
- "_disabled": "__disabled_og6bd_gg_",
35
- "__SValueHidden": "___SValueHidden_og6bd_gg_",
36
- "_type_number": "_type_number_og6bd_gg_"
31
+ "__SValue": "___SValue_tmq0p_gg_",
32
+ "__SControls": "___SControls_tmq0p_gg_",
33
+ "_showControls": "__showControls_tmq0p_gg_",
34
+ "__SUp": "___SUp_tmq0p_gg_",
35
+ "__SDown": "___SDown_tmq0p_gg_",
36
+ "_disabled": "__disabled_tmq0p_gg_",
37
+ "__SValueHidden": "___SValueHidden_tmq0p_gg_",
38
+ "_type_number": "_type_number_tmq0p_gg_"
37
39
  });
38
40
  function parseValueWithMinMax(value) {
39
41
  var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MIN_SAFE_INTEGER;
@@ -41,27 +43,26 @@ function parseValueWithMinMax(value) {
41
43
  return Math.max(min, Math.min(max, value));
42
44
  }
43
45
  var InputNumber = /*#__PURE__*/function (_Component) {
44
- (0, _inherits2["default"])(InputNumber, _Component);
45
- var _super = (0, _createSuper2["default"])(InputNumber);
46
46
  function InputNumber() {
47
47
  var _this;
48
48
  (0, _classCallCheck2["default"])(this, InputNumber);
49
49
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
50
50
  args[_key] = arguments[_key];
51
51
  }
52
- _this = _super.call.apply(_super, [this].concat(args));
53
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "inputRef", /*#__PURE__*/_react["default"].createRef());
54
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "increment", function (event) {
52
+ _this = _callSuper(this, InputNumber, [].concat(args));
53
+ (0, _defineProperty2["default"])(_this, "inputRef", /*#__PURE__*/_react["default"].createRef());
54
+ (0, _defineProperty2["default"])(_this, "increment", function (event) {
55
55
  var _this$inputRef$curren, _this$inputRef$curren2;
56
- (_this$inputRef$curren = _this.inputRef.current) === null || _this$inputRef$curren === void 0 ? void 0 : (_this$inputRef$curren2 = _this$inputRef$curren.stepUp) === null || _this$inputRef$curren2 === void 0 ? void 0 : _this$inputRef$curren2.call(_this$inputRef$curren, event);
56
+ (_this$inputRef$curren = _this.inputRef.current) === null || _this$inputRef$curren === void 0 || (_this$inputRef$curren2 = _this$inputRef$curren.stepUp) === null || _this$inputRef$curren2 === void 0 || _this$inputRef$curren2.call(_this$inputRef$curren, event);
57
57
  });
58
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "decrement", function (event) {
58
+ (0, _defineProperty2["default"])(_this, "decrement", function (event) {
59
59
  var _this$inputRef$curren3, _this$inputRef$curren4;
60
- (_this$inputRef$curren3 = _this.inputRef.current) === null || _this$inputRef$curren3 === void 0 ? void 0 : (_this$inputRef$curren4 = _this$inputRef$curren3.stepDown) === null || _this$inputRef$curren4 === void 0 ? void 0 : _this$inputRef$curren4.call(_this$inputRef$curren3, event);
60
+ (_this$inputRef$curren3 = _this.inputRef.current) === null || _this$inputRef$curren3 === void 0 || (_this$inputRef$curren4 = _this$inputRef$curren3.stepDown) === null || _this$inputRef$curren4 === void 0 || _this$inputRef$curren4.call(_this$inputRef$curren3, event);
61
61
  });
62
62
  return _this;
63
63
  }
64
- (0, _createClass2["default"])(InputNumber, [{
64
+ (0, _inherits2["default"])(InputNumber, _Component);
65
+ return (0, _createClass2["default"])(InputNumber, [{
65
66
  key: "getValueProps",
66
67
  value: function getValueProps() {
67
68
  var numberFormatter = new Intl.NumberFormat(this.asProps.locale, {
@@ -96,7 +97,6 @@ var InputNumber = /*#__PURE__*/function (_Component) {
96
97
  return _ref4 = (0, _core.sstyled)(this.asProps.style), /*#__PURE__*/_react["default"].createElement(SInputNumber, _ref4.cn("SInputNumber", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref))));
97
98
  }
98
99
  }]);
99
- return InputNumber;
100
100
  }(_core.Component);
101
101
  (0, _defineProperty2["default"])(InputNumber, "displayName", 'InputNumber');
102
102
  (0, _defineProperty2["default"])(InputNumber, "style", style);
@@ -107,21 +107,19 @@ var InputNumber = /*#__PURE__*/function (_Component) {
107
107
  locale: 'en'
108
108
  });
109
109
  var Value = /*#__PURE__*/function (_Component2) {
110
- (0, _inherits2["default"])(Value, _Component2);
111
- var _super2 = (0, _createSuper2["default"])(Value);
112
110
  function Value() {
113
111
  var _this2;
114
112
  (0, _classCallCheck2["default"])(this, Value);
115
113
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
116
114
  args[_key2] = arguments[_key2];
117
115
  }
118
- _this2 = _super2.call.apply(_super2, [this].concat(args));
119
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "valueInputRef", /*#__PURE__*/_react["default"].createRef());
120
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "cursorPosition", -1);
121
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "getFormattedValue", function (value) {
116
+ _this2 = _callSuper(this, Value, [].concat(args));
117
+ (0, _defineProperty2["default"])(_this2, "valueInputRef", /*#__PURE__*/_react["default"].createRef());
118
+ (0, _defineProperty2["default"])(_this2, "cursorPosition", -1);
119
+ (0, _defineProperty2["default"])(_this2, "getFormattedValue", function (value) {
122
120
  return value.replace(new RegExp("[".concat(_this2.separatorThousands, "]"), 'g'), '').replace(_this2.separatorDecimal, '.');
123
121
  });
124
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "valueParser", function (value, prevValue, prevDisplayValue) {
122
+ (0, _defineProperty2["default"])(_this2, "valueParser", function (value, prevValue, prevDisplayValue) {
125
123
  var numberFormatter = _this2.props.numberFormatter;
126
124
  var stringNumber = _this2.getFormattedValue(String(value));
127
125
  if (Number.isNaN(Number(stringNumber))) {
@@ -145,7 +143,7 @@ var Value = /*#__PURE__*/function (_Component2) {
145
143
  displayValue: displayValue
146
144
  };
147
145
  });
148
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleValidation", function (event) {
146
+ (0, _defineProperty2["default"])(_this2, "handleValidation", function (event) {
149
147
  var _this2$asProps = _this2.asProps,
150
148
  value = _this2$asProps.value,
151
149
  displayValue = _this2$asProps.displayValue,
@@ -172,10 +170,10 @@ var Value = /*#__PURE__*/function (_Component2) {
172
170
  _this2.handlers.value(String(numberValueRounded), event);
173
171
  }
174
172
  });
175
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onWheel", function (event) {
173
+ (0, _defineProperty2["default"])(_this2, "onWheel", function (event) {
176
174
  (0, _assignProps4.callAllEventHandlers)(_this2.asProps.onWheel, _this2.handleWheel)(event);
177
175
  });
178
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleWheel", function (event) {
176
+ (0, _defineProperty2["default"])(_this2, "handleWheel", function (event) {
179
177
  if (event.target !== _this2.valueInputRef.current) return;
180
178
  if (document.activeElement !== _this2.valueInputRef.current) return;
181
179
  event.preventDefault();
@@ -185,7 +183,7 @@ var Value = /*#__PURE__*/function (_Component2) {
185
183
  _this2.stepDown(event);
186
184
  }
187
185
  });
188
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleChange", function (event) {
186
+ (0, _defineProperty2["default"])(_this2, "handleChange", function (event) {
189
187
  var value = _this2.getFormattedValue(event.currentTarget.value);
190
188
  var _this2$asProps2 = _this2.asProps,
191
189
  numberFormatter = _this2$asProps2.numberFormatter,
@@ -211,23 +209,22 @@ var Value = /*#__PURE__*/function (_Component2) {
211
209
  _this2.handlers.value(value, event);
212
210
  }
213
211
  });
214
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleKeyUp", function (event) {
212
+ (0, _defineProperty2["default"])(_this2, "handleKeyUp", function (event) {
215
213
  if (event.key === 'Shift') {
216
214
  _this2.cursorPosition = -1;
217
215
  }
218
216
  });
219
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleKeyDown", function (event) {
217
+ (0, _defineProperty2["default"])(_this2, "handleKeyDown", function (event) {
220
218
  var element = event.currentTarget;
221
219
  var value = element.value;
222
220
  var length = value.length;
223
221
  var displayValue = _this2.asProps.displayValue;
224
222
  if (event.key === '.' || event.key === ',') {
225
- // for the first decimal separator we should replace both ',' and '.' to '.' because of how js convert strings to numbers (with ',' it will be NaN)
223
+ // for the first decimal separator we should replace both ',' and '.' to '.' because of how js convert strings to numbers (with ',' it will be Number.NaN)
226
224
  if (value.indexOf(_this2.separatorDecimal) === -1 && event.key === ',') {
227
225
  event.currentTarget.value = value + '.';
228
- }
229
- // we could press decimal separator second time - prevent this '1.5.'
230
- else if (value.indexOf(_this2.separatorDecimal) !== -1) {
226
+ } else if (value.indexOf(_this2.separatorDecimal) !== -1) {
227
+ // we could press decimal separator second time - prevent this '1.5.'
231
228
  event.preventDefault();
232
229
  event.stopPropagation();
233
230
  return;
@@ -285,7 +282,7 @@ var Value = /*#__PURE__*/function (_Component2) {
285
282
  }
286
283
  }
287
284
  });
288
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "moveSelectionLeft", function (element, cursorIndex) {
285
+ (0, _defineProperty2["default"])(_this2, "moveSelectionLeft", function (element, cursorIndex) {
289
286
  var value = element.value;
290
287
  var nextPosition = element.selectionStart - 1 >= 0 ? element.selectionStart - 1 : 0;
291
288
  var cursorPosition = value[element.selectionStart - cursorIndex] === _this2.separatorThousands ? element.selectionStart - cursorIndex : nextPosition;
@@ -300,7 +297,7 @@ var Value = /*#__PURE__*/function (_Component2) {
300
297
  }
301
298
  }
302
299
  });
303
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "moveSelectionRight", function (element, cursorIndex) {
300
+ (0, _defineProperty2["default"])(_this2, "moveSelectionRight", function (element, cursorIndex) {
304
301
  var value = element.value;
305
302
  var nextPosition = element.selectionEnd + 1;
306
303
  var cursorPosition = value[element.selectionEnd] === _this2.separatorThousands ? element.selectionEnd + cursorIndex : nextPosition;
@@ -315,18 +312,18 @@ var Value = /*#__PURE__*/function (_Component2) {
315
312
  }
316
313
  }
317
314
  });
318
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleClick", function (event) {
315
+ (0, _defineProperty2["default"])(_this2, "handleClick", function (event) {
319
316
  var element = event.target;
320
317
  var value = element.value;
321
318
  if (value[element.selectionStart - 1] === _this2.separatorThousands) {
322
319
  element.setSelectionRange(element.selectionStart - 1, element.selectionEnd - 1);
323
320
  }
324
321
  });
325
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleBlur", function (event) {
322
+ (0, _defineProperty2["default"])(_this2, "handleBlur", function (event) {
326
323
  _this2.cursorPosition = -1;
327
324
  _this2.handleValidation(event);
328
325
  });
329
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "stepUp", function (event) {
326
+ (0, _defineProperty2["default"])(_this2, "stepUp", function (event) {
330
327
  var _this2$asProps3 = _this2.asProps,
331
328
  _this2$asProps3$max = _this2$asProps3.max,
332
329
  max = _this2$asProps3$max === void 0 ? Number.MAX_SAFE_INTEGER : _this2$asProps3$max,
@@ -346,7 +343,7 @@ var Value = /*#__PURE__*/function (_Component2) {
346
343
  _this2.handlers.value(newValue.toString(), event);
347
344
  }
348
345
  });
349
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "stepDown", function (event) {
346
+ (0, _defineProperty2["default"])(_this2, "stepDown", function (event) {
350
347
  var _this2$asProps4 = _this2.asProps,
351
348
  max = _this2$asProps4.max,
352
349
  _this2$asProps4$min = _this2$asProps4.min,
@@ -366,7 +363,8 @@ var Value = /*#__PURE__*/function (_Component2) {
366
363
  });
367
364
  return _this2;
368
365
  }
369
- (0, _createClass2["default"])(Value, [{
366
+ (0, _inherits2["default"])(Value, _Component2);
367
+ return (0, _createClass2["default"])(Value, [{
370
368
  key: "uncontrolledProps",
371
369
  value: function uncontrolledProps() {
372
370
  var _this3 = this;
@@ -408,7 +406,7 @@ var Value = /*#__PURE__*/function (_Component2) {
408
406
  // https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling
409
407
  function componentDidMount() {
410
408
  var _this$valueInputRef$c;
411
- (_this$valueInputRef$c = this.valueInputRef.current) === null || _this$valueInputRef$c === void 0 ? void 0 : _this$valueInputRef$c.addEventListener('wheel', this.onWheel);
409
+ (_this$valueInputRef$c = this.valueInputRef.current) === null || _this$valueInputRef$c === void 0 || _this$valueInputRef$c.addEventListener('wheel', this.onWheel);
412
410
  var _this$asProps2 = this.asProps,
413
411
  inputRef = _this$asProps2.inputRef,
414
412
  value = _this$asProps2.value;
@@ -435,7 +433,7 @@ var Value = /*#__PURE__*/function (_Component2) {
435
433
  key: "componentWillUnmount",
436
434
  value: function componentWillUnmount() {
437
435
  var _this$valueInputRef$c2;
438
- (_this$valueInputRef$c2 = this.valueInputRef.current) === null || _this$valueInputRef$c2 === void 0 ? void 0 : _this$valueInputRef$c2.removeEventListener('wheel', this.onWheel);
436
+ (_this$valueInputRef$c2 = this.valueInputRef.current) === null || _this$valueInputRef$c2 === void 0 || _this$valueInputRef$c2.removeEventListener('wheel', this.onWheel);
439
437
  }
440
438
  }, {
441
439
  key: "render",
@@ -467,7 +465,6 @@ var Value = /*#__PURE__*/function (_Component2) {
467
465
  }, _ref2)))));
468
466
  }
469
467
  }]);
470
- return Value;
471
468
  }(_core.Component);
472
469
  (0, _defineProperty2["default"])(Value, "style", style);
473
470
  (0, _defineProperty2["default"])(Value, "defaultProps", {
@@ -504,10 +501,9 @@ function Controls(props) {
504
501
  }), /*#__PURE__*/_react["default"].createElement(_buttons.DecrementIcon, _ref6.cn("DecrementIcon", {}))), /*#__PURE__*/_react["default"].createElement(Children, _ref6.cn("Children", {})));
505
502
  }
506
503
  Controls.style = style;
507
- var _default = (0, _core.createComponent)(InputNumber, {
504
+ var _default = exports["default"] = (0, _core.createComponent)(InputNumber, {
508
505
  Value: Value,
509
506
  Controls: Controls,
510
507
  Addon: _input["default"].Addon
511
508
  });
512
- exports["default"] = _default;
513
509
  //# sourceMappingURL=InputNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["_core","require","_react","_interopRequireDefault","_input","_buttons","_intergalacticDynamicLocales","_i18nEnhance","_ref7","_assignProps4","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","inputRef","current","stepUp","_this$inputRef$curren3","_this$inputRef$curren4","stepDown","_createClass2","key","getValueProps","numberFormatter","Intl","NumberFormat","asProps","locale","increment","decrement","getControlsProps","_this$asProps","size","getI18nText","render","_ref","_ref4","SInputNumber","Input","createElement","cn","_objectSpread2","assignProps","Component","i18nEnhance","localizedMessages","i18n","Value","_Component2","_super2","_this2","_len2","_key2","replace","RegExp","separatorThousands","separatorDecimal","prevValue","prevDisplayValue","props","stringNumber","getFormattedValue","String","isNaN","parsedValue","displayValue","test","_stringNumber$split","split","_stringNumber$split2","_slicedToArray2","int","decimal","format","_this2$asProps","step","_this2$valueParser","valueParser","currentTarget","roundCoefficient","toString","parseFloat","handlers","numberValue","rounded","round","abs","numberValueRounded","toFixed","callAllEventHandlers","onWheel","handleWheel","target","valueInputRef","document","activeElement","preventDefault","wheelDelta","_this2$asProps2","endsWith","slice","digits","cursorPosition","element","indexOf","stopPropagation","selectionStart","includes","afterSelection","selectionEnd","requestAnimationFrame","newValue","state","index","lastIndexOf","setSelectionRange","cursorIndex","shiftKey","moveSelectionLeft","moveSelectionRight","nextPosition","handleValidation","_this2$asProps3","_this2$asProps3$max","_this2$asProps4","_this2$asProps4$min","uncontrolledProps","_this3","_this3$asProps","_this3$valueParser","get","countDecimals","floor","toPrecision","componentDidMount","_this$valueInputRef$c","addEventListener","_this$asProps2","_this$valueParser","componentDidUpdate","prevProps","_this$valueParser2","componentWillUnmount","_this$valueInputRef$c2","removeEventListener","_ref2","_ref5","SValue","_this$asProps3","styles","forwardRef","Fragment","handleChange","handleKeyDown","handleKeyUp","handleClick","forkRef","isInteger","defaultValue","defaultDisplayValue","Controls","_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/core/lib/utils/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\n\nexport function parseValueWithMinMax(\n value,\n min = Number.MIN_SAFE_INTEGER,\n max = Number.MAX_SAFE_INTEGER,\n) {\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\n increment = (event) => {\n this.inputRef.current?.stepUp?.(event);\n };\n\n decrement = (event) => {\n this.inputRef.current?.stepDown?.(event);\n };\n\n getValueProps() {\n const numberFormatter = new Intl.NumberFormat(this.asProps.locale, { style: 'decimal' });\n\n return {\n inputRef: this.inputRef,\n increment: this.increment,\n decrement: this.decrement,\n numberFormatter,\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 style = style;\n static defaultProps = {\n defaultValue: '',\n defaultDisplayValue: '',\n step: 1,\n };\n\n valueInputRef = React.createRef();\n\n cursorPosition = -1;\n\n uncontrolledProps() {\n return {\n displayValue: null,\n value: [\n null,\n (newValue) => {\n const { value: prevValue, displayValue: prevDisplayValue } = this.asProps;\n\n const { parsedValue, displayValue } = this.valueParser(\n newValue,\n prevValue,\n prevDisplayValue,\n );\n\n this.handlers.displayValue(displayValue);\n\n return parsedValue;\n },\n ],\n };\n }\n\n get separatorDecimal() {\n const { numberFormatter } = this.props;\n\n return numberFormatter.format(11.11).replace(/\\d/g, '');\n }\n\n get separatorThousands() {\n const { numberFormatter } = this.props;\n\n return numberFormatter.format(1111).replace(/\\d/g, '');\n }\n\n getFormattedValue = (value) => {\n return value\n .replace(new RegExp(`[${this.separatorThousands}]`, 'g'), '')\n .replace(this.separatorDecimal, '.');\n };\n\n valueParser = (value, prevValue, prevDisplayValue) => {\n const { numberFormatter } = this.props;\n\n const stringNumber = this.getFormattedValue(String(value));\n\n if (Number.isNaN(Number(stringNumber))) {\n return {\n parsedValue: prevValue,\n displayValue: prevDisplayValue,\n };\n }\n\n let displayValue = '';\n\n if (/\\.[0-9]*0$/.test(stringNumber)) {\n const [int, decimal] = stringNumber.split(this.separatorDecimal);\n displayValue = numberFormatter.format(int) + this.separatorDecimal + decimal;\n } else if (stringNumber !== '') {\n displayValue = numberFormatter.format(stringNumber);\n }\n\n return {\n parsedValue: stringNumber,\n displayValue: displayValue,\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, displayValue, min, max, step } = this.asProps;\n const { parsedValue } = this.valueParser(event.currentTarget.value, value, displayValue);\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n\n if (Number.isNaN(value) || Number.isNaN(Number.parseFloat(parsedValue))) {\n event.currentTarget.value = '';\n this.handlers.value('', event);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(parsedValue), 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\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.valueInputRef.current?.addEventListener('wheel', this.onWheel);\n\n const { inputRef, value } = this.asProps;\n\n if (inputRef.current) {\n inputRef.current.stepUp = this.stepUp;\n inputRef.current.stepDown = this.stepDown;\n }\n\n if (value !== '') {\n const { displayValue } = this.valueParser(value, '', '');\n this.handlers.displayValue(displayValue);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n const { displayValue } = this.valueParser(\n this.props.value,\n prevProps.value,\n prevProps.displayValue,\n );\n this.handlers.displayValue(displayValue);\n }\n }\n\n componentWillUnmount() {\n this.valueInputRef.current?.removeEventListener('wheel', this.onWheel);\n }\n\n onWheel = (event) => {\n callAllEventHandlers(this.asProps.onWheel, this.handleWheel)(event);\n };\n\n handleWheel = (event) => {\n if (event.target !== this.valueInputRef.current) return;\n if (document.activeElement !== this.valueInputRef.current) return;\n event.preventDefault();\n if (event.wheelDelta > 0) {\n this.stepUp(event);\n } else if (event.wheelDelta < 0) {\n this.stepDown(event);\n }\n };\n\n handleChange = (event) => {\n const value = this.getFormattedValue(event.currentTarget.value);\n const { numberFormatter, value: prevValue } = this.asProps;\n\n if (value === '.' || value === '-') {\n this.handlers.displayValue(value);\n return false;\n }\n\n if (value.endsWith('-')) {\n return false;\n }\n\n if (value.endsWith('.')) {\n if (value.length > prevValue.length) {\n this.handlers.displayValue(numberFormatter.format(value) + this.separatorDecimal);\n return false;\n } else {\n this.handlers.value(value.slice(0, -1), event);\n return false;\n }\n }\n\n const digits = /[0-9.-]+/.test(value);\n\n if (digits || value === '') {\n this.handlers.value(value, event);\n }\n };\n\n handleKeyUp = (event) => {\n if (event.key === 'Shift') {\n this.cursorPosition = -1;\n }\n };\n\n handleKeyDown = (event) => {\n const element = event.currentTarget;\n const value = element.value;\n const length = value.length;\n const { displayValue } = this.asProps;\n\n if (event.key === '.' || event.key === ',') {\n // for the first decimal separator we should replace both ',' and '.' to '.' because of how js convert strings to numbers (with ',' it will be NaN)\n if (value.indexOf(this.separatorDecimal) === -1 && event.key === ',') {\n event.currentTarget.value = value + '.';\n }\n // we could press decimal separator second time - prevent this '1.5.'\n else if (value.indexOf(this.separatorDecimal) !== -1) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n }\n\n if (event.key === 'Backspace' && value.endsWith(this.separatorDecimal)) {\n event.preventDefault();\n event.stopPropagation();\n this.handlers.displayValue(displayValue.slice(0, -1));\n return false;\n }\n\n if (\n element.selectionStart !== length &&\n (event.key === 'Backspace' ||\n event.key === this.separatorDecimal ||\n ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(event.key))\n ) {\n const afterSelection = value.slice(element.selectionEnd);\n\n requestAnimationFrame(() => {\n const newValue = this.state.displayValue;\n const index = newValue.lastIndexOf(afterSelection);\n const selectionStart = index;\n const selectionEnd = index;\n\n element.setSelectionRange(selectionStart, selectionEnd);\n });\n }\n\n // For correct moving cursor with skip separatorThousands.\n // Examples:\n // - Press ArrowLeft: `12,3|4 -> 12|,34`\n // - Press ArrowRight: `1|,55 -> 1,5|5`\n const cursorIndex = 2;\n\n if (event.shiftKey && this.cursorPosition === -1) {\n this.cursorPosition = element.selectionStart;\n }\n\n switch (event.key) {\n case 'ArrowLeft': {\n event.preventDefault();\n this.moveSelectionLeft(element, cursorIndex);\n break;\n }\n case 'ArrowRight': {\n event.preventDefault();\n this.moveSelectionRight(element, cursorIndex);\n break;\n }\n case 'ArrowDown': {\n event.preventDefault();\n this.stepDown(event);\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n this.stepUp(event);\n break;\n }\n }\n };\n\n moveSelectionLeft = (element, cursorIndex) => {\n const value = element.value;\n const nextPosition = element.selectionStart - 1 >= 0 ? element.selectionStart - 1 : 0;\n\n const cursorPosition =\n value[element.selectionStart - cursorIndex] === this.separatorThousands\n ? element.selectionStart - cursorIndex\n : nextPosition;\n\n if (this.cursorPosition === -1) {\n // without shift\n element.setSelectionRange(cursorPosition, cursorPosition);\n } else {\n if (\n element.selectionStart <= this.cursorPosition &&\n element.selectionEnd === this.cursorPosition\n ) {\n element.setSelectionRange(cursorPosition, element.selectionEnd);\n } else {\n element.setSelectionRange(\n element.selectionStart,\n value[element.selectionEnd - cursorIndex] === this.separatorThousands\n ? element.selectionEnd - cursorIndex\n : element.selectionEnd - 1,\n );\n }\n }\n };\n\n moveSelectionRight = (element, cursorIndex) => {\n const value = element.value;\n const nextPosition = element.selectionEnd + 1;\n\n const cursorPosition =\n value[element.selectionEnd] === this.separatorThousands\n ? element.selectionEnd + cursorIndex\n : nextPosition;\n\n if (this.cursorPosition === -1) {\n // without shift\n element.setSelectionRange(cursorPosition, cursorPosition);\n } else {\n if (\n element.selectionEnd >= this.cursorPosition &&\n element.selectionStart === this.cursorPosition\n ) {\n element.setSelectionRange(element.selectionStart, cursorPosition);\n } else {\n element.setSelectionRange(\n value[element.selectionStart] === this.separatorThousands\n ? element.selectionStart + cursorIndex\n : element.selectionStart + 1,\n element.selectionEnd,\n );\n }\n }\n };\n\n handleClick = (event) => {\n const element = event.target;\n const value = element.value;\n\n if (value[element.selectionStart - 1] === this.separatorThousands) {\n element.setSelectionRange(element.selectionStart - 1, element.selectionEnd - 1);\n }\n };\n\n handleBlur = (event) => {\n this.cursorPosition = -1;\n this.handleValidation(event);\n };\n\n stepUp = (event) => {\n const { max = Number.MAX_SAFE_INTEGER, min, step, value } = this.asProps;\n\n let numberValue;\n\n // https://stackoverflow.com/questions/68010124/safari-number-input-stepup-stepdown-not-functioning-with-empty-value\n if (value === '') {\n numberValue = min ?? 0;\n } else {\n numberValue = Number.parseFloat(value);\n }\n\n if (!Number.isNaN(numberValue)) {\n const newValue = numberValue + step <= max ? numberValue + step : max;\n\n this.handlers.value(newValue.toString(), event);\n }\n };\n\n stepDown = (event) => {\n const { max, min = Number.MIN_SAFE_INTEGER, step, value } = this.asProps;\n\n let numberValue;\n\n if (value === '') {\n numberValue = max ?? 0;\n } else {\n numberValue = Number.parseFloat(value);\n }\n\n if (!Number.isNaN(numberValue)) {\n const newValue = numberValue - step >= min ? numberValue - step : min;\n\n this.handlers.value(newValue.toString(), event);\n }\n };\n\n render() {\n const SValue = Root;\n const { styles, min, max, step, forwardRef, inputRef, displayValue } = this.asProps;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n autoComplete='off'\n onBlur={this.handleValidation}\n use:onChange={this.handleChange}\n onKeyDown={this.handleKeyDown}\n onKeyUp={this.handleKeyUp}\n onClick={this.handleClick}\n use:ref={forkRef(this.valueInputRef, inputRef, forwardRef)}\n use:value={displayValue}\n inputMode={Number.isInteger(step) ? 'numeric' : 'decimal'}\n min={min}\n max={max}\n step={step}\n />\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}\nControls.style = style;\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","require","_assignProps4","_i18nEnhance","_interopRequireDefault","_ref7","_input","_react","_buttons","_intergalacticDynamicLocales","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct2","Reflect","construct","constructor","apply","style","sstyled","insert","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","InputNumber","_Component","_this","_classCallCheck2","_len","args","Array","_key","concat","_defineProperty2","React","createRef","event","_this$inputRef$curren","_this$inputRef$curren2","inputRef","current","stepUp","call","_this$inputRef$curren3","_this$inputRef$curren4","stepDown","_inherits2","_createClass2","key","getValueProps","numberFormatter","Intl","NumberFormat","asProps","locale","increment","decrement","getControlsProps","_this$asProps","size","getI18nText","render","_ref","_ref4","SInputNumber","Input","createElement","cn","_objectSpread2","assignProps","Component","i18nEnhance","localizedMessages","i18n","Value","_Component2","_this2","_len2","_key2","replace","RegExp","separatorThousands","separatorDecimal","prevValue","prevDisplayValue","props","stringNumber","getFormattedValue","String","isNaN","parsedValue","displayValue","test","_stringNumber$split","split","_stringNumber$split2","_slicedToArray2","int","decimal","format","_this2$asProps","step","_this2$valueParser","valueParser","currentTarget","roundCoefficient","toString","parseFloat","handlers","numberValue","rounded","round","abs","numberValueRounded","toFixed","callAllEventHandlers","onWheel","handleWheel","target","valueInputRef","document","activeElement","preventDefault","wheelDelta","_this2$asProps2","endsWith","slice","digits","cursorPosition","element","indexOf","stopPropagation","selectionStart","includes","afterSelection","selectionEnd","requestAnimationFrame","newValue","state","index","lastIndexOf","setSelectionRange","cursorIndex","shiftKey","moveSelectionLeft","moveSelectionRight","nextPosition","handleValidation","_this2$asProps3","_this2$asProps3$max","_this2$asProps4","_this2$asProps4$min","uncontrolledProps","_this3","_this3$asProps","_this3$valueParser","get","countDecimals","floor","toPrecision","componentDidMount","_this$valueInputRef$c","addEventListener","_this$asProps2","_this$valueParser","componentDidUpdate","prevProps","_this$valueParser2","componentWillUnmount","_this$valueInputRef$c2","removeEventListener","_ref2","_ref5","SValue","_this$asProps3","styles","forwardRef","Fragment","handleChange","handleKeyDown","handleKeyUp","handleClick","forkRef","isInteger","defaultValue","defaultDisplayValue","Controls","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","IncrementIcon","DecrementIcon","_default","exports","createComponent"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import { Component, createComponent, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport Input from '@semcore/input';\nimport React from 'react';\n\nimport { DecrementIcon, IncrementIcon } from './buttons';\nimport style from './style/input-number.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nexport function parseValueWithMinMax(\n value,\n min = Number.MIN_SAFE_INTEGER,\n max = Number.MAX_SAFE_INTEGER,\n) {\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\n increment = (event) => {\n this.inputRef.current?.stepUp?.(event);\n };\n\n decrement = (event) => {\n this.inputRef.current?.stepDown?.(event);\n };\n\n getValueProps() {\n const numberFormatter = new Intl.NumberFormat(this.asProps.locale, { style: 'decimal' });\n\n return {\n inputRef: this.inputRef,\n increment: this.increment,\n decrement: this.decrement,\n numberFormatter,\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 style = style;\n static defaultProps = {\n defaultValue: '',\n defaultDisplayValue: '',\n step: 1,\n };\n\n valueInputRef = React.createRef();\n\n cursorPosition = -1;\n\n uncontrolledProps() {\n return {\n displayValue: null,\n value: [\n null,\n (newValue) => {\n const { value: prevValue, displayValue: prevDisplayValue } = this.asProps;\n\n const { parsedValue, displayValue } = this.valueParser(\n newValue,\n prevValue,\n prevDisplayValue,\n );\n\n this.handlers.displayValue(displayValue);\n\n return parsedValue;\n },\n ],\n };\n }\n\n get separatorDecimal() {\n const { numberFormatter } = this.props;\n\n return numberFormatter.format(11.11).replace(/\\d/g, '');\n }\n\n get separatorThousands() {\n const { numberFormatter } = this.props;\n\n return numberFormatter.format(1111).replace(/\\d/g, '');\n }\n\n getFormattedValue = (value) => {\n return value\n .replace(new RegExp(`[${this.separatorThousands}]`, 'g'), '')\n .replace(this.separatorDecimal, '.');\n };\n\n valueParser = (value, prevValue, prevDisplayValue) => {\n const { numberFormatter } = this.props;\n\n const stringNumber = this.getFormattedValue(String(value));\n\n if (Number.isNaN(Number(stringNumber))) {\n return {\n parsedValue: prevValue,\n displayValue: prevDisplayValue,\n };\n }\n\n let displayValue = '';\n\n if (/\\.[0-9]*0$/.test(stringNumber)) {\n const [int, decimal] = stringNumber.split(this.separatorDecimal);\n displayValue = numberFormatter.format(int) + this.separatorDecimal + decimal;\n } else if (stringNumber !== '') {\n displayValue = numberFormatter.format(stringNumber);\n }\n\n return {\n parsedValue: stringNumber,\n displayValue: displayValue,\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, displayValue, min, max, step } = this.asProps;\n const { parsedValue } = this.valueParser(event.currentTarget.value, value, displayValue);\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n\n if (Number.isNaN(value) || Number.isNaN(Number.parseFloat(parsedValue))) {\n event.currentTarget.value = '';\n this.handlers.value('', event);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(parsedValue), 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\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.valueInputRef.current?.addEventListener('wheel', this.onWheel);\n\n const { inputRef, value } = this.asProps;\n\n if (inputRef.current) {\n inputRef.current.stepUp = this.stepUp;\n inputRef.current.stepDown = this.stepDown;\n }\n\n if (value !== '') {\n const { displayValue } = this.valueParser(value, '', '');\n this.handlers.displayValue(displayValue);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n const { displayValue } = this.valueParser(\n this.props.value,\n prevProps.value,\n prevProps.displayValue,\n );\n this.handlers.displayValue(displayValue);\n }\n }\n\n componentWillUnmount() {\n this.valueInputRef.current?.removeEventListener('wheel', this.onWheel);\n }\n\n onWheel = (event) => {\n callAllEventHandlers(this.asProps.onWheel, this.handleWheel)(event);\n };\n\n handleWheel = (event) => {\n if (event.target !== this.valueInputRef.current) return;\n if (document.activeElement !== this.valueInputRef.current) return;\n event.preventDefault();\n if (event.wheelDelta > 0) {\n this.stepUp(event);\n } else if (event.wheelDelta < 0) {\n this.stepDown(event);\n }\n };\n\n handleChange = (event) => {\n const value = this.getFormattedValue(event.currentTarget.value);\n const { numberFormatter, value: prevValue } = this.asProps;\n\n if (value === '.' || value === '-') {\n this.handlers.displayValue(value);\n return false;\n }\n\n if (value.endsWith('-')) {\n return false;\n }\n\n if (value.endsWith('.')) {\n if (value.length > prevValue.length) {\n this.handlers.displayValue(numberFormatter.format(value) + this.separatorDecimal);\n return false;\n } else {\n this.handlers.value(value.slice(0, -1), event);\n return false;\n }\n }\n\n const digits = /[0-9.-]+/.test(value);\n\n if (digits || value === '') {\n this.handlers.value(value, event);\n }\n };\n\n handleKeyUp = (event) => {\n if (event.key === 'Shift') {\n this.cursorPosition = -1;\n }\n };\n\n handleKeyDown = (event) => {\n const element = event.currentTarget;\n const value = element.value;\n const length = value.length;\n const { displayValue } = this.asProps;\n\n if (event.key === '.' || event.key === ',') {\n // for the first decimal separator we should replace both ',' and '.' to '.' because of how js convert strings to numbers (with ',' it will be Number.NaN)\n if (value.indexOf(this.separatorDecimal) === -1 && event.key === ',') {\n event.currentTarget.value = value + '.';\n } else if (value.indexOf(this.separatorDecimal) !== -1) { // we could press decimal separator second time - prevent this '1.5.'\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n }\n\n if (event.key === 'Backspace' && value.endsWith(this.separatorDecimal)) {\n event.preventDefault();\n event.stopPropagation();\n this.handlers.displayValue(displayValue.slice(0, -1));\n return false;\n }\n\n if (\n element.selectionStart !== length &&\n (event.key === 'Backspace' ||\n event.key === this.separatorDecimal ||\n ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(event.key))\n ) {\n const afterSelection = value.slice(element.selectionEnd);\n\n requestAnimationFrame(() => {\n const newValue = this.state.displayValue;\n const index = newValue.lastIndexOf(afterSelection);\n const selectionStart = index;\n const selectionEnd = index;\n\n element.setSelectionRange(selectionStart, selectionEnd);\n });\n }\n\n // For correct moving cursor with skip separatorThousands.\n // Examples:\n // - Press ArrowLeft: `12,3|4 -> 12|,34`\n // - Press ArrowRight: `1|,55 -> 1,5|5`\n const cursorIndex = 2;\n\n if (event.shiftKey && this.cursorPosition === -1) {\n this.cursorPosition = element.selectionStart;\n }\n\n switch (event.key) {\n case 'ArrowLeft': {\n event.preventDefault();\n this.moveSelectionLeft(element, cursorIndex);\n break;\n }\n case 'ArrowRight': {\n event.preventDefault();\n this.moveSelectionRight(element, cursorIndex);\n break;\n }\n case 'ArrowDown': {\n event.preventDefault();\n this.stepDown(event);\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n this.stepUp(event);\n break;\n }\n }\n };\n\n moveSelectionLeft = (element, cursorIndex) => {\n const value = element.value;\n const nextPosition = element.selectionStart - 1 >= 0 ? element.selectionStart - 1 : 0;\n\n const cursorPosition =\n value[element.selectionStart - cursorIndex] === this.separatorThousands\n ? element.selectionStart - cursorIndex\n : nextPosition;\n\n if (this.cursorPosition === -1) {\n // without shift\n element.setSelectionRange(cursorPosition, cursorPosition);\n } else {\n if (\n element.selectionStart <= this.cursorPosition &&\n element.selectionEnd === this.cursorPosition\n ) {\n element.setSelectionRange(cursorPosition, element.selectionEnd);\n } else {\n element.setSelectionRange(\n element.selectionStart,\n value[element.selectionEnd - cursorIndex] === this.separatorThousands\n ? element.selectionEnd - cursorIndex\n : element.selectionEnd - 1,\n );\n }\n }\n };\n\n moveSelectionRight = (element, cursorIndex) => {\n const value = element.value;\n const nextPosition = element.selectionEnd + 1;\n\n const cursorPosition =\n value[element.selectionEnd] === this.separatorThousands\n ? element.selectionEnd + cursorIndex\n : nextPosition;\n\n if (this.cursorPosition === -1) {\n // without shift\n element.setSelectionRange(cursorPosition, cursorPosition);\n } else {\n if (\n element.selectionEnd >= this.cursorPosition &&\n element.selectionStart === this.cursorPosition\n ) {\n element.setSelectionRange(element.selectionStart, cursorPosition);\n } else {\n element.setSelectionRange(\n value[element.selectionStart] === this.separatorThousands\n ? element.selectionStart + cursorIndex\n : element.selectionStart + 1,\n element.selectionEnd,\n );\n }\n }\n };\n\n handleClick = (event) => {\n const element = event.target;\n const value = element.value;\n\n if (value[element.selectionStart - 1] === this.separatorThousands) {\n element.setSelectionRange(element.selectionStart - 1, element.selectionEnd - 1);\n }\n };\n\n handleBlur = (event) => {\n this.cursorPosition = -1;\n this.handleValidation(event);\n };\n\n stepUp = (event) => {\n const { max = Number.MAX_SAFE_INTEGER, min, step, value } = this.asProps;\n\n let numberValue;\n\n // https://stackoverflow.com/questions/68010124/safari-number-input-stepup-stepdown-not-functioning-with-empty-value\n if (value === '') {\n numberValue = min ?? 0;\n } else {\n numberValue = Number.parseFloat(value);\n }\n\n if (!Number.isNaN(numberValue)) {\n const newValue = numberValue + step <= max ? numberValue + step : max;\n\n this.handlers.value(newValue.toString(), event);\n }\n };\n\n stepDown = (event) => {\n const { max, min = Number.MIN_SAFE_INTEGER, step, value } = this.asProps;\n\n let numberValue;\n\n if (value === '') {\n numberValue = max ?? 0;\n } else {\n numberValue = Number.parseFloat(value);\n }\n\n if (!Number.isNaN(numberValue)) {\n const newValue = numberValue - step >= min ? numberValue - step : min;\n\n this.handlers.value(newValue.toString(), event);\n }\n };\n\n render() {\n const SValue = Root;\n const { styles, min, max, step, forwardRef, inputRef, displayValue } = this.asProps;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n autoComplete='off'\n onBlur={this.handleValidation}\n use:onChange={this.handleChange}\n onKeyDown={this.handleKeyDown}\n onKeyUp={this.handleKeyUp}\n onClick={this.handleClick}\n use:ref={forkRef(this.valueInputRef, inputRef, forwardRef)}\n use:value={displayValue}\n inputMode={Number.isInteger(step) ? 'numeric' : 'decimal'}\n min={min}\n max={max}\n step={step}\n />\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}\nControls.style = style;\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,31 +1,29 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.IncrementIcon = exports.DecrementIcon = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- var IncrementIcon = function IncrementIcon() {
9
+ var IncrementIcon = exports.IncrementIcon = function IncrementIcon() {
10
10
  return /*#__PURE__*/_react["default"].createElement("svg", {
11
11
  fill: "currentColor",
12
12
  width: "10",
13
13
  height: "5",
14
14
  viewBox: "0 0 10 5"
15
15
  }, /*#__PURE__*/_react["default"].createElement("path", {
16
- d: 'M0,5l5,-5l5,5Z'
16
+ d: "M0,5l5,-5l5,5Z"
17
17
  }));
18
18
  };
19
- exports.IncrementIcon = IncrementIcon;
20
- var DecrementIcon = function DecrementIcon() {
19
+ var DecrementIcon = exports.DecrementIcon = function DecrementIcon() {
21
20
  return /*#__PURE__*/_react["default"].createElement("svg", {
22
21
  fill: "currentColor",
23
22
  width: "10",
24
23
  height: "5",
25
24
  viewBox: "0 0 10 5"
26
25
  }, /*#__PURE__*/_react["default"].createElement("path", {
27
- d: 'M0,0l10,0l-5,5Z'
26
+ d: "M0,0l10,0l-5,5Z"
28
27
  }));
29
28
  };
30
- exports.DecrementIcon = DecrementIcon;
31
29
  //# sourceMappingURL=buttons.js.map
@@ -1 +1 @@
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,EAAE;EAAiB,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,EAAE;EAAkB,EAAG,CAC1B;AAAA,CACP;AAACC,OAAA,CAAAC,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"file":"buttons.js","names":["_react","_interopRequireDefault","require","IncrementIcon","exports","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAA;EAAA,oBACxBH,MAAA,YAAAK,aAAA;IAAKC,IAAI,EAAC,cAAc;IAACC,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,GAAG;IAACC,OAAO,EAAC;EAAU,gBAC/DT,MAAA,YAAAK,aAAA;IAAMK,CAAC,EAAC;EAAgB,CAAE,CACvB,CAAC;AAAA,CACP;AACM,IAAMC,aAAa,GAAAP,OAAA,CAAAO,aAAA,GAAG,SAAhBA,aAAaA,CAAA;EAAA,oBACxBX,MAAA,YAAAK,aAAA;IAAKC,IAAI,EAAC,cAAc;IAACC,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,GAAG;IAACC,OAAO,EAAC;EAAU,gBAC/DT,MAAA,YAAAK,aAAA;IAAMK,CAAC,EAAC;EAAiB,CAAE,CACxB,CAAC;AAAA,CACP","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { Intergalactic, PropGetterFn, UnknownProperties } from '@semcore/core';\nimport { InputAddonProps, InputProps, InputValueProps } from '@semcore/input';\n\nexport type InputNumberValue = string;\nexport type InputNumberSize = 'm' | 'l';\n\n/** @deprecated */\nexport interface IInputNumberProps extends InputNumberProps, UnknownProperties {}\nexport type InputNumberProps = InputProps & {\n /** Input size\n * @default m\n * */\n size?: InputNumberSize;\n /**\n * Locale value\n */\n locale?: string;\n};\n\n/** @deprecated */\nexport interface IInputNumberValueProps extends InputNumberValueProps, UnknownProperties {}\nexport type InputNumberValueProps = InputValueProps & {\n /** Minimum value\n * @default Number.MIN_SAFE_INTEGER\n */\n min?: number;\n /** Maximum value\n * @default Number.MAX_SAFE_INTEGER\n */\n max?: number;\n /** Value change step\n * @default 1\n */\n step?: number;\n /** Numeric value */\n value?: InputNumberValue;\n /** Called when the input value changes, it returns its current value in numeric format */\n onChange?: (value: InputNumberValue, event?: React.SyntheticEvent<HTMLInputElement>) => void;\n};\n\n/** @deprecated */\nexport interface IInputNumberControlsProps extends InputNumberControlsProps, UnknownProperties {}\nexport type InputNumberControlsProps = InputAddonProps & {\n /** Always displays controls (steppers)\n * @default false\n */\n showControls?: boolean;\n};\n\n/** @deprecated */\nexport interface IInputNumberCtx extends InputNumberCtx, UnknownProperties {}\nexport type InputNumberCtx = {\n getValueProps: PropGetterFn;\n getControlsProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const InputNumber: Intergalactic.Component<'div', InputNumberProps, InputNumberCtx> & {\n Value: Intergalactic.Component<'input', InputNumberValueProps>;\n Controls: Intergalactic.Component<'div', InputNumberControlsProps>;\n Addon: Intergalactic.Component<'div', InputAddonProps>;\n};\n\nexport default InputNumber;\n\ndeclare const IncrementIcon: React.FC;\ndeclare const DecrementIcon: React.FC;\ndeclare const parseValueWithMinMax: (value: number, min?: number, max?: number) => number;\n\nexport { IncrementIcon, DecrementIcon, parseValueWithMinMax };\n"],"mappings":""}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { Intergalactic, PropGetterFn, UnknownProperties } from '@semcore/core';\nimport type { InputAddonProps, InputProps, InputValueProps } from '@semcore/input';\nimport type React from 'react';\n\nexport type InputNumberValue = string;\nexport type InputNumberSize = 'm' | 'l';\n\n/** @deprecated */\nexport interface IInputNumberProps extends InputNumberProps, UnknownProperties {}\nexport type InputNumberProps = InputProps & {\n /** Input size\n * @default m\n * */\n size?: InputNumberSize;\n /**\n * Locale value\n */\n locale?: string;\n};\n\n/** @deprecated */\nexport interface IInputNumberValueProps extends InputNumberValueProps, UnknownProperties {}\nexport type InputNumberValueProps = InputValueProps & {\n /** Minimum value\n * @default Number.MIN_SAFE_INTEGER\n */\n min?: number;\n /** Maximum value\n * @default Number.MAX_SAFE_INTEGER\n */\n max?: number;\n /** Value change step\n * @default 1\n */\n step?: number;\n /** Numeric value */\n value?: InputNumberValue;\n /** Called when the input value changes, it returns its current value in numeric format */\n onChange?: (value: InputNumberValue, event?: React.SyntheticEvent<HTMLInputElement>) => void;\n};\n\n/** @deprecated */\nexport interface IInputNumberControlsProps extends InputNumberControlsProps, UnknownProperties {}\nexport type InputNumberControlsProps = InputAddonProps & {\n /** Always displays controls (steppers)\n * @default false\n */\n showControls?: boolean;\n};\n\n/** @deprecated */\nexport interface IInputNumberCtx extends InputNumberCtx, UnknownProperties {}\nexport type InputNumberCtx = {\n getValueProps: PropGetterFn;\n getControlsProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const InputNumber: Intergalactic.Component<'div', InputNumberProps, InputNumberCtx> & {\n Value: Intergalactic.Component<'input', InputNumberValueProps>;\n Controls: Intergalactic.Component<'div', InputNumberControlsProps>;\n Addon: Intergalactic.Component<'div', InputAddonProps>;\n};\n\nexport default InputNumber;\n\ndeclare const IncrementIcon: React.FC;\ndeclare const DecrementIcon: React.FC;\ndeclare const parseValueWithMinMax: (value: number, min?: number, max?: number) => number;\n\nexport { IncrementIcon, DecrementIcon, parseValueWithMinMax };\n"],"mappings":"","ignoreList":[]}
package/lib/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_InputNumber","_interopRequireWildcard","require","_buttons"],"sources":["../../src/index.js"],"sourcesContent":["export { default, parseValueWithMinMax } from './InputNumber';\nexport { IncrementIcon, DecrementIcon } from './buttons';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_InputNumber","_interopRequireWildcard","require","_buttons"],"sources":["../../src/index.js"],"sourcesContent":["export { default, parseValueWithMinMax } from './InputNumber';\nexport { IncrementIcon, DecrementIcon } from './buttons';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA","ignoreList":[]}