intergalactic 15.98.0-prerelease.0 → 15.98.1-prerelease.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [15.98.1] - 2024-07-08
2
+
3
+ ### @semcore/input-number
4
+
5
+ - **Fixed** Display correct value with different decimal values.
6
+
1
7
  ## [15.98.0] - 2024-07-05
2
8
 
3
9
  ### @semcore/accordion
package/components.json CHANGED
@@ -32,11 +32,11 @@
32
32
  "@semcore/grid": "5.28.0",
33
33
  "@semcore/icon": "4.41.0",
34
34
  "@semcore/illustration": "2.29.0",
35
- "@semcore/inline-input": "4.37.1",
35
+ "@semcore/inline-input": "4.37.2",
36
36
  "@semcore/inline-edit": "4.31.0",
37
37
  "@semcore/input": "4.30.0",
38
38
  "@semcore/input-mask": "5.31.0",
39
- "@semcore/input-number": "5.31.1",
39
+ "@semcore/input-number": "5.31.2",
40
40
  "@semcore/input-tags": "4.34.0",
41
41
  "@semcore/link": "5.33.1",
42
42
  "@semcore/mini-chart": "0.15.0",
@@ -26,20 +26,20 @@ var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynam
26
26
  var _i18nEnhance = _interopRequireDefault(require("intergalactic/utils/lib/enhances/i18nEnhance"));
27
27
  var _inputNumber = _interopRequireDefault(require("intergalactic/input-number"));
28
28
  /*__reshadow-styles__:"./style/inline-input.shadow.css"*/
