@semcore/input-number 16.1.0-prerelease.1 → 16.1.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.
@@ -22,17 +22,17 @@ var _react = _interopRequireDefault(require("react"));
22
22
  var _buttons = require("./buttons");
23
23
  var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
24
24
  /*!__reshadow-styles__:"./style/input-number.shadow.css"*/
25
- var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SValue_s3mmr_gg_:focus~.___SControls_s3mmr_gg_{display:flex}.___SControls_s3mmr_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_s3mmr_gg_.__showControls_s3mmr_gg_{display:flex}.___SDown_s3mmr_gg_,.___SUp_s3mmr_gg_{padding:0;width:16px;color:var(--intergalactic-icon-secondary-neutral, rgba(0, 5, 2, 0.385));box-sizing:border-box;display:inline-flex;justify-content:center;border:0;background:0 0;cursor:pointer}@supports (color:color(display-p3 0 0 0%)){.___SDown_s3mmr_gg_,.___SUp_s3mmr_gg_{color:var(--intergalactic-icon-secondary-neutral, rgba(0, 5, 2, 0.385))}@media (color-gamut:p3){.___SDown_s3mmr_gg_,.___SUp_s3mmr_gg_{color:var(--intergalactic-icon-secondary-neutral, color(display-p3 0.0036 0.02041 0.00996 / 0.385))}}}.___SDown_s3mmr_gg_:focus,.___SUp_s3mmr_gg_:focus{outline:0}@media (hover:hover){.___SDown_s3mmr_gg_:hover,.___SUp_s3mmr_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, rgba(0, 5, 2, 0.433))}@supports (color:color(display-p3 0 0 0%)){.___SDown_s3mmr_gg_:hover,.___SUp_s3mmr_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, rgba(0, 5, 2, 0.433))}@media (color-gamut:p3){.___SDown_s3mmr_gg_:hover,.___SUp_s3mmr_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, color(display-p3 0.00333 0.01824 0.00791 / 0.433))}}}}.___SUp_s3mmr_gg_{padding-bottom:1px}.___SDown_s3mmr_gg_{padding-top:1px}.___SValue_s3mmr_gg_::-webkit-inner-spin-button,.___SValue_s3mmr_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_s3mmr_gg_._type_number_s3mmr_gg_{-moz-appearance:textfield}.___SValue_s3mmr_gg_.__disabled_s3mmr_gg_~.___SControls_s3mmr_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default;pointer-events:none}.___SValueHidden_s3mmr_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}", /*__inner_css_end__*/"s3mmr_gg_"),
25
+ var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SValue_1wal7_gg_:focus~.___SControls_1wal7_gg_{display:flex}.___SControls_1wal7_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_1wal7_gg_.__showControls_1wal7_gg_{display:flex}.___SDown_1wal7_gg_,.___SUp_1wal7_gg_{padding:0;width:16px;color:var(--intergalactic-icon-secondary-neutral, rgba(0, 5, 2, 0.385));box-sizing:border-box;display:inline-flex;justify-content:center;border:0;background:0 0;cursor:pointer}@supports (color:color(display-p3 0 0 0%)){.___SDown_1wal7_gg_,.___SUp_1wal7_gg_{color:var(--intergalactic-icon-secondary-neutral, rgba(0, 5, 2, 0.385))}@media (color-gamut:p3){.___SDown_1wal7_gg_,.___SUp_1wal7_gg_{color:var(--intergalactic-icon-secondary-neutral, color(display-p3 0.0036 0.02041 0.00996 / 0.385))}}}.___SDown_1wal7_gg_:focus,.___SUp_1wal7_gg_:focus{outline:0}@media (hover:hover){.___SDown_1wal7_gg_:hover,.___SUp_1wal7_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, rgba(0, 5, 2, 0.433))}@supports (color:color(display-p3 0 0 0%)){.___SDown_1wal7_gg_:hover,.___SUp_1wal7_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, rgba(0, 5, 2, 0.433))}@media (color-gamut:p3){.___SDown_1wal7_gg_:hover,.___SUp_1wal7_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, color(display-p3 0.00333 0.01824 0.00791 / 0.433))}}}}.___SUp_1wal7_gg_{padding-bottom:1px}.___SDown_1wal7_gg_{padding-top:1px}.___SValue_1wal7_gg_::-webkit-inner-spin-button,.___SValue_1wal7_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_1wal7_gg_._type_number_1wal7_gg_{-moz-appearance:textfield}.___SValue_1wal7_gg_.__disabled_1wal7_gg_~.___SControls_1wal7_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default;pointer-events:none}.___SValueHidden_1wal7_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}", /*__inner_css_end__*/"1wal7_gg_"),
26
26
  /*__reshadow_css_end__*/
27
27
  {
28
- "__SValue": "___SValue_s3mmr_gg_",
29
- "__SControls": "___SControls_s3mmr_gg_",
30
- "_showControls": "__showControls_s3mmr_gg_",
31
- "__SUp": "___SUp_s3mmr_gg_",
32
- "__SDown": "___SDown_s3mmr_gg_",
33
- "_disabled": "__disabled_s3mmr_gg_",
34
- "__SValueHidden": "___SValueHidden_s3mmr_gg_",
35
- "_type_number": "_type_number_s3mmr_gg_"
28
+ "__SValue": "___SValue_1wal7_gg_",
29
+ "__SControls": "___SControls_1wal7_gg_",
30
+ "_showControls": "__showControls_1wal7_gg_",
31
+ "__SUp": "___SUp_1wal7_gg_",
32
+ "__SDown": "___SDown_1wal7_gg_",
33
+ "_disabled": "__disabled_1wal7_gg_",
34
+ "__SValueHidden": "___SValueHidden_1wal7_gg_",
35
+ "_type_number": "_type_number_1wal7_gg_"
36
36
  });
