@semcore/input-number 4.4.16 → 4.4.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
-
## [4.4.
|
|
5
|
+
## [4.4.17] - 2023-05-03
|
|
6
6
|
|
|
7
7
|
### Changed
|
|
8
8
|
|
|
9
|
-
- Version patch update due to children dependencies update (`@semcore/input` [3.5.
|
|
9
|
+
- Version patch update due to children dependencies update (`@semcore/input` [3.5.22 ~> 3.5.23], `@semcore/utils` [3.50.4 ~> 3.50.5]).
|
|
10
|
+
|
|
11
|
+
## [4.4.16] - 2023-04-28
|
|
10
12
|
|
|
11
13
|
## [4.4.15] - 2023-04-24
|
|
12
14
|
|
package/lib/cjs/InputNumber.js
CHANGED
|
@@ -20,15 +20,15 @@ var _buttons = _interopRequireDefault(require("./buttons"));
|
|
|
20
20
|
var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
|
|
21
21
|
var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
|
|
22
22
|
/*__reshadow-styles__:"./style/input-number.shadow.css"*/
|
|
23
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
24
|
-
"__SValue": "
|
|
25
|
-
"__SControls": "
|
|
26
|
-
"_showControls": "
|
|
27
|
-
"__SUp": "
|
|
28
|
-
"__SDown": "
|
|
29
|
-
"_type_number": "
|
|
30
|
-
"_disabled": "
|
|
31
|
-
"__SValueHidden": "
|
|
23
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SValue_yhk2v_gg_:focus~.___SControls_yhk2v_gg_{display:flex}.___SControls_yhk2v_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_yhk2v_gg_.__showControls_yhk2v_gg_{display:flex}.___SDown_yhk2v_gg_,.___SUp_yhk2v_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_yhk2v_gg_:focus,.___SUp_yhk2v_gg_:focus{outline:0}@media (hover:hover){.___SDown_yhk2v_gg_:hover,.___SUp_yhk2v_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SUp_yhk2v_gg_{padding-bottom:1px}.___SDown_yhk2v_gg_{padding-top:1px}.___SValue_yhk2v_gg_::-webkit-inner-spin-button,.___SValue_yhk2v_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_yhk2v_gg_._type_number_yhk2v_gg_{-moz-appearance:textfield}.___SValue_yhk2v_gg_.__disabled_yhk2v_gg_~.___SControls_yhk2v_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SValueHidden_yhk2v_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}" /*__inner_css_end__*/, "yhk2v_gg_") /*__reshadow_css_end__*/, {
|
|
24
|
+
"__SValue": "___SValue_yhk2v_gg_",
|
|
25
|
+
"__SControls": "___SControls_yhk2v_gg_",
|
|
26
|
+
"_showControls": "__showControls_yhk2v_gg_",
|
|
27
|
+
"__SUp": "___SUp_yhk2v_gg_",
|
|
28
|
+
"__SDown": "___SDown_yhk2v_gg_",
|
|
29
|
+
"_type_number": "_type_number_yhk2v_gg_",
|
|
30
|
+
"_disabled": "__disabled_yhk2v_gg_",
|
|
31
|
+
"__SValueHidden": "___SValueHidden_yhk2v_gg_"
|
|
32
32
|
});
|
|
33
33
|
function parseValueWithMinMax(value) {
|
|
34
34
|
var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MIN_SAFE_INTEGER;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputNumber.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_input","_buttons","_intergalacticDynamicLocales","_i18nEnhance","style","sstyled","insert","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","IconUp","BUTTONS","up","IconDown","down","InputNumber","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","e","_this$inputRef$curren","_this$inputRef$curren2","_this$inputHandlersRe","inputRef","current","stepUp","inputHandlersRef","_this$inputRef$curren3","_this$inputRef$curren4","_this$inputHandlersRe2","stepDown","_createClass2","key","getValueProps","ref","$inputHandlers","getControlsProps","_this$asProps","asProps","size","getI18nText","inc","handlerInc","dec","handlerDec","render","_ref","_ref4","SInputNumber","Input","createElement","cn","_objectSpread2","assignProps","Component","i18nEnhance","localizedMessages","i18n","locale","Value","_Component2","_super2","_this2","_len2","_key2","_this2$asProps","step","roundCoefficient","toString","split","isNaN","currentTarget","valueAsNumber","handlers","numberValue","parseFloat","r","roundRemainder","abs","numberValueRounded","toFixed","String","uncontrolledProps","countDecimals","floor","toPrecision","_ref2","_ref5","SValue","SValueHidden","_this$asProps2","styles","Fragment","handleValidation","defaultValue","Controls","props","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","_default","createComponent","exports"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport BUTTONS from './buttons';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\n\nfunction parseValueWithMinMax(value, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(max, value));\n}\n\nconst IconUp = () => BUTTONS.up;\nconst IconDown = () => BUTTONS.down;\n\nclass InputNumber extends Component {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n inputRef = React.createRef();\n inputHandlersRef = React.createRef();\n\n handlerInc = (e) => {\n // TODO: IE11 dont work\n this.inputRef.current?.stepUp && this.inputRef.current?.stepUp();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, e);\n };\n\n handlerDec = (e) => {\n // TODO: IE11 dont work\n this.inputRef.current?.stepDown && this.inputRef.current?.stepDown();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, e);\n };\n\n getValueProps() {\n return {\n ref: this.inputRef,\n $inputHandlers: this.inputHandlersRef,\n };\n }\n\n getControlsProps() {\n const { size, getI18nText } = this.asProps;\n return {\n size,\n inc: this.handlerInc,\n dec: this.handlerDec,\n getI18nText,\n };\n }\n\n render() {\n const SInputNumber = Root;\n return sstyled(this.asProps.style)(<SInputNumber render={Input} />);\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n step: 1,\n };\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n roundRemainder(value, step) {\n const countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;\n return countDecimals === 0\n ? Number.parseFloat(value)\n : Number.parseFloat(value).toPrecision(countDecimals);\n }\n\n handleValidation = (e) => {\n const { value, min, max, step } = this.asProps;\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n if (Number.isNaN(e.currentTarget.valueAsNumber)) {\n e.currentTarget.value = '';\n this.handlers.value('', e);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(value), min, max);\n const r = this.roundRemainder(numberValue % step, step);\n if (r !== 0) {\n if (r >= step / 2) {\n numberValue += step - r;\n } else if (Math.abs(r) < step) {\n numberValue -= r;\n }\n }\n const numberValueRounded = Number(numberValue.toFixed(roundCoefficient));\n this.handlers.value(String(numberValueRounded), e);\n }\n };\n\n render() {\n const SValue = Root;\n const SValueHidden = 'div';\n const { styles, $inputHandlers, value, min, max } = this.asProps;\n\n // 🐒 не делайте так\n $inputHandlers.current = this.handlers;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n type=\"number\"\n autoComplete=\"off\"\n onBlur={this.handleValidation}\n onInvalid={this.handleValidation}\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n />\n {/* the next hidden div is necessary for the screen reader to report the value\n in the input, because after validation the value can change to the `min` or `max` \n if entered less than `min` or more than `max` */}\n <SValueHidden aria-live=\"polite\" aria-atomic={true}>\n {value}\n </SValueHidden>\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, inc, dec, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden=\"true\">\n <SUp\n onClick={inc}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IconUp />\n </SUp>\n <SDown\n onClick={dec}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <IconDown />\n </SDown>\n <Children />\n </SControls>,\n );\n}\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputNumber.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_input","_buttons","_intergalacticDynamicLocales","_i18nEnhance","style","sstyled","insert","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","IconUp","BUTTONS","up","IconDown","down","InputNumber","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","e","_this$inputRef$curren","_this$inputRef$curren2","_this$inputHandlersRe","inputRef","current","stepUp","inputHandlersRef","_this$inputRef$curren3","_this$inputRef$curren4","_this$inputHandlersRe2","stepDown","_createClass2","key","getValueProps","ref","$inputHandlers","getControlsProps","_this$asProps","asProps","size","getI18nText","inc","handlerInc","dec","handlerDec","render","_ref","_ref4","SInputNumber","Input","createElement","cn","_objectSpread2","assignProps","Component","i18nEnhance","localizedMessages","i18n","locale","Value","_Component2","_super2","_this2","_len2","_key2","_this2$asProps","step","roundCoefficient","toString","split","isNaN","currentTarget","valueAsNumber","handlers","numberValue","parseFloat","r","roundRemainder","abs","numberValueRounded","toFixed","String","uncontrolledProps","countDecimals","floor","toPrecision","_ref2","_ref5","SValue","SValueHidden","_this$asProps2","styles","Fragment","handleValidation","defaultValue","Controls","props","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","_default","createComponent","exports"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport BUTTONS from './buttons';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\n\nfunction parseValueWithMinMax(value, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(max, value));\n}\n\nconst IconUp = () => BUTTONS.up;\nconst IconDown = () => BUTTONS.down;\n\nclass InputNumber extends Component {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n inputRef = React.createRef();\n inputHandlersRef = React.createRef();\n\n handlerInc = (e) => {\n // TODO: IE11 dont work\n this.inputRef.current?.stepUp && this.inputRef.current?.stepUp();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, e);\n };\n\n handlerDec = (e) => {\n // TODO: IE11 dont work\n this.inputRef.current?.stepDown && this.inputRef.current?.stepDown();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, e);\n };\n\n getValueProps() {\n return {\n ref: this.inputRef,\n $inputHandlers: this.inputHandlersRef,\n };\n }\n\n getControlsProps() {\n const { size, getI18nText } = this.asProps;\n return {\n size,\n inc: this.handlerInc,\n dec: this.handlerDec,\n getI18nText,\n };\n }\n\n render() {\n const SInputNumber = Root;\n return sstyled(this.asProps.style)(<SInputNumber render={Input} />);\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n step: 1,\n };\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n roundRemainder(value, step) {\n const countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;\n return countDecimals === 0\n ? Number.parseFloat(value)\n : Number.parseFloat(value).toPrecision(countDecimals);\n }\n\n handleValidation = (e) => {\n const { value, min, max, step } = this.asProps;\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n if (Number.isNaN(e.currentTarget.valueAsNumber)) {\n e.currentTarget.value = '';\n this.handlers.value('', e);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(value), min, max);\n const r = this.roundRemainder(numberValue % step, step);\n if (r !== 0) {\n if (r >= step / 2) {\n numberValue += step - r;\n } else if (Math.abs(r) < step) {\n numberValue -= r;\n }\n }\n const numberValueRounded = Number(numberValue.toFixed(roundCoefficient));\n this.handlers.value(String(numberValueRounded), e);\n }\n };\n\n render() {\n const SValue = Root;\n const SValueHidden = 'div';\n const { styles, $inputHandlers, value, min, max } = this.asProps;\n\n // 🐒 не делайте так\n $inputHandlers.current = this.handlers;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n type=\"number\"\n autoComplete=\"off\"\n onBlur={this.handleValidation}\n onInvalid={this.handleValidation}\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n />\n {/* the next hidden div is necessary for the screen reader to report the value\n in the input, because after validation the value can change to the `min` or `max` \n if entered less than `min` or more than `max` */}\n <SValueHidden aria-live=\"polite\" aria-atomic={true}>\n {value}\n </SValueHidden>\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, inc, dec, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden=\"true\">\n <SUp\n onClick={inc}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IconUp />\n </SUp>\n <SDown\n onClick={dec}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <IconDown />\n </SDown>\n <Children />\n </SControls>,\n );\n}\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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"}
|
package/lib/es6/InputNumber.js
CHANGED
|
@@ -16,15 +16,15 @@ import BUTTONS from './buttons';
|
|
|
16
16
|
import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
|
|
17
17
|
import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
|
|
18
18
|
/*__reshadow-styles__:"./style/input-number.shadow.css"*/
|
|
19
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
20
|
-
"__SValue": "
|
|
21
|
-
"__SControls": "
|
|
22
|
-
"_showControls": "
|
|
23
|
-
"__SUp": "
|
|
24
|
-
"__SDown": "
|
|
25
|
-
"_type_number": "
|
|
26
|
-
"_disabled": "
|
|
27
|
-
"__SValueHidden": "
|
|
19
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SValue_yhk2v_gg_:focus~.___SControls_yhk2v_gg_{display:flex}.___SControls_yhk2v_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_yhk2v_gg_.__showControls_yhk2v_gg_{display:flex}.___SDown_yhk2v_gg_,.___SUp_yhk2v_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_yhk2v_gg_:focus,.___SUp_yhk2v_gg_:focus{outline:0}@media (hover:hover){.___SDown_yhk2v_gg_:hover,.___SUp_yhk2v_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SUp_yhk2v_gg_{padding-bottom:1px}.___SDown_yhk2v_gg_{padding-top:1px}.___SValue_yhk2v_gg_::-webkit-inner-spin-button,.___SValue_yhk2v_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_yhk2v_gg_._type_number_yhk2v_gg_{-moz-appearance:textfield}.___SValue_yhk2v_gg_.__disabled_yhk2v_gg_~.___SControls_yhk2v_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}.___SValueHidden_yhk2v_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}" /*__inner_css_end__*/, "yhk2v_gg_") /*__reshadow_css_end__*/, {
|
|
20
|
+
"__SValue": "___SValue_yhk2v_gg_",
|
|
21
|
+
"__SControls": "___SControls_yhk2v_gg_",
|
|
22
|
+
"_showControls": "__showControls_yhk2v_gg_",
|
|
23
|
+
"__SUp": "___SUp_yhk2v_gg_",
|
|
24
|
+
"__SDown": "___SDown_yhk2v_gg_",
|
|
25
|
+
"_type_number": "_type_number_yhk2v_gg_",
|
|
26
|
+
"_disabled": "__disabled_yhk2v_gg_",
|
|
27
|
+
"__SValueHidden": "___SValueHidden_yhk2v_gg_"
|
|
28
28
|
});
|
|
29
29
|
function parseValueWithMinMax(value) {
|
|
30
30
|
var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MIN_SAFE_INTEGER;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputNumber.js","names":["React","createComponent","Component","sstyled","Root","Input","BUTTONS","localizedMessages","i18nEnhance","style","_sstyled","insert","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","IconUp","up","IconDown","down","InputNumber","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","e","_this$inputRef$curren","_this$inputRef$curren2","_this$inputHandlersRe","inputRef","current","stepUp","inputHandlersRef","_this$inputRef$curren3","_this$inputRef$curren4","_this$inputHandlersRe2","stepDown","_createClass","key","getValueProps","ref","$inputHandlers","getControlsProps","_this$asProps","asProps","size","getI18nText","inc","handlerInc","dec","handlerDec","render","_ref","_ref4","SInputNumber","createElement","cn","_objectSpread","_assignProps","i18n","locale","Value","_Component2","_super2","_this2","_len2","_key2","_this2$asProps","step","roundCoefficient","toString","split","isNaN","currentTarget","valueAsNumber","handlers","numberValue","parseFloat","r","roundRemainder","abs","numberValueRounded","toFixed","String","uncontrolledProps","countDecimals","floor","toPrecision","_ref2","_ref5","SValue","SValueHidden","_this$asProps2","styles","Fragment","_assignProps2","handleValidation","defaultValue","Controls","props","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","_assignProps3"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport BUTTONS from './buttons';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\n\nfunction parseValueWithMinMax(value, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(max, value));\n}\n\nconst IconUp = () => BUTTONS.up;\nconst IconDown = () => BUTTONS.down;\n\nclass InputNumber extends Component {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n inputRef = React.createRef();\n inputHandlersRef = React.createRef();\n\n handlerInc = (e) => {\n // TODO: IE11 dont work\n this.inputRef.current?.stepUp && this.inputRef.current?.stepUp();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, e);\n };\n\n handlerDec = (e) => {\n // TODO: IE11 dont work\n this.inputRef.current?.stepDown && this.inputRef.current?.stepDown();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, e);\n };\n\n getValueProps() {\n return {\n ref: this.inputRef,\n $inputHandlers: this.inputHandlersRef,\n };\n }\n\n getControlsProps() {\n const { size, getI18nText } = this.asProps;\n return {\n size,\n inc: this.handlerInc,\n dec: this.handlerDec,\n getI18nText,\n };\n }\n\n render() {\n const SInputNumber = Root;\n return sstyled(this.asProps.style)(<SInputNumber render={Input} />);\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n step: 1,\n };\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n roundRemainder(value, step) {\n const countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;\n return countDecimals === 0\n ? Number.parseFloat(value)\n : Number.parseFloat(value).toPrecision(countDecimals);\n }\n\n handleValidation = (e) => {\n const { value, min, max, step } = this.asProps;\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n if (Number.isNaN(e.currentTarget.valueAsNumber)) {\n e.currentTarget.value = '';\n this.handlers.value('', e);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(value), min, max);\n const r = this.roundRemainder(numberValue % step, step);\n if (r !== 0) {\n if (r >= step / 2) {\n numberValue += step - r;\n } else if (Math.abs(r) < step) {\n numberValue -= r;\n }\n }\n const numberValueRounded = Number(numberValue.toFixed(roundCoefficient));\n this.handlers.value(String(numberValueRounded), e);\n }\n };\n\n render() {\n const SValue = Root;\n const SValueHidden = 'div';\n const { styles, $inputHandlers, value, min, max } = this.asProps;\n\n // 🐒 не делайте так\n $inputHandlers.current = this.handlers;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n type=\"number\"\n autoComplete=\"off\"\n onBlur={this.handleValidation}\n onInvalid={this.handleValidation}\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n />\n {/* the next hidden div is necessary for the screen reader to report the value\n in the input, because after validation the value can change to the `min` or `max` \n if entered less than `min` or more than `max` */}\n <SValueHidden aria-live=\"polite\" aria-atomic={true}>\n {value}\n </SValueHidden>\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, inc, dec, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden=\"true\">\n <SUp\n onClick={inc}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IconUp />\n </SUp>\n <SDown\n onClick={dec}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <IconDown />\n </SDown>\n <Children />\n </SControls>,\n );\n}\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputNumber.js","names":["React","createComponent","Component","sstyled","Root","Input","BUTTONS","localizedMessages","i18nEnhance","style","_sstyled","insert","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","IconUp","up","IconDown","down","InputNumber","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","e","_this$inputRef$curren","_this$inputRef$curren2","_this$inputHandlersRe","inputRef","current","stepUp","inputHandlersRef","_this$inputRef$curren3","_this$inputRef$curren4","_this$inputHandlersRe2","stepDown","_createClass","key","getValueProps","ref","$inputHandlers","getControlsProps","_this$asProps","asProps","size","getI18nText","inc","handlerInc","dec","handlerDec","render","_ref","_ref4","SInputNumber","createElement","cn","_objectSpread","_assignProps","i18n","locale","Value","_Component2","_super2","_this2","_len2","_key2","_this2$asProps","step","roundCoefficient","toString","split","isNaN","currentTarget","valueAsNumber","handlers","numberValue","parseFloat","r","roundRemainder","abs","numberValueRounded","toFixed","String","uncontrolledProps","countDecimals","floor","toPrecision","_ref2","_ref5","SValue","SValueHidden","_this$asProps2","styles","Fragment","_assignProps2","handleValidation","defaultValue","Controls","props","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","_assignProps3"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport BUTTONS from './buttons';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/input-number.shadow.css';\n\nfunction parseValueWithMinMax(value, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(max, value));\n}\n\nconst IconUp = () => BUTTONS.up;\nconst IconDown = () => BUTTONS.down;\n\nclass InputNumber extends Component {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n inputRef = React.createRef();\n inputHandlersRef = React.createRef();\n\n handlerInc = (e) => {\n // TODO: IE11 dont work\n this.inputRef.current?.stepUp && this.inputRef.current?.stepUp();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, e);\n };\n\n handlerDec = (e) => {\n // TODO: IE11 dont work\n this.inputRef.current?.stepDown && this.inputRef.current?.stepDown();\n this.inputHandlersRef.current?.value(this.inputRef.current.value, e);\n };\n\n getValueProps() {\n return {\n ref: this.inputRef,\n $inputHandlers: this.inputHandlersRef,\n };\n }\n\n getControlsProps() {\n const { size, getI18nText } = this.asProps;\n return {\n size,\n inc: this.handlerInc,\n dec: this.handlerDec,\n getI18nText,\n };\n }\n\n render() {\n const SInputNumber = Root;\n return sstyled(this.asProps.style)(<SInputNumber render={Input} />);\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n step: 1,\n };\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n roundRemainder(value, step) {\n const countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;\n return countDecimals === 0\n ? Number.parseFloat(value)\n : Number.parseFloat(value).toPrecision(countDecimals);\n }\n\n handleValidation = (e) => {\n const { value, min, max, step } = this.asProps;\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n if (Number.isNaN(e.currentTarget.valueAsNumber)) {\n e.currentTarget.value = '';\n this.handlers.value('', e);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(value), min, max);\n const r = this.roundRemainder(numberValue % step, step);\n if (r !== 0) {\n if (r >= step / 2) {\n numberValue += step - r;\n } else if (Math.abs(r) < step) {\n numberValue -= r;\n }\n }\n const numberValueRounded = Number(numberValue.toFixed(roundCoefficient));\n this.handlers.value(String(numberValueRounded), e);\n }\n };\n\n render() {\n const SValue = Root;\n const SValueHidden = 'div';\n const { styles, $inputHandlers, value, min, max } = this.asProps;\n\n // 🐒 не делайте так\n $inputHandlers.current = this.handlers;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n type=\"number\"\n autoComplete=\"off\"\n onBlur={this.handleValidation}\n onInvalid={this.handleValidation}\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n />\n {/* the next hidden div is necessary for the screen reader to report the value\n in the input, because after validation the value can change to the `min` or `max` \n if entered less than `min` or more than `max` */}\n <SValueHidden aria-live=\"polite\" aria-atomic={true}>\n {value}\n </SValueHidden>\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, inc, dec, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden=\"true\">\n <SUp\n onClick={inc}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IconUp />\n </SUp>\n <SDown\n onClick={dec}\n tabIndex={-1}\n type=\"button\"\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <IconDown />\n </SDown>\n <Children />\n </SControls>,\n );\n}\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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"}
|