@salutejs/plasma-new-hope 0.239.0-canary.1696.12711678920.0 → 0.239.0-canary.1699.12748300760.0

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.
Files changed (136) hide show
  1. package/cjs/components/Avatar/Avatar.js +3 -39
  2. package/cjs/components/Avatar/Avatar.js.map +1 -1
  3. package/cjs/components/Avatar/Avatar.styles.js +1 -32
  4. package/cjs/components/Avatar/Avatar.styles.js.map +1 -1
  5. package/cjs/components/Avatar/Avatar.styles_1gd252x.css +5 -0
  6. package/cjs/components/Avatar/Avatar.tokens.js +2 -41
  7. package/cjs/components/Avatar/Avatar.tokens.js.map +1 -1
  8. package/cjs/components/NumberInput/NumberInput.js +10 -3
  9. package/cjs/components/NumberInput/NumberInput.js.map +1 -1
  10. package/cjs/components/NumberInput/ui/Input/Input.js +16 -7
  11. package/cjs/components/NumberInput/ui/Input/Input.js.map +1 -1
  12. package/cjs/components/NumberInput/utils/index.js +10 -0
  13. package/cjs/components/NumberInput/utils/index.js.map +1 -1
  14. package/cjs/index.css +5 -8
  15. package/emotion/cjs/components/Avatar/Avatar.js +4 -39
  16. package/emotion/cjs/components/Avatar/Avatar.styles.js +10 -29
  17. package/emotion/cjs/components/Avatar/Avatar.template-doc.mdx +0 -54
  18. package/emotion/cjs/components/Avatar/Avatar.tokens.js +2 -41
  19. package/emotion/cjs/components/Avatar/utils/index.js +1 -15
  20. package/emotion/cjs/components/NumberInput/NumberInput.js +10 -3
  21. package/emotion/cjs/components/NumberInput/ui/Input/Input.js +16 -7
  22. package/emotion/cjs/components/NumberInput/utils/index.js +11 -2
  23. package/emotion/cjs/examples/plasma_b2c/components/Avatar/Avatar.config.js +7 -25
  24. package/emotion/cjs/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +1 -134
  25. package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
  26. package/emotion/cjs/examples/plasma_web/components/Avatar/Avatar.config.js +7 -25
  27. package/emotion/cjs/examples/plasma_web/components/Avatar/Avatar.stories.tsx +1 -134
  28. package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
  29. package/emotion/es/components/Avatar/Avatar.js +6 -41
  30. package/emotion/es/components/Avatar/Avatar.styles.js +10 -29
  31. package/emotion/es/components/Avatar/Avatar.template-doc.mdx +0 -54
  32. package/emotion/es/components/Avatar/Avatar.tokens.js +2 -41
  33. package/emotion/es/components/Avatar/utils/index.js +1 -14
  34. package/emotion/es/components/NumberInput/NumberInput.js +10 -3
  35. package/emotion/es/components/NumberInput/ui/Input/Input.js +17 -8
  36. package/emotion/es/components/NumberInput/utils/index.js +10 -1
  37. package/emotion/es/examples/plasma_b2c/components/Avatar/Avatar.config.js +7 -25
  38. package/emotion/es/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +1 -134
  39. package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
  40. package/emotion/es/examples/plasma_web/components/Avatar/Avatar.config.js +7 -25
  41. package/emotion/es/examples/plasma_web/components/Avatar/Avatar.stories.tsx +1 -134
  42. package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
  43. package/es/components/Avatar/Avatar.js +4 -40
  44. package/es/components/Avatar/Avatar.js.map +1 -1
  45. package/es/components/Avatar/Avatar.styles.js +2 -30
  46. package/es/components/Avatar/Avatar.styles.js.map +1 -1
  47. package/es/components/Avatar/Avatar.styles_1gd252x.css +5 -0
  48. package/es/components/Avatar/Avatar.tokens.js +2 -41
  49. package/es/components/Avatar/Avatar.tokens.js.map +1 -1
  50. package/es/components/NumberInput/NumberInput.js +10 -3
  51. package/es/components/NumberInput/NumberInput.js.map +1 -1
  52. package/es/components/NumberInput/ui/Input/Input.js +17 -8
  53. package/es/components/NumberInput/ui/Input/Input.js.map +1 -1
  54. package/es/components/NumberInput/utils/index.js +10 -1
  55. package/es/components/NumberInput/utils/index.js.map +1 -1
  56. package/es/index.css +5 -8
  57. package/package.json +2 -2
  58. package/styled-components/cjs/components/Avatar/Avatar.js +3 -38
  59. package/styled-components/cjs/components/Avatar/Avatar.styles.js +2 -18
  60. package/styled-components/cjs/components/Avatar/Avatar.template-doc.mdx +0 -54
  61. package/styled-components/cjs/components/Avatar/Avatar.tokens.js +2 -41
  62. package/styled-components/cjs/components/Avatar/utils/index.js +1 -15
  63. package/styled-components/cjs/components/NumberInput/NumberInput.js +10 -3
  64. package/styled-components/cjs/components/NumberInput/ui/Input/Input.js +16 -7
  65. package/styled-components/cjs/components/NumberInput/utils/index.js +11 -2
  66. package/styled-components/cjs/examples/plasma_b2c/components/Avatar/Avatar.config.js +4 -22
  67. package/styled-components/cjs/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +1 -134
  68. package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
  69. package/styled-components/cjs/examples/plasma_web/components/Avatar/Avatar.config.js +4 -22
  70. package/styled-components/cjs/examples/plasma_web/components/Avatar/Avatar.stories.tsx +1 -134
  71. package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
  72. package/styled-components/es/components/Avatar/Avatar.js +5 -40
  73. package/styled-components/es/components/Avatar/Avatar.styles.js +2 -18
  74. package/styled-components/es/components/Avatar/Avatar.template-doc.mdx +0 -54
  75. package/styled-components/es/components/Avatar/Avatar.tokens.js +2 -41
  76. package/styled-components/es/components/Avatar/utils/index.js +1 -14
  77. package/styled-components/es/components/NumberInput/NumberInput.js +10 -3
  78. package/styled-components/es/components/NumberInput/ui/Input/Input.js +17 -8
  79. package/styled-components/es/components/NumberInput/utils/index.js +10 -1
  80. package/styled-components/es/examples/plasma_b2c/components/Avatar/Avatar.config.js +4 -22
  81. package/styled-components/es/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +1 -134
  82. package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
  83. package/styled-components/es/examples/plasma_web/components/Avatar/Avatar.config.js +4 -22
  84. package/styled-components/es/examples/plasma_web/components/Avatar/Avatar.stories.tsx +1 -134
  85. package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
  86. package/types/components/Avatar/Avatar.d.ts +21 -3
  87. package/types/components/Avatar/Avatar.d.ts.map +1 -1
  88. package/types/components/Avatar/Avatar.styles.d.ts +0 -59
  89. package/types/components/Avatar/Avatar.styles.d.ts.map +1 -1
  90. package/types/components/Avatar/Avatar.tokens.d.ts +0 -37
  91. package/types/components/Avatar/Avatar.tokens.d.ts.map +1 -1
  92. package/types/components/Avatar/Avatar.types.d.ts +2 -47
  93. package/types/components/Avatar/Avatar.types.d.ts.map +1 -1
  94. package/types/components/Avatar/utils/index.d.ts +0 -1
  95. package/types/components/Avatar/utils/index.d.ts.map +1 -1
  96. package/types/components/Badge/Badge.types.d.ts +21 -8
  97. package/types/components/Badge/Badge.types.d.ts.map +1 -1
  98. package/types/components/Counter/Counter.d.ts +12 -2
  99. package/types/components/Counter/Counter.d.ts.map +1 -1
  100. package/types/components/Counter/Counter.types.d.ts +2 -1
  101. package/types/components/Counter/Counter.types.d.ts.map +1 -1
  102. package/types/components/NumberInput/NumberInput.d.ts.map +1 -1
  103. package/types/components/NumberInput/NumberInput.types.d.ts +5 -0
  104. package/types/components/NumberInput/NumberInput.types.d.ts.map +1 -1
  105. package/types/components/NumberInput/ui/Input/Input.d.ts +1 -0
  106. package/types/components/NumberInput/ui/Input/Input.d.ts.map +1 -1
  107. package/types/components/NumberInput/ui/Input/Input.types.d.ts +1 -0
  108. package/types/components/NumberInput/ui/Input/Input.types.d.ts.map +1 -1
  109. package/types/components/NumberInput/utils/index.d.ts +1 -0
  110. package/types/components/NumberInput/utils/index.d.ts.map +1 -1
  111. package/types/examples/plasma_b2c/components/Avatar/Avatar.config.d.ts +0 -18
  112. package/types/examples/plasma_b2c/components/Avatar/Avatar.config.d.ts.map +1 -1
  113. package/types/examples/plasma_b2c/components/Avatar/Avatar.d.ts +6 -138
  114. package/types/examples/plasma_b2c/components/Avatar/Avatar.d.ts.map +1 -1
  115. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts +48 -8
  116. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts.map +1 -1
  117. package/types/examples/plasma_b2c/components/Counter/Counter.d.ts +6 -1
  118. package/types/examples/plasma_b2c/components/Counter/Counter.d.ts.map +1 -1
  119. package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts +2 -0
  120. package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts.map +1 -1
  121. package/types/examples/plasma_web/components/Avatar/Avatar.config.d.ts +0 -18
  122. package/types/examples/plasma_web/components/Avatar/Avatar.config.d.ts.map +1 -1
  123. package/types/examples/plasma_web/components/Avatar/Avatar.d.ts +6 -138
  124. package/types/examples/plasma_web/components/Avatar/Avatar.d.ts.map +1 -1
  125. package/types/examples/plasma_web/components/Badge/Badge.d.ts +48 -8
  126. package/types/examples/plasma_web/components/Badge/Badge.d.ts.map +1 -1
  127. package/types/examples/plasma_web/components/Counter/Counter.d.ts +6 -1
  128. package/types/examples/plasma_web/components/Counter/Counter.d.ts.map +1 -1
  129. package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts +2 -0
  130. package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts.map +1 -1
  131. package/cjs/components/Avatar/Avatar.styles_131qvfx.css +0 -8
  132. package/cjs/components/Avatar/utils/index.js +0 -21
  133. package/cjs/components/Avatar/utils/index.js.map +0 -1
  134. package/es/components/Avatar/Avatar.styles_131qvfx.css +0 -8
  135. package/es/components/Avatar/utils/index.js +0 -17
  136. package/es/components/Avatar/utils/index.js.map +0 -1