37
37
  function parseValueWithMinMax(value) {
38
38
  var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MIN_SAFE_INTEGER;
@@ -402,11 +402,19 @@ var Value = /*#__PURE__*/function (_Component2) {
402
402
  value:
403
403
  // https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling
404
404
  function componentDidMount() {
405
- var _this$valueInputRef$c;
405
+ var _this$valueInputRef$c,
406
+ _this4 = this;
406
407
  (_this$valueInputRef$c = this.valueInputRef.current) === null || _this$valueInputRef$c === void 0 || _this$valueInputRef$c.addEventListener('wheel', this.onWheel);
407
408
  var _this$asProps2 = this.asProps,
408
409
  inputRef = _this$asProps2.inputRef,
409
- value = _this$asProps2.value;
410
+ value = _this$asProps2.value,
411
+ autoFocus = _this$asProps2.autoFocus;
412
+ if (autoFocus) {
413
+ setTimeout(function () {
414
+ var _this4$valueInputRef$;
415
+ (_this4$valueInputRef$ = _this4.valueInputRef.current) === null || _this4$valueInputRef$ === void 0 || _this4$valueInputRef$.focus();
416
+ });
417
+ }
410
418
  if (inputRef.current) {
411
419
  inputRef.current.stepUp = this.stepUp;
412
420
  inputRef.current.stepDown = this.stepDown;
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["_core","require","_assignProps4","_i18nEnhance","_interopRequireDefault","_ref7","_input","_react","_buttons","_intergalacticDynamicLocales","style","sstyled","insert","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","InputNumber","_Component","_this","_classCallCheck2","_len","args","Array","_key","_callSuper2","concat","_defineProperty2","React","createRef","event","_this$inputRef$curren","_this$inputRef$curren2","inputRef","current","stepUp","call","_this$inputRef$curren3","_this$inputRef$curren4","stepDown","_inherits2","_createClass2","key","getValueProps","numberFormatter","Intl","NumberFormat","asProps","locale","increment","decrement","getControlsProps","_this$asProps","size","getI18nText","render","_ref","_ref4","SInputNumber","Input","createElement","cn","_objectSpread2","assignProps","Component","i18nEnhance","localizedMessages","i18n","Value","_Component2","_this2","_len2","_key2","replace","RegExp","separatorThousands","separatorDecimal","prevValue","prevDisplayValue","props","stringNumber","getFormattedValue","String","isNaN","parsedValue","displayValue","test","_stringNumber$split","split","_stringNumber$split2","_slicedToArray2","int","decimal","format","_this2$asProps","step","_this2$valueParser","valueParser","currentTarget","roundCoefficient","toString","parseFloat","handlers","numberValue","rounded","round","abs","numberValueRounded","toFixed","callAllEventHandlers","onWheel","handleWheel","target","valueInputRef","document","activeElement","preventDefault","wheelDelta","_this2$asProps2","endsWith","slice","digits","cursorPosition","element","indexOf","stopPropagation","selectionStart","includes","afterSelection","selectionEnd","requestAnimationFrame","newValue","state","index","lastIndexOf","setSelectionRange","cursorIndex","shiftKey","moveSelectionLeft","moveSelectionRight","nextPosition","handleValidation","_this2$asProps3","_this2$asProps3$max","_this2$asProps4","_this2$asProps4$min","uncontrolledProps","_this3","_this3$asProps","_this3$valueParser","get","countDecimals","floor","toPrecision","componentDidMount","_this$valueInputRef$c","addEventListener","_this$asProps2","_this$valueParser","componentDidUpdate","prevProps","_this$valueParser2","componentWillUnmount","_this$valueInputRef$c2","removeEventListener","_ref2","_ref5","SValue","_this$asProps3","styles","forwardRef","Fragment","handleChange","handleKeyDown","handleKeyUp","handleClick","forkRef","isInteger","defaultValue","defaultDisplayValue","Controls","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","IncrementIcon","DecrementIcon","_default","exports","createComponent"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import { Component, createComponent, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport Input from '@semcore/input';\nimport React from 'react';\n\nimport { DecrementIcon, IncrementIcon } from './buttons';\nimport style from './style/input-number.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nexport function parseValueWithMinMax(\n value,\n min = Number.MIN_SAFE_INTEGER,\n max = Number.MAX_SAFE_INTEGER,\n) {\n return Math.max(min, Math.min(max, value));\n}\n\nclass InputNumber extends Component {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n inputRef = React.createRef();\n\n increment = (event) => {\n this.inputRef.current?.stepUp?.(event);\n };\n\n decrement = (event) => {\n this.inputRef.current?.stepDown?.(event);\n };\n\n getValueProps() {\n const numberFormatter = new Intl.NumberFormat(this.asProps.locale, { style: 'decimal' });\n\n return {\n inputRef: this.inputRef,\n increment: this.increment,\n decrement: this.decrement,\n numberFormatter,\n };\n }\n\n getControlsProps() {\n const { size, getI18nText } = this.asProps;\n return {\n size,\n increment: this.increment,\n decrement: this.decrement,\n getI18nText,\n };\n }\n\n render() {\n const SInputNumber = Root;\n return sstyled(this.asProps.style)(<SInputNumber render={Input} />);\n }\n}\n\nclass Value extends Component {\n static style = style;\n static defaultProps = {\n defaultValue: '',\n defaultDisplayValue: '',\n step: 1,\n };\n\n valueInputRef = React.createRef();\n\n cursorPosition = -1;\n\n uncontrolledProps() {\n return {\n displayValue: null,\n value: [\n null,\n (newValue) => {\n const { value: prevValue, displayValue: prevDisplayValue } = this.asProps;\n\n const { parsedValue, displayValue } = this.valueParser(\n newValue,\n prevValue,\n prevDisplayValue,\n );\n\n this.handlers.displayValue(displayValue);\n\n return parsedValue;\n },\n ],\n };\n }\n\n get separatorDecimal() {\n const { numberFormatter } = this.props;\n\n return numberFormatter.format(11.11).replace(/\\d/g, '');\n }\n\n get separatorThousands() {\n const { numberFormatter } = this.props;\n\n return numberFormatter.format(1111).replace(/\\d/g, '');\n }\n\n getFormattedValue = (value) => {\n return value\n .replace(new RegExp(`[${this.separatorThousands}]`, 'g'), '')\n .replace(this.separatorDecimal, '.');\n };\n\n valueParser = (value, prevValue, prevDisplayValue) => {\n const { numberFormatter } = this.props;\n\n const stringNumber = this.getFormattedValue(String(value));\n\n if (Number.isNaN(Number(stringNumber))) {\n return {\n parsedValue: prevValue,\n displayValue: prevDisplayValue,\n };\n }\n\n let displayValue = '';\n\n if (/\\.[0-9]*0$/.test(stringNumber)) {\n const [int, decimal] = stringNumber.split(this.separatorDecimal);\n displayValue = numberFormatter.format(int) + this.separatorDecimal + decimal;\n } else if (stringNumber !== '') {\n displayValue = numberFormatter.format(stringNumber);\n }\n\n return {\n parsedValue: stringNumber,\n displayValue: displayValue,\n };\n };\n\n round(value, step) {\n const countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;\n return countDecimals === 0\n ? Number.parseFloat(value)\n : Number.parseFloat(value).toPrecision(countDecimals);\n }\n\n handleValidation = (event) => {\n const { value, displayValue, min, max, step } = this.asProps;\n const { parsedValue } = this.valueParser(event.currentTarget.value, value, displayValue);\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n\n if (Number.isNaN(value) || Number.isNaN(Number.parseFloat(parsedValue))) {\n event.currentTarget.value = '';\n this.handlers.value('', event);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(parsedValue), min, max);\n const rounded = this.round(numberValue % step, step);\n if (rounded !== 0) {\n if (rounded >= step / 2) {\n numberValue += step - rounded;\n } else if (Math.abs(rounded) < step) {\n numberValue -= rounded;\n }\n }\n const numberValueRounded = Number(numberValue.toFixed(roundCoefficient));\n\n this.handlers.value(String(numberValueRounded), event);\n }\n };\n\n // https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling\n componentDidMount() {\n this.valueInputRef.current?.addEventListener('wheel', this.onWheel);\n\n const { inputRef, value } = this.asProps;\n\n if (inputRef.current) {\n inputRef.current.stepUp = this.stepUp;\n inputRef.current.stepDown = this.stepDown;\n }\n\n if (value !== '') {\n const { displayValue } = this.valueParser(value, '', '');\n this.handlers.displayValue(displayValue);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n const { displayValue } = this.valueParser(\n this.props.value,\n prevProps.value,\n prevProps.displayValue,\n );\n this.handlers.displayValue(displayValue);\n }\n }\n\n componentWillUnmount() {\n this.valueInputRef.current?.removeEventListener('wheel', this.onWheel);\n }\n\n onWheel = (event) => {\n callAllEventHandlers(this.asProps.onWheel, this.handleWheel)(event);\n };\n\n handleWheel = (event) => {\n if (event.target !== this.valueInputRef.current) return;\n if (document.activeElement !== this.valueInputRef.current) return;\n event.preventDefault();\n if (event.wheelDelta > 0) {\n this.stepUp(event);\n } else if (event.wheelDelta < 0) {\n this.stepDown(event);\n }\n };\n\n handleChange = (event) => {\n const value = this.getFormattedValue(event.currentTarget.value);\n const { numberFormatter, value: prevValue } = this.asProps;\n\n if (value === '.' || value === '-') {\n this.handlers.displayValue(value);\n return false;\n }\n\n if (value.endsWith('-')) {\n return false;\n }\n\n if (value.endsWith('.')) {\n if (value.length > prevValue.length) {\n this.handlers.displayValue(numberFormatter.format(value) + this.separatorDecimal);\n return false;\n } else {\n this.handlers.value(value.slice(0, -1), event);\n return false;\n }\n }\n\n const digits = /^[0-9.-]+$/.test(value);\n\n if (digits || value === '') {\n this.handlers.value(value, event);\n }\n };\n\n handleKeyUp = (event) => {\n if (event.key === 'Shift') {\n this.cursorPosition = -1;\n }\n };\n\n handleKeyDown = (event) => {\n const element = event.currentTarget;\n const value = element.value;\n const length = value.length;\n const { displayValue } = this.asProps;\n\n if (event.key === '.' || event.key === ',') {\n // for the first decimal separator we should replace both ',' and '.' to '.' because of how js convert strings to numbers (with ',' it will be Number.NaN)\n if (value.indexOf(this.separatorDecimal) === -1 && event.key === ',') {\n event.currentTarget.value = value + '.';\n } else if (value.indexOf(this.separatorDecimal) !== -1) { // we could press decimal separator second time - prevent this '1.5.'\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n }\n\n if (event.key === 'Backspace' && value.endsWith(this.separatorDecimal)) {\n event.preventDefault();\n event.stopPropagation();\n this.handlers.displayValue(displayValue.slice(0, -1));\n return false;\n }\n\n if (\n element.selectionStart !== length &&\n (event.key === 'Backspace' ||\n event.key === this.separatorDecimal ||\n ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(event.key))\n ) {\n const afterSelection = value.slice(element.selectionEnd);\n\n requestAnimationFrame(() => {\n const newValue = this.state.displayValue;\n const index = newValue.lastIndexOf(afterSelection);\n const selectionStart = index;\n const selectionEnd = index;\n\n element.setSelectionRange(selectionStart, selectionEnd);\n });\n }\n\n // For correct moving cursor with skip separatorThousands.\n // Examples:\n // - Press ArrowLeft: `12,3|4 -> 12|,34`\n // - Press ArrowRight: `1|,55 -> 1,5|5`\n const cursorIndex = 2;\n\n if (event.shiftKey && this.cursorPosition === -1) {\n this.cursorPosition = element.selectionStart;\n }\n\n switch (event.key) {\n case 'ArrowLeft': {\n event.preventDefault();\n this.moveSelectionLeft(element, cursorIndex);\n break;\n }\n case 'ArrowRight': {\n event.preventDefault();\n this.moveSelectionRight(element, cursorIndex);\n break;\n }\n case 'ArrowDown': {\n event.preventDefault();\n this.stepDown(event);\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n this.stepUp(event);\n break;\n }\n }\n };\n\n moveSelectionLeft = (element, cursorIndex) => {\n const value = element.value;\n const nextPosition = element.selectionStart - 1 >= 0 ? element.selectionStart - 1 : 0;\n\n const cursorPosition =\n value[element.selectionStart - cursorIndex] === this.separatorThousands\n ? element.selectionStart - cursorIndex\n : nextPosition;\n\n if (this.cursorPosition === -1) {\n // without shift\n element.setSelectionRange(cursorPosition, cursorPosition);\n } else {\n if (\n element.selectionStart <= this.cursorPosition &&\n element.selectionEnd === this.cursorPosition\n ) {\n element.setSelectionRange(cursorPosition, element.selectionEnd);\n } else {\n element.setSelectionRange(\n element.selectionStart,\n value[element.selectionEnd - cursorIndex] === this.separatorThousands\n ? element.selectionEnd - cursorIndex\n : element.selectionEnd - 1,\n );\n }\n }\n };\n\n moveSelectionRight = (element, cursorIndex) => {\n const value = element.value;\n const nextPosition = element.selectionEnd + 1;\n\n const cursorPosition =\n value[element.selectionEnd] === this.separatorThousands\n ? element.selectionEnd + cursorIndex\n : nextPosition;\n\n if (this.cursorPosition === -1) {\n // without shift\n element.setSelectionRange(cursorPosition, cursorPosition);\n } else {\n if (\n element.selectionEnd >= this.cursorPosition &&\n element.selectionStart === this.cursorPosition\n ) {\n element.setSelectionRange(element.selectionStart, cursorPosition);\n } else {\n element.setSelectionRange(\n value[element.selectionStart] === this.separatorThousands\n ? element.selectionStart + cursorIndex\n : element.selectionStart + 1,\n element.selectionEnd,\n );\n }\n }\n };\n\n handleClick = (event) => {\n const element = event.target;\n const value = element.value;\n\n if (value[element.selectionStart - 1] === this.separatorThousands) {\n element.setSelectionRange(element.selectionStart - 1, element.selectionEnd - 1);\n }\n };\n\n handleBlur = (event) => {\n this.cursorPosition = -1;\n this.handleValidation(event);\n };\n\n stepUp = (event) => {\n const { max = Number.MAX_SAFE_INTEGER, min, step, value } = this.asProps;\n\n let numberValue;\n\n // https://stackoverflow.com/questions/68010124/safari-number-input-stepup-stepdown-not-functioning-with-empty-value\n if (value === '') {\n numberValue = min ?? 0;\n } else {\n numberValue = Number.parseFloat(value);\n }\n\n if (!Number.isNaN(numberValue)) {\n const newValue = numberValue + step <= max ? numberValue + step : max;\n\n this.handlers.value(newValue.toString(), event);\n }\n };\n\n stepDown = (event) => {\n const { max, min = Number.MIN_SAFE_INTEGER, step, value } = this.asProps;\n\n let numberValue;\n\n if (value === '') {\n numberValue = max ?? 0;\n } else {\n numberValue = Number.parseFloat(value);\n }\n\n if (!Number.isNaN(numberValue)) {\n const newValue = numberValue - step >= min ? numberValue - step : min;\n\n this.handlers.value(newValue.toString(), event);\n }\n };\n\n render() {\n const SValue = Root;\n const { styles, min, max, step, forwardRef, inputRef, displayValue } = this.asProps;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n autoComplete='off'\n onBlur={this.handleValidation}\n use:onChange={this.handleChange}\n onKeyDown={this.handleKeyDown}\n onKeyUp={this.handleKeyUp}\n onClick={this.handleClick}\n use:ref={forkRef(this.valueInputRef, inputRef, forwardRef)}\n use:value={displayValue}\n inputMode={Number.isInteger(step) ? 'numeric' : 'decimal'}\n min={min}\n max={max}\n step={step}\n />\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, increment, decrement, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden='true'>\n <SUp\n onClick={increment}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IncrementIcon />\n </SUp>\n <SDown\n onClick={decrement}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <DecrementIcon />\n </SDown>\n <Children />\n </SControls>,\n );\n}\nControls.style = style;\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"InputNumber.js","names":["_core","require","_assignProps4","_i18nEnhance","_interopRequireDefault","_ref7","_input","_react","_buttons","_intergalacticDynamicLocales","style","sstyled","insert","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","InputNumber","_Component","_this","_classCallCheck2","_len","args","Array","_key","_callSuper2","concat","_defineProperty2","React","createRef","event","_this$inputRef$curren","_this$inputRef$curren2","inputRef","current","stepUp","call","_this$inputRef$curren3","_this$inputRef$curren4","stepDown","_inherits2","_createClass2","key","getValueProps","numberFormatter","Intl","NumberFormat","asProps","locale","increment","decrement","getControlsProps","_this$asProps","size","getI18nText","render","_ref","_ref4","SInputNumber","Input","createElement","cn","_objectSpread2","assignProps","Component","i18nEnhance","localizedMessages","i18n","Value","_Component2","_this2","_len2","_key2","replace","RegExp","separatorThousands","separatorDecimal","prevValue","prevDisplayValue","props","stringNumber","getFormattedValue","String","isNaN","parsedValue","displayValue","test","_stringNumber$split","split","_stringNumber$split2","_slicedToArray2","int","decimal","format","_this2$asProps","step","_this2$valueParser","valueParser","currentTarget","roundCoefficient","toString","parseFloat","handlers","numberValue","rounded","round","abs","numberValueRounded","toFixed","callAllEventHandlers","onWheel","handleWheel","target","valueInputRef","document","activeElement","preventDefault","wheelDelta","_this2$asProps2","endsWith","slice","digits","cursorPosition","element","indexOf","stopPropagation","selectionStart","includes","afterSelection","selectionEnd","requestAnimationFrame","newValue","state","index","lastIndexOf","setSelectionRange","cursorIndex","shiftKey","moveSelectionLeft","moveSelectionRight","nextPosition","handleValidation","_this2$asProps3","_this2$asProps3$max","_this2$asProps4","_this2$asProps4$min","uncontrolledProps","_this3","_this3$asProps","_this3$valueParser","get","countDecimals","floor","toPrecision","componentDidMount","_this$valueInputRef$c","_this4","addEventListener","_this$asProps2","autoFocus","setTimeout","_this4$valueInputRef$","focus","_this$valueParser","componentDidUpdate","prevProps","_this$valueParser2","componentWillUnmount","_this$valueInputRef$c2","removeEventListener","_ref2","_ref5","SValue","_this$asProps3","styles","forwardRef","Fragment","handleChange","handleKeyDown","handleKeyUp","handleClick","forkRef","isInteger","defaultValue","defaultDisplayValue","Controls","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","IncrementIcon","DecrementIcon","_default","exports","createComponent"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import { Component, createComponent, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport Input from '@semcore/input';\nimport React from 'react';\n\nimport { DecrementIcon, IncrementIcon } from './buttons';\nimport style from './style/input-number.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nexport function parseValueWithMinMax(\n value,\n min = Number.MIN_SAFE_INTEGER,\n max = Number.MAX_SAFE_INTEGER,\n) {\n return Math.max(min, Math.min(max, value));\n}\n\nclass InputNumber extends Component {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n inputRef = React.createRef();\n\n increment = (event) => {\n this.inputRef.current?.stepUp?.(event);\n };\n\n decrement = (event) => {\n this.inputRef.current?.stepDown?.(event);\n };\n\n getValueProps() {\n const numberFormatter = new Intl.NumberFormat(this.asProps.locale, { style: 'decimal' });\n\n return {\n inputRef: this.inputRef,\n increment: this.increment,\n decrement: this.decrement,\n numberFormatter,\n };\n }\n\n getControlsProps() {\n const { size, getI18nText } = this.asProps;\n return {\n size,\n increment: this.increment,\n decrement: this.decrement,\n getI18nText,\n };\n }\n\n render() {\n const SInputNumber = Root;\n return sstyled(this.asProps.style)(<SInputNumber render={Input} />);\n }\n}\n\nclass Value extends Component {\n static style = style;\n static defaultProps = {\n defaultValue: '',\n defaultDisplayValue: '',\n step: 1,\n };\n\n valueInputRef = React.createRef();\n\n cursorPosition = -1;\n\n uncontrolledProps() {\n return {\n displayValue: null,\n value: [\n null,\n (newValue) => {\n const { value: prevValue, displayValue: prevDisplayValue } = this.asProps;\n\n const { parsedValue, displayValue } = this.valueParser(\n newValue,\n prevValue,\n prevDisplayValue,\n );\n\n this.handlers.displayValue(displayValue);\n\n return parsedValue;\n },\n ],\n };\n }\n\n get separatorDecimal() {\n const { numberFormatter } = this.props;\n\n return numberFormatter.format(11.11).replace(/\\d/g, '');\n }\n\n get separatorThousands() {\n const { numberFormatter } = this.props;\n\n return numberFormatter.format(1111).replace(/\\d/g, '');\n }\n\n getFormattedValue = (value) => {\n return value\n .replace(new RegExp(`[${this.separatorThousands}]`, 'g'), '')\n .replace(this.separatorDecimal, '.');\n };\n\n valueParser = (value, prevValue, prevDisplayValue) => {\n const { numberFormatter } = this.props;\n\n const stringNumber = this.getFormattedValue(String(value));\n\n if (Number.isNaN(Number(stringNumber))) {\n return {\n parsedValue: prevValue,\n displayValue: prevDisplayValue,\n };\n }\n\n let displayValue = '';\n\n if (/\\.[0-9]*0$/.test(stringNumber)) {\n const [int, decimal] = stringNumber.split(this.separatorDecimal);\n displayValue = numberFormatter.format(int) + this.separatorDecimal + decimal;\n } else if (stringNumber !== '') {\n displayValue = numberFormatter.format(stringNumber);\n }\n\n return {\n parsedValue: stringNumber,\n displayValue: displayValue,\n };\n };\n\n round(value, step) {\n const countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;\n return countDecimals === 0\n ? Number.parseFloat(value)\n : Number.parseFloat(value).toPrecision(countDecimals);\n }\n\n handleValidation = (event) => {\n const { value, displayValue, min, max, step } = this.asProps;\n const { parsedValue } = this.valueParser(event.currentTarget.value, value, displayValue);\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n\n if (Number.isNaN(value) || Number.isNaN(Number.parseFloat(parsedValue))) {\n event.currentTarget.value = '';\n this.handlers.value('', event);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(parsedValue), min, max);\n const rounded = this.round(numberValue % step, step);\n if (rounded !== 0) {\n if (rounded >= step / 2) {\n numberValue += step - rounded;\n } else if (Math.abs(rounded) < step) {\n numberValue -= rounded;\n }\n }\n const numberValueRounded = Number(numberValue.toFixed(roundCoefficient));\n\n this.handlers.value(String(numberValueRounded), event);\n }\n };\n\n // https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling\n componentDidMount() {\n this.valueInputRef.current?.addEventListener('wheel', this.onWheel);\n\n const { inputRef, value, autoFocus } = this.asProps;\n\n if (autoFocus) {\n setTimeout(() => {\n this.valueInputRef.current?.focus();\n });\n }\n\n if (inputRef.current) {\n inputRef.current.stepUp = this.stepUp;\n inputRef.current.stepDown = this.stepDown;\n }\n\n if (value !== '') {\n const { displayValue } = this.valueParser(value, '', '');\n this.handlers.displayValue(displayValue);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n const { displayValue } = this.valueParser(\n this.props.value,\n prevProps.value,\n prevProps.displayValue,\n );\n this.handlers.displayValue(displayValue);\n }\n }\n\n componentWillUnmount() {\n this.valueInputRef.current?.removeEventListener('wheel', this.onWheel);\n }\n\n onWheel = (event) => {\n callAllEventHandlers(this.asProps.onWheel, this.handleWheel)(event);\n };\n\n handleWheel = (event) => {\n if (event.target !== this.valueInputRef.current) return;\n if (document.activeElement !== this.valueInputRef.current) return;\n event.preventDefault();\n if (event.wheelDelta > 0) {\n this.stepUp(event);\n } else if (event.wheelDelta < 0) {\n this.stepDown(event);\n }\n };\n\n handleChange = (event) => {\n const value = this.getFormattedValue(event.currentTarget.value);\n const { numberFormatter, value: prevValue } = this.asProps;\n\n if (value === '.' || value === '-') {\n this.handlers.displayValue(value);\n return false;\n }\n\n if (value.endsWith('-')) {\n return false;\n }\n\n if (value.endsWith('.')) {\n if (value.length > prevValue.length) {\n this.handlers.displayValue(numberFormatter.format(value) + this.separatorDecimal);\n return false;\n } else {\n this.handlers.value(value.slice(0, -1), event);\n return false;\n }\n }\n\n const digits = /^[0-9.-]+$/.test(value);\n\n if (digits || value === '') {\n this.handlers.value(value, event);\n }\n };\n\n handleKeyUp = (event) => {\n if (event.key === 'Shift') {\n this.cursorPosition = -1;\n }\n };\n\n handleKeyDown = (event) => {\n const element = event.currentTarget;\n const value = element.value;\n const length = value.length;\n const { displayValue } = this.asProps;\n\n if (event.key === '.' || event.key === ',') {\n // for the first decimal separator we should replace both ',' and '.' to '.' because of how js convert strings to numbers (with ',' it will be Number.NaN)\n if (value.indexOf(this.separatorDecimal) === -1 && event.key === ',') {\n event.currentTarget.value = value + '.';\n } else if (value.indexOf(this.separatorDecimal) !== -1) { // we could press decimal separator second time - prevent this '1.5.'\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n }\n\n if (event.key === 'Backspace' && value.endsWith(this.separatorDecimal)) {\n event.preventDefault();\n event.stopPropagation();\n this.handlers.displayValue(displayValue.slice(0, -1));\n return false;\n }\n\n if (\n element.selectionStart !== length &&\n (event.key === 'Backspace' ||\n event.key === this.separatorDecimal ||\n ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(event.key))\n ) {\n const afterSelection = value.slice(element.selectionEnd);\n\n requestAnimationFrame(() => {\n const newValue = this.state.displayValue;\n const index = newValue.lastIndexOf(afterSelection);\n const selectionStart = index;\n const selectionEnd = index;\n\n element.setSelectionRange(selectionStart, selectionEnd);\n });\n }\n\n // For correct moving cursor with skip separatorThousands.\n // Examples:\n // - Press ArrowLeft: `12,3|4 -> 12|,34`\n // - Press ArrowRight: `1|,55 -> 1,5|5`\n const cursorIndex = 2;\n\n if (event.shiftKey && this.cursorPosition === -1) {\n this.cursorPosition = element.selectionStart;\n }\n\n switch (event.key) {\n case 'ArrowLeft': {\n event.preventDefault();\n this.moveSelectionLeft(element, cursorIndex);\n break;\n }\n case 'ArrowRight': {\n event.preventDefault();\n this.moveSelectionRight(element, cursorIndex);\n break;\n }\n case 'ArrowDown': {\n event.preventDefault();\n this.stepDown(event);\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n this.stepUp(event);\n break;\n }\n }\n };\n\n moveSelectionLeft = (element, cursorIndex) => {\n const value = element.value;\n const nextPosition = element.selectionStart - 1 >= 0 ? element.selectionStart - 1 : 0;\n\n const cursorPosition =\n value[element.selectionStart - cursorIndex] === this.separatorThousands\n ? element.selectionStart - cursorIndex\n : nextPosition;\n\n if (this.cursorPosition === -1) {\n // without shift\n element.setSelectionRange(cursorPosition, cursorPosition);\n } else {\n if (\n element.selectionStart <= this.cursorPosition &&\n element.selectionEnd === this.cursorPosition\n ) {\n element.setSelectionRange(cursorPosition, element.selectionEnd);\n } else {\n element.setSelectionRange(\n element.selectionStart,\n value[element.selectionEnd - cursorIndex] === this.separatorThousands\n ? element.selectionEnd - cursorIndex\n : element.selectionEnd - 1,\n );\n }\n }\n };\n\n moveSelectionRight = (element, cursorIndex) => {\n const value = element.value;\n const nextPosition = element.selectionEnd + 1;\n\n const cursorPosition =\n value[element.selectionEnd] === this.separatorThousands\n ? element.selectionEnd + cursorIndex\n : nextPosition;\n\n if (this.cursorPosition === -1) {\n // without shift\n element.setSelectionRange(cursorPosition, cursorPosition);\n } else {\n if (\n element.selectionEnd >= this.cursorPosition &&\n element.selectionStart === this.cursorPosition\n ) {\n element.setSelectionRange(element.selectionStart, cursorPosition);\n } else {\n element.setSelectionRange(\n value[element.selectionStart] === this.separatorThousands\n ? element.selectionStart + cursorIndex\n : element.selectionStart + 1,\n element.selectionEnd,\n );\n }\n }\n };\n\n handleClick = (event) => {\n const element = event.target;\n const value = element.value;\n\n if (value[element.selectionStart - 1] === this.separatorThousands) {\n element.setSelectionRange(element.selectionStart - 1, element.selectionEnd - 1);\n }\n };\n\n handleBlur = (event) => {\n this.cursorPosition = -1;\n this.handleValidation(event);\n };\n\n stepUp = (event) => {\n const { max = Number.MAX_SAFE_INTEGER, min, step, value } = this.asProps;\n\n let numberValue;\n\n // https://stackoverflow.com/questions/68010124/safari-number-input-stepup-stepdown-not-functioning-with-empty-value\n if (value === '') {\n numberValue = min ?? 0;\n } else {\n numberValue = Number.parseFloat(value);\n }\n\n if (!Number.isNaN(numberValue)) {\n const newValue = numberValue + step <= max ? numberValue + step : max;\n\n this.handlers.value(newValue.toString(), event);\n }\n };\n\n stepDown = (event) => {\n const { max, min = Number.MIN_SAFE_INTEGER, step, value } = this.asProps;\n\n let numberValue;\n\n if (value === '') {\n numberValue = max ?? 0;\n } else {\n numberValue = Number.parseFloat(value);\n }\n\n if (!Number.isNaN(numberValue)) {\n const newValue = numberValue - step >= min ? numberValue - step : min;\n\n this.handlers.value(newValue.toString(), event);\n }\n };\n\n render() {\n const SValue = Root;\n const { styles, min, max, step, forwardRef, inputRef, displayValue } = this.asProps;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n autoComplete='off'\n onBlur={this.handleValidation}\n use:onChange={this.handleChange}\n onKeyDown={this.handleKeyDown}\n onKeyUp={this.handleKeyUp}\n onClick={this.handleClick}\n use:ref={forkRef(this.valueInputRef, inputRef, forwardRef)}\n use:value={displayValue}\n inputMode={Number.isInteger(step) ? 'numeric' : 'decimal'}\n min={min}\n max={max}\n step={step}\n />\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, increment, decrement, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden='true'>\n <SUp\n onClick={increment}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IncrementIcon />\n </SUp>\n <SDown\n onClick={decrement}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <DecrementIcon />\n </SDown>\n <Children />\n </SControls>,\n );\n}\nControls.style = style;\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { Intergalactic, PropGetterFn, UnknownProperties } from '@semcore/core';\nimport type { InputAddonProps, InputProps, InputValueProps } from '@semcore/input';\nimport type React from 'react';\n\nexport type InputNumberValue = string;\nexport type InputNumberSize = 'm' | 'l';\n\n/** @deprecated */\nexport interface IInputNumberProps extends InputNumberProps, UnknownProperties {}\nexport type InputNumberProps = InputProps & {\n /** Input size\n * @default m\n * */\n size?: InputNumberSize;\n /**\n * Locale value\n */\n locale?: string;\n};\n\n/** @deprecated */\nexport interface IInputNumberValueProps extends InputNumberValueProps, UnknownProperties {}\nexport type InputNumberValueProps = InputValueProps & {\n /** Minimum value\n * @default Number.MIN_SAFE_INTEGER\n */\n min?: number;\n /** Maximum value\n * @default Number.MAX_SAFE_INTEGER\n */\n max?: number;\n /** Value change step\n * @default 1\n */\n step?: number;\n /** Numeric value */\n value?: InputNumberValue;\n /** Called when the input value changes, it returns its current value in numeric format */\n onChange?: (value: InputNumberValue, event?: React.SyntheticEvent<HTMLInputElement>) => void;\n};\n\n/** @deprecated */\nexport interface IInputNumberControlsProps extends InputNumberControlsProps, UnknownProperties {}\nexport type InputNumberControlsProps = InputAddonProps & {\n /** Always displays controls (steppers)\n * @default false\n */\n showControls?: boolean;\n};\n\n/** @deprecated */\nexport interface IInputNumberCtx extends InputNumberCtx, UnknownProperties {}\nexport type InputNumberCtx = {\n getValueProps: PropGetterFn;\n getControlsProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const InputNumber: Intergalactic.Component<'div', InputNumberProps, InputNumberCtx> & {\n Value: Intergalactic.Component<'input', InputNumberValueProps>;\n Controls: Intergalactic.Component<'div', InputNumberControlsProps>;\n Addon: Intergalactic.Component<'div', InputAddonProps>;\n};\n\nexport default InputNumber;\n\ndeclare const IncrementIcon: React.FC;\ndeclare const DecrementIcon: React.FC;\ndeclare const parseValueWithMinMax: (value: number, min?: number, max?: number) => number;\n\nexport { IncrementIcon, DecrementIcon, parseValueWithMinMax };\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { Intergalactic, PropGetterFn } from '@semcore/core';\nimport type { InputAddonProps, InputProps, InputValueProps } from '@semcore/input';\nimport type React from 'react';\n\nexport type InputNumberValue = string;\nexport type InputNumberSize = 'm' | 'l';\n\nexport type InputNumberProps = InputProps & {\n /** Input size\n * @default m\n * */\n size?: InputNumberSize;\n /**\n * Locale value\n */\n locale?: string;\n};\n\nexport type InputNumberValueProps = InputValueProps & {\n /** Minimum value\n * @default Number.MIN_SAFE_INTEGER\n */\n min?: number;\n /** Maximum value\n * @default Number.MAX_SAFE_INTEGER\n */\n max?: number;\n /** Value change step\n * @default 1\n */\n step?: number;\n /** Numeric value */\n value?: InputNumberValue;\n /** Called when the input value changes, it returns its current value in numeric format */\n onChange?: (value: InputNumberValue, event?: React.SyntheticEvent<HTMLInputElement>) => void;\n};\n\nexport type InputNumberControlsProps = InputAddonProps & {\n /** Always displays controls (steppers)\n * @default false\n */\n showControls?: boolean;\n};\n\nexport type InputNumberCtx = {\n getValueProps: PropGetterFn;\n getControlsProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const InputNumber: Intergalactic.Component<'div', InputNumberProps, InputNumberCtx> & {\n Value: Intergalactic.Component<'input', InputNumberValueProps>;\n Controls: Intergalactic.Component<'div', InputNumberControlsProps>;\n Addon: Intergalactic.Component<'div', InputAddonProps>;\n};\n\nexport default InputNumber;\n\ndeclare const IncrementIcon: React.FC;\ndeclare const DecrementIcon: React.FC;\ndeclare const parseValueWithMinMax: (value: number, min?: number, max?: number) => number;\n\nexport { IncrementIcon, DecrementIcon, parseValueWithMinMax };\n"],"mappings":"","ignoreList":[]}
@@ -17,17 +17,17 @@ import Input from '@semcore/input';
17
17
  import React from 'react';
18
18
  import { DecrementIcon, IncrementIcon } from './buttons';
19
19
  /*!__reshadow-styles__:"./style/input-number.shadow.css"*/
20
- var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SValue_s3mmr_gg_:focus~.___SControls_s3mmr_gg_{display:flex}.___SControls_s3mmr_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_s3mmr_gg_.__showControls_s3mmr_gg_{display:flex}.___SDown_s3mmr_gg_,.___SUp_s3mmr_gg_{padding:0;width:16px;color:var(--intergalactic-icon-secondary-neutral, rgba(0, 5, 2, 0.385));box-sizing:border-box;display:inline-flex;justify-content:center;border:0;background:0 0;cursor:pointer}@supports (color:color(display-p3 0 0 0%)){.___SDown_s3mmr_gg_,.___SUp_s3mmr_gg_{color:var(--intergalactic-icon-secondary-neutral, rgba(0, 5, 2, 0.385))}@media (color-gamut:p3){.___SDown_s3mmr_gg_,.___SUp_s3mmr_gg_{color:var(--intergalactic-icon-secondary-neutral, color(display-p3 0.0036 0.02041 0.00996 / 0.385))}}}.___SDown_s3mmr_gg_:focus,.___SUp_s3mmr_gg_:focus{outline:0}@media (hover:hover){.___SDown_s3mmr_gg_:hover,.___SUp_s3mmr_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, rgba(0, 5, 2, 0.433))}@supports (color:color(display-p3 0 0 0%)){.___SDown_s3mmr_gg_:hover,.___SUp_s3mmr_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, rgba(0, 5, 2, 0.433))}@media (color-gamut:p3){.___SDown_s3mmr_gg_:hover,.___SUp_s3mmr_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, color(display-p3 0.00333 0.01824 0.00791 / 0.433))}}}}.___SUp_s3mmr_gg_{padding-bottom:1px}.___SDown_s3mmr_gg_{padding-top:1px}.___SValue_s3mmr_gg_::-webkit-inner-spin-button,.___SValue_s3mmr_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_s3mmr_gg_._type_number_s3mmr_gg_{-moz-appearance:textfield}.___SValue_s3mmr_gg_.__disabled_s3mmr_gg_~.___SControls_s3mmr_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default;pointer-events:none}.___SValueHidden_s3mmr_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}", /*__inner_css_end__*/"s3mmr_gg_"),
20
+ var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SValue_1wal7_gg_:focus~.___SControls_1wal7_gg_{display:flex}.___SControls_1wal7_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_1wal7_gg_.__showControls_1wal7_gg_{display:flex}.___SDown_1wal7_gg_,.___SUp_1wal7_gg_{padding:0;width:16px;color:var(--intergalactic-icon-secondary-neutral, rgba(0, 5, 2, 0.385));box-sizing:border-box;display:inline-flex;justify-content:center;border:0;background:0 0;cursor:pointer}@supports (color:color(display-p3 0 0 0%)){.___SDown_1wal7_gg_,.___SUp_1wal7_gg_{color:var(--intergalactic-icon-secondary-neutral, rgba(0, 5, 2, 0.385))}@media (color-gamut:p3){.___SDown_1wal7_gg_,.___SUp_1wal7_gg_{color:var(--intergalactic-icon-secondary-neutral, color(display-p3 0.0036 0.02041 0.00996 / 0.385))}}}.___SDown_1wal7_gg_:focus,.___SUp_1wal7_gg_:focus{outline:0}@media (hover:hover){.___SDown_1wal7_gg_:hover,.___SUp_1wal7_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, rgba(0, 5, 2, 0.433))}@supports (color:color(display-p3 0 0 0%)){.___SDown_1wal7_gg_:hover,.___SUp_1wal7_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, rgba(0, 5, 2, 0.433))}@media (color-gamut:p3){.___SDown_1wal7_gg_:hover,.___SUp_1wal7_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, color(display-p3 0.00333 0.01824 0.00791 / 0.433))}}}}.___SUp_1wal7_gg_{padding-bottom:1px}.___SDown_1wal7_gg_{padding-top:1px}.___SValue_1wal7_gg_::-webkit-inner-spin-button,.___SValue_1wal7_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_1wal7_gg_._type_number_1wal7_gg_{-moz-appearance:textfield}.___SValue_1wal7_gg_.__disabled_1wal7_gg_~.___SControls_1wal7_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default;pointer-events:none}.___SValueHidden_1wal7_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}", /*__inner_css_end__*/"1wal7_gg_"),
21
21
  /*__reshadow_css_end__*/
