@synerise/ds-input-number 0.10.14 → 0.10.16

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
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.10.16](https://github.com/Synerise/synerise-design/compare/@synerise/ds-input-number@0.10.15...@synerise/ds-input-number@0.10.16) (2024-11-28)
7
+
8
+ **Note:** Version bump only for package @synerise/ds-input-number
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.10.15](https://github.com/Synerise/synerise-design/compare/@synerise/ds-input-number@0.10.14...@synerise/ds-input-number@0.10.15) (2024-11-21)
15
+
16
+ **Note:** Version bump only for package @synerise/ds-input-number
17
+
18
+
19
+
20
+
21
+
6
22
  ## [0.10.14](https://github.com/Synerise/synerise-design/compare/@synerise/ds-input-number@0.10.13...@synerise/ds-input-number@0.10.14) (2024-11-12)
7
23
 
8
24
  **Note:** Version bump only for package @synerise/ds-input-number
@@ -1,9 +1,6 @@
1
1
  var _excluded = ["label", "description", "errorText", "raw", "error", "prefixel", "suffixel", "style", "tooltip", "tooltipConfig", "value", "defaultValue", "valueFormatOptions", "onChange"];
2
-
3
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
-
5
3
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
6
-
7
4
  import React, { useState, useCallback, useMemo, useEffect } from 'react';
8
5
  import { v4 as uuid } from 'uuid';
9
6
  import '@synerise/ds-core/dist/js/style';
@@ -12,38 +9,34 @@ import { useDataFormat } from '@synerise/ds-data-format';
12
9
  import "./style/index.css";
13
10
  import * as S from './InputNumber.styles';
14
11
  import { formatNumber, parseFormattedNumber } from './utils/inputNumber.utils';
15
-
16
12
  var InputNumber = function InputNumber(_ref) {
17
13
  var label = _ref.label,
18
- description = _ref.description,
19
- errorText = _ref.errorText,
20
- raw = _ref.raw,
21
- error = _ref.error,
22
- prefixel = _ref.prefixel,
23
- suffixel = _ref.suffixel,
24
- style = _ref.style,
25
- tooltip = _ref.tooltip,
26
- tooltipConfig = _ref.tooltipConfig,
27
- value = _ref.value,
28
- defaultValue = _ref.defaultValue,
29
- valueFormatOptions = _ref.valueFormatOptions,
30
- onChange = _ref.onChange,
31
- antdProps = _objectWithoutPropertiesLoose(_ref, _excluded);
32
-
14
+ description = _ref.description,
15
+ errorText = _ref.errorText,
16
+ raw = _ref.raw,
17
+ error = _ref.error,
18
+ prefixel = _ref.prefixel,
19
+ suffixel = _ref.suffixel,
20
+ style = _ref.style,
21
+ tooltip = _ref.tooltip,
22
+ tooltipConfig = _ref.tooltipConfig,
23
+ value = _ref.value,
24
+ defaultValue = _ref.defaultValue,
25
+ valueFormatOptions = _ref.valueFormatOptions,
26
+ onChange = _ref.onChange,
27
+ antdProps = _objectWithoutPropertiesLoose(_ref, _excluded);
33
28
  var _useDataFormat = useDataFormat(),
34
- formatValue = _useDataFormat.formatValue,
35
- thousandDelimiter = _useDataFormat.thousandDelimiter,
36
- decimalDelimiter = _useDataFormat.decimalDelimiter;
37
-
29
+ formatValue = _useDataFormat.formatValue,
30
+ thousandDelimiter = _useDataFormat.thousandDelimiter,
31
+ decimalDelimiter = _useDataFormat.decimalDelimiter;
38
32
  var _useState = useState(value != null ? value : defaultValue),
39
- localValue = _useState[0],
40
- setLocalValue = _useState[1];
41
-
33
+ localValue = _useState[0],
34
+ setLocalValue = _useState[1];
42
35
  useEffect(function () {
43
36
  if (value !== undefined && value !== localValue) {
44
37
  setLocalValue(value);
45
- } // eslint-disable-next-line react-hooks/exhaustive-deps
46
-
38
+ }
39
+ // eslint-disable-next-line react-hooks/exhaustive-deps
47
40
  }, [value]);
48
41
  var id = useMemo(function () {
49
42
  return uuid();
@@ -86,5 +79,4 @@ var InputNumber = function InputNumber(_ref) {
86
79
  decimalSeparator: decimalDelimiter
87
80
  })), !!suffixel && /*#__PURE__*/React.createElement(S.Suffixel, null, suffixel)), (showError || description) && !raw && /*#__PURE__*/React.createElement(S.ContentBelow, null, showError && /*#__PURE__*/React.createElement(S.ErrorText, null, errorText), description && /*#__PURE__*/React.createElement(S.Description, null, description)));
88
81
  };
89
-
90
82
  export default InputNumber;
@@ -1,31 +1,23 @@
1
1
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
2
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
3
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
4
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
8
-
9
5
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
+ import { MAXIMUM_FRACTION_DIGITS, MAXIMUM_NUMBER_DIGITS, NUMBER_DELIMITER } from '../constants/inputNumber.constants';
10
7
 