@@ -1,9 +1,5 @@
1
1
  export var classes = {
2
- avatarItem: 'avatar-item',
3
- extraPlacementTopRight: 'avatar-extra-placement-top-right',
4
- extraPlacementTopLeft: 'avatar-extra-placement-top-left',
5
- extraPlacementBottomLeft: 'avatar-extra-placement-bottom-left',
6
- extraPlacementBottomRight: 'avatar-extra-placement-bottom-right'
2
+ avatarItem: 'avatar-item'
7
3
  };
8
4
  export var tokens = {
9
5
  avatarSize: '--plasma-avatar-size',
@@ -19,40 +15,5 @@ export var tokens = {
19
15
  outlineColor: '--plasma-avatar-outline-color',
20
16
  outlineSize: '--plasma-avatar-outline-size',
21
17
  outlineOffset: '--plasma-avatar-outline-offset',
22
- scaleHover: '--plasma-avatar-scale-hover',
23
- extraPlacementFactor: '--plasma-avatar-extra-placement-factor',
24
- // extra badge tokens
25
- badgeBackground: '--plasma-avatar-extra-badge-background',
26
- badgeColor: '--plasma-avatar-extra-badge-color',
27
- badgeBackgroundTransparent: '--plasma-avatar-extra-badge-background-transparent',
28
- badgeColorTransparent: '--plasma-avatar-extra-badge-color-transparent',
29
- badgeColorClear: '--plasma-avatar-extra-badge-color-clear',
30
- badgeBackgroundClear: '--plasma-avatar-extra-badge-background-clear',
31
- badgeBorderRadius: '--plasma-avatar-extra-badge-border-radius',
32
- badgePilledBorderRadius: '--plasma-avatar-extra-badge-pilled-border-radius',
33
- badgeHeight: '--plasma-avatar-extra-badge-height',
34
- badgePadding: '--plasma-avatar-extra-badge-padding',
35
- badgePaddingIconOnly: '--plasma-avatar-extra-badge-padding-icon-only',
36
- badgeFontFamily: '--plasma-avatar-extra-badge-font-family',
37
- badgeFontSize: '--plasma-avatar-extra-badge-font-size',
38
- badgeFontStyle: '--plasma-avatar-extra-badge-font-style',
39
- badgeFontWeight: '--plasma-avatar-extra-badge-font-weight',
40
- badgeLetterSpacing: '--plasma-avatar-extra-badge-letter-spacing',
41
- badgeLineHeight: '--plasma-avatar-extra-badge-lineheight',
42
- badgeLeftContentMarginLeft: '--plasma-avatar-extra-badge-left-content-margin-left',
43
- badgeLeftContentMarginRight: '--plasma-avatar-extra-badge-left-content-margin-right',
44
- badgeRightContentMarginLeft: '--plasma-avatar-extra-badge-right-content-margin-left',
45
- badgeRightContentMarginRight: '--plasma-avatar-extra-badge-right-content-margin-right',
46
- // extra counter tokens
47
- counterBackground: '--plasma-avatar-extra-counter-background',
48
- counterColor: '--plasma-avatar-extra-counter-color',
49
- counterBorderRadius: '--plasma-avatar-extra-counter-border-radius',
50
- counterHeight: '--plasma-avatar-extra-counter-height',
51
- counterPadding: '--plasma-avatar-extra-counter-padding',
52
- counterFontFamily: '--plasma-avatar-extra-counter-font-family',
53
- counterFontSize: '--plasma-avatar-extra-counter-font-size',
54
- counterFontStyle: '--plasma-avatar-extra-counter-font-style',
55
- counterFontWeight: '--plasma-avatar-extra-counter-font-weight',
56
- counterLetterSpacing: '--plasma-avatar-extra-counter-letter-spacing',
57
- counterLineHeight: '--plasma-avatar-extra-counter-lineheight'
18
+ scaleHover: '--plasma-avatar-scale-hover'
58
19
  };
@@ -1,14 +1 @@
1
- import { classes } from '../Avatar.tokens';
2
- export { getInitialsForName } from './getInitialsForName';
3
- export var extraPlacementMap = function extraPlacementMap(extraPlacement) {
4
- switch (extraPlacement) {
5
- case 'top-left':
6
- return classes.extraPlacementTopLeft;
7
- case 'bottom-left':
8
- return classes.extraPlacementBottomLeft;
9
- case 'bottom-right':
10
- return classes.extraPlacementBottomRight;
11
- default:
12
- return classes.extraPlacementTopRight;
13
- }
14
- };
1
+ export { getInitialsForName } from './getInitialsForName';
@@ -1,5 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["className", "style", "width", "value", "min", "max", "step", "isLoading", "loader", "size", "view", "clear", "shape", "segmentation", "inputBackgroundType", "disabled", "textBefore", "textAfter", "customIncrementButton", "incrementIcon", "customDecrementButton", "decrementIcon", "isManualInput", "onChange", "onIncrement", "onDecrement"];
2
+ var _excluded = ["className", "style", "width", "value", "min", "max", "step", "precision", "isLoading", "loader", "size", "view", "clear", "shape", "segmentation", "inputBackgroundType", "disabled", "textBefore", "textAfter", "customIncrementButton", "incrementIcon", "customDecrementButton", "decrementIcon", "isManualInput", "onChange", "onIncrement", "onDecrement"];
3
3
  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
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -26,6 +26,7 @@ import { base as shapeCSS } from './variations/_shape/base';
26
26
  import { base as inputBackgroundTypeCSS } from './variations/_background-type/base';
27
27
  import { base as segmentationCSS } from './variations/_segmentation/base';
28
28
  import { base as disabledCSS } from './variations/_disabled/base';
29
+ import { getPreciseValue } from './utils';
29
30
  export var numberInputRoot = function numberInputRoot(Root) {
30
31
  return /*#__PURE__*/forwardRef(function (_ref, ref) {
31
32
  var _ref2;
@@ -37,6 +38,8 @@ export var numberInputRoot = function numberInputRoot(Root) {
37
38
  max = _ref.max,
38
39
  _ref$step = _ref.step,
39
40
  step = _ref$step === void 0 ? 1 : _ref$step,
41
+ _ref$precision = _ref.precision,
42
+ precision = _ref$precision === void 0 ? 2 : _ref$precision,
40
43
  isLoading = _ref.isLoading,
41
44
  loader = _ref.loader,
42
45
  size = _ref.size,
@@ -70,6 +73,7 @@ export var numberInputRoot = function numberInputRoot(Root) {
70
73
  _useState6 = _slicedToArray(_useState5, 2),
71
74
  isAnimationRun = _useState6[0],
72
75
  setIsAnimationRun = _useState6[1];
76
+ console.log('innerValue', innerValue);
73
77
  var innerWidth = width ? getSizeValueFromProp(width) : '100%';
74
78
  var actionIconSize = size === 'xs' ? 'xs' : 's';
75
79
  var solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;
@@ -90,7 +94,8 @@ export var numberInputRoot = function numberInputRoot(Root) {
90
94
  if (isLoading || disabled || isAnimationRun) {
91
95
  return;
92
96
  }
93
- var diffValue = Number(innerValue) - step;
97
+ var preciseDiff = getPreciseValue(Number(innerValue) - step, precision);
98
+ var diffValue = Number(preciseDiff);
94
99
  var resValue = min !== undefined && diffValue <= min ? min : diffValue;
95
100
  setInnerValue(resValue);
96
101
  if (onDecrement) {
@@ -104,7 +109,8 @@ export var numberInputRoot = function numberInputRoot(Root) {
104
109
  if (isLoading || disabled || isAnimationRun) {
105
110
  return;
106
111
  }
107
- var diffValue = Number(innerValue) + step;
112
+ var preciseDiff = getPreciseValue(Number(innerValue) + step, precision);
113
+ var diffValue = Number(preciseDiff);
108
114
  var resValue = max !== undefined && diffValue >= max ? max : diffValue;
109
115
  setInnerValue(resValue);
110
116
  if (onIncrement) {
@@ -148,6 +154,7 @@ export var numberInputRoot = function numberInputRoot(Root) {
148
154
  ref: ref,
149
155
  segmentation: segmentation,
150
156
  value: innerValue,
157
+ precision: precision,
151
158
  min: min,
152
159
  max: max,
153
160
  isManualInput: isManualInput,
@@ -1,5 +1,5 @@
1
1
  var _StyledSpinner;
2
- var _excluded = ["value", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
2
+ var _excluded = ["value", "precision", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
3
3
  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
4
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
5
5
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -14,11 +14,12 @@ import { useForkRef } from '@salutejs/plasma-core';
14
14
  import { classes } from '../../NumberInput.tokens';
15
15
  import { cx, isNumber } from '../../../../utils';
16
16
  import { useDidMountEffect } from '../../../../hooks';
17
- import { defaultCharacterWidth, excludingNumberSchema, numberSchema } from '../../utils';
17
+ import { defaultCharacterWidth, excludingNumberSchema, getPreciseValue, numberSchema } from '../../utils';
18
18
  import { keyCodes } from '../../../../utils/constants';
19
19
  import { AdditionalText, Input, InputWrapper, DynamicInput, InputWidthHelper, TextWrapper, StyledSpinner, Loader } from './Input.styles';
20
20
  export var NumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
21
21
  var value = _ref.value,
22
+ precision = _ref.precision,
22
23
  min = _ref.min,
23
24
  max = _ref.max,
24
25
  isLoading = _ref.isLoading,
@@ -84,11 +85,6 @@ export var NumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
84
85
  setIsAnimationRun(false);
85
86
  return;
86
87
  }
87
- if (String(newValue).endsWith('.')) {
88
- setValues(null, Number(newValue));
89
- setIsAnimationRun(false);
90
- return;
91
- }
92
88
  var resValue = Number(newValue);
93
89
  if (max !== undefined && resValue > max) {
94
90
  setErrorClass(classes.errorAnimation);
@@ -100,6 +96,16 @@ export var NumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
100
96
  setErrorClass(classes.errorAnimation);
101
97
  setErrorValue(min);
102
98
  setIsAnimationRun(true);
99
+ return;
100
+ }
101
+ if (String(newValue).endsWith('.')) {
102
+ setValues(null, Number(newValue));
103
+ setIsAnimationRun(false);
104
+ return;
105
+ }
106
+ if (precision !== undefined) {
107
+ var preciseNewValue = Number(getPreciseValue(newValue, precision));
108
+ setValues(null, preciseNewValue);
103
109
  }
104
110
  setIsAnimationRun(false);
105
111
  };
@@ -125,15 +131,18 @@ export var NumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
125
131
  }
126
132
  return;
127
133
  }
134
+ console.log('here');
128
135
  var isValid = numberSchema.test(cleanValue);
129
136
  if (!isValid) {
137
+ console.log('not valid', cleanValue);
130
138
  setValues(event, lastValidValue);
131
139
  return;
132
140
  }
141
+ console.log('valid!', cleanValue);
133
142
  if (textWrapperRef !== null && textWrapperRef !== void 0 && textWrapperRef.current && wrapperRef !== null && wrapperRef !== void 0 && wrapperRef.current && (textWrapperRef === null || textWrapperRef === void 0 || (_textWrapperRef$curre = textWrapperRef.current) === null || _textWrapperRef$curre === void 0 ? void 0 : _textWrapperRef$curre.clientWidth) > (wrapperRef === null || wrapperRef === void 0 || (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.clientWidth)) {
134
143
  wrapperRef.current.scrollLeft = textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;
135
144
  }
136
- setValues(event, Number(cleanValue));
145
+ setValues(event, cleanValue);
137
146
  };
138
147
  var handleClickInputWrapper = function handleClickInputWrapper() {
139
148
  if (!isManualInput || !inputRef.current) {
@@ -1,3 +1,12 @@
1
1
  export var defaultCharacterWidth = '1ch';
2
2
  export var numberSchema = /^(-)?\d+(\.\d+)?$/;
3
- export var excludingNumberSchema = /[^-.\d]/g;
3
+ export var excludingNumberSchema = /[^-.\d]/g;
4
+ export var getPreciseValue = function getPreciseValue(value, precision) {
5
+ var innerValue = String(value);
6
+ if (precision !== undefined) {
7
+ var factor = Math.pow(10, precision);
8
+ var preparedValue = Number(innerValue) < 0 ? Number(innerValue) - Number.EPSILON : Number(innerValue) + Number.EPSILON;
9
+ return String(Math.round(preparedValue * factor) / factor);
10
+ }
11
+ return innerValue;
12
+ };