@semcore/input-number 17.2.1-prerelease.0 → 17.2.2-prerelease.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -1
- package/lib/cjs/InputNumber.js +100 -62
- package/lib/cjs/InputNumber.js.map +1 -1
- package/lib/cjs/InputNumber.type.js +2 -0
- package/lib/cjs/InputNumber.type.js.map +1 -0
- package/lib/cjs/buttons.js.map +1 -1
- package/lib/cjs/index.js +17 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/InputNumber.js +101 -62
- package/lib/es6/InputNumber.js.map +1 -1
- package/lib/es6/InputNumber.type.js +2 -0
- package/lib/es6/InputNumber.type.js.map +1 -0
- package/lib/es6/buttons.js.map +1 -1
- package/lib/es6/index.js +1 -0
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/esm/InputNumber.mjs +94 -63
- package/lib/esm/InputNumber.type.mjs +1 -0
- package/lib/esm/index.mjs +1 -0
- package/lib/types/InputNumber.d.ts +9 -0
- package/lib/types/InputNumber.type.d.ts +92 -0
- package/lib/types/buttons.d.ts +3 -0
- package/lib/types/index.d.ts +3 -63
- package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +59 -0
- package/package.json +6 -6
- package/vite.config.ts +1 -1
- package/lib/cjs/index.d.js +0 -2
- package/lib/cjs/index.d.js.map +0 -1
- package/lib/es6/index.d.js +0 -2
- package/lib/es6/index.d.js.map +0 -1
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_InputNumber","_interopRequireWildcard","require","_buttons"],"sources":["../../src/index.
|
|
1
|
+
{"version":3,"file":"index.js","names":["_InputNumber","_interopRequireWildcard","require","_buttons","_InputNumber2","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["../../src/index.ts"],"sourcesContent":["export { default, parseValueWithMinMax } from './InputNumber';\nexport { IncrementIcon, DecrementIcon } from './buttons';\n\nexport * from './InputNumber.type';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAF,aAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,aAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,aAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__intergalactic-dynamic-locales.js","names":["_de","_interopRequireDefault","require","_en","_es","_fr","_it","_ja","_ko","_nl","_pl","_pt","_sv","_tr","_vi","_zh","localizedMessages","exports","de","en","es","fr","it","ja","ko","nl","pt","tr","vi","zh","pl","sv"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport nl from './nl.json';\nimport pl from './pl.json';\nimport pt from './pt.json';\nimport sv from './sv.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n nl,\n pt,\n tr,\n vi,\n zh,\n pl,\n sv,\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,GAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,GAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,GAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,GAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,GAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,GAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,GAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,GAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,GAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,GAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,GAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,GAAA,GAAAd,sBAAA,CAAAC,OAAA;AAEO,MAAMc,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG;EAC/BE,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA;AACF,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"__intergalactic-dynamic-locales.js","names":["_de","_interopRequireDefault","require","_en","_es","_fr","_it","_ja","_ko","_nl","_pl","_pt","_sv","_tr","_vi","_zh","localizedMessages","exports","de","en","es","fr","it","ja","ko","nl","pt","tr","vi","zh","pl","sv"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport nl from './nl.json';\nimport pl from './pl.json';\nimport pt from './pt.json';\nimport sv from './sv.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n nl,\n pt,\n tr,\n vi,\n zh,\n pl,\n sv,\n};\n\nexport type LocalizedMessages = typeof localizedMessages;\n"],"mappings":";;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,GAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,GAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,GAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,GAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,GAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,GAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,GAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,GAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,GAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,GAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,GAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,GAAA,GAAAd,sBAAA,CAAAC,OAAA;AAEO,MAAMc,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG;EAC/BE,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA,WAAE;EACFC,EAAE,EAAFA;AACF,CAAC","ignoreList":[]}
|
package/lib/es6/InputNumber.js
CHANGED
|
@@ -11,19 +11,27 @@ import Input from '@semcore/input';
|
|
|
11
11
|
import React from 'react';
|
|
12
12
|
import { DecrementIcon, IncrementIcon } from './buttons';
|
|
13
13
|
/*!__reshadow-styles__:"./style/input-number.shadow.css"*/
|
|
14
|
-
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
14
|
+
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SValue_1i69c_gg_:focus~.___SControls_1i69c_gg_{display:flex}.___SControls_1i69c_gg_{display:none;flex-flow:column;justify-content:center;height:100%;box-sizing:border-box}.___SControls_1i69c_gg_.__showControls_1i69c_gg_{display:flex}.___SDown_1i69c_gg_,.___SUp_1i69c_gg_{padding:0;width:16px;color:var(--intergalactic-icon-secondary-neutral,rgba(0,5,2,.385));box-sizing:border-box;display:inline-flex;justify-content:center;border:none;background:none;cursor:pointer}@media (color-gamut:p3){.___SDown_1i69c_gg_,.___SUp_1i69c_gg_{color:var(--intergalactic-icon-secondary-neutral,oklch(.104 .023 162.3/.385))}}.___SDown_1i69c_gg_:focus,.___SUp_1i69c_gg_:focus{outline:none}@media (hover:hover){.___SDown_1i69c_gg_:hover,.___SUp_1i69c_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active,#0005026e)}@media (color-gamut:p3){.___SDown_1i69c_gg_:hover,.___SUp_1i69c_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active,oklch(.1 .023 159.1/.433))}}}.___SUp_1i69c_gg_{padding-bottom:1px}.___SDown_1i69c_gg_{padding-top:1px}.___SValue_1i69c_gg_::-webkit-inner-spin-button,.___SValue_1i69c_gg_::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.___SValue_1i69c_gg_._type_number_1i69c_gg_{-moz-appearance:textfield}.___SValue_1i69c_gg_.__disabled_1i69c_gg_~.___SControls_1i69c_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none}.___SValueHidden_1i69c_gg_{position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden}", /*__inner_css_end__*/"1i69c_gg_"),
|
|
15
15
|
/*__reshadow_css_end__*/
|
|
16
16
|
{
|
|
17
|
-
"__SValue": "
|
|
18
|
-
"__SControls": "
|
|
19
|
-
"_showControls": "
|
|
20
|
-
"__SUp": "
|
|
21
|
-
"__SDown": "
|
|
22
|
-
"_disabled": "
|
|
23
|
-
"__SValueHidden": "
|
|
24
|
-
"_type_number": "
|
|
17
|
+
"__SValue": "___SValue_1i69c_gg_",
|
|
18
|
+
"__SControls": "___SControls_1i69c_gg_",
|
|
19
|
+
"_showControls": "__showControls_1i69c_gg_",
|
|
20
|
+
"__SUp": "___SUp_1i69c_gg_",
|
|
21
|
+
"__SDown": "___SDown_1i69c_gg_",
|
|
22
|
+
"_disabled": "__disabled_1i69c_gg_",
|
|
23
|
+
"__SValueHidden": "___SValueHidden_1i69c_gg_",
|
|
24
|
+
"_type_number": "_type_number_1i69c_gg_"
|
|
25
25
|
});
|
|
26
26
|
import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
|
|
27
|
+
|
|
28
|
+
/** Events that can trigger a value step (buttons, keyboard arrows, mouse wheel). */
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The input DOM node whose native `stepUp`/`stepDown` methods are replaced at runtime
|
|
32
|
+
* (see `Value.componentDidMount`) with event-aware versions.
|
|
33
|
+
*/
|
|
34
|
+
|
|
27
35
|
export function parseValueWithMinMax(value, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {
|
|
28
36
|
return Math.max(min, Math.min(max, value));
|
|
29
37
|
}
|
|
@@ -40,7 +48,8 @@ class InputNumber extends Component {
|
|
|
40
48
|
}
|
|
41
49
|
getValueProps() {
|
|
42
50
|
const numberFormatter = new Intl.NumberFormat(this.asProps.locale, {
|
|
43
|
-
style: 'decimal'
|
|
51
|
+
style: 'decimal',
|
|
52
|
+
maximumFractionDigits: 100
|
|
44
53
|
});
|
|
45
54
|
return {
|
|
46
55
|
inputRef: this.inputRef,
|
|
@@ -51,11 +60,9 @@ class InputNumber extends Component {
|
|
|
51
60
|
}
|
|
52
61
|
getControlsProps() {
|
|
53
62
|
const {
|
|
54
|
-
size,
|
|
55
63
|
getI18nText
|
|
56
64
|
} = this.asProps;
|
|
57
65
|
return {
|
|
58
|
-
size,
|
|
59
66
|
increment: this.increment,
|
|
60
67
|
decrement: this.decrement,
|
|
61
68
|
getI18nText
|
|
@@ -81,6 +88,9 @@ _defineProperty(InputNumber, "defaultProps", {
|
|
|
81
88
|
class Value extends Component {
|
|
82
89
|
constructor(...args) {
|
|
83
90
|
super(...args);
|
|
91
|
+
_defineProperty(this, "state", {
|
|
92
|
+
displayValue: ''
|
|
93
|
+
});
|
|
84
94
|
_defineProperty(this, "valueInputRef", /*#__PURE__*/React.createRef());
|
|
85
95
|
_defineProperty(this, "cursorPosition", -1);
|
|
86
96
|
_defineProperty(this, "getFormattedValue", value => {
|
|
@@ -100,9 +110,9 @@ class Value extends Component {
|
|
|
100
110
|
let displayValue = '';
|
|
101
111
|
if (/\.[0-9]*0$/.test(stringNumber)) {
|
|
102
112
|
const [int, decimal] = stringNumber.split(this.separatorDecimal);
|
|
103
|
-
displayValue = numberFormatter.format(int) + this.separatorDecimal + decimal;
|
|
113
|
+
displayValue = numberFormatter.format(+int) + this.separatorDecimal + decimal;
|
|
104
114
|
} else if (stringNumber !== '') {
|
|
105
|
-
displayValue = numberFormatter.format(stringNumber);
|
|
115
|
+
displayValue = numberFormatter.format(+stringNumber);
|
|
106
116
|
}
|
|
107
117
|
return {
|
|
108
118
|
parsedValue: stringNumber,
|
|
@@ -112,21 +122,22 @@ class Value extends Component {
|
|
|
112
122
|
_defineProperty(this, "handleValidation", event => {
|
|
113
123
|
const {
|
|
114
124
|
value,
|
|
115
|
-
displayValue,
|
|
116
125
|
min,
|
|
117
126
|
max,
|
|
118
127
|
step
|
|
119
128
|
} = this.asProps;
|
|
129
|
+
const {
|
|
130
|
+
displayValue
|
|
131
|
+
} = this.state;
|
|
120
132
|
const {
|
|
121
133
|
parsedValue
|
|
122
134
|
} = this.valueParser(event.currentTarget.value, value, displayValue);
|
|
123
|
-
const roundCoefficient = step < 1 ? step.toString().split('.')[1].length : 1;
|
|
124
135
|
if (Number.isNaN(value) || Number.isNaN(Number.parseFloat(parsedValue))) {
|
|
125
136
|
event.currentTarget.value = '';
|
|
126
137
|
this.handlers.value('', event);
|
|
127
138
|
} else {
|
|
128
139
|
let numberValue = parseValueWithMinMax(Number.parseFloat(parsedValue), min, max);
|
|
129
|
-
const rounded = this.round(numberValue % step
|
|
140
|
+
const rounded = this.round(numberValue % step);
|
|
130
141
|
if (rounded !== 0) {
|
|
131
142
|
if (rounded >= step / 2) {
|
|
132
143
|
numberValue += step - rounded;
|
|
@@ -134,8 +145,7 @@ class Value extends Component {
|
|
|
134
145
|
numberValue -= rounded;
|
|
135
146
|
}
|
|
136
147
|
}
|
|
137
|
-
|
|
138
|
-
this.handlers.value(String(numberValueRounded), event);
|
|
148
|
+
this.handlers.value(this.getDisplayValue(numberValue), event);
|
|
139
149
|
}
|
|
140
150
|
});
|
|
141
151
|
_defineProperty(this, "onWheel", event => {
|
|
@@ -145,9 +155,9 @@ class Value extends Component {
|
|
|
145
155
|
if (event.target !== this.valueInputRef.current) return;
|
|
146
156
|
if (document.activeElement !== this.valueInputRef.current) return;
|
|
147
157
|
event.preventDefault();
|
|
148
|
-
if (event.
|
|
158
|
+
if (event.deltaY < 0) {
|
|
149
159
|
this.stepUp(event);
|
|
150
|
-
} else if (event.
|
|
160
|
+
} else if (event.deltaY > 0) {
|
|
151
161
|
this.stepDown(event);
|
|
152
162
|
}
|
|
153
163
|
});
|
|
@@ -158,7 +168,9 @@ class Value extends Component {
|
|
|
158
168
|
value: prevValue
|
|
159
169
|
} = this.asProps;
|
|
160
170
|
if (value === '.' || value === '-') {
|
|
161
|
-
this.
|
|
171
|
+
this.setState({
|
|
172
|
+
displayValue: value
|
|
173
|
+
});
|
|
162
174
|
return false;
|
|
163
175
|
}
|
|
164
176
|
if (value.endsWith('-')) {
|
|
@@ -166,7 +178,9 @@ class Value extends Component {
|
|
|
166
178
|
}
|
|
167
179
|
if (value.endsWith('.')) {
|
|
168
180
|
if (value.length > prevValue.length) {
|
|
169
|
-
this.
|
|
181
|
+
this.setState({
|
|
182
|
+
displayValue: numberFormatter.format(value) + this.separatorDecimal
|
|
183
|
+
});
|
|
170
184
|
return false;
|
|
171
185
|
} else {
|
|
172
186
|
this.handlers.value(value.slice(0, -1), event);
|
|
@@ -175,7 +189,7 @@ class Value extends Component {
|
|
|
175
189
|
}
|
|
176
190
|
const digits = /^[0-9.-]+$/.test(value);
|
|
177
191
|
if (digits || value === '') {
|
|
178
|
-
this.handlers.value(value, event);
|
|
192
|
+
this.handlers.value(this.limitDecimals(value), event);
|
|
179
193
|
}
|
|
180
194
|
});
|
|
181
195
|
_defineProperty(this, "handleKeyUp", event => {
|
|
@@ -189,7 +203,7 @@ class Value extends Component {
|
|
|
189
203
|
const length = value.length;
|
|
190
204
|
const {
|
|
191
205
|
displayValue
|
|
192
|
-
} = this.
|
|
206
|
+
} = this.state;
|
|
193
207
|
if (event.key === '.' || event.key === ',') {
|
|
194
208
|
// 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)
|
|
195
209
|
if (value.indexOf(this.separatorDecimal) === -1 && event.key === ',') {
|
|
@@ -204,11 +218,13 @@ class Value extends Component {
|
|
|
204
218
|
if (event.key === 'Backspace' && value.endsWith(this.separatorDecimal)) {
|
|
205
219
|
event.preventDefault();
|
|
206
220
|
event.stopPropagation();
|
|
207
|
-
this.
|
|
221
|
+
this.setState({
|
|
222
|
+
displayValue: displayValue?.slice(0, -1)
|
|
223
|
+
});
|
|
208
224
|
return false;
|
|
209
225
|
}
|
|
210
226
|
if (element.selectionStart !== length && (event.key === 'Backspace' || event.key === this.separatorDecimal || ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(event.key))) {
|
|
211
|
-
const afterSelection = value.slice(element.selectionEnd);
|
|
227
|
+
const afterSelection = value.slice(element.selectionEnd ?? undefined);
|
|
212
228
|
requestAnimationFrame(() => {
|
|
213
229
|
const newValue = this.state.displayValue;
|
|
214
230
|
const index = newValue.lastIndexOf(afterSelection);
|
|
@@ -254,6 +270,7 @@ class Value extends Component {
|
|
|
254
270
|
}
|
|
255
271
|
});
|
|
256
272
|
_defineProperty(this, "moveSelectionLeft", (element, cursorIndex) => {
|
|
273
|
+
if (element.selectionStart === null) return;
|
|
257
274
|
const value = element.value;
|
|
258
275
|
const nextPosition = element.selectionStart - 1 >= 0 ? element.selectionStart - 1 : 0;
|
|
259
276
|
const cursorPosition = value[element.selectionStart - cursorIndex] === this.separatorThousands ? element.selectionStart - cursorIndex : nextPosition;
|
|
@@ -261,14 +278,15 @@ class Value extends Component {
|
|
|
261
278
|
// without shift
|
|
262
279
|
element.setSelectionRange(cursorPosition, cursorPosition);
|
|
263
280
|
} else {
|
|
264
|
-
if (element.selectionStart <= this.cursorPosition && element.selectionEnd === this.cursorPosition) {
|
|
281
|
+
if (this.cursorPosition && element.selectionStart <= this.cursorPosition && element.selectionEnd === this.cursorPosition) {
|
|
265
282
|
element.setSelectionRange(cursorPosition, element.selectionEnd);
|
|
266
|
-
} else {
|
|
283
|
+
} else if (element.selectionEnd !== null) {
|
|
267
284
|
element.setSelectionRange(element.selectionStart, value[element.selectionEnd - cursorIndex] === this.separatorThousands ? element.selectionEnd - cursorIndex : element.selectionEnd - 1);
|
|
268
285
|
}
|
|
269
286
|
}
|
|
270
287
|
});
|
|
271
288
|
_defineProperty(this, "moveSelectionRight", (element, cursorIndex) => {
|
|
289
|
+
if (element.selectionEnd === null) return;
|
|
272
290
|
const value = element.value;
|
|
273
291
|
const nextPosition = element.selectionEnd + 1;
|
|
274
292
|
const cursorPosition = value[element.selectionEnd] === this.separatorThousands ? element.selectionEnd + cursorIndex : nextPosition;
|
|
@@ -276,24 +294,20 @@ class Value extends Component {
|
|
|
276
294
|
// without shift
|
|
277
295
|
element.setSelectionRange(cursorPosition, cursorPosition);
|
|
278
296
|
} else {
|
|
279
|
-
if (element.selectionEnd >= this.cursorPosition && element.selectionStart === this.cursorPosition) {
|
|
297
|
+
if (this.cursorPosition && element.selectionEnd >= this.cursorPosition && element.selectionStart === this.cursorPosition) {
|
|
280
298
|
element.setSelectionRange(element.selectionStart, cursorPosition);
|
|
281
|
-
} else {
|
|
299
|
+
} else if (element.selectionStart !== null) {
|
|
282
300
|
element.setSelectionRange(value[element.selectionStart] === this.separatorThousands ? element.selectionStart + cursorIndex : element.selectionStart + 1, element.selectionEnd);
|
|
283
301
|
}
|
|
284
302
|
}
|
|
285
303
|
});
|
|
286
304
|
_defineProperty(this, "handleClick", event => {
|
|
287
|
-
const element = event.
|
|
305
|
+
const element = event.currentTarget;
|
|
288
306
|
const value = element.value;
|
|
289
|
-
if (value[element.selectionStart - 1] === this.separatorThousands) {
|
|
307
|
+
if (element.selectionStart !== null && value[element.selectionStart - 1] === this.separatorThousands) {
|
|
290
308
|
element.setSelectionRange(element.selectionStart - 1, element.selectionEnd - 1);
|
|
291
309
|
}
|
|
292
310
|
});
|
|
293
|
-
_defineProperty(this, "handleBlur", event => {
|
|
294
|
-
this.cursorPosition = -1;
|
|
295
|
-
this.handleValidation(event);
|
|
296
|
-
});
|
|
297
311
|
_defineProperty(this, "stepUp", event => {
|
|
298
312
|
const {
|
|
299
313
|
max = Number.MAX_SAFE_INTEGER,
|
|
@@ -309,10 +323,9 @@ class Value extends Component {
|
|
|
309
323
|
} else {
|
|
310
324
|
numberValue = Number.parseFloat(value);
|
|
311
325
|
}
|
|
312
|
-
if (
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
}
|
|
326
|
+
if (Number.isNaN(numberValue)) return;
|
|
327
|
+
const nextValue = Math.min(numberValue + step, max);
|
|
328
|
+
this.handlers.value(this.getDisplayValue(nextValue), event);
|
|
316
329
|
});
|
|
317
330
|
_defineProperty(this, "stepDown", event => {
|
|
318
331
|
const {
|
|
@@ -327,25 +340,27 @@ class Value extends Component {
|
|
|
327
340
|
} else {
|
|
328
341
|
numberValue = Number.parseFloat(value);
|
|
329
342
|
}
|
|
330
|
-
if (
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
}
|
|
343
|
+
if (Number.isNaN(numberValue)) return;
|
|
344
|
+
const nextValue = Math.max(numberValue - step, min);
|
|
345
|
+
this.handlers.value(this.getDisplayValue(nextValue), event);
|
|
334
346
|
});
|
|
335
347
|
}
|
|
336
348
|
uncontrolledProps() {
|
|
337
349
|
return {
|
|
338
|
-
displayValue: null,
|
|
339
350
|
value: [null, newValue => {
|
|
340
351
|
const {
|
|
341
|
-
value: prevValue,
|
|
342
352
|
displayValue: prevDisplayValue
|
|
353
|
+
} = this.state;
|
|
354
|
+
const {
|
|
355
|
+
value: prevValue
|
|
343
356
|
} = this.asProps;
|
|
344
357
|
const {
|
|
345
358
|
parsedValue,
|
|
346
359
|
displayValue
|
|
347
|
-
} = this.valueParser(newValue, prevValue, prevDisplayValue);
|
|
348
|
-
this.
|
|
360
|
+
} = this.valueParser(newValue ?? '', prevValue, prevDisplayValue);
|
|
361
|
+
this.setState({
|
|
362
|
+
displayValue
|
|
363
|
+
});
|
|
349
364
|
return parsedValue;
|
|
350
365
|
}]
|
|
351
366
|
};
|
|
@@ -362,9 +377,30 @@ class Value extends Component {
|
|
|
362
377
|
} = this.props;
|
|
363
378
|
return numberFormatter.format(1111).replace(/\d/g, '');
|
|
364
379
|
}
|
|
365
|
-
|
|
366
|
-
const
|
|
367
|
-
|
|
380
|
+
get stepPrecision() {
|
|
381
|
+
const {
|
|
382
|
+
step
|
|
383
|
+
} = this.asProps;
|
|
384
|
+
const [_, decimals] = step?.toString().split('.') ?? [];
|
|
385
|
+
return decimals?.length ?? 0;
|
|
386
|
+
}
|
|
387
|
+
getDisplayValue(value) {
|
|
388
|
+
return value === 0 ? `${value}` : value.toFixed(this.stepPrecision);
|
|
389
|
+
}
|
|
390
|
+
limitDecimals(value) {
|
|
391
|
+
const {
|
|
392
|
+
stepPrecision
|
|
393
|
+
} = this;
|
|
394
|
+
if (stepPrecision === 0) return value;
|
|
395
|
+
const dotIndex = value.indexOf('.');
|
|
396
|
+
if (dotIndex === -1 || value.length - dotIndex - 1 <= stepPrecision) return value;
|
|
397
|
+
return value.slice(0, dotIndex + 1 + stepPrecision);
|
|
398
|
+
}
|
|
399
|
+
round(value) {
|
|
400
|
+
const {
|
|
401
|
+
stepPrecision
|
|
402
|
+
} = this;
|
|
403
|
+
return stepPrecision === 0 ? value : Number(value.toPrecision(stepPrecision));
|
|
368
404
|
}
|
|
369
405
|
// https://stackoverflow.com/questions/57358640/cancel-wheel-event-with-e-preventdefault-in-react-event-bubbling
|
|
370
406
|
componentDidMount() {
|
|
@@ -387,15 +423,19 @@ class Value extends Component {
|
|
|
387
423
|
const {
|
|
388
424
|
displayValue
|
|
389
425
|
} = this.valueParser(value, '', '');
|
|
390
|
-
this.
|
|
426
|
+
this.setState({
|
|
427
|
+
displayValue
|
|
428
|
+
});
|
|
391
429
|
}
|
|
392
430
|
}
|
|
393
|
-
componentDidUpdate(prevProps) {
|
|
431
|
+
componentDidUpdate(prevProps, prevState) {
|
|
394
432
|
if (prevProps.value !== this.props.value) {
|
|
395
433
|
const {
|
|
396
434
|
displayValue
|
|
397
|
-
} = this.valueParser(this.props.value, prevProps.value,
|
|
398
|
-
this.
|
|
435
|
+
} = this.valueParser(this.props.value ?? '', prevProps.value, prevState.displayValue);
|
|
436
|
+
this.setState({
|
|
437
|
+
displayValue
|
|
438
|
+
});
|
|
399
439
|
}
|
|
400
440
|
}
|
|
401
441
|
componentWillUnmount() {
|
|
@@ -411,9 +451,11 @@ class Value extends Component {
|
|
|
411
451
|
max,
|
|
412
452
|
step,
|
|
413
453
|
forwardRef,
|
|
414
|
-
inputRef
|
|
415
|
-
displayValue
|
|
454
|
+
inputRef
|
|
416
455
|
} = this.asProps;
|
|
456
|
+
const {
|
|
457
|
+
displayValue
|
|
458
|
+
} = this.state;
|
|
417
459
|
return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SValue, _ref5.cn("SValue", {
|
|
418
460
|
..._assignProps2({
|
|
419
461
|
"autoComplete": 'off',
|
|
@@ -422,7 +464,7 @@ class Value extends Component {
|
|
|
422
464
|
"onKeyDown": this.handleKeyDown,
|
|
423
465
|
"onKeyUp": this.handleKeyUp,
|
|
424
466
|
"onClick": this.handleClick,
|
|
425
|
-
"use:ref": forkRef(this.valueInputRef, inputRef, forwardRef),
|
|
467
|
+
"use:ref": forkRef(this.valueInputRef, inputRef, forwardRef ?? null),
|
|
426
468
|
"use:value": displayValue,
|
|
427
469
|
"inputMode": Number.isInteger(step) ? 'numeric' : 'decimal',
|
|
428
470
|
"min": min,
|
|
@@ -445,7 +487,6 @@ function Controls(props) {
|
|
|
445
487
|
Children,
|
|
446
488
|
increment,
|
|
447
489
|
decrement,
|
|
448
|
-
size,
|
|
449
490
|
styles,
|
|
450
491
|
getI18nText
|
|
451
492
|
} = props;
|
|
@@ -460,13 +501,11 @@ function Controls(props) {
|
|
|
460
501
|
"onClick": increment,
|
|
461
502
|
"tabIndex": -1,
|
|
462
503
|
"type": 'button',
|
|
463
|
-
"size": size,
|
|
464
504
|
"aria-label": getI18nText('increment')
|
|
465
505
|
}), /*#__PURE__*/React.createElement(IncrementIcon, _ref6.cn("IncrementIcon", {}))), /*#__PURE__*/React.createElement(SDown, _ref6.cn("SDown", {
|
|
466
506
|
"onClick": decrement,
|
|
467
507
|
"tabIndex": -1,
|
|
468
508
|
"type": 'button',
|
|
469
|
-
"size": size,
|
|
470
509
|
"aria-label": getI18nText('decrement')
|
|
471
510
|
}), /*#__PURE__*/React.createElement(DecrementIcon, _ref6.cn("DecrementIcon", {}))), /*#__PURE__*/React.createElement(Children, _ref6.cn("Children", {})));
|
|
472
511
|
}
|
|
@@ -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","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","InputNumber","constructor","args","_defineProperty","createRef","event","inputRef","current","stepUp","stepDown","getValueProps","numberFormatter","Intl","NumberFormat","asProps","locale","increment","decrement","getControlsProps","size","getI18nText","render","_ref","_ref4","SInputNumber","createElement","cn","_assignProps","i18n","Value","replace","RegExp","separatorThousands","separatorDecimal","prevValue","prevDisplayValue","props","stringNumber","getFormattedValue","String","isNaN","parsedValue","displayValue","test","int","decimal","split","format","step","valueParser","currentTarget","roundCoefficient","toString","length","parseFloat","handlers","numberValue","rounded","round","abs","numberValueRounded","toFixed","onWheel","handleWheel","target","valueInputRef","document","activeElement","preventDefault","wheelDelta","endsWith","slice","digits","key","cursorPosition","element","indexOf","stopPropagation","selectionStart","includes","afterSelection","selectionEnd","requestAnimationFrame","newValue","state","index","lastIndexOf","setSelectionRange","cursorIndex","shiftKey","moveSelectionLeft","moveSelectionRight","nextPosition","handleValidation","uncontrolledProps","countDecimals","floor","toPrecision","componentDidMount","addEventListener","autoFocus","setTimeout","focus","componentDidUpdate","prevProps","componentWillUnmount","removeEventListener","_ref2","_ref5","SValue","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\n/**\n * InputNumber\n *\n * {@link https://developer.semrush.com/intergalactic/components/input-number/input-number-api/|API} | {@link https://developer.semrush.com/intergalactic/components/input-number/input-number-code/|Examples}\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","Number","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","Math","InputNumber","constructor","args","_defineProperty","createRef","event","inputRef","current","stepUp","stepDown","getValueProps","numberFormatter","Intl","NumberFormat","asProps","locale","maximumFractionDigits","increment","decrement","getControlsProps","getI18nText","render","_ref","_ref4","SInputNumber","createElement","cn","_assignProps","size","i18n","Value","displayValue","replace","RegExp","separatorThousands","separatorDecimal","prevValue","prevDisplayValue","props","stringNumber","getFormattedValue","String","isNaN","parsedValue","test","int","decimal","split","format","step","state","valueParser","currentTarget","parseFloat","handlers","numberValue","rounded","round","abs","getDisplayValue","onWheel","handleWheel","target","valueInputRef","document","activeElement","preventDefault","deltaY","setState","endsWith","length","slice","digits","limitDecimals","key","cursorPosition","element","indexOf","stopPropagation","selectionStart","includes","afterSelection","selectionEnd","undefined","requestAnimationFrame","newValue","index","lastIndexOf","setSelectionRange","cursorIndex","shiftKey","moveSelectionLeft","moveSelectionRight","nextPosition","nextValue","uncontrolledProps","stepPrecision","_","decimals","toString","toFixed","dotIndex","toPrecision","componentDidMount","addEventListener","autoFocus","setTimeout","focus","componentDidUpdate","prevProps","prevState","componentWillUnmount","removeEventListener","_ref2","_ref5","SValue","styles","forwardRef","Fragment","_assignProps2","handleValidation","handleChange","handleKeyDown","handleKeyUp","handleClick","isInteger","defaultValue","defaultDisplayValue","Controls","_ref3","arguments[0]","_ref6","Children","SControls","Addon","SUp","SDown","_assignProps3"],"sources":["../../src/InputNumber.tsx"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport { Component, createComponent, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport type { WithI18nEnhanceProps } from '@semcore/core/lib/utils/enhances/i18nEnhance';\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 type { NSInputNumber } from './InputNumber.type';\nimport style from './style/input-number.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\n/** Events that can trigger a value step (buttons, keyboard arrows, mouse wheel). */\ntype StepEvent =\n | React.MouseEvent\n | React.KeyboardEvent\n | WheelEvent;\n\n/**\n * The input DOM node whose native `stepUp`/`stepDown` methods are replaced at runtime\n * (see `Value.componentDidMount`) with event-aware versions.\n */\ntype InputElement = Omit<HTMLInputElement, 'stepUp' | 'stepDown'> & {\n stepUp: (event: StepEvent) => void;\n stepDown: (event: StepEvent) => void;\n};\n\nexport function parseValueWithMinMax(\n value: number,\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 Intergalactic.InternalTypings.InferComponentProps<NSInputNumber.Component>,\n typeof InputNumber.enhance,\n {},\n WithI18nEnhanceProps,\n {},\n NSInputNumber.DefaultProps\n> {\n static displayName = 'InputNumber';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)] as const;\n static defaultProps = {\n size: 'm',\n i18n: localizedMessages,\n locale: 'en',\n } as const;\n\n inputRef = React.createRef<InputElement>();\n\n increment = (event: React.MouseEvent) => {\n (this.inputRef.current)?.stepUp?.(event);\n };\n\n decrement = (event: React.MouseEvent) => {\n (this.inputRef.current)?.stepDown?.(event);\n };\n\n getValueProps() {\n const numberFormatter = new Intl.NumberFormat(this.asProps.locale, {\n style: 'decimal',\n maximumFractionDigits: 100,\n });\n\n return {\n inputRef: this.inputRef,\n increment: this.increment,\n decrement: this.decrement,\n numberFormatter,\n };\n }\n\n getControlsProps() {\n const { getI18nText } = this.asProps;\n return {\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 Intergalactic.InternalTypings.InferChildComponentProps<NSInputNumber.Value.Component, typeof InputNumber, 'Value'>,\n [],\n NSInputNumber.Value.Handlers,\n {},\n NSInputNumber.Value.State,\n NSInputNumber.Value.DefaultProps\n> {\n static style = style;\n static defaultProps = {\n defaultValue: '',\n defaultDisplayValue: '',\n step: 1,\n } as const;\n\n state: NSInputNumber.Value.State = {\n displayValue: '',\n };\n\n valueInputRef = React.createRef<HTMLInputElement>();\n\n cursorPosition: number | null = -1;\n\n uncontrolledProps(): NSInputNumber.Value.Handlers {\n return {\n value: [\n null,\n (newValue) => {\n const { displayValue: prevDisplayValue } = this.state;\n const { value: prevValue } = this.asProps;\n\n const { parsedValue, displayValue } = this.valueParser(\n newValue ?? '',\n prevValue,\n prevDisplayValue,\n );\n\n this.setState({ 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: string) => {\n return value\n .replace(new RegExp(`[${this.separatorThousands}]`, 'g'), '')\n .replace(this.separatorDecimal, '.');\n };\n\n valueParser = (\n value: typeof this.asProps['value'],\n prevValue: typeof this.asProps['value'],\n prevDisplayValue: NSInputNumber.Value.State['displayValue'],\n ) => {\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 get stepPrecision() {\n const { step } = this.asProps;\n const [_, decimals] = step?.toString().split('.') ?? [];\n\n return decimals?.length ?? 0;\n }\n\n getDisplayValue(value: number): string {\n return value === 0 ? `${value}` : value.toFixed(this.stepPrecision);\n }\n\n limitDecimals(value: string) {\n const { stepPrecision } = this;\n if (stepPrecision === 0) return value;\n\n const dotIndex = value.indexOf('.');\n if (dotIndex === -1 || value.length - dotIndex - 1 <= stepPrecision) return value;\n\n return value.slice(0, dotIndex + 1 + stepPrecision);\n }\n\n round(value: number): number {\n const { stepPrecision } = this;\n\n return stepPrecision === 0\n ? value\n : Number(value.toPrecision(stepPrecision));\n }\n\n handleValidation = (event: React.FocusEvent<HTMLInputElement>) => {\n const { value, min, max, step } = this.asProps;\n const { displayValue } = this.state;\n const { parsedValue } = this.valueParser(event.currentTarget.value, value, displayValue);\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);\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\n this.handlers.value(this.getDisplayValue(numberValue), 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.setState({ displayValue });\n }\n }\n\n componentDidUpdate(prevProps: typeof this.asProps, prevState: typeof this.state) {\n if (prevProps.value !== this.props.value) {\n const { displayValue } = this.valueParser(\n this.props.value ?? '',\n prevProps.value,\n prevState.displayValue,\n );\n this.setState({ displayValue });\n }\n }\n\n componentWillUnmount() {\n this.valueInputRef.current?.removeEventListener('wheel', this.onWheel);\n }\n\n onWheel = (event: WheelEvent) => {\n callAllEventHandlers(this.asProps.onWheel, this.handleWheel)(event);\n };\n\n handleWheel = (event: WheelEvent) => {\n if (event.target !== this.valueInputRef.current) return;\n if (document.activeElement !== this.valueInputRef.current) return;\n event.preventDefault();\n if (event.deltaY < 0) {\n this.stepUp(event);\n } else if (event.deltaY > 0) {\n this.stepDown(event);\n }\n };\n\n handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = this.getFormattedValue(event.currentTarget.value);\n const { numberFormatter, value: prevValue } = this.asProps;\n\n if (value === '.' || value === '-') {\n this.setState({ 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.setState({ displayValue: numberFormatter.format(value as `${number}`) + 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(this.limitDecimals(value), event);\n }\n };\n\n handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Shift') {\n this.cursorPosition = -1;\n }\n };\n\n handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const element = event.currentTarget;\n const value = element.value;\n const length = value.length;\n const { displayValue } = this.state;\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.setState({ 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 ?? undefined);\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: React.KeyboardEvent<HTMLInputElement>['currentTarget'], cursorIndex: number) => {\n if (element.selectionStart === null) return;\n\n const value = element.value;\n\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 this.cursorPosition &&\n element.selectionStart <= this.cursorPosition &&\n element.selectionEnd === this.cursorPosition\n ) {\n element.setSelectionRange(cursorPosition, element.selectionEnd);\n } else if (element.selectionEnd !== null) {\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: React.KeyboardEvent<HTMLInputElement>['currentTarget'], cursorIndex: number) => {\n if (element.selectionEnd === null) return;\n\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 this.cursorPosition &&\n element.selectionEnd >= this.cursorPosition &&\n element.selectionStart === this.cursorPosition\n ) {\n element.setSelectionRange(element.selectionStart, cursorPosition);\n } else if (element.selectionStart !== null) {\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: React.MouseEvent<HTMLInputElement>) => {\n const element = event.currentTarget;\n const value = element.value;\n\n if (element.selectionStart !== null && value[element.selectionStart - 1] === this.separatorThousands) {\n element.setSelectionRange(element.selectionStart - 1, element.selectionEnd! - 1);\n }\n };\n\n stepUp = (event: StepEvent) => {\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)) return;\n\n const nextValue = Math.min(numberValue + step, max);\n\n this.handlers.value(this.getDisplayValue(nextValue), event);\n };\n\n stepDown = (event: StepEvent) => {\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)) return;\n\n const nextValue = Math.max(numberValue - step, min);\n\n this.handlers.value(this.getDisplayValue(nextValue), event);\n };\n\n render() {\n const SValue = Root;\n const { styles, min, max, step, forwardRef, inputRef } = this.asProps;\n const { displayValue } = this.state;\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 ?? null)}\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(\n props: Intergalactic.InternalTypings.InferChildComponentProps<NSInputNumber.Controls.Component, typeof InputNumber, 'Controls'>,\n) {\n const { Children, increment, decrement, 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 aria-label={getI18nText('increment')}\n >\n <IncrementIcon />\n </SUp>\n <SDown\n onClick={decrement}\n tabIndex={-1}\n type='button'\n aria-label={getI18nText('decrement')}\n >\n <DecrementIcon />\n </SDown>\n <Children />\n </SControls>,\n );\n}\nControls.style = style;\n\n/**\n * InputNumber\n *\n * {@link https://developer.semrush.com/intergalactic/components/input-number/input-number-api/|API} | {@link https://developer.semrush.com/intergalactic/components/input-number/input-number-code/|Examples}\n */\nexport default createComponent<\n NSInputNumber.Component,\n typeof InputNumber\n>(InputNumber, {\n Value,\n Controls,\n Addon: Input.Addon,\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputNumber.type.js","names":[],"sources":["../../src/InputNumber.type.ts"],"sourcesContent":["import type { Intergalactic, PropGetterFn } from '@semcore/core';\nimport type { NSInput } from '@semcore/input';\nimport type React from 'react';\n\nimport type { LocalizedMessages } from './translations/__intergalactic-dynamic-locales';\n\ndeclare namespace NSInputNumber {\n type Value = string;\n type Size = 'm' | 'l';\n type Props = NSInput.Props & {\n /** Input size\n * @default m\n * */\n size?: NSInputNumber.Size;\n /**\n * Locale value\n */\n locale?: string;\n };\n type DefaultProps = {\n size: 'm';\n i18n: LocalizedMessages;\n locale: 'en';\n };\n type Ctx = {\n getValueProps: PropGetterFn;\n getControlsProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n };\n\n namespace Value {\n type Props = NSInput.Value.Props & {\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?: NSInputNumber.Value;\n /** Called when the input value changes, it returns its current value in numeric format */\n onChange?: (value: NSInputNumber.Value, event?: React.SyntheticEvent<HTMLInputElement>) => void;\n };\n type DefaultProps = {\n defaultValue: '';\n step: 1;\n };\n type State = {\n displayValue: NSInputNumber.Value;\n };\n type Handlers = {\n value: [\n null,\n (value: Props['value'], event: React.SyntheticEvent | WheelEvent) => void,\n ];\n };\n\n type Component = Intergalactic.Component<'input', Props>;\n }\n\n namespace Controls {\n type Props = NSInput.Addon.Props & {\n /** Always displays controls (steppers)\n * @default false\n */\n showControls?: boolean;\n };\n\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n namespace Addon {\n type Component = Intergalactic.Component<'div', NSInput.Addon.Props>;\n }\n\n type Component = Intergalactic.Component<'div', Props, Ctx> & {\n Value: Value.Component;\n Controls: Controls.Component;\n Addon: Addon.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type InputNumberValue = NSInputNumber.Value;\n/** @deprecated It will be removed in v18. */\nexport type InputNumberSize = NSInputNumber.Size;\n/** @deprecated It will be removed in v18. */\nexport type InputNumberProps = NSInputNumber.Props;\n/** @deprecated It will be removed in v18. */\nexport type InputNumberValueProps = NSInputNumber.Value.Props;\n/** @deprecated It will be removed in v18. */\nexport type InputNumberControlsProps = NSInputNumber.Controls.Props;\n/** @deprecated It will be removed in v18. */\nexport type InputNumberCtx = NSInputNumber.Ctx;\n\nexport type { NSInputNumber };\n"],"mappings":"","ignoreList":[]}
|
package/lib/es6/buttons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buttons.js","names":["React","IncrementIcon","createElement","fill","width","height","viewBox","d","DecrementIcon"],"sources":["../../src/buttons.
|
|
1
|
+
{"version":3,"file":"buttons.js","names":["React","IncrementIcon","createElement","fill","width","height","viewBox","d","DecrementIcon"],"sources":["../../src/buttons.tsx"],"sourcesContent":["import React from 'react';\n\nexport const IncrementIcon = () => (\n <svg fill='currentColor' width='10' height='5' viewBox='0 0 10 5'>\n <path d='M0,5l5,-5l5,5Z' />\n </svg>\n);\n\nexport const DecrementIcon = () => (\n <svg fill='currentColor' width='10' height='5' viewBox='0 0 10 5'>\n <path d='M0,0l10,0l-5,5Z' />\n </svg>\n);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAO,MAAMC,aAAa,GAAGA,CAAA,kBAC3BD,KAAA,CAAAE,aAAA;EAAKC,IAAI,EAAC,cAAc;EAACC,KAAK,EAAC,IAAI;EAACC,MAAM,EAAC,GAAG;EAACC,OAAO,EAAC;AAAU,gBAC/DN,KAAA,CAAAE,aAAA;EAAMK,CAAC,EAAC;AAAgB,CAAE,CACvB,CACN;AAED,OAAO,MAAMC,aAAa,GAAGA,CAAA,kBAC3BR,KAAA,CAAAE,aAAA;EAAKC,IAAI,EAAC,cAAc;EAACC,KAAK,EAAC,IAAI;EAACC,MAAM,EAAC,GAAG;EAACC,OAAO,EAAC;AAAU,gBAC/DN,KAAA,CAAAE,aAAA;EAAMK,CAAC,EAAC;AAAiB,CAAE,CACxB,CACN","ignoreList":[]}
|
package/lib/es6/index.js
CHANGED
package/lib/es6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","parseValueWithMinMax","IncrementIcon","DecrementIcon"],"sources":["../../src/index.
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","parseValueWithMinMax","IncrementIcon","DecrementIcon"],"sources":["../../src/index.ts"],"sourcesContent":["export { default, parseValueWithMinMax } from './InputNumber';\nexport { IncrementIcon, DecrementIcon } from './buttons';\n\nexport * from './InputNumber.type';\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,oBAAoB,QAAQ,eAAe;AAC7D,SAASC,aAAa,EAAEC,aAAa,QAAQ,WAAW;AAExD,cAAc,oBAAoB","ignoreList":[]}
|