11
- import { MAXIMUM_FRACTION_DIGITS, MAXIMUM_NUMBER_DIGITS, NUMBER_DELIMITER } from '../constants/inputNumber.constants'; // input case 1: not formatted number string (on input change)
8
+ // input case 1: not formatted number string (on input change)
12
9
  // input case 2: not formatted number (on blur)
13
10
  // output: formatted number string with decimal char
14
-
15
11
  export var formatNumber = function formatNumber(value, formatValue, notationThousandDelimiter, notationDecimalDelimiter, valueFormatOptions) {
16
12
  var _value$match, _value$match2;
17
-
18
13
  if (value === undefined || value === '' || value === null) return '';
19
14
  if (value === '-') return '-';
20
-
21
15
  var formatOptions = _objectSpread({
22
16
  maximumFractionDigits: MAXIMUM_FRACTION_DIGITS
23
17
  }, valueFormatOptions);
24
-
25
18
  if (typeof value === 'number') {
26
19
  return formatValue(value, formatOptions);
27
20
  }
28
-
29
21
  var result = '';
30
22
  var lastChar = value == null ? void 0 : value.slice(-1);
31
23
  var numberResult = parseFloat(value);
@@ -33,44 +25,36 @@ export var formatNumber = function formatNumber(value, formatValue, notationThou
33
25
  var zerosAtTheEnd = (_value$match = value.match(new RegExp('0+$'))) == null ? void 0 : _value$match[0];
34
26
  var zerosWithDecimalDelimiterAtTheEnd = (_value$match2 = value.match(new RegExp("\\" + NUMBER_DELIMITER + "0+$"))) == null ? void 0 : _value$match2[0];
35
27
  var numberDelimiterExists = new RegExp("\\" + NUMBER_DELIMITER).test(value);
36
-
37
28
  if (Number.isNaN(numberResult)) {
38
29
  return '';
39
30
  }
40
-
41
31
  result = formatValue(numberResult, formatOptions);
42
32
  result = "" + result + notationDecimalChar;
43
-
44
33
  if (zerosWithDecimalDelimiterAtTheEnd) {
45
34
  result = "" + result + zerosWithDecimalDelimiterAtTheEnd;
46
35
  } else if (zerosAtTheEnd && numberDelimiterExists) {
47
36
  result = "" + result + zerosAtTheEnd;
48
37
  }
49
-
50
38
  return result;
51
- }; // input: formatted number string
52
- // output: not formatted number string with decimal char
39
+ };
53
40
 
41
+ // input: formatted number string
42
+ // output: not formatted number string with decimal char
54
43
  export var parseFormattedNumber = function parseFormattedNumber(value, formatValue, notationThousandDelimiter, notationDecimalDelimiter) {
55
44
  if (value === undefined || value === '') {
56
45
  return '';
57
46
  }
58
-
59
47
  var result = value;
60
48
  result = result.split(notationThousandDelimiter).join('');
61
-
62
49
  if (result.length > MAXIMUM_NUMBER_DIGITS) {
63
50
  result = result.slice(0, MAXIMUM_NUMBER_DIGITS);
64
51
  }
65
-
66
52
  if (notationDecimalDelimiter !== NUMBER_DELIMITER) {
67
53
  result = result.replace(notationDecimalDelimiter, NUMBER_DELIMITER);
68
54
  }
69
-
70
55
  if ((result.match(new RegExp("\\" + NUMBER_DELIMITER, 'g')) || []).length > 1) {
71
56
  var lastDecimalDelimiterIndex = result.lastIndexOf(NUMBER_DELIMITER);
72
57
  result = result.slice(0, lastDecimalDelimiterIndex);
73
58
  }
74
-
75
59
  return result;
76
60
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synerise/ds-input-number",
3
- "version": "0.10.14",
3
+ "version": "0.10.16",
4
4
  "description": "Input-Number UI Component for the Synerise Design System",
5
5
  "license": "ISC",
6
6
  "repository": "Synerise/synerise-design",
@@ -34,10 +34,10 @@
34
34
  ],
35
35
  "types": "dist/index.d.ts",
36
36
  "dependencies": {
37
- "@synerise/ds-data-format": "^0.6.0",
38
- "@synerise/ds-input": "^0.24.13",
39
- "@synerise/ds-tooltip": "^0.14.48",
40
- "@synerise/ds-utils": "^0.31.1",
37
+ "@synerise/ds-data-format": "^0.6.1",
38
+ "@synerise/ds-input": "^0.24.15",
39
+ "@synerise/ds-tooltip": "^0.14.50",
40
+ "@synerise/ds-utils": "^0.31.2",
41
41
  "uuid": "^8.3.2"
42
42
  },
43
43
  "peerDependencies": {
@@ -46,5 +46,5 @@
46
46
  "react": ">=16.9.0 <= 17.0.2",
47
47
  "styled-components": "5.0.1"
48
48
  },
49
- "gitHead": "8d26191fc0475407e0691b9b183761ad3cd7c87d"
49
+ "gitHead": "4a56ee7ef816c22341ce704154dc7aa65b7d1dcc"
50
50
  }