22
22
  {
23
- "__SValue": "___SValue_s3mmr_gg_",
24
- "__SControls": "___SControls_s3mmr_gg_",
25
- "_showControls": "__showControls_s3mmr_gg_",
26
- "__SUp": "___SUp_s3mmr_gg_",
27
- "__SDown": "___SDown_s3mmr_gg_",
28
- "_disabled": "__disabled_s3mmr_gg_",
29
- "__SValueHidden": "___SValueHidden_s3mmr_gg_",
30
- "_type_number": "_type_number_s3mmr_gg_"
23
+ "__SValue": "___SValue_1wal7_gg_",
24
+ "__SControls": "___SControls_1wal7_gg_",
25
+ "_showControls": "__showControls_1wal7_gg_",
26
+ "__SUp": "___SUp_1wal7_gg_",
27
+ "__SDown": "___SDown_1wal7_gg_",
28
+ "_disabled": "__disabled_1wal7_gg_",
29
+ "__SValueHidden": "___SValueHidden_1wal7_gg_",
30
+ "_type_number": "_type_number_1wal7_gg_"
31
31
  });
32
32
  import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
33
33
  export function parseValueWithMinMax(value) {
@@ -398,11 +398,19 @@ var Value = /*#__PURE__*/function (_Component2) {
398
398
  value:
399
399
  // https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling
400
400
  function componentDidMount() {
401
- var _this$valueInputRef$c;
401
+ var _this$valueInputRef$c,
402
+ _this4 = this;
402
403
  (_this$valueInputRef$c = this.valueInputRef.current) === null || _this$valueInputRef$c === void 0 || _this$valueInputRef$c.addEventListener('wheel', this.onWheel);
403
404
  var _this$asProps2 = this.asProps,
404
405
  inputRef = _this$asProps2.inputRef,
405
- value = _this$asProps2.value;
406
+ value = _this$asProps2.value,
407
+ autoFocus = _this$asProps2.autoFocus;
408
+ if (autoFocus) {
409
+ setTimeout(function () {
410
+ var _this4$valueInputRef$;
411
+ (_this4$valueInputRef$ = _this4.valueInputRef.current) === null || _this4$valueInputRef$ === void 0 || _this4$valueInputRef$.focus();
412
+ });
413
+ }
406
414
  if (inputRef.current) {
407
415
  inputRef.current.stepUp = this.stepUp;
408
416
  inputRef.current.stepDown = this.stepDown;
@@ -1 +1 @@
1
- {"version":3,"file":"InputNumber.js","names":["Component","createComponent","Root","sstyled","callAllEventHandlers","i18nEnhance","forkRef","Input","React","DecrementIcon","IncrementIcon","style","_sstyled","insert","localizedMessages","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","InputNumber","_Component","_this","_classCallCheck","_len","args","Array","_key","_callSuper","concat","_defineProperty","createRef","event","_this$inputRef$curren","_this$inputRef$curren2","inputRef","current","stepUp","call","_this$inputRef$curren3","_this$inputRef$curren4","stepDown","_inherits","_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","_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","onWheel","handleWheel","target","valueInputRef","document","activeElement","preventDefault","wheelDelta","_this2$asProps2","endsWith","slice","digits","cursorPosition","element","indexOf","stopPropagation","selectionStart","includes","afterSelection","selectionEnd","requestAnimationFrame","newValue","state","index","lastIndexOf","setSelectionRange","cursorIndex","shiftKey","moveSelectionLeft","moveSelectionRight","nextPosition","handleValidation","_this2$asProps3","_this2$asProps3$max","_this2$asProps4","_this2$asProps4$min","uncontrolledProps","_this3","_this3$asProps","_this3$valueParser","get","countDecimals","floor","toPrecision","componentDidMount","_this$valueInputRef$c","addEventListener","_this$asProps2","_this$valueParser","componentDidUpdate","prevProps","_this$valueParser2","componentWillUnmount","_this$valueInputRef$c2","removeEventListener","_ref2","_ref5","SValue","_this$asProps3","styles","forwardRef","Fragment","_assignProps2","handleChange","handleKeyDown","handleKeyUp","handleClick","isInteger","defaultValue","defaultDisplayValue","Controls","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","_assignProps3"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import { Component, createComponent, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport Input from '@semcore/input';\nimport React from 'react';\n\nimport { DecrementIcon, IncrementIcon } from './buttons';\nimport style from './style/input-number.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nexport function parseValueWithMinMax(\n value,\n min = Number.MIN_SAFE_INTEGER,\n max = Number.MAX_SAFE_INTEGER,\n) {\n return Math.max(min, Math.min(max, value));\n}\n\nclass InputNumber extends Component {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n inputRef = React.createRef();\n\n increment = (event) => {\n this.inputRef.current?.stepUp?.(event);\n };\n\n decrement = (event) => {\n this.inputRef.current?.stepDown?.(event);\n };\n\n getValueProps() {\n const numberFormatter = new Intl.NumberFormat(this.asProps.locale, { style: 'decimal' });\n\n return {\n inputRef: this.inputRef,\n increment: this.increment,\n decrement: this.decrement,\n numberFormatter,\n };\n }\n\n getControlsProps() {\n const { size, getI18nText } = this.asProps;\n return {\n size,\n increment: this.increment,\n decrement: this.decrement,\n getI18nText,\n };\n }\n\n render() {\n const SInputNumber = Root;\n return sstyled(this.asProps.style)(<SInputNumber render={Input} />);\n }\n}\n\nclass Value extends Component {\n static style = style;\n static defaultProps = {\n defaultValue: '',\n defaultDisplayValue: '',\n step: 1,\n };\n\n valueInputRef = React.createRef();\n\n cursorPosition = -1;\n\n uncontrolledProps() {\n return {\n displayValue: null,\n value: [\n null,\n (newValue) => {\n const { value: prevValue, displayValue: prevDisplayValue } = this.asProps;\n\n const { parsedValue, displayValue } = this.valueParser(\n newValue,\n prevValue,\n prevDisplayValue,\n );\n\n this.handlers.displayValue(displayValue);\n\n return parsedValue;\n },\n ],\n };\n }\n\n get separatorDecimal() {\n const { numberFormatter } = this.props;\n\n return numberFormatter.format(11.11).replace(/\\d/g, '');\n }\n\n get separatorThousands() {\n const { numberFormatter } = this.props;\n\n return numberFormatter.format(1111).replace(/\\d/g, '');\n }\n\n getFormattedValue = (value) => {\n return value\n .replace(new RegExp(`[${this.separatorThousands}]`, 'g'), '')\n .replace(this.separatorDecimal, '.');\n };\n\n valueParser = (value, prevValue, prevDisplayValue) => {\n const { numberFormatter } = this.props;\n\n const stringNumber = this.getFormattedValue(String(value));\n\n if (Number.isNaN(Number(stringNumber))) {\n return {\n parsedValue: prevValue,\n displayValue: prevDisplayValue,\n };\n }\n\n let displayValue = '';\n\n if (/\\.[0-9]*0$/.test(stringNumber)) {\n const [int, decimal] = stringNumber.split(this.separatorDecimal);\n displayValue = numberFormatter.format(int) + this.separatorDecimal + decimal;\n } else if (stringNumber !== '') {\n displayValue = numberFormatter.format(stringNumber);\n }\n\n return {\n parsedValue: stringNumber,\n displayValue: displayValue,\n };\n };\n\n round(value, step) {\n const countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;\n return countDecimals === 0\n ? Number.parseFloat(value)\n : Number.parseFloat(value).toPrecision(countDecimals);\n }\n\n handleValidation = (event) => {\n const { value, displayValue, min, max, step } = this.asProps;\n const { parsedValue } = this.valueParser(event.currentTarget.value, value, displayValue);\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n\n if (Number.isNaN(value) || Number.isNaN(Number.parseFloat(parsedValue))) {\n event.currentTarget.value = '';\n this.handlers.value('', event);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(parsedValue), min, max);\n const rounded = this.round(numberValue % step, step);\n if (rounded !== 0) {\n if (rounded >= step / 2) {\n numberValue += step - rounded;\n } else if (Math.abs(rounded) < step) {\n numberValue -= rounded;\n }\n }\n const numberValueRounded = Number(numberValue.toFixed(roundCoefficient));\n\n this.handlers.value(String(numberValueRounded), event);\n }\n };\n\n // https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling\n componentDidMount() {\n this.valueInputRef.current?.addEventListener('wheel', this.onWheel);\n\n const { inputRef, value } = this.asProps;\n\n if (inputRef.current) {\n inputRef.current.stepUp = this.stepUp;\n inputRef.current.stepDown = this.stepDown;\n }\n\n if (value !== '') {\n const { displayValue } = this.valueParser(value, '', '');\n this.handlers.displayValue(displayValue);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n const { displayValue } = this.valueParser(\n this.props.value,\n prevProps.value,\n prevProps.displayValue,\n );\n this.handlers.displayValue(displayValue);\n }\n }\n\n componentWillUnmount() {\n this.valueInputRef.current?.removeEventListener('wheel', this.onWheel);\n }\n\n onWheel = (event) => {\n callAllEventHandlers(this.asProps.onWheel, this.handleWheel)(event);\n };\n\n handleWheel = (event) => {\n if (event.target !== this.valueInputRef.current) return;\n if (document.activeElement !== this.valueInputRef.current) return;\n event.preventDefault();\n if (event.wheelDelta > 0) {\n this.stepUp(event);\n } else if (event.wheelDelta < 0) {\n this.stepDown(event);\n }\n };\n\n handleChange = (event) => {\n const value = this.getFormattedValue(event.currentTarget.value);\n const { numberFormatter, value: prevValue } = this.asProps;\n\n if (value === '.' || value === '-') {\n this.handlers.displayValue(value);\n return false;\n }\n\n if (value.endsWith('-')) {\n return false;\n }\n\n if (value.endsWith('.')) {\n if (value.length > prevValue.length) {\n this.handlers.displayValue(numberFormatter.format(value) + this.separatorDecimal);\n return false;\n } else {\n this.handlers.value(value.slice(0, -1), event);\n return false;\n }\n }\n\n const digits = /^[0-9.-]+$/.test(value);\n\n if (digits || value === '') {\n this.handlers.value(value, event);\n }\n };\n\n handleKeyUp = (event) => {\n if (event.key === 'Shift') {\n this.cursorPosition = -1;\n }\n };\n\n handleKeyDown = (event) => {\n const element = event.currentTarget;\n const value = element.value;\n const length = value.length;\n const { displayValue } = this.asProps;\n\n if (event.key === '.' || event.key === ',') {\n // for the first decimal separator we should replace both ',' and '.' to '.' because of how js convert strings to numbers (with ',' it will be Number.NaN)\n if (value.indexOf(this.separatorDecimal) === -1 && event.key === ',') {\n event.currentTarget.value = value + '.';\n } else if (value.indexOf(this.separatorDecimal) !== -1) { // we could press decimal separator second time - prevent this '1.5.'\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n }\n\n if (event.key === 'Backspace' && value.endsWith(this.separatorDecimal)) {\n event.preventDefault();\n event.stopPropagation();\n this.handlers.displayValue(displayValue.slice(0, -1));\n return false;\n }\n\n if (\n element.selectionStart !== length &&\n (event.key === 'Backspace' ||\n event.key === this.separatorDecimal ||\n ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(event.key))\n ) {\n const afterSelection = value.slice(element.selectionEnd);\n\n requestAnimationFrame(() => {\n const newValue = this.state.displayValue;\n const index = newValue.lastIndexOf(afterSelection);\n const selectionStart = index;\n const selectionEnd = index;\n\n element.setSelectionRange(selectionStart, selectionEnd);\n });\n }\n\n // For correct moving cursor with skip separatorThousands.\n // Examples:\n // - Press ArrowLeft: `12,3|4 -> 12|,34`\n // - Press ArrowRight: `1|,55 -> 1,5|5`\n const cursorIndex = 2;\n\n if (event.shiftKey && this.cursorPosition === -1) {\n this.cursorPosition = element.selectionStart;\n }\n\n switch (event.key) {\n case 'ArrowLeft': {\n event.preventDefault();\n this.moveSelectionLeft(element, cursorIndex);\n break;\n }\n case 'ArrowRight': {\n event.preventDefault();\n this.moveSelectionRight(element, cursorIndex);\n break;\n }\n case 'ArrowDown': {\n event.preventDefault();\n this.stepDown(event);\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n this.stepUp(event);\n break;\n }\n }\n };\n\n moveSelectionLeft = (element, cursorIndex) => {\n const value = element.value;\n const nextPosition = element.selectionStart - 1 >= 0 ? element.selectionStart - 1 : 0;\n\n const cursorPosition =\n value[element.selectionStart - cursorIndex] === this.separatorThousands\n ? element.selectionStart - cursorIndex\n : nextPosition;\n\n if (this.cursorPosition === -1) {\n // without shift\n element.setSelectionRange(cursorPosition, cursorPosition);\n } else {\n if (\n element.selectionStart <= this.cursorPosition &&\n element.selectionEnd === this.cursorPosition\n ) {\n element.setSelectionRange(cursorPosition, element.selectionEnd);\n } else {\n element.setSelectionRange(\n element.selectionStart,\n value[element.selectionEnd - cursorIndex] === this.separatorThousands\n ? element.selectionEnd - cursorIndex\n : element.selectionEnd - 1,\n );\n }\n }\n };\n\n moveSelectionRight = (element, cursorIndex) => {\n const value = element.value;\n const nextPosition = element.selectionEnd + 1;\n\n const cursorPosition =\n value[element.selectionEnd] === this.separatorThousands\n ? element.selectionEnd + cursorIndex\n : nextPosition;\n\n if (this.cursorPosition === -1) {\n // without shift\n element.setSelectionRange(cursorPosition, cursorPosition);\n } else {\n if (\n element.selectionEnd >= this.cursorPosition &&\n element.selectionStart === this.cursorPosition\n ) {\n element.setSelectionRange(element.selectionStart, cursorPosition);\n } else {\n element.setSelectionRange(\n value[element.selectionStart] === this.separatorThousands\n ? element.selectionStart + cursorIndex\n : element.selectionStart + 1,\n element.selectionEnd,\n );\n }\n }\n };\n\n handleClick = (event) => {\n const element = event.target;\n const value = element.value;\n\n if (value[element.selectionStart - 1] === this.separatorThousands) {\n element.setSelectionRange(element.selectionStart - 1, element.selectionEnd - 1);\n }\n };\n\n handleBlur = (event) => {\n this.cursorPosition = -1;\n this.handleValidation(event);\n };\n\n stepUp = (event) => {\n const { max = Number.MAX_SAFE_INTEGER, min, step, value } = this.asProps;\n\n let numberValue;\n\n // https://stackoverflow.com/questions/68010124/safari-number-input-stepup-stepdown-not-functioning-with-empty-value\n if (value === '') {\n numberValue = min ?? 0;\n } else {\n numberValue = Number.parseFloat(value);\n }\n\n if (!Number.isNaN(numberValue)) {\n const newValue = numberValue + step <= max ? numberValue + step : max;\n\n this.handlers.value(newValue.toString(), event);\n }\n };\n\n stepDown = (event) => {\n const { max, min = Number.MIN_SAFE_INTEGER, step, value } = this.asProps;\n\n let numberValue;\n\n if (value === '') {\n numberValue = max ?? 0;\n } else {\n numberValue = Number.parseFloat(value);\n }\n\n if (!Number.isNaN(numberValue)) {\n const newValue = numberValue - step >= min ? numberValue - step : min;\n\n this.handlers.value(newValue.toString(), event);\n }\n };\n\n render() {\n const SValue = Root;\n const { styles, min, max, step, forwardRef, inputRef, displayValue } = this.asProps;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n autoComplete='off'\n onBlur={this.handleValidation}\n use:onChange={this.handleChange}\n onKeyDown={this.handleKeyDown}\n onKeyUp={this.handleKeyUp}\n onClick={this.handleClick}\n use:ref={forkRef(this.valueInputRef, inputRef, forwardRef)}\n use:value={displayValue}\n inputMode={Number.isInteger(step) ? 'numeric' : 'decimal'}\n min={min}\n max={max}\n step={step}\n />\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, increment, decrement, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden='true'>\n <SUp\n onClick={increment}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IncrementIcon />\n </SUp>\n <SDown\n onClick={decrement}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <DecrementIcon />\n </SDown>\n <Children />\n </SControls>,\n );\n}\nControls.style = style;\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"InputNumber.js","names":["Component","createComponent","Root","sstyled","callAllEventHandlers","i18nEnhance","forkRef","Input","React","DecrementIcon","IncrementIcon","style","_sstyled","insert","localizedMessages","parseValueWithMinMax","value","min","arguments","length","undefined","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","InputNumber","_Component","_this","_classCallCheck","_len","args","Array","_key","_callSuper","concat","_defineProperty","createRef","event","_this$inputRef$curren","_this$inputRef$curren2","inputRef","current","stepUp","call","_this$inputRef$curren3","_this$inputRef$curren4","stepDown","_inherits","_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","_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","onWheel","handleWheel","target","valueInputRef","document","activeElement","preventDefault","wheelDelta","_this2$asProps2","endsWith","slice","digits","cursorPosition","element","indexOf","stopPropagation","selectionStart","includes","afterSelection","selectionEnd","requestAnimationFrame","newValue","state","index","lastIndexOf","setSelectionRange","cursorIndex","shiftKey","moveSelectionLeft","moveSelectionRight","nextPosition","handleValidation","_this2$asProps3","_this2$asProps3$max","_this2$asProps4","_this2$asProps4$min","uncontrolledProps","_this3","_this3$asProps","_this3$valueParser","get","countDecimals","floor","toPrecision","componentDidMount","_this$valueInputRef$c","_this4","addEventListener","_this$asProps2","autoFocus","setTimeout","_this4$valueInputRef$","focus","_this$valueParser","componentDidUpdate","prevProps","_this$valueParser2","componentWillUnmount","_this$valueInputRef$c2","removeEventListener","_ref2","_ref5","SValue","_this$asProps3","styles","forwardRef","Fragment","_assignProps2","handleChange","handleKeyDown","handleKeyUp","handleClick","isInteger","defaultValue","defaultDisplayValue","Controls","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","_assignProps3"],"sources":["../../src/InputNumber.jsx"],"sourcesContent":["import { Component, createComponent, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport Input from '@semcore/input';\nimport React from 'react';\n\nimport { DecrementIcon, IncrementIcon } from './buttons';\nimport style from './style/input-number.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nexport function parseValueWithMinMax(\n value,\n min = Number.MIN_SAFE_INTEGER,\n max = Number.MAX_SAFE_INTEGER,\n) {\n return Math.max(min, Math.min(max, value));\n}\n\nclass InputNumber extends Component {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n };\n\n inputRef = React.createRef();\n\n increment = (event) => {\n this.inputRef.current?.stepUp?.(event);\n };\n\n decrement = (event) => {\n this.inputRef.current?.stepDown?.(event);\n };\n\n getValueProps() {\n const numberFormatter = new Intl.NumberFormat(this.asProps.locale, { style: 'decimal' });\n\n return {\n inputRef: this.inputRef,\n increment: this.increment,\n decrement: this.decrement,\n numberFormatter,\n };\n }\n\n getControlsProps() {\n const { size, getI18nText } = this.asProps;\n return {\n size,\n increment: this.increment,\n decrement: this.decrement,\n getI18nText,\n };\n }\n\n render() {\n const SInputNumber = Root;\n return sstyled(this.asProps.style)(<SInputNumber render={Input} />);\n }\n}\n\nclass Value extends Component {\n static style = style;\n static defaultProps = {\n defaultValue: '',\n defaultDisplayValue: '',\n step: 1,\n };\n\n valueInputRef = React.createRef();\n\n cursorPosition = -1;\n\n uncontrolledProps() {\n return {\n displayValue: null,\n value: [\n null,\n (newValue) => {\n const { value: prevValue, displayValue: prevDisplayValue } = this.asProps;\n\n const { parsedValue, displayValue } = this.valueParser(\n newValue,\n prevValue,\n prevDisplayValue,\n );\n\n this.handlers.displayValue(displayValue);\n\n return parsedValue;\n },\n ],\n };\n }\n\n get separatorDecimal() {\n const { numberFormatter } = this.props;\n\n return numberFormatter.format(11.11).replace(/\\d/g, '');\n }\n\n get separatorThousands() {\n const { numberFormatter } = this.props;\n\n return numberFormatter.format(1111).replace(/\\d/g, '');\n }\n\n getFormattedValue = (value) => {\n return value\n .replace(new RegExp(`[${this.separatorThousands}]`, 'g'), '')\n .replace(this.separatorDecimal, '.');\n };\n\n valueParser = (value, prevValue, prevDisplayValue) => {\n const { numberFormatter } = this.props;\n\n const stringNumber = this.getFormattedValue(String(value));\n\n if (Number.isNaN(Number(stringNumber))) {\n return {\n parsedValue: prevValue,\n displayValue: prevDisplayValue,\n };\n }\n\n let displayValue = '';\n\n if (/\\.[0-9]*0$/.test(stringNumber)) {\n const [int, decimal] = stringNumber.split(this.separatorDecimal);\n displayValue = numberFormatter.format(int) + this.separatorDecimal + decimal;\n } else if (stringNumber !== '') {\n displayValue = numberFormatter.format(stringNumber);\n }\n\n return {\n parsedValue: stringNumber,\n displayValue: displayValue,\n };\n };\n\n round(value, step) {\n const countDecimals = Math.floor(step) === step ? 0 : step.toString().split('.')[1].length || 0;\n return countDecimals === 0\n ? Number.parseFloat(value)\n : Number.parseFloat(value).toPrecision(countDecimals);\n }\n\n handleValidation = (event) => {\n const { value, displayValue, min, max, step } = this.asProps;\n const { parsedValue } = this.valueParser(event.currentTarget.value, value, displayValue);\n const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;\n\n if (Number.isNaN(value) || Number.isNaN(Number.parseFloat(parsedValue))) {\n event.currentTarget.value = '';\n this.handlers.value('', event);\n } else {\n let numberValue = parseValueWithMinMax(Number.parseFloat(parsedValue), min, max);\n const rounded = this.round(numberValue % step, step);\n if (rounded !== 0) {\n if (rounded >= step / 2) {\n numberValue += step - rounded;\n } else if (Math.abs(rounded) < step) {\n numberValue -= rounded;\n }\n }\n const numberValueRounded = Number(numberValue.toFixed(roundCoefficient));\n\n this.handlers.value(String(numberValueRounded), event);\n }\n };\n\n // https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling\n componentDidMount() {\n this.valueInputRef.current?.addEventListener('wheel', this.onWheel);\n\n const { inputRef, value, autoFocus } = this.asProps;\n\n if (autoFocus) {\n setTimeout(() => {\n this.valueInputRef.current?.focus();\n });\n }\n\n if (inputRef.current) {\n inputRef.current.stepUp = this.stepUp;\n inputRef.current.stepDown = this.stepDown;\n }\n\n if (value !== '') {\n const { displayValue } = this.valueParser(value, '', '');\n this.handlers.displayValue(displayValue);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n const { displayValue } = this.valueParser(\n this.props.value,\n prevProps.value,\n prevProps.displayValue,\n );\n this.handlers.displayValue(displayValue);\n }\n }\n\n componentWillUnmount() {\n this.valueInputRef.current?.removeEventListener('wheel', this.onWheel);\n }\n\n onWheel = (event) => {\n callAllEventHandlers(this.asProps.onWheel, this.handleWheel)(event);\n };\n\n handleWheel = (event) => {\n if (event.target !== this.valueInputRef.current) return;\n if (document.activeElement !== this.valueInputRef.current) return;\n event.preventDefault();\n if (event.wheelDelta > 0) {\n this.stepUp(event);\n } else if (event.wheelDelta < 0) {\n this.stepDown(event);\n }\n };\n\n handleChange = (event) => {\n const value = this.getFormattedValue(event.currentTarget.value);\n const { numberFormatter, value: prevValue } = this.asProps;\n\n if (value === '.' || value === '-') {\n this.handlers.displayValue(value);\n return false;\n }\n\n if (value.endsWith('-')) {\n return false;\n }\n\n if (value.endsWith('.')) {\n if (value.length > prevValue.length) {\n this.handlers.displayValue(numberFormatter.format(value) + this.separatorDecimal);\n return false;\n } else {\n this.handlers.value(value.slice(0, -1), event);\n return false;\n }\n }\n\n const digits = /^[0-9.-]+$/.test(value);\n\n if (digits || value === '') {\n this.handlers.value(value, event);\n }\n };\n\n handleKeyUp = (event) => {\n if (event.key === 'Shift') {\n this.cursorPosition = -1;\n }\n };\n\n handleKeyDown = (event) => {\n const element = event.currentTarget;\n const value = element.value;\n const length = value.length;\n const { displayValue } = this.asProps;\n\n if (event.key === '.' || event.key === ',') {\n // for the first decimal separator we should replace both ',' and '.' to '.' because of how js convert strings to numbers (with ',' it will be Number.NaN)\n if (value.indexOf(this.separatorDecimal) === -1 && event.key === ',') {\n event.currentTarget.value = value + '.';\n } else if (value.indexOf(this.separatorDecimal) !== -1) { // we could press decimal separator second time - prevent this '1.5.'\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n }\n\n if (event.key === 'Backspace' && value.endsWith(this.separatorDecimal)) {\n event.preventDefault();\n event.stopPropagation();\n this.handlers.displayValue(displayValue.slice(0, -1));\n return false;\n }\n\n if (\n element.selectionStart !== length &&\n (event.key === 'Backspace' ||\n event.key === this.separatorDecimal ||\n ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(event.key))\n ) {\n const afterSelection = value.slice(element.selectionEnd);\n\n requestAnimationFrame(() => {\n const newValue = this.state.displayValue;\n const index = newValue.lastIndexOf(afterSelection);\n const selectionStart = index;\n const selectionEnd = index;\n\n element.setSelectionRange(selectionStart, selectionEnd);\n });\n }\n\n // For correct moving cursor with skip separatorThousands.\n // Examples:\n // - Press ArrowLeft: `12,3|4 -> 12|,34`\n // - Press ArrowRight: `1|,55 -> 1,5|5`\n const cursorIndex = 2;\n\n if (event.shiftKey && this.cursorPosition === -1) {\n this.cursorPosition = element.selectionStart;\n }\n\n switch (event.key) {\n case 'ArrowLeft': {\n event.preventDefault();\n this.moveSelectionLeft(element, cursorIndex);\n break;\n }\n case 'ArrowRight': {\n event.preventDefault();\n this.moveSelectionRight(element, cursorIndex);\n break;\n }\n case 'ArrowDown': {\n event.preventDefault();\n this.stepDown(event);\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n this.stepUp(event);\n break;\n }\n }\n };\n\n moveSelectionLeft = (element, cursorIndex) => {\n const value = element.value;\n const nextPosition = element.selectionStart - 1 >= 0 ? element.selectionStart - 1 : 0;\n\n const cursorPosition =\n value[element.selectionStart - cursorIndex] === this.separatorThousands\n ? element.selectionStart - cursorIndex\n : nextPosition;\n\n if (this.cursorPosition === -1) {\n // without shift\n element.setSelectionRange(cursorPosition, cursorPosition);\n } else {\n if (\n element.selectionStart <= this.cursorPosition &&\n element.selectionEnd === this.cursorPosition\n ) {\n element.setSelectionRange(cursorPosition, element.selectionEnd);\n } else {\n element.setSelectionRange(\n element.selectionStart,\n value[element.selectionEnd - cursorIndex] === this.separatorThousands\n ? element.selectionEnd - cursorIndex\n : element.selectionEnd - 1,\n );\n }\n }\n };\n\n moveSelectionRight = (element, cursorIndex) => {\n const value = element.value;\n const nextPosition = element.selectionEnd + 1;\n\n const cursorPosition =\n value[element.selectionEnd] === this.separatorThousands\n ? element.selectionEnd + cursorIndex\n : nextPosition;\n\n if (this.cursorPosition === -1) {\n // without shift\n element.setSelectionRange(cursorPosition, cursorPosition);\n } else {\n if (\n element.selectionEnd >= this.cursorPosition &&\n element.selectionStart === this.cursorPosition\n ) {\n element.setSelectionRange(element.selectionStart, cursorPosition);\n } else {\n element.setSelectionRange(\n value[element.selectionStart] === this.separatorThousands\n ? element.selectionStart + cursorIndex\n : element.selectionStart + 1,\n element.selectionEnd,\n );\n }\n }\n };\n\n handleClick = (event) => {\n const element = event.target;\n const value = element.value;\n\n if (value[element.selectionStart - 1] === this.separatorThousands) {\n element.setSelectionRange(element.selectionStart - 1, element.selectionEnd - 1);\n }\n };\n\n handleBlur = (event) => {\n this.cursorPosition = -1;\n this.handleValidation(event);\n };\n\n stepUp = (event) => {\n const { max = Number.MAX_SAFE_INTEGER, min, step, value } = this.asProps;\n\n let numberValue;\n\n // https://stackoverflow.com/questions/68010124/safari-number-input-stepup-stepdown-not-functioning-with-empty-value\n if (value === '') {\n numberValue = min ?? 0;\n } else {\n numberValue = Number.parseFloat(value);\n }\n\n if (!Number.isNaN(numberValue)) {\n const newValue = numberValue + step <= max ? numberValue + step : max;\n\n this.handlers.value(newValue.toString(), event);\n }\n };\n\n stepDown = (event) => {\n const { max, min = Number.MIN_SAFE_INTEGER, step, value } = this.asProps;\n\n let numberValue;\n\n if (value === '') {\n numberValue = max ?? 0;\n } else {\n numberValue = Number.parseFloat(value);\n }\n\n if (!Number.isNaN(numberValue)) {\n const newValue = numberValue - step >= min ? numberValue - step : min;\n\n this.handlers.value(newValue.toString(), event);\n }\n };\n\n render() {\n const SValue = Root;\n const { styles, min, max, step, forwardRef, inputRef, displayValue } = this.asProps;\n\n return sstyled(styles)(\n <>\n <SValue\n render={Input.Value}\n autoComplete='off'\n onBlur={this.handleValidation}\n use:onChange={this.handleChange}\n onKeyDown={this.handleKeyDown}\n onKeyUp={this.handleKeyUp}\n onClick={this.handleClick}\n use:ref={forkRef(this.valueInputRef, inputRef, forwardRef)}\n use:value={displayValue}\n inputMode={Number.isInteger(step) ? 'numeric' : 'decimal'}\n min={min}\n max={max}\n step={step}\n />\n </>,\n );\n }\n}\n\nfunction Controls(props) {\n const { Children, increment, decrement, size, styles, getI18nText } = props;\n const SControls = Root;\n const SUp = 'button';\n const SDown = 'button';\n\n return sstyled(styles)(\n <SControls render={Input.Addon} aria-hidden='true'>\n <SUp\n onClick={increment}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('increment')}\n >\n <IncrementIcon />\n </SUp>\n <SDown\n onClick={decrement}\n tabIndex={-1}\n type='button'\n size={size}\n aria-label={getI18nText('decrement')}\n >\n <DecrementIcon />\n </SDown>\n <Children />\n </SControls>,\n );\n}\nControls.style = style;\n\nexport default createComponent(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { Intergalactic, PropGetterFn, UnknownProperties } from '@semcore/core';\nimport type { InputAddonProps, InputProps, InputValueProps } from '@semcore/input';\nimport type React from 'react';\n\nexport type InputNumberValue = string;\nexport type InputNumberSize = 'm' | 'l';\n\n/** @deprecated */\nexport interface IInputNumberProps extends InputNumberProps, UnknownProperties {}\nexport type InputNumberProps = InputProps & {\n /** Input size\n * @default m\n * */\n size?: InputNumberSize;\n /**\n * Locale value\n */\n locale?: string;\n};\n\n/** @deprecated */\nexport interface IInputNumberValueProps extends InputNumberValueProps, UnknownProperties {}\nexport type InputNumberValueProps = InputValueProps & {\n /** Minimum value\n * @default Number.MIN_SAFE_INTEGER\n */\n min?: number;\n /** Maximum value\n * @default Number.MAX_SAFE_INTEGER\n */\n max?: number;\n /** Value change step\n * @default 1\n */\n step?: number;\n /** Numeric value */\n value?: InputNumberValue;\n /** Called when the input value changes, it returns its current value in numeric format */\n onChange?: (value: InputNumberValue, event?: React.SyntheticEvent<HTMLInputElement>) => void;\n};\n\n/** @deprecated */\nexport interface IInputNumberControlsProps extends InputNumberControlsProps, UnknownProperties {}\nexport type InputNumberControlsProps = InputAddonProps & {\n /** Always displays controls (steppers)\n * @default false\n */\n showControls?: boolean;\n};\n\n/** @deprecated */\nexport interface IInputNumberCtx extends InputNumberCtx, UnknownProperties {}\nexport type InputNumberCtx = {\n getValueProps: PropGetterFn;\n getControlsProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const InputNumber: Intergalactic.Component<'div', InputNumberProps, InputNumberCtx> & {\n Value: Intergalactic.Component<'input', InputNumberValueProps>;\n Controls: Intergalactic.Component<'div', InputNumberControlsProps>;\n Addon: Intergalactic.Component<'div', InputAddonProps>;\n};\n\nexport default InputNumber;\n\ndeclare const IncrementIcon: React.FC;\ndeclare const DecrementIcon: React.FC;\ndeclare const parseValueWithMinMax: (value: number, min?: number, max?: number) => number;\n\nexport { IncrementIcon, DecrementIcon, parseValueWithMinMax };\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { Intergalactic, PropGetterFn } from '@semcore/core';\nimport type { InputAddonProps, InputProps, InputValueProps } from '@semcore/input';\nimport type React from 'react';\n\nexport type InputNumberValue = string;\nexport type InputNumberSize = 'm' | 'l';\n\nexport type InputNumberProps = InputProps & {\n /** Input size\n * @default m\n * */\n size?: InputNumberSize;\n /**\n * Locale value\n */\n locale?: string;\n};\n\nexport type InputNumberValueProps = InputValueProps & {\n /** Minimum value\n * @default Number.MIN_SAFE_INTEGER\n */\n min?: number;\n /** Maximum value\n * @default Number.MAX_SAFE_INTEGER\n */\n max?: number;\n /** Value change step\n * @default 1\n */\n step?: number;\n /** Numeric value */\n value?: InputNumberValue;\n /** Called when the input value changes, it returns its current value in numeric format */\n onChange?: (value: InputNumberValue, event?: React.SyntheticEvent<HTMLInputElement>) => void;\n};\n\nexport type InputNumberControlsProps = InputAddonProps & {\n /** Always displays controls (steppers)\n * @default false\n */\n showControls?: boolean;\n};\n\nexport type InputNumberCtx = {\n getValueProps: PropGetterFn;\n getControlsProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const InputNumber: Intergalactic.Component<'div', InputNumberProps, InputNumberCtx> & {\n Value: Intergalactic.Component<'input', InputNumberValueProps>;\n Controls: Intergalactic.Component<'div', InputNumberControlsProps>;\n Addon: Intergalactic.Component<'div', InputAddonProps>;\n};\n\nexport default InputNumber;\n\ndeclare const IncrementIcon: React.FC;\ndeclare const DecrementIcon: React.FC;\ndeclare const parseValueWithMinMax: (value: number, min?: number, max?: number) => number;\n\nexport { IncrementIcon, DecrementIcon, parseValueWithMinMax };\n"],"mappings":"","ignoreList":[]}
@@ -5,7 +5,7 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
5
5
  import _callSuper from "@babel/runtime/helpers/esm/callSuper";
6
6
  import _inherits from "@babel/runtime/helpers/esm/inherits";
7
7
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
8
- import { createComponent, sstyled, assignProps, Component } from "@semcore/core";
8
+ import { sstyled, assignProps, Component, createComponent } from "@semcore/core";
9
9
  import { callAllEventHandlers } from "@semcore/core/lib/utils/assignProps";
10
10
  import i18nEnhance from "@semcore/core/lib/utils/enhances/i18nEnhance";
11
11
  import { forkRef } from "@semcore/core/lib/utils/ref";
@@ -18,19 +18,19 @@ var style = (
18
18
  /*__reshadow_css_start__*/
19
19
  (sstyled.insert(
20
20
  /*__inner_css_start__*/
21
- ".___SValue_s3mmr_gg_:focus~.___SControls_s3mmr_gg_{display:flex}.___SControls_s3mmr_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_s3mmr_gg_.__showControls_s3mmr_gg_{display:flex}.___SDown_s3mmr_gg_,.___SUp_s3mmr_gg_{padding:0;width:16px;color:var(--intergalactic-icon-secondary-neutral, rgba(0, 5, 2, 0.385));box-sizing:border-box;display:inline-flex;justify-content:center;border:0;background:0 0;cursor:pointer}@supports (color:color(display-p3 0 0 0%)){.___SDown_s3mmr_gg_,.___SUp_s3mmr_gg_{color:var(--intergalactic-icon-secondary-neutral, rgba(0, 5, 2, 0.385))}@media (color-gamut:p3){.___SDown_s3mmr_gg_,.___SUp_s3mmr_gg_{color:var(--intergalactic-icon-secondary-neutral, color(display-p3 0.0036 0.02041 0.00996 / 0.385))}}}.___SDown_s3mmr_gg_:focus,.___SUp_s3mmr_gg_:focus{outline:0}@media (hover:hover){.___SDown_s3mmr_gg_:hover,.___SUp_s3mmr_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, rgba(0, 5, 2, 0.433))}@supports (color:color(display-p3 0 0 0%)){.___SDown_s3mmr_gg_:hover,.___SUp_s3mmr_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, rgba(0, 5, 2, 0.433))}@media (color-gamut:p3){.___SDown_s3mmr_gg_:hover,.___SUp_s3mmr_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, color(display-p3 0.00333 0.01824 0.00791 / 0.433))}}}}.___SUp_s3mmr_gg_{padding-bottom:1px}.___SDown_s3mmr_gg_{padding-top:1px}.___SValue_s3mmr_gg_::-webkit-inner-spin-button,.___SValue_s3mmr_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_s3mmr_gg_._type_number_s3mmr_gg_{-moz-appearance:textfield}.___SValue_s3mmr_gg_.__disabled_s3mmr_gg_~.___SControls_s3mmr_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default;pointer-events:none}.___SValueHidden_s3mmr_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}",
21
+ ".___SValue_1wal7_gg_:focus~.___SControls_1wal7_gg_{display:flex}.___SControls_1wal7_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_1wal7_gg_.__showControls_1wal7_gg_{display:flex}.___SDown_1wal7_gg_,.___SUp_1wal7_gg_{padding:0;width:16px;color:var(--intergalactic-icon-secondary-neutral, rgba(0, 5, 2, 0.385));box-sizing:border-box;display:inline-flex;justify-content:center;border:0;background:0 0;cursor:pointer}@supports (color:color(display-p3 0 0 0%)){.___SDown_1wal7_gg_,.___SUp_1wal7_gg_{color:var(--intergalactic-icon-secondary-neutral, rgba(0, 5, 2, 0.385))}@media (color-gamut:p3){.___SDown_1wal7_gg_,.___SUp_1wal7_gg_{color:var(--intergalactic-icon-secondary-neutral, color(display-p3 0.0036 0.02041 0.00996 / 0.385))}}}.___SDown_1wal7_gg_:focus,.___SUp_1wal7_gg_:focus{outline:0}@media (hover:hover){.___SDown_1wal7_gg_:hover,.___SUp_1wal7_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, rgba(0, 5, 2, 0.433))}@supports (color:color(display-p3 0 0 0%)){.___SDown_1wal7_gg_:hover,.___SUp_1wal7_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, rgba(0, 5, 2, 0.433))}@media (color-gamut:p3){.___SDown_1wal7_gg_:hover,.___SUp_1wal7_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, color(display-p3 0.00333 0.01824 0.00791 / 0.433))}}}}.___SUp_1wal7_gg_{padding-bottom:1px}.___SDown_1wal7_gg_{padding-top:1px}.___SValue_1wal7_gg_::-webkit-inner-spin-button,.___SValue_1wal7_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_1wal7_gg_._type_number_1wal7_gg_{-moz-appearance:textfield}.___SValue_1wal7_gg_.__disabled_1wal7_gg_~.___SControls_1wal7_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default;pointer-events:none}.___SValueHidden_1wal7_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}",
22
22
  /*__inner_css_end__*/
23
- "s3mmr_gg_"
23
+ "1wal7_gg_"
24
24
  ), /*__reshadow_css_end__*/
25
25
  {
26
- "__SValue": "___SValue_s3mmr_gg_",
27
- "__SControls": "___SControls_s3mmr_gg_",
28
- "_showControls": "__showControls_s3mmr_gg_",
29
- "__SUp": "___SUp_s3mmr_gg_",
30
- "__SDown": "___SDown_s3mmr_gg_",
31
- "_disabled": "__disabled_s3mmr_gg_",
32
- "__SValueHidden": "___SValueHidden_s3mmr_gg_",
33
- "_type_number": "_type_number_s3mmr_gg_"
26
+ "__SValue": "___SValue_1wal7_gg_",
27
+ "__SControls": "___SControls_1wal7_gg_",
28
+ "_showControls": "__showControls_1wal7_gg_",
29
+ "__SUp": "___SUp_1wal7_gg_",
30
+ "__SDown": "___SDown_1wal7_gg_",
31
+ "_disabled": "__disabled_1wal7_gg_",
32
+ "__SValueHidden": "___SValueHidden_1wal7_gg_",
33
+ "_type_number": "_type_number_1wal7_gg_"
34
34
  })
35
35
  );
36
36
  function parseValueWithMinMax(value) {
@@ -358,9 +358,15 @@ var Value = /* @__PURE__ */ (function(_Component2) {
358
358
  value: (
359
359
  // https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling
360
360
  (function componentDidMount() {
361
- var _this$valueInputRef$c;
361
+ var _this$valueInputRef$c, _this4 = this;
362
362
  (_this$valueInputRef$c = this.valueInputRef.current) === null || _this$valueInputRef$c === void 0 || _this$valueInputRef$c.addEventListener("wheel", this.onWheel);
363
- var _this$asProps2 = this.asProps, inputRef = _this$asProps2.inputRef, value = _this$asProps2.value;
363
+ var _this$asProps2 = this.asProps, inputRef = _this$asProps2.inputRef, value = _this$asProps2.value, autoFocus = _this$asProps2.autoFocus;
364
+ if (autoFocus) {
365
+ setTimeout(function() {
366
+ var _this4$valueInputRef$;
367
+ (_this4$valueInputRef$ = _this4.valueInputRef.current) === null || _this4$valueInputRef$ === void 0 || _this4$valueInputRef$.focus();
368
+ });
369
+ }
364
370
  if (inputRef.current) {
365
371
  inputRef.current.stepUp = this.stepUp;
366
372
  inputRef.current.stepDown = this.stepDown;
@@ -437,12 +443,12 @@ function Controls(props) {
437
443
  }), /* @__PURE__ */ React.createElement(DecrementIcon, _ref6.cn("DecrementIcon", {}))), /* @__PURE__ */ React.createElement(Children, _ref6.cn("Children", {})));
438
444
  }
439
445
  Controls.style = style;
440
- const InputNumber$1 = createComponent(InputNumber, {
446
+ const InputNumber_default = createComponent(InputNumber, {
441
447
  Value,
442
448
  Controls,
443
449
  Addon: Input.Addon
444
450
  });
445
451
  export {
446
- InputNumber$1 as default,
452
+ InputNumber_default as default,
447
453
  parseValueWithMinMax
448
454
  };
@@ -1,12 +1,10 @@
1
- import type { Intergalactic, PropGetterFn, UnknownProperties } from '@semcore/core';
1
+ import type { Intergalactic, PropGetterFn } from '@semcore/core';
2
2
  import type { InputAddonProps, InputProps, InputValueProps } from '@semcore/input';
3
3
  import type React from 'react';
4
4
 
5
5
  export type InputNumberValue = string;
6
6
  export type InputNumberSize = 'm' | 'l';
7
7
 
8
- /** @deprecated */
9
- export interface IInputNumberProps extends InputNumberProps, UnknownProperties {}
10
8
  export type InputNumberProps = InputProps & {
11
9
  /** Input size
12
10
  * @default m
@@ -18,8 +16,6 @@ export type InputNumberProps = InputProps & {
18
16
  locale?: string;
19
17
  };
20
18
 
21
- /** @deprecated */
22
- export interface IInputNumberValueProps extends InputNumberValueProps, UnknownProperties {}
23
19
  export type InputNumberValueProps = InputValueProps & {
24
20
  /** Minimum value
25
21
  * @default Number.MIN_SAFE_INTEGER
@@ -39,8 +35,6 @@ export type InputNumberValueProps = InputValueProps & {
39
35
  onChange?: (value: InputNumberValue, event?: React.SyntheticEvent<HTMLInputElement>) => void;
40
36
  };
41
37
 
42
- /** @deprecated */
43
- export interface IInputNumberControlsProps extends InputNumberControlsProps, UnknownProperties {}
44
38
  export type InputNumberControlsProps = InputAddonProps & {
45
39
  /** Always displays controls (steppers)
46
40
  * @default false
@@ -48,8 +42,6 @@ export type InputNumberControlsProps = InputAddonProps & {
48
42
  showControls?: boolean;
49
43
  };
50
44
 
51
- /** @deprecated */
52
- export interface IInputNumberCtx extends InputNumberCtx, UnknownProperties {}
53
45
  export type InputNumberCtx = {
54
46
  getValueProps: PropGetterFn;
55
47
  getControlsProps: PropGetterFn;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/input-number",
3
3
  "description": "Semrush InputNumber Component",
4
- "version": "16.1.0-prerelease.1",
4
+ "version": "16.1.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -14,11 +14,11 @@
14
14
  "types": "./lib/types/index.d.ts"
15
15
  },
16
16
  "dependencies": {
17
- "@semcore/input": "16.2.0-prerelease.1",
18
- "@semcore/flex-box": "16.1.0-prerelease.1"
17
+ "@semcore/input": "16.2.0",
18
+ "@semcore/flex-box": "16.1.0"
19
19
  },
20
20
  "peerDependencies": {
21
- "@semcore/base-components": "^16.6.0-prerelease.1"
21
+ "@semcore/base-components": "^16.6.0"
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",
@@ -26,8 +26,8 @@
26
26
  "directory": "semcore/input-number"
27
27
  },
28
28
  "devDependencies": {
29
- "@semcore/core": "16.6.0-prerelease.1",
30
- "@semcore/testing-utils": "1.0.0"
29
+ "@semcore/testing-utils": "1.0.0",
30
+ "@semcore/core": "16.6.0"
31
31
  },
32
32
  "scripts": {
33
33
  "build": "pnpm semcore-builder --source=js && pnpm vite build"