29
- var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SInlineInput_oyhbc_gg_{display:inline-flex;width:100%;height:100%;align-items:center;position:relative;z-index:0;vertical-align:middle;padding:1px;box-sizing:border-box;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SInlineInput_oyhbc_gg_ .___SConfirmIcon_oyhbc_gg_{color:var(--intergalactic-icon-secondary-success, #00c192);cursor:pointer}@media (hover:hover){.___SInlineInput_oyhbc_gg_ .___SConfirmIcon_oyhbc_gg_:hover{color:var(--intergalactic-icon-secondary-success-hover-active, #049B75)}}.___SInlineInput_oyhbc_gg_ .___SCancelIcon_oyhbc_gg_{color:var(--intergalactic-icon-secondary-neutral, #a9abb6);cursor:pointer}@media (hover:hover){.___SInlineInput_oyhbc_gg_ .___SCancelIcon_oyhbc_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #878992)}}.___SInlineInput_oyhbc_gg_.__disabled_oyhbc_gg_{cursor:default;pointer-events:none;opacity:var(--intergalactic-disabled-opacity, 0.3)}.___SValue_oyhbc_gg_{min-width:0;width:100%;height:100%;padding:0 var(--intergalactic-spacing-1x, 4px);border:0;box-sizing:border-box;color:var(--intergalactic-text-primary, #191b23);font-size:inherit;line-height:1.2;text-overflow:ellipsis;font-family:inherit;background:0 0;min-height:1em}.___SValue_oyhbc_gg_:focus{outline:0}.___SValue_oyhbc_gg_::-moz-placeholder{color:var(--intergalactic-text-placeholder, #8a8e9b)}.___SValue_oyhbc_gg_::placeholder{color:var(--intergalactic-text-placeholder, #8a8e9b)}.___SValue_oyhbc_gg_.__disabled_oyhbc_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SValue_oyhbc_gg_::-webkit-inner-spin-button,.___SValue_oyhbc_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_oyhbc_gg_._type_number_oyhbc_gg_{-moz-appearance:textfield}.___SUnderline_oyhbc_gg_{display:flex;flex-direction:row;align-items:center;flex-grow:1;width:100%;height:100%;min-height:1em;border:1px solid transparent;border-bottom:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___SAddon_oyhbc_gg_{display:inline-flex;justify-content:center;align-items:center;flex:0 0 auto;height:100%;color:var(--intergalactic-icon-secondary-neutral, #a9abb6);padding:0 var(--intergalactic-spacing-1x, 4px)}.___SAddon_oyhbc_gg_.__disabled_oyhbc_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SInlineInput_oyhbc_gg_.__focused_oyhbc_gg_{z-index:1}.___SInlineInput_oyhbc_gg_.__focused_oyhbc_gg_ .___SUnderline_oyhbc_gg_{border-bottom-color:var(--intergalactic-border-info-active, #006dca);box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SInlineInput_oyhbc_gg_._state_valid_oyhbc_gg_ .___SUnderline_oyhbc_gg_{border-bottom-color:var(--intergalactic-border-success-active, #007c65)}.___SInlineInput_oyhbc_gg_._state_valid_oyhbc_gg_.__focused_oyhbc_gg_ .___SUnderline_oyhbc_gg_{border-bottom-color:var(--intergalactic-border-success-active, #007c65);box-shadow:var(--intergalactic-keyboard-focus-valid, 0px 0px 0px 3px rgba(0, 159, 129, 0.5))}.___SInlineInput_oyhbc_gg_._state_invalid_oyhbc_gg_ .___SUnderline_oyhbc_gg_{border-bottom-color:var(--intergalactic-border-critical-active, #d1002f)}.___SInlineInput_oyhbc_gg_._state_invalid_oyhbc_gg_.__focused_oyhbc_gg_ .___SUnderline_oyhbc_gg_{border-bottom-color:var(--intergalactic-border-critical-active, #d1002f);box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.5))}.___SValue_oyhbc_gg_:focus~.___SControls_oyhbc_gg_{display:flex}.___SInvalidPattern_oyhbc_gg_{margin-left:-1px;margin-top:-1px;border-radius:0;height:calc(100% - 3px)}" /*__inner_css_end__*/, "oyhbc_gg_") /*__reshadow_css_end__*/, {
30
- "__SInlineInput": "___SInlineInput_oyhbc_gg_",
31
- "_disabled": "__disabled_oyhbc_gg_",
32
- "__SUnderline": "___SUnderline_oyhbc_gg_",
33
- "__SAddon": "___SAddon_oyhbc_gg_",
34
- "_focused": "__focused_oyhbc_gg_",
35
- "_state_valid": "_state_valid_oyhbc_gg_",
36
- "_state_invalid": "_state_invalid_oyhbc_gg_",
37
- "__SValue": "___SValue_oyhbc_gg_",
38
- "__SControls": "___SControls_oyhbc_gg_",
39
- "__SInvalidPattern": "___SInvalidPattern_oyhbc_gg_",
40
- "__SConfirmIcon": "___SConfirmIcon_oyhbc_gg_",
41
- "__SCancelIcon": "___SCancelIcon_oyhbc_gg_",
42
- "_type_number": "_type_number_oyhbc_gg_"
29
+ var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SInlineInput_15ii7_gg_{display:inline-flex;width:100%;height:100%;align-items:center;position:relative;z-index:0;vertical-align:middle;padding:1px;box-sizing:border-box;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SInlineInput_15ii7_gg_ .___SConfirmIcon_15ii7_gg_{color:var(--intergalactic-icon-secondary-success, #00c192);cursor:pointer}@media (hover:hover){.___SInlineInput_15ii7_gg_ .___SConfirmIcon_15ii7_gg_:hover{color:var(--intergalactic-icon-secondary-success-hover-active, #049B75)}}.___SInlineInput_15ii7_gg_ .___SCancelIcon_15ii7_gg_{color:var(--intergalactic-icon-secondary-neutral, #a9abb6);cursor:pointer}@media (hover:hover){.___SInlineInput_15ii7_gg_ .___SCancelIcon_15ii7_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #878992)}}.___SInlineInput_15ii7_gg_.__disabled_15ii7_gg_{cursor:default;pointer-events:none;opacity:var(--intergalactic-disabled-opacity, 0.3)}.___SValue_15ii7_gg_{min-width:0;width:100%;height:100%;padding:0 var(--intergalactic-spacing-1x, 4px);border:0;box-sizing:border-box;color:var(--intergalactic-text-primary, #191b23);font-size:inherit;line-height:1.2;text-overflow:ellipsis;font-family:inherit;background:0 0;min-height:1em}.___SValue_15ii7_gg_:focus{outline:0}.___SValue_15ii7_gg_::-moz-placeholder{color:var(--intergalactic-text-placeholder, #8a8e9b)}.___SValue_15ii7_gg_::placeholder{color:var(--intergalactic-text-placeholder, #8a8e9b)}.___SValue_15ii7_gg_.__disabled_15ii7_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SValue_15ii7_gg_::-webkit-inner-spin-button,.___SValue_15ii7_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_15ii7_gg_._type_number_15ii7_gg_{-moz-appearance:textfield}.___SUnderline_15ii7_gg_{display:flex;flex-direction:row;align-items:center;flex-grow:1;width:100%;height:100%;min-height:1em;border:1px solid transparent;border-bottom:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___SAddon_15ii7_gg_{display:inline-flex;justify-content:center;align-items:center;flex:0 0 auto;height:100%;color:var(--intergalactic-icon-secondary-neutral, #a9abb6);padding:0 var(--intergalactic-spacing-1x, 4px)}.___SAddon_15ii7_gg_.__disabled_15ii7_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SInlineInput_15ii7_gg_.__focused_15ii7_gg_{z-index:1}.___SInlineInput_15ii7_gg_.__focused_15ii7_gg_ .___SUnderline_15ii7_gg_{border-bottom-color:var(--intergalactic-border-info-active, #006dca);box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SInlineInput_15ii7_gg_._state_valid_15ii7_gg_ .___SUnderline_15ii7_gg_{border-bottom-color:var(--intergalactic-border-success-active, #007c65)}.___SInlineInput_15ii7_gg_._state_valid_15ii7_gg_.__focused_15ii7_gg_ .___SUnderline_15ii7_gg_{border-bottom-color:var(--intergalactic-border-success-active, #007c65);box-shadow:var(--intergalactic-keyboard-focus-valid, 0px 0px 0px 3px rgba(0, 159, 129, 0.5))}.___SInlineInput_15ii7_gg_._state_invalid_15ii7_gg_ .___SUnderline_15ii7_gg_{border-bottom-color:var(--intergalactic-border-critical-active, #d1002f)}.___SInlineInput_15ii7_gg_._state_invalid_15ii7_gg_.__focused_15ii7_gg_ .___SUnderline_15ii7_gg_{border-bottom-color:var(--intergalactic-border-critical-active, #d1002f);box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.5))}.___SValue_15ii7_gg_:focus~.___SControls_15ii7_gg_{display:flex}.___SInvalidPattern_15ii7_gg_{margin-left:-1px;margin-top:-1px;border-radius:0;height:calc(100% - 3px)}" /*__inner_css_end__*/, "15ii7_gg_") /*__reshadow_css_end__*/, {
30
+ "__SInlineInput": "___SInlineInput_15ii7_gg_",
31
+ "_disabled": "__disabled_15ii7_gg_",
32
+ "__SUnderline": "___SUnderline_15ii7_gg_",
33
+ "__SAddon": "___SAddon_15ii7_gg_",
34
+ "_focused": "__focused_15ii7_gg_",
35
+ "_state_valid": "_state_valid_15ii7_gg_",
36
+ "_state_invalid": "_state_invalid_15ii7_gg_",
37
+ "__SValue": "___SValue_15ii7_gg_",
38
+ "__SControls": "___SControls_15ii7_gg_",
39
+ "__SInvalidPattern": "___SInvalidPattern_15ii7_gg_",
40
+ "__SConfirmIcon": "___SConfirmIcon_15ii7_gg_",
41
+ "__SCancelIcon": "___SCancelIcon_15ii7_gg_",
42
+ "_type_number": "_type_number_15ii7_gg_"
43
43
  });
44
44
  var pointInsideOfRect = function pointInsideOfRect(_ref17) {
45
45
  var x = _ref17.x,
@@ -21,20 +21,20 @@ import { Box, InvalidStateBox } from 'intergalactic/flex-box';
21
21
  import autoFocusEnhance from 'intergalactic/utils/lib/enhances/autoFocusEnhance';
22
22
  import Tooltip from 'intergalactic/tooltip';
23
23
  /*__reshadow-styles__:"./style/inline-input.shadow.css"*/
24
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SInlineInput_oyhbc_gg_{display:inline-flex;width:100%;height:100%;align-items:center;position:relative;z-index:0;vertical-align:middle;padding:1px;box-sizing:border-box;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SInlineInput_oyhbc_gg_ .___SConfirmIcon_oyhbc_gg_{color:var(--intergalactic-icon-secondary-success, #00c192);cursor:pointer}@media (hover:hover){.___SInlineInput_oyhbc_gg_ .___SConfirmIcon_oyhbc_gg_:hover{color:var(--intergalactic-icon-secondary-success-hover-active, #049B75)}}.___SInlineInput_oyhbc_gg_ .___SCancelIcon_oyhbc_gg_{color:var(--intergalactic-icon-secondary-neutral, #a9abb6);cursor:pointer}@media (hover:hover){.___SInlineInput_oyhbc_gg_ .___SCancelIcon_oyhbc_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #878992)}}.___SInlineInput_oyhbc_gg_.__disabled_oyhbc_gg_{cursor:default;pointer-events:none;opacity:var(--intergalactic-disabled-opacity, 0.3)}.___SValue_oyhbc_gg_{min-width:0;width:100%;height:100%;padding:0 var(--intergalactic-spacing-1x, 4px);border:0;box-sizing:border-box;color:var(--intergalactic-text-primary, #191b23);font-size:inherit;line-height:1.2;text-overflow:ellipsis;font-family:inherit;background:0 0;min-height:1em}.___SValue_oyhbc_gg_:focus{outline:0}.___SValue_oyhbc_gg_::-moz-placeholder{color:var(--intergalactic-text-placeholder, #8a8e9b)}.___SValue_oyhbc_gg_::placeholder{color:var(--intergalactic-text-placeholder, #8a8e9b)}.___SValue_oyhbc_gg_.__disabled_oyhbc_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SValue_oyhbc_gg_::-webkit-inner-spin-button,.___SValue_oyhbc_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_oyhbc_gg_._type_number_oyhbc_gg_{-moz-appearance:textfield}.___SUnderline_oyhbc_gg_{display:flex;flex-direction:row;align-items:center;flex-grow:1;width:100%;height:100%;min-height:1em;border:1px solid transparent;border-bottom:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___SAddon_oyhbc_gg_{display:inline-flex;justify-content:center;align-items:center;flex:0 0 auto;height:100%;color:var(--intergalactic-icon-secondary-neutral, #a9abb6);padding:0 var(--intergalactic-spacing-1x, 4px)}.___SAddon_oyhbc_gg_.__disabled_oyhbc_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SInlineInput_oyhbc_gg_.__focused_oyhbc_gg_{z-index:1}.___SInlineInput_oyhbc_gg_.__focused_oyhbc_gg_ .___SUnderline_oyhbc_gg_{border-bottom-color:var(--intergalactic-border-info-active, #006dca);box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SInlineInput_oyhbc_gg_._state_valid_oyhbc_gg_ .___SUnderline_oyhbc_gg_{border-bottom-color:var(--intergalactic-border-success-active, #007c65)}.___SInlineInput_oyhbc_gg_._state_valid_oyhbc_gg_.__focused_oyhbc_gg_ .___SUnderline_oyhbc_gg_{border-bottom-color:var(--intergalactic-border-success-active, #007c65);box-shadow:var(--intergalactic-keyboard-focus-valid, 0px 0px 0px 3px rgba(0, 159, 129, 0.5))}.___SInlineInput_oyhbc_gg_._state_invalid_oyhbc_gg_ .___SUnderline_oyhbc_gg_{border-bottom-color:var(--intergalactic-border-critical-active, #d1002f)}.___SInlineInput_oyhbc_gg_._state_invalid_oyhbc_gg_.__focused_oyhbc_gg_ .___SUnderline_oyhbc_gg_{border-bottom-color:var(--intergalactic-border-critical-active, #d1002f);box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.5))}.___SValue_oyhbc_gg_:focus~.___SControls_oyhbc_gg_{display:flex}.___SInvalidPattern_oyhbc_gg_{margin-left:-1px;margin-top:-1px;border-radius:0;height:calc(100% - 3px)}" /*__inner_css_end__*/, "oyhbc_gg_") /*__reshadow_css_end__*/, {
25
- "__SInlineInput": "___SInlineInput_oyhbc_gg_",
26
- "_disabled": "__disabled_oyhbc_gg_",
27
- "__SUnderline": "___SUnderline_oyhbc_gg_",
28
- "__SAddon": "___SAddon_oyhbc_gg_",
29
- "_focused": "__focused_oyhbc_gg_",
30
- "_state_valid": "_state_valid_oyhbc_gg_",
31
- "_state_invalid": "_state_invalid_oyhbc_gg_",
32
- "__SValue": "___SValue_oyhbc_gg_",
33
- "__SControls": "___SControls_oyhbc_gg_",
34
- "__SInvalidPattern": "___SInvalidPattern_oyhbc_gg_",
35
- "__SConfirmIcon": "___SConfirmIcon_oyhbc_gg_",
36
- "__SCancelIcon": "___SCancelIcon_oyhbc_gg_",
37
- "_type_number": "_type_number_oyhbc_gg_"
24
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SInlineInput_15ii7_gg_{display:inline-flex;width:100%;height:100%;align-items:center;position:relative;z-index:0;vertical-align:middle;padding:1px;box-sizing:border-box;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SInlineInput_15ii7_gg_ .___SConfirmIcon_15ii7_gg_{color:var(--intergalactic-icon-secondary-success, #00c192);cursor:pointer}@media (hover:hover){.___SInlineInput_15ii7_gg_ .___SConfirmIcon_15ii7_gg_:hover{color:var(--intergalactic-icon-secondary-success-hover-active, #049B75)}}.___SInlineInput_15ii7_gg_ .___SCancelIcon_15ii7_gg_{color:var(--intergalactic-icon-secondary-neutral, #a9abb6);cursor:pointer}@media (hover:hover){.___SInlineInput_15ii7_gg_ .___SCancelIcon_15ii7_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #878992)}}.___SInlineInput_15ii7_gg_.__disabled_15ii7_gg_{cursor:default;pointer-events:none;opacity:var(--intergalactic-disabled-opacity, 0.3)}.___SValue_15ii7_gg_{min-width:0;width:100%;height:100%;padding:0 var(--intergalactic-spacing-1x, 4px);border:0;box-sizing:border-box;color:var(--intergalactic-text-primary, #191b23);font-size:inherit;line-height:1.2;text-overflow:ellipsis;font-family:inherit;background:0 0;min-height:1em}.___SValue_15ii7_gg_:focus{outline:0}.___SValue_15ii7_gg_::-moz-placeholder{color:var(--intergalactic-text-placeholder, #8a8e9b)}.___SValue_15ii7_gg_::placeholder{color:var(--intergalactic-text-placeholder, #8a8e9b)}.___SValue_15ii7_gg_.__disabled_15ii7_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SValue_15ii7_gg_::-webkit-inner-spin-button,.___SValue_15ii7_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_15ii7_gg_._type_number_15ii7_gg_{-moz-appearance:textfield}.___SUnderline_15ii7_gg_{display:flex;flex-direction:row;align-items:center;flex-grow:1;width:100%;height:100%;min-height:1em;border:1px solid transparent;border-bottom:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___SAddon_15ii7_gg_{display:inline-flex;justify-content:center;align-items:center;flex:0 0 auto;height:100%;color:var(--intergalactic-icon-secondary-neutral, #a9abb6);padding:0 var(--intergalactic-spacing-1x, 4px)}.___SAddon_15ii7_gg_.__disabled_15ii7_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SInlineInput_15ii7_gg_.__focused_15ii7_gg_{z-index:1}.___SInlineInput_15ii7_gg_.__focused_15ii7_gg_ .___SUnderline_15ii7_gg_{border-bottom-color:var(--intergalactic-border-info-active, #006dca);box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SInlineInput_15ii7_gg_._state_valid_15ii7_gg_ .___SUnderline_15ii7_gg_{border-bottom-color:var(--intergalactic-border-success-active, #007c65)}.___SInlineInput_15ii7_gg_._state_valid_15ii7_gg_.__focused_15ii7_gg_ .___SUnderline_15ii7_gg_{border-bottom-color:var(--intergalactic-border-success-active, #007c65);box-shadow:var(--intergalactic-keyboard-focus-valid, 0px 0px 0px 3px rgba(0, 159, 129, 0.5))}.___SInlineInput_15ii7_gg_._state_invalid_15ii7_gg_ .___SUnderline_15ii7_gg_{border-bottom-color:var(--intergalactic-border-critical-active, #d1002f)}.___SInlineInput_15ii7_gg_._state_invalid_15ii7_gg_.__focused_15ii7_gg_ .___SUnderline_15ii7_gg_{border-bottom-color:var(--intergalactic-border-critical-active, #d1002f);box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.5))}.___SValue_15ii7_gg_:focus~.___SControls_15ii7_gg_{display:flex}.___SInvalidPattern_15ii7_gg_{margin-left:-1px;margin-top:-1px;border-radius:0;height:calc(100% - 3px)}" /*__inner_css_end__*/, "15ii7_gg_") /*__reshadow_css_end__*/, {
25
+ "__SInlineInput": "___SInlineInput_15ii7_gg_",
26
+ "_disabled": "__disabled_15ii7_gg_",
27
+ "__SUnderline": "___SUnderline_15ii7_gg_",
28
+ "__SAddon": "___SAddon_15ii7_gg_",
29
+ "_focused": "__focused_15ii7_gg_",
30
+ "_state_valid": "_state_valid_15ii7_gg_",
31
+ "_state_invalid": "_state_invalid_15ii7_gg_",
32
+ "__SValue": "___SValue_15ii7_gg_",
33
+ "__SControls": "___SControls_15ii7_gg_",
34
+ "__SInvalidPattern": "___SInvalidPattern_15ii7_gg_",
35
+ "__SConfirmIcon": "___SConfirmIcon_15ii7_gg_",
36
+ "__SCancelIcon": "___SCancelIcon_15ii7_gg_",
37
+ "_type_number": "_type_number_15ii7_gg_"
38
38
  });
39
39
  import CheckM from 'intergalactic/icon/Check/m';
40
40
  import CloseM from 'intergalactic/icon/Close/m';
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
  exports.parseValueWithMinMax = parseValueWithMinMax;
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
11
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -23,15 +24,15 @@ var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynam
23
24
  var _i18nEnhance = _interopRequireDefault(require("intergalactic/utils/lib/enhances/i18nEnhance"));
24
25
  var _ref7 = require("intergalactic/utils/lib/ref");
25
26
  /*__reshadow-styles__:"./style/input-number.shadow.css"*/
26
- var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SValue_1in2l_gg_:focus~.___SControls_1in2l_gg_{display:flex}.___SControls_1in2l_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_1in2l_gg_.__showControls_1in2l_gg_{display:flex}.___SDown_1in2l_gg_,.___SUp_1in2l_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_1in2l_gg_:focus,.___SUp_1in2l_gg_:focus{outline:0}@media (hover:hover){.___SDown_1in2l_gg_:hover,.___SUp_1in2l_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #878992)}}.___SUp_1in2l_gg_{padding-bottom:1px}.___SDown_1in2l_gg_{padding-top:1px}.___SValue_1in2l_gg_::-webkit-inner-spin-button,.___SValue_1in2l_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_1in2l_gg_._type_number_1in2l_gg_{-moz-appearance:textfield}.___SValue_1in2l_gg_.__disabled_1in2l_gg_~.___SControls_1in2l_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SValueHidden_1in2l_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}" /*__inner_css_end__*/, "1in2l_gg_") /*__reshadow_css_end__*/, {
27
- "__SValue": "___SValue_1in2l_gg_",
28
- "__SControls": "___SControls_1in2l_gg_",
29
- "_showControls": "__showControls_1in2l_gg_",
30
- "__SUp": "___SUp_1in2l_gg_",
31
- "__SDown": "___SDown_1in2l_gg_",
32
- "_disabled": "__disabled_1in2l_gg_",
33
- "__SValueHidden": "___SValueHidden_1in2l_gg_",
34
- "_type_number": "_type_number_1in2l_gg_"
27
+ var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SValue_1su2s_gg_:focus~.___SControls_1su2s_gg_{display:flex}.___SControls_1su2s_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_1su2s_gg_.__showControls_1su2s_gg_{display:flex}.___SDown_1su2s_gg_,.___SUp_1su2s_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_1su2s_gg_:focus,.___SUp_1su2s_gg_:focus{outline:0}@media (hover:hover){.___SDown_1su2s_gg_:hover,.___SUp_1su2s_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #878992)}}.___SUp_1su2s_gg_{padding-bottom:1px}.___SDown_1su2s_gg_{padding-top:1px}.___SValue_1su2s_gg_::-webkit-inner-spin-button,.___SValue_1su2s_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_1su2s_gg_._type_number_1su2s_gg_{-moz-appearance:textfield}.___SValue_1su2s_gg_.__disabled_1su2s_gg_~.___SControls_1su2s_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SValueHidden_1su2s_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}" /*__inner_css_end__*/, "1su2s_gg_") /*__reshadow_css_end__*/, {
28
+ "__SValue": "___SValue_1su2s_gg_",
29
+ "__SControls": "___SControls_1su2s_gg_",
30
+ "_showControls": "__showControls_1su2s_gg_",
31
+ "__SUp": "___SUp_1su2s_gg_",
32
+ "__SDown": "___SDown_1su2s_gg_",
33
+ "_disabled": "__disabled_1su2s_gg_",
34
+ "__SValueHidden": "___SValueHidden_1su2s_gg_",
35
+ "_type_number": "_type_number_1su2s_gg_"
35
36
  });
36
37
  function parseValueWithMinMax(value) {
37
38
  var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MIN_SAFE_INTEGER;
@@ -122,21 +123,6 @@ var Value = /*#__PURE__*/function (_Component2) {
122
123
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "valueParser", function (value, prevValue, prevDisplayValue) {
123
124
  var numberFormatter = _this2.props.numberFormatter;
124
125
  var stringNumber = _this2.getFormattedValue(String(value));
125
- if (stringNumber[stringNumber.length - 1] === '.' && !Number.isNaN(Number(prevValue)) && !stringNumber.slice(0, -1).includes('.')) {
126
- if (value.length > prevValue.length) {
127
- // type new value
128
- return {
129
- parsedValue: prevValue + _this2.separatorDecimal,
130
- displayValue: numberFormatter.format(prevValue) + _this2.separatorDecimal
131
- };
132
- } else {
133
- // backspace value
134
- return {
135
- parsedValue: stringNumber,
136
- displayValue: value
137
- };
138
- }
139
- }
140
126
  if (Number.isNaN(Number(stringNumber))) {
141
127
  return {
142
128
  parsedValue: prevValue,
@@ -144,8 +130,12 @@ var Value = /*#__PURE__*/function (_Component2) {
144
130
  };
145
131
  }
146
132
  var displayValue = '';
147
- if (stringNumber.startsWith('0.0') && stringNumber.endsWith('0')) {
148
- displayValue = stringNumber;
133
+ if (/\.[0-9]*0$/.test(stringNumber)) {
134
+ var _stringNumber$split = stringNumber.split(_this2.separatorDecimal),
135
+ _stringNumber$split2 = (0, _slicedToArray2["default"])(_stringNumber$split, 2),
136
+ _int = _stringNumber$split2[0],
137
+ decimal = _stringNumber$split2[1];
138
+ displayValue = numberFormatter.format(_int) + _this2.separatorDecimal + decimal;
149
139
  } else if (stringNumber !== '') {
150
140
  displayValue = numberFormatter.format(stringNumber);
151
141
  }
@@ -193,10 +183,25 @@ var Value = /*#__PURE__*/function (_Component2) {
193
183
  });
194
184
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleChange", function (event) {
195
185
  var value = _this2.getFormattedValue(event.currentTarget.value);
196
- if (value.endsWith('.') || value.endsWith('-')) {
186
+ var _this2$asProps2 = _this2.asProps,
187
+ numberFormatter = _this2$asProps2.numberFormatter,
188
+ prevValue = _this2$asProps2.value;
189
+ if (value === '.' || value === '-') {
197
190
  _this2.handlers.displayValue(value);
198
191
  return false;
199
192
  }
193
+ if (value.endsWith('-')) {
194
+ return false;
195
+ }
196
+ if (value.endsWith('.')) {
197
+ if (value.length > prevValue.length) {
198
+ _this2.handlers.displayValue(numberFormatter.format(value) + _this2.separatorDecimal);
199
+ return false;
200
+ } else {
201
+ _this2.handlers.displayValue(numberFormatter.format(value));
202
+ return false;
203
+ }
204
+ }
200
205
  var digits = /[0-9.-]+/.test(value);
201
206
  if (digits || value === '') {
202
207
  _this2.handlers.value(value, event);
@@ -213,6 +218,7 @@ var Value = /*#__PURE__*/function (_Component2) {
213
218
  var element = event.currentTarget;
214
219
  var value = element.value;
215
220
  var length = value.length;
221
+ var displayValue = _this2.asProps.displayValue;
216
222
 
217
223
  // we need this dirty hack for screen readers, because they couldn't read full value in input after adding there ','.
218
224
  // so, we change role to `region` here and back to `input` in handleKeyUp
@@ -224,6 +230,12 @@ var Value = /*#__PURE__*/function (_Component2) {
224
230
  event.stopPropagation();
225
231
  return;
226
232
  }
233
+ if (event.key === 'Backspace' && value.endsWith(_this2.separatorDecimal)) {
234
+ event.preventDefault();
235
+ event.stopPropagation();
236
+ _this2.handlers.displayValue(displayValue.slice(0, -1));
237
+ return false;
238
+ }
227
239
  if (element.selectionStart !== length && (event.key === 'Backspace' || event.key === _this2.separatorDecimal || ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(event.key))) {
228
240
  var afterSelection = value.slice(element.selectionEnd);
229
241
  requestAnimationFrame(function () {
@@ -312,12 +324,12 @@ var Value = /*#__PURE__*/function (_Component2) {
312
324
  _this2.handleValidation(event);
313
325
  });
314
326
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "stepUp", function (event) {
315
- var _this2$asProps2 = _this2.asProps,
316
- _this2$asProps2$max = _this2$asProps2.max,
317
- max = _this2$asProps2$max === void 0 ? Number.MAX_SAFE_INTEGER : _this2$asProps2$max,
318
- min = _this2$asProps2.min,
319
- step = _this2$asProps2.step,
320
- value = _this2$asProps2.value;
327
+ var _this2$asProps3 = _this2.asProps,
328
+ _this2$asProps3$max = _this2$asProps3.max,
329
+ max = _this2$asProps3$max === void 0 ? Number.MAX_SAFE_INTEGER : _this2$asProps3$max,
330
+ min = _this2$asProps3.min,
331
+ step = _this2$asProps3.step,
332
+ value = _this2$asProps3.value;
321
333
  var numberValue;
322
334
 
323
335
  // https://stackoverflow.com/questions/68010124/safari-number-input-stepup-stepdown-not-functioning-with-empty-value
@@ -332,12 +344,12 @@ var Value = /*#__PURE__*/function (_Component2) {
332
344
  }
333
345
  });
334
346
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "stepDown", function (event) {
335
- var _this2$asProps3 = _this2.asProps,
336
- max = _this2$asProps3.max,
337
- _this2$asProps3$min = _this2$asProps3.min,
338
- min = _this2$asProps3$min === void 0 ? Number.MIN_SAFE_INTEGER : _this2$asProps3$min,
339
- step = _this2$asProps3.step,
340
- value = _this2$asProps3.value;
347
+ var _this2$asProps4 = _this2.asProps,
348
+ max = _this2$asProps4.max,
349
+ _this2$asProps4$min = _this2$asProps4.min,
350
+ min = _this2$asProps4$min === void 0 ? Number.MIN_SAFE_INTEGER : _this2$asProps4$min,
351
+ step = _this2$asProps4.step,
352
+ value = _this2$asProps4.value;
341
353
  var numberValue;
342
354
  if (value === '') {
343
355
  numberValue = max !== null && max !== void 0 ? max : 0;
@@ -361,16 +373,11 @@ var Value = /*#__PURE__*/function (_Component2) {
361
373
  var _this3$asProps = _this3.asProps,
362
374
  prevValue = _this3$asProps.value,
363
375
  prevDisplayValue = _this3$asProps.displayValue;
364
- if (newValue === '-') {
365
- _this3.handlers.displayValue(newValue);
366
- return newValue;
367
- } else {
368
- var _this3$valueParser = _this3.valueParser(newValue, prevValue, prevDisplayValue),
369
- parsedValue = _this3$valueParser.parsedValue,
370
- displayValue = _this3$valueParser.displayValue;
371
- _this3.handlers.displayValue(displayValue);
372
- return parsedValue;
373
- }
376
+ var _this3$valueParser = _this3.valueParser(newValue, prevValue, prevDisplayValue),
377
+ parsedValue = _this3$valueParser.parsedValue,
378
+ displayValue = _this3$valueParser.displayValue;
379
+ _this3.handlers.displayValue(displayValue);
380
+ return parsedValue;
374
381
  }]
375
382
  };
376
383
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_input","_buttons","_intergalacticDynamicLocales","_i18nEnhance","_ref7","style","_index","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","slice","includes","parsedValue","displayValue","format","startsWith","endsWith","_this2$asProps","step","_this2$valueParser","valueParser","currentTarget","roundCoefficient","toString","split","parseFloat","handlers","numberValue","rounded","round","abs","numberValueRounded","toFixed","target","valueInputRef","document","activeElement","preventDefault","wheelDelta","digits","test","cursorPosition","element","role","indexOf","stopPropagation","selectionStart","afterSelection","selectionEnd","requestAnimationFrame","newValue","state","index","lastIndexOf","setSelectionRange","cursorIndex","shiftKey","moveSelectionLeft","moveSelectionRight","nextPosition","handleValidation","_this2$asProps2","_this2$asProps2$max","_this2$asProps3","_this2$asProps3$min","uncontrolledProps","_this3","_this3$asProps","_this3$valueParser","get","countDecimals","floor","toPrecision","componentDidMount","_this$valueInputRef$c","addEventListener","handleWheel","_this$asProps2","_this$valueParser","componentDidUpdate","prevProps","_this$valueParser2","componentWillUnmount","_this$valueInputRef$c2","removeEventListener","_ref2","_ref5","SValue","SValueHidden","_this$asProps3","styles","forwardRef","Fragment","handleChange","handleKeyDown","handleKeyUp","handleClick","forkRef","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/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\nimport { forkRef } from '@semcore/utils/lib/ref';\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 if (newValue === '-') {\n this.handlers.displayValue(newValue);\n\n return newValue;\n } else {\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\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 (\n stringNumber[stringNumber.length - 1] === '.' &&\n !Number.isNaN(Number(prevValue)) &&\n !stringNumber.slice(0, -1).includes('.')\n ) {\n if (value.length > prevValue.length) {\n // type new value\n return {\n parsedValue: prevValue + this.separatorDecimal,\n displayValue: numberFormatter.format(prevValue) + this.separatorDecimal,\n };\n } else {\n // backspace value\n return {\n parsedValue: stringNumber,\n displayValue: value,\n };\n }\n }\n\n if (Number.isNaN(Number(stringNumber))) {\n return {\n parsedValue: prevValue,\n displayValue: prevDisplayValue,\n };\n }\n\n let displayValue = '';\n\n if (stringNumber.startsWith('0.0') && stringNumber.endsWith('0')) {\n displayValue = stringNumber;\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.handleWheel);\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.handleWheel);\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\n if (value.endsWith('.') || value.endsWith('-')) {\n this.handlers.displayValue(value);\n return false;\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 const element = event.currentTarget;\n\n element.role = 'input';\n };\n\n handleKeyDown = (event) => {\n const element = event.currentTarget;\n const value = element.value;\n const length = value.length;\n\n // we need this dirty hack for screen readers, because they couldn't read full value in input after adding there ','.\n // so, we change role to `region` here and back to `input` in handleKeyUp\n element.role = 'region';\n\n // we could press dot second time - prevent this '1.5.'\n if (event.key === this.separatorDecimal && value.indexOf(this.separatorDecimal) !== -1) {\n event.preventDefault();\n event.stopPropagation();\n return;\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 SValueHidden = 'div';\n const { styles, min, max, step, forwardRef, inputRef, value, 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='decimal'\n aria-valuemin={min}\n aria-valuemax={max}\n min={min}\n max={max}\n step={step}\n />\n {/* the next hidden div is necessary for the screen reader to report the value\n in the input, because after validation the value can change to the `min` or `max`\n if entered less than `min` or more than `max` */}\n <SValueHidden aria-live='polite' aria-atomic={true}>\n {value}\n </SValueHidden>\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, increment, decrement, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden='true'>\n <SUp\n onClick={increment}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IncrementIcon />\n </SUp>\n <SDown\n onClick={decrement}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <DecrementIcon />\n </SDown>\n <Children />\n </SControls>,\n );\n}\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","_interopRequireWildcard","require","_react","_interopRequireDefault","_input","_buttons","_intergalacticDynamicLocales","_i18nEnhance","_ref7","style","_index","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","target","valueInputRef","document","activeElement","preventDefault","wheelDelta","_this2$asProps2","endsWith","digits","cursorPosition","element","role","indexOf","stopPropagation","slice","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","handleWheel","_this$asProps2","_this$valueParser","componentDidUpdate","prevProps","_this$valueParser2","componentWillUnmount","_this$valueInputRef$c2","removeEventListener","_ref2","_ref5","SValue","SValueHidden","_this$asProps3","styles","forwardRef","Fragment","handleChange","handleKeyDown","handleKeyUp","handleClick","forkRef","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/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\nimport { forkRef } from '@semcore/utils/lib/ref';\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.handleWheel);\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.handleWheel);\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.displayValue(numberFormatter.format(value));\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 const element = event.currentTarget;\n\n element.role = 'input';\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 // we need this dirty hack for screen readers, because they couldn't read full value in input after adding there ','.\n // so, we change role to `region` here and back to `input` in handleKeyUp\n element.role = 'region';\n\n // we could press dot second time - prevent this '1.5.'\n if (event.key === this.separatorDecimal && value.indexOf(this.separatorDecimal) !== -1) {\n event.preventDefault();\n event.stopPropagation();\n return;\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 SValueHidden = 'div';\n const { styles, min, max, step, forwardRef, inputRef, value, 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='decimal'\n aria-valuemin={min}\n aria-valuemax={max}\n min={min}\n max={max}\n step={step}\n />\n {/* the next hidden div is necessary for the screen reader to report the value\n in the input, because after validation the value can change to the `min` or `max`\n if entered less than `min` or more than `max` */}\n <SValueHidden aria-live='polite' aria-atomic={true}>\n {value}\n </SValueHidden>\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, increment, decrement, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden='true'>\n <SUp\n onClick={increment}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IncrementIcon />\n </SUp>\n <SDown\n onClick={decrement}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <DecrementIcon />\n </SDown>\n <Children />\n </SControls>,\n );\n}\nControls.style = style;\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
1
2
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
3
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
4
  import _createClass from "@babel/runtime/helpers/createClass";
@@ -16,15 +17,15 @@ import { IncrementIcon, DecrementIcon } from './buttons';
16
17
  import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
17
18
  import i18nEnhance from 'intergalactic/utils/lib/enhances/i18nEnhance';
18
19
  /*__reshadow-styles__:"./style/input-number.shadow.css"*/
19
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SValue_1in2l_gg_:focus~.___SControls_1in2l_gg_{display:flex}.___SControls_1in2l_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_1in2l_gg_.__showControls_1in2l_gg_{display:flex}.___SDown_1in2l_gg_,.___SUp_1in2l_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_1in2l_gg_:focus,.___SUp_1in2l_gg_:focus{outline:0}@media (hover:hover){.___SDown_1in2l_gg_:hover,.___SUp_1in2l_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #878992)}}.___SUp_1in2l_gg_{padding-bottom:1px}.___SDown_1in2l_gg_{padding-top:1px}.___SValue_1in2l_gg_::-webkit-inner-spin-button,.___SValue_1in2l_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_1in2l_gg_._type_number_1in2l_gg_{-moz-appearance:textfield}.___SValue_1in2l_gg_.__disabled_1in2l_gg_~.___SControls_1in2l_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SValueHidden_1in2l_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}" /*__inner_css_end__*/, "1in2l_gg_") /*__reshadow_css_end__*/, {
20
- "__SValue": "___SValue_1in2l_gg_",
21
- "__SControls": "___SControls_1in2l_gg_",
22
- "_showControls": "__showControls_1in2l_gg_",
23
- "__SUp": "___SUp_1in2l_gg_",
24
- "__SDown": "___SDown_1in2l_gg_",
25
- "_disabled": "__disabled_1in2l_gg_",
26
- "__SValueHidden": "___SValueHidden_1in2l_gg_",
27
- "_type_number": "_type_number_1in2l_gg_"
20
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SValue_1su2s_gg_:focus~.___SControls_1su2s_gg_{display:flex}.___SControls_1su2s_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_1su2s_gg_.__showControls_1su2s_gg_{display:flex}.___SDown_1su2s_gg_,.___SUp_1su2s_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_1su2s_gg_:focus,.___SUp_1su2s_gg_:focus{outline:0}@media (hover:hover){.___SDown_1su2s_gg_:hover,.___SUp_1su2s_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #878992)}}.___SUp_1su2s_gg_{padding-bottom:1px}.___SDown_1su2s_gg_{padding-top:1px}.___SValue_1su2s_gg_::-webkit-inner-spin-button,.___SValue_1su2s_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_1su2s_gg_._type_number_1su2s_gg_{-moz-appearance:textfield}.___SValue_1su2s_gg_.__disabled_1su2s_gg_~.___SControls_1su2s_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SValueHidden_1su2s_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}" /*__inner_css_end__*/, "1su2s_gg_") /*__reshadow_css_end__*/, {
21
+ "__SValue": "___SValue_1su2s_gg_",
22
+ "__SControls": "___SControls_1su2s_gg_",
23
+ "_showControls": "__showControls_1su2s_gg_",
24
+ "__SUp": "___SUp_1su2s_gg_",
25
+ "__SDown": "___SDown_1su2s_gg_",
26
+ "_disabled": "__disabled_1su2s_gg_",
27
+ "__SValueHidden": "___SValueHidden_1su2s_gg_",
28
+ "_type_number": "_type_number_1su2s_gg_"
28
29
  });
29
30
  import { forkRef } from 'intergalactic/utils/lib/ref';
30
31
  export function parseValueWithMinMax(value) {
@@ -116,21 +117,6 @@ var Value = /*#__PURE__*/function (_Component2) {
116
117
  _defineProperty(_assertThisInitialized(_this2), "valueParser", function (value, prevValue, prevDisplayValue) {
117
118
  var numberFormatter = _this2.props.numberFormatter;
118
119
  var stringNumber = _this2.getFormattedValue(String(value));
119
- if (stringNumber[stringNumber.length - 1] === '.' && !Number.isNaN(Number(prevValue)) && !stringNumber.slice(0, -1).includes('.')) {
120
- if (value.length > prevValue.length) {
121
- // type new value
122
- return {
123
- parsedValue: prevValue + _this2.separatorDecimal,
124
- displayValue: numberFormatter.format(prevValue) + _this2.separatorDecimal
125
- };
126
- } else {
127
- // backspace value
128
- return {
129
- parsedValue: stringNumber,
130
- displayValue: value
131
- };
132
- }
133
- }
134
120
  if (Number.isNaN(Number(stringNumber))) {
135
121
  return {
136
122
  parsedValue: prevValue,
@@ -138,8 +124,12 @@ var Value = /*#__PURE__*/function (_Component2) {
138
124
  };
139
125
  }
140
126
  var displayValue = '';
141
- if (stringNumber.startsWith('0.0') && stringNumber.endsWith('0')) {
142
- displayValue = stringNumber;
127
+ if (/\.[0-9]*0$/.test(stringNumber)) {
128
+ var _stringNumber$split = stringNumber.split(_this2.separatorDecimal),
129
+ _stringNumber$split2 = _slicedToArray(_stringNumber$split, 2),
130
+ _int = _stringNumber$split2[0],
131
+ decimal = _stringNumber$split2[1];
132
+ displayValue = numberFormatter.format(_int) + _this2.separatorDecimal + decimal;
143
133
  } else if (stringNumber !== '') {
144
134
  displayValue = numberFormatter.format(stringNumber);
145
135
  }
@@ -187,10 +177,25 @@ var Value = /*#__PURE__*/function (_Component2) {
187
177
  });
188
178
  _defineProperty(_assertThisInitialized(_this2), "handleChange", function (event) {
189
179
  var value = _this2.getFormattedValue(event.currentTarget.value);
190
- if (value.endsWith('.') || value.endsWith('-')) {
180
+ var _this2$asProps2 = _this2.asProps,
181
+ numberFormatter = _this2$asProps2.numberFormatter,
182
+ prevValue = _this2$asProps2.value;
183
+ if (value === '.' || value === '-') {
191
184
  _this2.handlers.displayValue(value);
192
185
  return false;
193
186
  }
187
+ if (value.endsWith('-')) {
188
+ return false;
189
+ }
190
+ if (value.endsWith('.')) {
191
+ if (value.length > prevValue.length) {
192
+ _this2.handlers.displayValue(numberFormatter.format(value) + _this2.separatorDecimal);
193
+ return false;
194
+ } else {
195
+ _this2.handlers.displayValue(numberFormatter.format(value));
196
+ return false;
197
+ }
198
+ }
194
199
  var digits = /[0-9.-]+/.test(value);
195
200
  if (digits || value === '') {
196
201
  _this2.handlers.value(value, event);
@@ -207,6 +212,7 @@ var Value = /*#__PURE__*/function (_Component2) {
207
212
  var element = event.currentTarget;
208
213
  var value = element.value;
209
214
  var length = value.length;
215
+ var displayValue = _this2.asProps.displayValue;
210
216
 
211
217
  // we need this dirty hack for screen readers, because they couldn't read full value in input after adding there ','.
212
218
  // so, we change role to `region` here and back to `input` in handleKeyUp
@@ -218,6 +224,12 @@ var Value = /*#__PURE__*/function (_Component2) {
218
224
  event.stopPropagation();
219
225
  return;
220
226
  }
227
+ if (event.key === 'Backspace' && value.endsWith(_this2.separatorDecimal)) {
228
+ event.preventDefault();
229
+ event.stopPropagation();
230
+ _this2.handlers.displayValue(displayValue.slice(0, -1));
231
+ return false;
232
+ }
221
233
  if (element.selectionStart !== length && (event.key === 'Backspace' || event.key === _this2.separatorDecimal || ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(event.key))) {
222
234
  var afterSelection = value.slice(element.selectionEnd);
223
235
  requestAnimationFrame(function () {
@@ -306,12 +318,12 @@ var Value = /*#__PURE__*/function (_Component2) {
306
318
  _this2.handleValidation(event);
307
319
  });
308
320
  _defineProperty(_assertThisInitialized(_this2), "stepUp", function (event) {
309
- var _this2$asProps2 = _this2.asProps,
310
- _this2$asProps2$max = _this2$asProps2.max,
311
- max = _this2$asProps2$max === void 0 ? Number.MAX_SAFE_INTEGER : _this2$asProps2$max,
312
- min = _this2$asProps2.min,
313
- step = _this2$asProps2.step,
314
- value = _this2$asProps2.value;
321
+ var _this2$asProps3 = _this2.asProps,
322
+ _this2$asProps3$max = _this2$asProps3.max,
323
+ max = _this2$asProps3$max === void 0 ? Number.MAX_SAFE_INTEGER : _this2$asProps3$max,
324
+ min = _this2$asProps3.min,
325
+ step = _this2$asProps3.step,
326
+ value = _this2$asProps3.value;
315
327
  var numberValue;
316
328
 
317
329
  // https://stackoverflow.com/questions/68010124/safari-number-input-stepup-stepdown-not-functioning-with-empty-value
@@ -326,12 +338,12 @@ var Value = /*#__PURE__*/function (_Component2) {
326
338
  }
327
339
  });
328
340
  _defineProperty(_assertThisInitialized(_this2), "stepDown", function (event) {
329
- var _this2$asProps3 = _this2.asProps,
330
- max = _this2$asProps3.max,
331
- _this2$asProps3$min = _this2$asProps3.min,
332
- min = _this2$asProps3$min === void 0 ? Number.MIN_SAFE_INTEGER : _this2$asProps3$min,
333
- step = _this2$asProps3.step,
334
- value = _this2$asProps3.value;
341
+ var _this2$asProps4 = _this2.asProps,
342
+ max = _this2$asProps4.max,
343
+ _this2$asProps4$min = _this2$asProps4.min,
344
+ min = _this2$asProps4$min === void 0 ? Number.MIN_SAFE_INTEGER : _this2$asProps4$min,
345
+ step = _this2$asProps4.step,
346
+ value = _this2$asProps4.value;
335
347
  var numberValue;
336
348
  if (value === '') {
337
349
  numberValue = max !== null && max !== void 0 ? max : 0;
@@ -355,16 +367,11 @@ var Value = /*#__PURE__*/function (_Component2) {
355
367
  var _this3$asProps = _this3.asProps,
356
368
  prevValue = _this3$asProps.value,
357
369
  prevDisplayValue = _this3$asProps.displayValue;
358
- if (newValue === '-') {
359
- _this3.handlers.displayValue(newValue);
360
- return newValue;
361
- } else {
362
- var _this3$valueParser = _this3.valueParser(newValue, prevValue, prevDisplayValue),
363
- parsedValue = _this3$valueParser.parsedValue,
364
- displayValue = _this3$valueParser.displayValue;
365
- _this3.handlers.displayValue(displayValue);
366
- return parsedValue;
367
- }
370
+ var _this3$valueParser = _this3.valueParser(newValue, prevValue, prevDisplayValue),
371
+ parsedValue = _this3$valueParser.parsedValue,
372
+ displayValue = _this3$valueParser.displayValue;
373
+ _this3.handlers.displayValue(displayValue);
374
+ return parsedValue;
368
375
  }]
369
376
  };
370
377
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["React","createComponent","Component","sstyled","Root","Input","IncrementIcon","DecrementIcon","localizedMessages","i18nEnhance","style","_sstyled","insert","forkRef","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","InputNumber","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","event","_this$inputRef$curren","_this$inputRef$curren2","inputRef","current","stepUp","_this$inputRef$curren3","_this$inputRef$curren4","stepDown","_createClass","key","getValueProps","numberFormatter","Intl","NumberFormat","asProps","locale","increment","decrement","getControlsProps","_this$asProps","size","getI18nText","render","_ref","_ref4","SInputNumber","createElement","cn","_objectSpread","_assignProps","i18n","Value","_Component2","_super2","_this2","_len2","_key2","replace","RegExp","separatorThousands","separatorDecimal","prevValue","prevDisplayValue","props","stringNumber","getFormattedValue","String","isNaN","slice","includes","parsedValue","displayValue","format","startsWith","endsWith","_this2$asProps","step","_this2$valueParser","valueParser","currentTarget","roundCoefficient","toString","split","parseFloat","handlers","numberValue","rounded","round","abs","numberValueRounded","toFixed","target","valueInputRef","document","activeElement","preventDefault","wheelDelta","digits","test","cursorPosition","element","role","indexOf","stopPropagation","selectionStart","afterSelection","selectionEnd","requestAnimationFrame","newValue","state","index","lastIndexOf","setSelectionRange","cursorIndex","shiftKey","moveSelectionLeft","moveSelectionRight","nextPosition","handleValidation","_this2$asProps2","_this2$asProps2$max","_this2$asProps3","_this2$asProps3$min","uncontrolledProps","_this3","_this3$asProps","_this3$valueParser","get","countDecimals","floor","toPrecision","componentDidMount","_this$valueInputRef$c","addEventListener","handleWheel","_this$asProps2","_this$valueParser","componentDidUpdate","prevProps","_this$valueParser2","componentWillUnmount","_this$valueInputRef$c2","removeEventListener","_ref2","_ref5","SValue","SValueHidden","_this$asProps3","styles","forwardRef","Fragment","_assignProps2","handleChange","handleKeyDown","handleKeyUp","handleClick","defaultValue","defaultDisplayValue","Controls","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","_assignProps3"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport { IncrementIcon, DecrementIcon } from './buttons';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\nimport { forkRef } from '@semcore/utils/lib/ref';\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 if (newValue === '-') {\n this.handlers.displayValue(newValue);\n\n return newValue;\n } else {\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\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 (\n stringNumber[stringNumber.length - 1] === '.' &&\n !Number.isNaN(Number(prevValue)) &&\n !stringNumber.slice(0, -1).includes('.')\n ) {\n if (value.length > prevValue.length) {\n // type new value\n return {\n parsedValue: prevValue + this.separatorDecimal,\n displayValue: numberFormatter.format(prevValue) + this.separatorDecimal,\n };\n } else {\n // backspace value\n return {\n parsedValue: stringNumber,\n displayValue: value,\n };\n }\n }\n\n if (Number.isNaN(Number(stringNumber))) {\n return {\n parsedValue: prevValue,\n displayValue: prevDisplayValue,\n };\n }\n\n let displayValue = '';\n\n if (stringNumber.startsWith('0.0') && stringNumber.endsWith('0')) {\n displayValue = stringNumber;\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.handleWheel);\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.handleWheel);\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\n if (value.endsWith('.') || value.endsWith('-')) {\n this.handlers.displayValue(value);\n return false;\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 const element = event.currentTarget;\n\n element.role = 'input';\n };\n\n handleKeyDown = (event) => {\n const element = event.currentTarget;\n const value = element.value;\n const length = value.length;\n\n // we need this dirty hack for screen readers, because they couldn't read full value in input after adding there ','.\n // so, we change role to `region` here and back to `input` in handleKeyUp\n element.role = 'region';\n\n // we could press dot second time - prevent this '1.5.'\n if (event.key === this.separatorDecimal && value.indexOf(this.separatorDecimal) !== -1) {\n event.preventDefault();\n event.stopPropagation();\n return;\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 SValueHidden = 'div';\n const { styles, min, max, step, forwardRef, inputRef, value, 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='decimal'\n aria-valuemin={min}\n aria-valuemax={max}\n min={min}\n max={max}\n step={step}\n />\n {/* the next hidden div is necessary for the screen reader to report the value\n in the input, because after validation the value can change to the `min` or `max`\n if entered less than `min` or more than `max` */}\n <SValueHidden aria-live='polite' aria-atomic={true}>\n {value}\n </SValueHidden>\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, increment, decrement, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden='true'>\n <SUp\n onClick={increment}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IncrementIcon />\n </SUp>\n <SDown\n onClick={decrement}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <DecrementIcon />\n </SDown>\n <Children />\n </SControls>,\n );\n}\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":["React","createComponent","Component","sstyled","Root","Input","IncrementIcon","DecrementIcon","localizedMessages","i18nEnhance","style","_sstyled","insert","forkRef","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","InputNumber","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","event","_this$inputRef$curren","_this$inputRef$curren2","inputRef","current","stepUp","_this$inputRef$curren3","_this$inputRef$curren4","stepDown","_createClass","key","getValueProps","numberFormatter","Intl","NumberFormat","asProps","locale","increment","decrement","getControlsProps","_this$asProps","size","getI18nText","render","_ref","_ref4","SInputNumber","createElement","cn","_objectSpread","_assignProps","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","_slicedToArray","int","decimal","format","_this2$asProps","step","_this2$valueParser","valueParser","currentTarget","roundCoefficient","toString","parseFloat","handlers","numberValue","rounded","round","abs","numberValueRounded","toFixed","target","valueInputRef","document","activeElement","preventDefault","wheelDelta","_this2$asProps2","endsWith","digits","cursorPosition","element","role","indexOf","stopPropagation","slice","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","handleWheel","_this$asProps2","_this$valueParser","componentDidUpdate","prevProps","_this$valueParser2","componentWillUnmount","_this$valueInputRef$c2","removeEventListener","_ref2","_ref5","SValue","SValueHidden","_this$asProps3","styles","forwardRef","Fragment","_assignProps2","handleChange","handleKeyDown","handleKeyUp","handleClick","defaultValue","defaultDisplayValue","Controls","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","_assignProps3"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport { IncrementIcon, DecrementIcon } from './buttons';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\nimport { forkRef } from '@semcore/utils/lib/ref';\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.handleWheel);\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.handleWheel);\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.displayValue(numberFormatter.format(value));\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 const element = event.currentTarget;\n\n element.role = 'input';\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 // we need this dirty hack for screen readers, because they couldn't read full value in input after adding there ','.\n // so, we change role to `region` here and back to `input` in handleKeyUp\n element.role = 'region';\n\n // we could press dot second time - prevent this '1.5.'\n if (event.key === this.separatorDecimal && value.indexOf(this.separatorDecimal) !== -1) {\n event.preventDefault();\n event.stopPropagation();\n return;\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 SValueHidden = 'div';\n const { styles, min, max, step, forwardRef, inputRef, value, 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='decimal'\n aria-valuemin={min}\n aria-valuemax={max}\n min={min}\n max={max}\n step={step}\n />\n {/* the next hidden div is necessary for the screen reader to report the value\n in the input, because after validation the value can change to the `min` or `max`\n if entered less than `min` or more than `max` */}\n <SValueHidden aria-live='polite' aria-atomic={true}>\n {value}\n </SValueHidden>\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, increment, decrement, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden='true'>\n <SUp\n onClick={increment}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IncrementIcon />\n </SUp>\n <SDown\n onClick={decrement}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <DecrementIcon />\n </SDown>\n <Children />\n </SControls>,\n );\n}\nControls.style = style;\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intergalactic",
3
- "version": "15.98.0-prerelease.0",
3
+ "version": "15.98.1-prerelease.0",
4
4
  "license": "MIT",
5
5
  "dependencies": {
6
6
  "intergalactic-migrate": "0.0.0",