@react-aria/spinbutton 3.1.4 → 3.2.1
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/dist/main.js +56 -36
- package/dist/main.js.map +1 -1
- package/dist/module.js +56 -36
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/useSpinButton.ts +2 -0
package/dist/main.js
CHANGED
|
@@ -11,7 +11,27 @@ function $parcel$interopDefault(a) {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
$parcel$export(module.exports, "useSpinButton", () => $37bbd4c129023f61$export$e908e06f4b8e3402);
|
|
14
|
-
|
|
14
|
+
/*
|
|
15
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
16
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
17
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
18
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
+
*
|
|
20
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
21
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
22
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
23
|
+
* governing permissions and limitations under the License.
|
|
24
|
+
*/ /*
|
|
25
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
26
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
27
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
28
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
29
|
+
*
|
|
30
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
31
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
32
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
33
|
+
* governing permissions and limitations under the License.
|
|
34
|
+
*/
|
|
15
35
|
var $55fd103defc81437$exports = {};
|
|
16
36
|
var $db6c23092fbfea22$exports = {};
|
|
17
37
|
$db6c23092fbfea22$exports = {
|
|
@@ -259,56 +279,54 @@ $55fd103defc81437$exports = {
|
|
|
259
279
|
|
|
260
280
|
|
|
261
281
|
function $37bbd4c129023f61$export$e908e06f4b8e3402(props) {
|
|
262
|
-
const _async = $2BLaI$react.useRef();
|
|
282
|
+
const _async = (0, $2BLaI$react.useRef)();
|
|
263
283
|
let { value: value , textValue: textValue , minValue: minValue , maxValue: maxValue , isDisabled: isDisabled , isReadOnly: isReadOnly , isRequired: isRequired , onIncrement: onIncrement , onIncrementPage: onIncrementPage , onDecrement: onDecrement , onDecrementPage: onDecrementPage , onDecrementToMin: onDecrementToMin , onIncrementToMax: onIncrementToMax } = props;
|
|
264
|
-
const stringFormatter = $2BLaI$reactariai18n.useLocalizedStringFormatter((/*@__PURE__*/$parcel$interopDefault($55fd103defc81437$exports)));
|
|
265
|
-
const propsRef = $2BLaI$react.useRef(props);
|
|
284
|
+
const stringFormatter = (0, $2BLaI$reactariai18n.useLocalizedStringFormatter)((0, (/*@__PURE__*/$parcel$interopDefault($55fd103defc81437$exports))));
|
|
285
|
+
const propsRef = (0, $2BLaI$react.useRef)(props);
|
|
266
286
|
propsRef.current = props;
|
|
267
|
-
const clearAsync = ()=>clearTimeout(_async.current)
|
|
268
|
-
;
|
|
287
|
+
const clearAsync = ()=>clearTimeout(_async.current);
|
|
269
288
|
// eslint-disable-next-line arrow-body-style
|
|
270
|
-
$2BLaI$react.useEffect(()=>{
|
|
271
|
-
return ()=>clearAsync()
|
|
272
|
-
;
|
|
289
|
+
(0, $2BLaI$react.useEffect)(()=>{
|
|
290
|
+
return ()=>clearAsync();
|
|
273
291
|
}, []);
|
|
274
292
|
let onKeyDown = (e)=>{
|
|
275
293
|
if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || isReadOnly) return;
|
|
276
294
|
switch(e.key){
|
|
277
|
-
case
|
|
295
|
+
case "PageUp":
|
|
278
296
|
if (onIncrementPage) {
|
|
279
297
|
e.preventDefault();
|
|
280
298
|
onIncrementPage();
|
|
281
299
|
break;
|
|
282
300
|
}
|
|
283
301
|
// fallthrough!
|
|
284
|
-
case
|
|
285
|
-
case
|
|
302
|
+
case "ArrowUp":
|
|
303
|
+
case "Up":
|
|
286
304
|
if (onIncrement) {
|
|
287
305
|
e.preventDefault();
|
|
288
306
|
onIncrement();
|
|
289
307
|
}
|
|
290
308
|
break;
|
|
291
|
-
case
|
|
309
|
+
case "PageDown":
|
|
292
310
|
if (onDecrementPage) {
|
|
293
311
|
e.preventDefault();
|
|
294
312
|
onDecrementPage();
|
|
295
313
|
break;
|
|
296
314
|
}
|
|
297
315
|
// fallthrough
|
|
298
|
-
case
|
|
299
|
-
case
|
|
316
|
+
case "ArrowDown":
|
|
317
|
+
case "Down":
|
|
300
318
|
if (onDecrement) {
|
|
301
319
|
e.preventDefault();
|
|
302
320
|
onDecrement();
|
|
303
321
|
}
|
|
304
322
|
break;
|
|
305
|
-
case
|
|
323
|
+
case "Home":
|
|
306
324
|
if (onDecrementToMin) {
|
|
307
325
|
e.preventDefault();
|
|
308
326
|
onDecrementToMin();
|
|
309
327
|
}
|
|
310
328
|
break;
|
|
311
|
-
case
|
|
329
|
+
case "End":
|
|
312
330
|
if (onIncrementToMax) {
|
|
313
331
|
e.preventDefault();
|
|
314
332
|
onIncrementToMax();
|
|
@@ -316,7 +334,7 @@ function $37bbd4c129023f61$export$e908e06f4b8e3402(props) {
|
|
|
316
334
|
break;
|
|
317
335
|
}
|
|
318
336
|
};
|
|
319
|
-
let isFocused = $2BLaI$react.useRef(false);
|
|
337
|
+
let isFocused = (0, $2BLaI$react.useRef)(false);
|
|
320
338
|
let onFocus = ()=>{
|
|
321
339
|
isFocused.current = true;
|
|
322
340
|
};
|
|
@@ -327,32 +345,34 @@ function $37bbd4c129023f61$export$e908e06f4b8e3402(props) {
|
|
|
327
345
|
// This ensures that macOS VoiceOver announces it as "minus" even with other characters between the minus sign
|
|
328
346
|
// and the number (e.g. currency symbol). Otherwise it announces nothing because it assumes the character is a hyphen.
|
|
329
347
|
// In addition, replace the empty string with the word "Empty" so that iOS VoiceOver does not read "50%" for an empty field.
|
|
330
|
-
textValue = textValue ===
|
|
331
|
-
$2BLaI$react.useEffect(()=>{
|
|
332
|
-
if (isFocused.current) $2BLaI$reactarialiveannouncer.announce(textValue,
|
|
348
|
+
textValue = textValue === "" ? stringFormatter.format("Empty") : (textValue || `${value}`).replace("-", "−");
|
|
349
|
+
(0, $2BLaI$react.useEffect)(()=>{
|
|
350
|
+
if (isFocused.current) (0, $2BLaI$reactarialiveannouncer.announce)(textValue, "assertive");
|
|
333
351
|
}, [
|
|
334
352
|
textValue
|
|
335
353
|
]);
|
|
336
|
-
const onIncrementPressStart = $2BLaI$react.useCallback((initialStepDelay)=>{
|
|
354
|
+
const onIncrementPressStart = (0, $2BLaI$react.useCallback)((initialStepDelay)=>{
|
|
337
355
|
clearAsync();
|
|
338
356
|
propsRef.current.onIncrement();
|
|
339
357
|
// Start spinning after initial delay
|
|
340
358
|
_async.current = window.setTimeout(()=>{
|
|
341
359
|
if (isNaN(maxValue) || isNaN(value) || value < maxValue) onIncrementPressStart(60);
|
|
342
360
|
}, initialStepDelay);
|
|
343
|
-
},
|
|
361
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
362
|
+
[
|
|
344
363
|
onIncrement,
|
|
345
364
|
maxValue,
|
|
346
365
|
value
|
|
347
366
|
]);
|
|
348
|
-
const onDecrementPressStart = $2BLaI$react.useCallback((initialStepDelay)=>{
|
|
367
|
+
const onDecrementPressStart = (0, $2BLaI$react.useCallback)((initialStepDelay)=>{
|
|
349
368
|
clearAsync();
|
|
350
369
|
propsRef.current.onDecrement();
|
|
351
370
|
// Start spinning after initial delay
|
|
352
371
|
_async.current = window.setTimeout(()=>{
|
|
353
372
|
if (isNaN(minValue) || isNaN(value) || value > minValue) onDecrementPressStart(60);
|
|
354
373
|
}, initialStepDelay);
|
|
355
|
-
},
|
|
374
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
375
|
+
[
|
|
356
376
|
onDecrement,
|
|
357
377
|
minValue,
|
|
358
378
|
value
|
|
@@ -360,17 +380,17 @@ function $37bbd4c129023f61$export$e908e06f4b8e3402(props) {
|
|
|
360
380
|
let cancelContextMenu = (e)=>{
|
|
361
381
|
e.preventDefault();
|
|
362
382
|
};
|
|
363
|
-
let { addGlobalListener: addGlobalListener , removeAllGlobalListeners: removeAllGlobalListeners } = $2BLaI$reactariautils.useGlobalListeners();
|
|
383
|
+
let { addGlobalListener: addGlobalListener , removeAllGlobalListeners: removeAllGlobalListeners } = (0, $2BLaI$reactariautils.useGlobalListeners)();
|
|
364
384
|
return {
|
|
365
385
|
spinButtonProps: {
|
|
366
|
-
role:
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
386
|
+
role: "spinbutton",
|
|
387
|
+
"aria-valuenow": !isNaN(value) ? value : null,
|
|
388
|
+
"aria-valuetext": textValue,
|
|
389
|
+
"aria-valuemin": minValue,
|
|
390
|
+
"aria-valuemax": maxValue,
|
|
391
|
+
"aria-disabled": isDisabled || null,
|
|
392
|
+
"aria-readonly": isReadOnly || null,
|
|
393
|
+
"aria-required": isRequired || null,
|
|
374
394
|
onKeyDown: onKeyDown,
|
|
375
395
|
onFocus: onFocus,
|
|
376
396
|
onBlur: onBlur
|
|
@@ -378,7 +398,7 @@ function $37bbd4c129023f61$export$e908e06f4b8e3402(props) {
|
|
|
378
398
|
incrementButtonProps: {
|
|
379
399
|
onPressStart: ()=>{
|
|
380
400
|
onIncrementPressStart(400);
|
|
381
|
-
addGlobalListener(window,
|
|
401
|
+
addGlobalListener(window, "contextmenu", cancelContextMenu);
|
|
382
402
|
},
|
|
383
403
|
onPressEnd: ()=>{
|
|
384
404
|
clearAsync();
|
|
@@ -390,7 +410,7 @@ function $37bbd4c129023f61$export$e908e06f4b8e3402(props) {
|
|
|
390
410
|
decrementButtonProps: {
|
|
391
411
|
onPressStart: ()=>{
|
|
392
412
|
onDecrementPressStart(400);
|
|
393
|
-
addGlobalListener(window,
|
|
413
|
+
addGlobalListener(window, "contextmenu", cancelContextMenu);
|
|
394
414
|
},
|
|
395
415
|
onPressEnd: ()=>{
|
|
396
416
|
clearAsync();
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-aria/spinbutton/src/index.ts","packages/@react-aria/spinbutton/src/useSpinButton.ts","packages/@react-aria/spinbutton/intl/*.js","packages/@react-aria/spinbutton/intl/ar-AE.json","packages/@react-aria/spinbutton/intl/bg-BG.json","packages/@react-aria/spinbutton/intl/cs-CZ.json","packages/@react-aria/spinbutton/intl/da-DK.json","packages/@react-aria/spinbutton/intl/de-DE.json","packages/@react-aria/spinbutton/intl/el-GR.json","packages/@react-aria/spinbutton/intl/en-US.json","packages/@react-aria/spinbutton/intl/es-ES.json","packages/@react-aria/spinbutton/intl/et-EE.json","packages/@react-aria/spinbutton/intl/fi-FI.json","packages/@react-aria/spinbutton/intl/fr-FR.json","packages/@react-aria/spinbutton/intl/he-IL.json","packages/@react-aria/spinbutton/intl/hr-HR.json","packages/@react-aria/spinbutton/intl/hu-HU.json","packages/@react-aria/spinbutton/intl/it-IT.json","packages/@react-aria/spinbutton/intl/ja-JP.json","packages/@react-aria/spinbutton/intl/ko-KR.json","packages/@react-aria/spinbutton/intl/lt-LT.json","packages/@react-aria/spinbutton/intl/lv-LV.json","packages/@react-aria/spinbutton/intl/nb-NO.json","packages/@react-aria/spinbutton/intl/nl-NL.json","packages/@react-aria/spinbutton/intl/pl-PL.json","packages/@react-aria/spinbutton/intl/pt-BR.json","packages/@react-aria/spinbutton/intl/pt-PT.json","packages/@react-aria/spinbutton/intl/ro-RO.json","packages/@react-aria/spinbutton/intl/ru-RU.json","packages/@react-aria/spinbutton/intl/sk-SK.json","packages/@react-aria/spinbutton/intl/sl-SI.json","packages/@react-aria/spinbutton/intl/sr-SP.json","packages/@react-aria/spinbutton/intl/sv-SE.json","packages/@react-aria/spinbutton/intl/tr-TR.json","packages/@react-aria/spinbutton/intl/uk-UA.json","packages/@react-aria/spinbutton/intl/zh-CN.json","packages/@react-aria/spinbutton/intl/zh-TW.json"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nexport type {SpinButtonProps, SpinbuttonAria} from './useSpinButton';\nexport {useSpinButton} from './useSpinButton';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {announce} from '@react-aria/live-announcer';\nimport {AriaButtonProps} from '@react-types/button';\nimport {DOMAttributes, InputBase, RangeInputBase, Validation, ValueBase} from '@react-types/shared';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {useCallback, useEffect, useRef} from 'react';\nimport {useGlobalListeners} from '@react-aria/utils';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\n\n\nexport interface SpinButtonProps extends InputBase, Validation, ValueBase<number>, RangeInputBase<number> {\n textValue?: string,\n onIncrement?: () => void,\n onIncrementPage?: () => void,\n onDecrement?: () => void,\n onDecrementPage?: () => void,\n onDecrementToMin?: () => void,\n onIncrementToMax?: () => void\n}\n\nexport interface SpinbuttonAria {\n spinButtonProps: DOMAttributes,\n incrementButtonProps: AriaButtonProps,\n decrementButtonProps: AriaButtonProps\n}\n\nexport function useSpinButton(\n props: SpinButtonProps\n): SpinbuttonAria {\n const _async = useRef<number>();\n let {\n value,\n textValue,\n minValue,\n maxValue,\n isDisabled,\n isReadOnly,\n isRequired,\n onIncrement,\n onIncrementPage,\n onDecrement,\n onDecrementPage,\n onDecrementToMin,\n onIncrementToMax\n } = props;\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n const propsRef = useRef(props);\n propsRef.current = props;\n\n const clearAsync = () => clearTimeout(_async.current);\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => clearAsync();\n }, []);\n\n let onKeyDown = (e) => {\n if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || isReadOnly) {\n return;\n }\n\n switch (e.key) {\n case 'PageUp':\n if (onIncrementPage) {\n e.preventDefault();\n onIncrementPage();\n break;\n }\n // fallthrough!\n case 'ArrowUp':\n case 'Up':\n if (onIncrement) {\n e.preventDefault();\n onIncrement();\n }\n break;\n case 'PageDown':\n if (onDecrementPage) {\n e.preventDefault();\n onDecrementPage();\n break;\n }\n // fallthrough\n case 'ArrowDown':\n case 'Down':\n if (onDecrement) {\n e.preventDefault();\n onDecrement();\n }\n break;\n case 'Home':\n if (onDecrementToMin) {\n e.preventDefault();\n onDecrementToMin();\n }\n break;\n case 'End':\n if (onIncrementToMax) {\n e.preventDefault();\n onIncrementToMax();\n }\n break;\n }\n };\n\n let isFocused = useRef(false);\n let onFocus = () => {\n isFocused.current = true;\n };\n\n let onBlur = () => {\n isFocused.current = false;\n };\n\n // Replace Unicode hyphen-minus (U+002D) with minus sign (U+2212).\n // This ensures that macOS VoiceOver announces it as \"minus\" even with other characters between the minus sign\n // and the number (e.g. currency symbol). Otherwise it announces nothing because it assumes the character is a hyphen.\n // In addition, replace the empty string with the word \"Empty\" so that iOS VoiceOver does not read \"50%\" for an empty field.\n textValue = textValue === '' ? stringFormatter.format('Empty') : (textValue || `${value}`).replace('-', '\\u2212');\n\n useEffect(() => {\n if (isFocused.current) {\n announce(textValue, 'assertive');\n }\n }, [textValue]);\n\n const onIncrementPressStart = useCallback(\n (initialStepDelay: number) => {\n clearAsync();\n propsRef.current.onIncrement();\n // Start spinning after initial delay\n _async.current = window.setTimeout(\n () => {\n if (isNaN(maxValue) || isNaN(value) || value < maxValue) {\n onIncrementPressStart(60);\n }\n },\n initialStepDelay\n );\n },\n [onIncrement, maxValue, value]\n );\n\n const onDecrementPressStart = useCallback(\n (initialStepDelay: number) => {\n clearAsync();\n propsRef.current.onDecrement();\n // Start spinning after initial delay\n _async.current = window.setTimeout(\n () => {\n if (isNaN(minValue) || isNaN(value) || value > minValue) {\n onDecrementPressStart(60);\n }\n },\n initialStepDelay\n );\n },\n [onDecrement, minValue, value]\n );\n\n let cancelContextMenu = (e) => {\n e.preventDefault();\n };\n\n let {addGlobalListener, removeAllGlobalListeners} = useGlobalListeners();\n\n return {\n spinButtonProps: {\n role: 'spinbutton',\n 'aria-valuenow': !isNaN(value) ? value : null,\n 'aria-valuetext': textValue,\n 'aria-valuemin': minValue,\n 'aria-valuemax': maxValue,\n 'aria-disabled': isDisabled || null,\n 'aria-readonly': isReadOnly || null,\n 'aria-required': isRequired || null,\n onKeyDown,\n onFocus,\n onBlur\n },\n incrementButtonProps: {\n onPressStart: () => {\n onIncrementPressStart(400);\n addGlobalListener(window, 'contextmenu', cancelContextMenu);\n },\n onPressEnd: () => {\n clearAsync();\n removeAllGlobalListeners();\n },\n onFocus,\n onBlur\n },\n decrementButtonProps: {\n onPressStart: () => {\n onDecrementPressStart(400);\n addGlobalListener(window, 'contextmenu', cancelContextMenu);\n },\n onPressEnd: () => {\n clearAsync();\n removeAllGlobalListeners();\n },\n onFocus,\n onBlur\n }\n };\n}\n","const _temp0 = require(\"./ar-AE.json\");\nconst _temp1 = require(\"./bg-BG.json\");\nconst _temp2 = require(\"./cs-CZ.json\");\nconst _temp3 = require(\"./da-DK.json\");\nconst _temp4 = require(\"./de-DE.json\");\nconst _temp5 = require(\"./el-GR.json\");\nconst _temp6 = require(\"./en-US.json\");\nconst _temp7 = require(\"./es-ES.json\");\nconst _temp8 = require(\"./et-EE.json\");\nconst _temp9 = require(\"./fi-FI.json\");\nconst _temp10 = require(\"./fr-FR.json\");\nconst _temp11 = require(\"./he-IL.json\");\nconst _temp12 = require(\"./hr-HR.json\");\nconst _temp13 = require(\"./hu-HU.json\");\nconst _temp14 = require(\"./it-IT.json\");\nconst _temp15 = require(\"./ja-JP.json\");\nconst _temp16 = require(\"./ko-KR.json\");\nconst _temp17 = require(\"./lt-LT.json\");\nconst _temp18 = require(\"./lv-LV.json\");\nconst _temp19 = require(\"./nb-NO.json\");\nconst _temp20 = require(\"./nl-NL.json\");\nconst _temp21 = require(\"./pl-PL.json\");\nconst _temp22 = require(\"./pt-BR.json\");\nconst _temp23 = require(\"./pt-PT.json\");\nconst _temp24 = require(\"./ro-RO.json\");\nconst _temp25 = require(\"./ru-RU.json\");\nconst _temp26 = require(\"./sk-SK.json\");\nconst _temp27 = require(\"./sl-SI.json\");\nconst _temp28 = require(\"./sr-SP.json\");\nconst _temp29 = require(\"./sv-SE.json\");\nconst _temp30 = require(\"./tr-TR.json\");\nconst _temp31 = require(\"./uk-UA.json\");\nconst _temp32 = require(\"./zh-CN.json\");\nconst _temp33 = require(\"./zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"Empty\": \"فارغ\"\n}\n","{\n \"Empty\": \"Изпразни\"\n}\n","{\n \"Empty\": \"Prázdné\"\n}\n","{\n \"Empty\": \"Tom\"\n}\n","{\n \"Empty\": \"Leer\"\n}\n","{\n \"Empty\": \"Άδειο\"\n}\n","{\n \"Empty\": \"Empty\"\n}\n","{\n \"Empty\": \"Vacío\"\n}\n","{\n \"Empty\": \"Tühjenda\"\n}\n","{\n \"Empty\": \"Tyhjä\"\n}\n","{\n \"Empty\": \"Vide\"\n}\n","{\n \"Empty\": \"ריק\"\n}\n","{\n \"Empty\": \"Prazno\"\n}\n","{\n \"Empty\": \"Üres\"\n}\n","{\n \"Empty\": \"Vuoto\"\n}\n","{\n \"Empty\": \"空\"\n}\n","{\n \"Empty\": \"비어 있음\"\n}\n","{\n \"Empty\": \"Tuščias\"\n}\n","{\n \"Empty\": \"Tukšs\"\n}\n","{\n \"Empty\": \"Tom\"\n}\n","{\n \"Empty\": \"Leeg\"\n}\n","{\n \"Empty\": \"Pusty\"\n}\n","{\n \"Empty\": \"Vazio\"\n}\n","{\n \"Empty\": \"Vazio\"\n}\n","{\n \"Empty\": \"Gol\"\n}\n","{\n \"Empty\": \"Не заполнено\"\n}\n","{\n \"Empty\": \"Prázdne\"\n}\n","{\n \"Empty\": \"Prazen\"\n}\n","{\n \"Empty\": \"Prazno\"\n}\n","{\n \"Empty\": \"Tomt\"\n}\n","{\n \"Empty\": \"Boş\"\n}\n","{\n \"Empty\": \"Пусто\"\n}\n","{\n \"Empty\": \"空\"\n}\n","{\n \"Empty\": \"空白\"\n}\n"],"names":[],"version":3,"file":"main.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-aria/spinbutton/src/index.ts","packages/@react-aria/spinbutton/src/useSpinButton.ts","packages/@react-aria/spinbutton/intl/*.js","packages/@react-aria/spinbutton/intl/ar-AE.json","packages/@react-aria/spinbutton/intl/bg-BG.json","packages/@react-aria/spinbutton/intl/cs-CZ.json","packages/@react-aria/spinbutton/intl/da-DK.json","packages/@react-aria/spinbutton/intl/de-DE.json","packages/@react-aria/spinbutton/intl/el-GR.json","packages/@react-aria/spinbutton/intl/en-US.json","packages/@react-aria/spinbutton/intl/es-ES.json","packages/@react-aria/spinbutton/intl/et-EE.json","packages/@react-aria/spinbutton/intl/fi-FI.json","packages/@react-aria/spinbutton/intl/fr-FR.json","packages/@react-aria/spinbutton/intl/he-IL.json","packages/@react-aria/spinbutton/intl/hr-HR.json","packages/@react-aria/spinbutton/intl/hu-HU.json","packages/@react-aria/spinbutton/intl/it-IT.json","packages/@react-aria/spinbutton/intl/ja-JP.json","packages/@react-aria/spinbutton/intl/ko-KR.json","packages/@react-aria/spinbutton/intl/lt-LT.json","packages/@react-aria/spinbutton/intl/lv-LV.json","packages/@react-aria/spinbutton/intl/nb-NO.json","packages/@react-aria/spinbutton/intl/nl-NL.json","packages/@react-aria/spinbutton/intl/pl-PL.json","packages/@react-aria/spinbutton/intl/pt-BR.json","packages/@react-aria/spinbutton/intl/pt-PT.json","packages/@react-aria/spinbutton/intl/ro-RO.json","packages/@react-aria/spinbutton/intl/ru-RU.json","packages/@react-aria/spinbutton/intl/sk-SK.json","packages/@react-aria/spinbutton/intl/sl-SI.json","packages/@react-aria/spinbutton/intl/sr-SP.json","packages/@react-aria/spinbutton/intl/sv-SE.json","packages/@react-aria/spinbutton/intl/tr-TR.json","packages/@react-aria/spinbutton/intl/uk-UA.json","packages/@react-aria/spinbutton/intl/zh-CN.json","packages/@react-aria/spinbutton/intl/zh-TW.json"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nexport type {SpinButtonProps, SpinbuttonAria} from './useSpinButton';\nexport {useSpinButton} from './useSpinButton';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {announce} from '@react-aria/live-announcer';\nimport {AriaButtonProps} from '@react-types/button';\nimport {DOMAttributes, InputBase, RangeInputBase, Validation, ValueBase} from '@react-types/shared';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {useCallback, useEffect, useRef} from 'react';\nimport {useGlobalListeners} from '@react-aria/utils';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\n\n\nexport interface SpinButtonProps extends InputBase, Validation, ValueBase<number>, RangeInputBase<number> {\n textValue?: string,\n onIncrement?: () => void,\n onIncrementPage?: () => void,\n onDecrement?: () => void,\n onDecrementPage?: () => void,\n onDecrementToMin?: () => void,\n onIncrementToMax?: () => void\n}\n\nexport interface SpinbuttonAria {\n spinButtonProps: DOMAttributes,\n incrementButtonProps: AriaButtonProps,\n decrementButtonProps: AriaButtonProps\n}\n\nexport function useSpinButton(\n props: SpinButtonProps\n): SpinbuttonAria {\n const _async = useRef<number>();\n let {\n value,\n textValue,\n minValue,\n maxValue,\n isDisabled,\n isReadOnly,\n isRequired,\n onIncrement,\n onIncrementPage,\n onDecrement,\n onDecrementPage,\n onDecrementToMin,\n onIncrementToMax\n } = props;\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n const propsRef = useRef(props);\n propsRef.current = props;\n\n const clearAsync = () => clearTimeout(_async.current);\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => clearAsync();\n }, []);\n\n let onKeyDown = (e) => {\n if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || isReadOnly) {\n return;\n }\n\n switch (e.key) {\n case 'PageUp':\n if (onIncrementPage) {\n e.preventDefault();\n onIncrementPage();\n break;\n }\n // fallthrough!\n case 'ArrowUp':\n case 'Up':\n if (onIncrement) {\n e.preventDefault();\n onIncrement();\n }\n break;\n case 'PageDown':\n if (onDecrementPage) {\n e.preventDefault();\n onDecrementPage();\n break;\n }\n // fallthrough\n case 'ArrowDown':\n case 'Down':\n if (onDecrement) {\n e.preventDefault();\n onDecrement();\n }\n break;\n case 'Home':\n if (onDecrementToMin) {\n e.preventDefault();\n onDecrementToMin();\n }\n break;\n case 'End':\n if (onIncrementToMax) {\n e.preventDefault();\n onIncrementToMax();\n }\n break;\n }\n };\n\n let isFocused = useRef(false);\n let onFocus = () => {\n isFocused.current = true;\n };\n\n let onBlur = () => {\n isFocused.current = false;\n };\n\n // Replace Unicode hyphen-minus (U+002D) with minus sign (U+2212).\n // This ensures that macOS VoiceOver announces it as \"minus\" even with other characters between the minus sign\n // and the number (e.g. currency symbol). Otherwise it announces nothing because it assumes the character is a hyphen.\n // In addition, replace the empty string with the word \"Empty\" so that iOS VoiceOver does not read \"50%\" for an empty field.\n textValue = textValue === '' ? stringFormatter.format('Empty') : (textValue || `${value}`).replace('-', '\\u2212');\n\n useEffect(() => {\n if (isFocused.current) {\n announce(textValue, 'assertive');\n }\n }, [textValue]);\n\n const onIncrementPressStart = useCallback(\n (initialStepDelay: number) => {\n clearAsync();\n propsRef.current.onIncrement();\n // Start spinning after initial delay\n _async.current = window.setTimeout(\n () => {\n if (isNaN(maxValue) || isNaN(value) || value < maxValue) {\n onIncrementPressStart(60);\n }\n },\n initialStepDelay\n );\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onIncrement, maxValue, value]\n );\n\n const onDecrementPressStart = useCallback(\n (initialStepDelay: number) => {\n clearAsync();\n propsRef.current.onDecrement();\n // Start spinning after initial delay\n _async.current = window.setTimeout(\n () => {\n if (isNaN(minValue) || isNaN(value) || value > minValue) {\n onDecrementPressStart(60);\n }\n },\n initialStepDelay\n );\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onDecrement, minValue, value]\n );\n\n let cancelContextMenu = (e) => {\n e.preventDefault();\n };\n\n let {addGlobalListener, removeAllGlobalListeners} = useGlobalListeners();\n\n return {\n spinButtonProps: {\n role: 'spinbutton',\n 'aria-valuenow': !isNaN(value) ? value : null,\n 'aria-valuetext': textValue,\n 'aria-valuemin': minValue,\n 'aria-valuemax': maxValue,\n 'aria-disabled': isDisabled || null,\n 'aria-readonly': isReadOnly || null,\n 'aria-required': isRequired || null,\n onKeyDown,\n onFocus,\n onBlur\n },\n incrementButtonProps: {\n onPressStart: () => {\n onIncrementPressStart(400);\n addGlobalListener(window, 'contextmenu', cancelContextMenu);\n },\n onPressEnd: () => {\n clearAsync();\n removeAllGlobalListeners();\n },\n onFocus,\n onBlur\n },\n decrementButtonProps: {\n onPressStart: () => {\n onDecrementPressStart(400);\n addGlobalListener(window, 'contextmenu', cancelContextMenu);\n },\n onPressEnd: () => {\n clearAsync();\n removeAllGlobalListeners();\n },\n onFocus,\n onBlur\n }\n };\n}\n","const _temp0 = require(\"./ar-AE.json\");\nconst _temp1 = require(\"./bg-BG.json\");\nconst _temp2 = require(\"./cs-CZ.json\");\nconst _temp3 = require(\"./da-DK.json\");\nconst _temp4 = require(\"./de-DE.json\");\nconst _temp5 = require(\"./el-GR.json\");\nconst _temp6 = require(\"./en-US.json\");\nconst _temp7 = require(\"./es-ES.json\");\nconst _temp8 = require(\"./et-EE.json\");\nconst _temp9 = require(\"./fi-FI.json\");\nconst _temp10 = require(\"./fr-FR.json\");\nconst _temp11 = require(\"./he-IL.json\");\nconst _temp12 = require(\"./hr-HR.json\");\nconst _temp13 = require(\"./hu-HU.json\");\nconst _temp14 = require(\"./it-IT.json\");\nconst _temp15 = require(\"./ja-JP.json\");\nconst _temp16 = require(\"./ko-KR.json\");\nconst _temp17 = require(\"./lt-LT.json\");\nconst _temp18 = require(\"./lv-LV.json\");\nconst _temp19 = require(\"./nb-NO.json\");\nconst _temp20 = require(\"./nl-NL.json\");\nconst _temp21 = require(\"./pl-PL.json\");\nconst _temp22 = require(\"./pt-BR.json\");\nconst _temp23 = require(\"./pt-PT.json\");\nconst _temp24 = require(\"./ro-RO.json\");\nconst _temp25 = require(\"./ru-RU.json\");\nconst _temp26 = require(\"./sk-SK.json\");\nconst _temp27 = require(\"./sl-SI.json\");\nconst _temp28 = require(\"./sr-SP.json\");\nconst _temp29 = require(\"./sv-SE.json\");\nconst _temp30 = require(\"./tr-TR.json\");\nconst _temp31 = require(\"./uk-UA.json\");\nconst _temp32 = require(\"./zh-CN.json\");\nconst _temp33 = require(\"./zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"Empty\": \"فارغ\"\n}\n","{\n \"Empty\": \"Изпразни\"\n}\n","{\n \"Empty\": \"Prázdné\"\n}\n","{\n \"Empty\": \"Tom\"\n}\n","{\n \"Empty\": \"Leer\"\n}\n","{\n \"Empty\": \"Άδειο\"\n}\n","{\n \"Empty\": \"Empty\"\n}\n","{\n \"Empty\": \"Vacío\"\n}\n","{\n \"Empty\": \"Tühjenda\"\n}\n","{\n \"Empty\": \"Tyhjä\"\n}\n","{\n \"Empty\": \"Vide\"\n}\n","{\n \"Empty\": \"ריק\"\n}\n","{\n \"Empty\": \"Prazno\"\n}\n","{\n \"Empty\": \"Üres\"\n}\n","{\n \"Empty\": \"Vuoto\"\n}\n","{\n \"Empty\": \"空\"\n}\n","{\n \"Empty\": \"비어 있음\"\n}\n","{\n \"Empty\": \"Tuščias\"\n}\n","{\n \"Empty\": \"Tukšs\"\n}\n","{\n \"Empty\": \"Tom\"\n}\n","{\n \"Empty\": \"Leeg\"\n}\n","{\n \"Empty\": \"Pusty\"\n}\n","{\n \"Empty\": \"Vazio\"\n}\n","{\n \"Empty\": \"Vazio\"\n}\n","{\n \"Empty\": \"Gol\"\n}\n","{\n \"Empty\": \"Не заполнено\"\n}\n","{\n \"Empty\": \"Prázdne\"\n}\n","{\n \"Empty\": \"Prazen\"\n}\n","{\n \"Empty\": \"Prazno\"\n}\n","{\n \"Empty\": \"Tomt\"\n}\n","{\n \"Empty\": \"Boş\"\n}\n","{\n \"Empty\": \"Пусто\"\n}\n","{\n \"Empty\": \"空\"\n}\n","{\n \"Empty\": \"空白\"\n}\n"],"names":[],"version":3,"file":"main.js.map"}
|
package/dist/module.js
CHANGED
|
@@ -6,7 +6,27 @@ import {useLocalizedStringFormatter as $glIEW$useLocalizedStringFormatter} from
|
|
|
6
6
|
function $parcel$interopDefault(a) {
|
|
7
7
|
return a && a.__esModule ? a.default : a;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
/*
|
|
10
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
11
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
12
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
13
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
+
*
|
|
15
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
16
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
17
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
18
|
+
* governing permissions and limitations under the License.
|
|
19
|
+
*/ /*
|
|
20
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
21
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
22
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
23
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
24
|
+
*
|
|
25
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
26
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
27
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
28
|
+
* governing permissions and limitations under the License.
|
|
29
|
+
*/
|
|
10
30
|
var $c6208a7792e31a37$exports = {};
|
|
11
31
|
var $ed6aae4e5f766f1e$exports = {};
|
|
12
32
|
$ed6aae4e5f766f1e$exports = {
|
|
@@ -254,56 +274,54 @@ $c6208a7792e31a37$exports = {
|
|
|
254
274
|
|
|
255
275
|
|
|
256
276
|
function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
|
|
257
|
-
const _async = $glIEW$useRef();
|
|
277
|
+
const _async = (0, $glIEW$useRef)();
|
|
258
278
|
let { value: value , textValue: textValue , minValue: minValue , maxValue: maxValue , isDisabled: isDisabled , isReadOnly: isReadOnly , isRequired: isRequired , onIncrement: onIncrement , onIncrementPage: onIncrementPage , onDecrement: onDecrement , onDecrementPage: onDecrementPage , onDecrementToMin: onDecrementToMin , onIncrementToMax: onIncrementToMax } = props;
|
|
259
|
-
const stringFormatter = $glIEW$useLocalizedStringFormatter((/*@__PURE__*/$parcel$interopDefault($c6208a7792e31a37$exports)));
|
|
260
|
-
const propsRef = $glIEW$useRef(props);
|
|
279
|
+
const stringFormatter = (0, $glIEW$useLocalizedStringFormatter)((0, (/*@__PURE__*/$parcel$interopDefault($c6208a7792e31a37$exports))));
|
|
280
|
+
const propsRef = (0, $glIEW$useRef)(props);
|
|
261
281
|
propsRef.current = props;
|
|
262
|
-
const clearAsync = ()=>clearTimeout(_async.current)
|
|
263
|
-
;
|
|
282
|
+
const clearAsync = ()=>clearTimeout(_async.current);
|
|
264
283
|
// eslint-disable-next-line arrow-body-style
|
|
265
|
-
$glIEW$useEffect(()=>{
|
|
266
|
-
return ()=>clearAsync()
|
|
267
|
-
;
|
|
284
|
+
(0, $glIEW$useEffect)(()=>{
|
|
285
|
+
return ()=>clearAsync();
|
|
268
286
|
}, []);
|
|
269
287
|
let onKeyDown = (e)=>{
|
|
270
288
|
if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || isReadOnly) return;
|
|
271
289
|
switch(e.key){
|
|
272
|
-
case
|
|
290
|
+
case "PageUp":
|
|
273
291
|
if (onIncrementPage) {
|
|
274
292
|
e.preventDefault();
|
|
275
293
|
onIncrementPage();
|
|
276
294
|
break;
|
|
277
295
|
}
|
|
278
296
|
// fallthrough!
|
|
279
|
-
case
|
|
280
|
-
case
|
|
297
|
+
case "ArrowUp":
|
|
298
|
+
case "Up":
|
|
281
299
|
if (onIncrement) {
|
|
282
300
|
e.preventDefault();
|
|
283
301
|
onIncrement();
|
|
284
302
|
}
|
|
285
303
|
break;
|
|
286
|
-
case
|
|
304
|
+
case "PageDown":
|
|
287
305
|
if (onDecrementPage) {
|
|
288
306
|
e.preventDefault();
|
|
289
307
|
onDecrementPage();
|
|
290
308
|
break;
|
|
291
309
|
}
|
|
292
310
|
// fallthrough
|
|
293
|
-
case
|
|
294
|
-
case
|
|
311
|
+
case "ArrowDown":
|
|
312
|
+
case "Down":
|
|
295
313
|
if (onDecrement) {
|
|
296
314
|
e.preventDefault();
|
|
297
315
|
onDecrement();
|
|
298
316
|
}
|
|
299
317
|
break;
|
|
300
|
-
case
|
|
318
|
+
case "Home":
|
|
301
319
|
if (onDecrementToMin) {
|
|
302
320
|
e.preventDefault();
|
|
303
321
|
onDecrementToMin();
|
|
304
322
|
}
|
|
305
323
|
break;
|
|
306
|
-
case
|
|
324
|
+
case "End":
|
|
307
325
|
if (onIncrementToMax) {
|
|
308
326
|
e.preventDefault();
|
|
309
327
|
onIncrementToMax();
|
|
@@ -311,7 +329,7 @@ function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
|
|
|
311
329
|
break;
|
|
312
330
|
}
|
|
313
331
|
};
|
|
314
|
-
let isFocused = $glIEW$useRef(false);
|
|
332
|
+
let isFocused = (0, $glIEW$useRef)(false);
|
|
315
333
|
let onFocus = ()=>{
|
|
316
334
|
isFocused.current = true;
|
|
317
335
|
};
|
|
@@ -322,32 +340,34 @@ function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
|
|
|
322
340
|
// This ensures that macOS VoiceOver announces it as "minus" even with other characters between the minus sign
|
|
323
341
|
// and the number (e.g. currency symbol). Otherwise it announces nothing because it assumes the character is a hyphen.
|
|
324
342
|
// In addition, replace the empty string with the word "Empty" so that iOS VoiceOver does not read "50%" for an empty field.
|
|
325
|
-
textValue = textValue ===
|
|
326
|
-
$glIEW$useEffect(()=>{
|
|
327
|
-
if (isFocused.current) $glIEW$announce(textValue,
|
|
343
|
+
textValue = textValue === "" ? stringFormatter.format("Empty") : (textValue || `${value}`).replace("-", "−");
|
|
344
|
+
(0, $glIEW$useEffect)(()=>{
|
|
345
|
+
if (isFocused.current) (0, $glIEW$announce)(textValue, "assertive");
|
|
328
346
|
}, [
|
|
329
347
|
textValue
|
|
330
348
|
]);
|
|
331
|
-
const onIncrementPressStart = $glIEW$useCallback((initialStepDelay)=>{
|
|
349
|
+
const onIncrementPressStart = (0, $glIEW$useCallback)((initialStepDelay)=>{
|
|
332
350
|
clearAsync();
|
|
333
351
|
propsRef.current.onIncrement();
|
|
334
352
|
// Start spinning after initial delay
|
|
335
353
|
_async.current = window.setTimeout(()=>{
|
|
336
354
|
if (isNaN(maxValue) || isNaN(value) || value < maxValue) onIncrementPressStart(60);
|
|
337
355
|
}, initialStepDelay);
|
|
338
|
-
},
|
|
356
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
357
|
+
[
|
|
339
358
|
onIncrement,
|
|
340
359
|
maxValue,
|
|
341
360
|
value
|
|
342
361
|
]);
|
|
343
|
-
const onDecrementPressStart = $glIEW$useCallback((initialStepDelay)=>{
|
|
362
|
+
const onDecrementPressStart = (0, $glIEW$useCallback)((initialStepDelay)=>{
|
|
344
363
|
clearAsync();
|
|
345
364
|
propsRef.current.onDecrement();
|
|
346
365
|
// Start spinning after initial delay
|
|
347
366
|
_async.current = window.setTimeout(()=>{
|
|
348
367
|
if (isNaN(minValue) || isNaN(value) || value > minValue) onDecrementPressStart(60);
|
|
349
368
|
}, initialStepDelay);
|
|
350
|
-
},
|
|
369
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
370
|
+
[
|
|
351
371
|
onDecrement,
|
|
352
372
|
minValue,
|
|
353
373
|
value
|
|
@@ -355,17 +375,17 @@ function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
|
|
|
355
375
|
let cancelContextMenu = (e)=>{
|
|
356
376
|
e.preventDefault();
|
|
357
377
|
};
|
|
358
|
-
let { addGlobalListener: addGlobalListener , removeAllGlobalListeners: removeAllGlobalListeners } = $glIEW$useGlobalListeners();
|
|
378
|
+
let { addGlobalListener: addGlobalListener , removeAllGlobalListeners: removeAllGlobalListeners } = (0, $glIEW$useGlobalListeners)();
|
|
359
379
|
return {
|
|
360
380
|
spinButtonProps: {
|
|
361
|
-
role:
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
381
|
+
role: "spinbutton",
|
|
382
|
+
"aria-valuenow": !isNaN(value) ? value : null,
|
|
383
|
+
"aria-valuetext": textValue,
|
|
384
|
+
"aria-valuemin": minValue,
|
|
385
|
+
"aria-valuemax": maxValue,
|
|
386
|
+
"aria-disabled": isDisabled || null,
|
|
387
|
+
"aria-readonly": isReadOnly || null,
|
|
388
|
+
"aria-required": isRequired || null,
|
|
369
389
|
onKeyDown: onKeyDown,
|
|
370
390
|
onFocus: onFocus,
|
|
371
391
|
onBlur: onBlur
|
|
@@ -373,7 +393,7 @@ function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
|
|
|
373
393
|
incrementButtonProps: {
|
|
374
394
|
onPressStart: ()=>{
|
|
375
395
|
onIncrementPressStart(400);
|
|
376
|
-
addGlobalListener(window,
|
|
396
|
+
addGlobalListener(window, "contextmenu", cancelContextMenu);
|
|
377
397
|
},
|
|
378
398
|
onPressEnd: ()=>{
|
|
379
399
|
clearAsync();
|
|
@@ -385,7 +405,7 @@ function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
|
|
|
385
405
|
decrementButtonProps: {
|
|
386
406
|
onPressStart: ()=>{
|
|
387
407
|
onDecrementPressStart(400);
|
|
388
|
-
addGlobalListener(window,
|
|
408
|
+
addGlobalListener(window, "contextmenu", cancelContextMenu);
|
|
389
409
|
},
|
|
390
410
|
onPressEnd: ()=>{
|
|
391
411
|
clearAsync();
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-aria/spinbutton/src/index.ts","packages/@react-aria/spinbutton/src/useSpinButton.ts","packages/@react-aria/spinbutton/intl/*.js","packages/@react-aria/spinbutton/intl/ar-AE.json","packages/@react-aria/spinbutton/intl/bg-BG.json","packages/@react-aria/spinbutton/intl/cs-CZ.json","packages/@react-aria/spinbutton/intl/da-DK.json","packages/@react-aria/spinbutton/intl/de-DE.json","packages/@react-aria/spinbutton/intl/el-GR.json","packages/@react-aria/spinbutton/intl/en-US.json","packages/@react-aria/spinbutton/intl/es-ES.json","packages/@react-aria/spinbutton/intl/et-EE.json","packages/@react-aria/spinbutton/intl/fi-FI.json","packages/@react-aria/spinbutton/intl/fr-FR.json","packages/@react-aria/spinbutton/intl/he-IL.json","packages/@react-aria/spinbutton/intl/hr-HR.json","packages/@react-aria/spinbutton/intl/hu-HU.json","packages/@react-aria/spinbutton/intl/it-IT.json","packages/@react-aria/spinbutton/intl/ja-JP.json","packages/@react-aria/spinbutton/intl/ko-KR.json","packages/@react-aria/spinbutton/intl/lt-LT.json","packages/@react-aria/spinbutton/intl/lv-LV.json","packages/@react-aria/spinbutton/intl/nb-NO.json","packages/@react-aria/spinbutton/intl/nl-NL.json","packages/@react-aria/spinbutton/intl/pl-PL.json","packages/@react-aria/spinbutton/intl/pt-BR.json","packages/@react-aria/spinbutton/intl/pt-PT.json","packages/@react-aria/spinbutton/intl/ro-RO.json","packages/@react-aria/spinbutton/intl/ru-RU.json","packages/@react-aria/spinbutton/intl/sk-SK.json","packages/@react-aria/spinbutton/intl/sl-SI.json","packages/@react-aria/spinbutton/intl/sr-SP.json","packages/@react-aria/spinbutton/intl/sv-SE.json","packages/@react-aria/spinbutton/intl/tr-TR.json","packages/@react-aria/spinbutton/intl/uk-UA.json","packages/@react-aria/spinbutton/intl/zh-CN.json","packages/@react-aria/spinbutton/intl/zh-TW.json"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nexport type {SpinButtonProps, SpinbuttonAria} from './useSpinButton';\nexport {useSpinButton} from './useSpinButton';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {announce} from '@react-aria/live-announcer';\nimport {AriaButtonProps} from '@react-types/button';\nimport {DOMAttributes, InputBase, RangeInputBase, Validation, ValueBase} from '@react-types/shared';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {useCallback, useEffect, useRef} from 'react';\nimport {useGlobalListeners} from '@react-aria/utils';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\n\n\nexport interface SpinButtonProps extends InputBase, Validation, ValueBase<number>, RangeInputBase<number> {\n textValue?: string,\n onIncrement?: () => void,\n onIncrementPage?: () => void,\n onDecrement?: () => void,\n onDecrementPage?: () => void,\n onDecrementToMin?: () => void,\n onIncrementToMax?: () => void\n}\n\nexport interface SpinbuttonAria {\n spinButtonProps: DOMAttributes,\n incrementButtonProps: AriaButtonProps,\n decrementButtonProps: AriaButtonProps\n}\n\nexport function useSpinButton(\n props: SpinButtonProps\n): SpinbuttonAria {\n const _async = useRef<number>();\n let {\n value,\n textValue,\n minValue,\n maxValue,\n isDisabled,\n isReadOnly,\n isRequired,\n onIncrement,\n onIncrementPage,\n onDecrement,\n onDecrementPage,\n onDecrementToMin,\n onIncrementToMax\n } = props;\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n const propsRef = useRef(props);\n propsRef.current = props;\n\n const clearAsync = () => clearTimeout(_async.current);\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => clearAsync();\n }, []);\n\n let onKeyDown = (e) => {\n if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || isReadOnly) {\n return;\n }\n\n switch (e.key) {\n case 'PageUp':\n if (onIncrementPage) {\n e.preventDefault();\n onIncrementPage();\n break;\n }\n // fallthrough!\n case 'ArrowUp':\n case 'Up':\n if (onIncrement) {\n e.preventDefault();\n onIncrement();\n }\n break;\n case 'PageDown':\n if (onDecrementPage) {\n e.preventDefault();\n onDecrementPage();\n break;\n }\n // fallthrough\n case 'ArrowDown':\n case 'Down':\n if (onDecrement) {\n e.preventDefault();\n onDecrement();\n }\n break;\n case 'Home':\n if (onDecrementToMin) {\n e.preventDefault();\n onDecrementToMin();\n }\n break;\n case 'End':\n if (onIncrementToMax) {\n e.preventDefault();\n onIncrementToMax();\n }\n break;\n }\n };\n\n let isFocused = useRef(false);\n let onFocus = () => {\n isFocused.current = true;\n };\n\n let onBlur = () => {\n isFocused.current = false;\n };\n\n // Replace Unicode hyphen-minus (U+002D) with minus sign (U+2212).\n // This ensures that macOS VoiceOver announces it as \"minus\" even with other characters between the minus sign\n // and the number (e.g. currency symbol). Otherwise it announces nothing because it assumes the character is a hyphen.\n // In addition, replace the empty string with the word \"Empty\" so that iOS VoiceOver does not read \"50%\" for an empty field.\n textValue = textValue === '' ? stringFormatter.format('Empty') : (textValue || `${value}`).replace('-', '\\u2212');\n\n useEffect(() => {\n if (isFocused.current) {\n announce(textValue, 'assertive');\n }\n }, [textValue]);\n\n const onIncrementPressStart = useCallback(\n (initialStepDelay: number) => {\n clearAsync();\n propsRef.current.onIncrement();\n // Start spinning after initial delay\n _async.current = window.setTimeout(\n () => {\n if (isNaN(maxValue) || isNaN(value) || value < maxValue) {\n onIncrementPressStart(60);\n }\n },\n initialStepDelay\n );\n },\n [onIncrement, maxValue, value]\n );\n\n const onDecrementPressStart = useCallback(\n (initialStepDelay: number) => {\n clearAsync();\n propsRef.current.onDecrement();\n // Start spinning after initial delay\n _async.current = window.setTimeout(\n () => {\n if (isNaN(minValue) || isNaN(value) || value > minValue) {\n onDecrementPressStart(60);\n }\n },\n initialStepDelay\n );\n },\n [onDecrement, minValue, value]\n );\n\n let cancelContextMenu = (e) => {\n e.preventDefault();\n };\n\n let {addGlobalListener, removeAllGlobalListeners} = useGlobalListeners();\n\n return {\n spinButtonProps: {\n role: 'spinbutton',\n 'aria-valuenow': !isNaN(value) ? value : null,\n 'aria-valuetext': textValue,\n 'aria-valuemin': minValue,\n 'aria-valuemax': maxValue,\n 'aria-disabled': isDisabled || null,\n 'aria-readonly': isReadOnly || null,\n 'aria-required': isRequired || null,\n onKeyDown,\n onFocus,\n onBlur\n },\n incrementButtonProps: {\n onPressStart: () => {\n onIncrementPressStart(400);\n addGlobalListener(window, 'contextmenu', cancelContextMenu);\n },\n onPressEnd: () => {\n clearAsync();\n removeAllGlobalListeners();\n },\n onFocus,\n onBlur\n },\n decrementButtonProps: {\n onPressStart: () => {\n onDecrementPressStart(400);\n addGlobalListener(window, 'contextmenu', cancelContextMenu);\n },\n onPressEnd: () => {\n clearAsync();\n removeAllGlobalListeners();\n },\n onFocus,\n onBlur\n }\n };\n}\n","const _temp0 = require(\"./ar-AE.json\");\nconst _temp1 = require(\"./bg-BG.json\");\nconst _temp2 = require(\"./cs-CZ.json\");\nconst _temp3 = require(\"./da-DK.json\");\nconst _temp4 = require(\"./de-DE.json\");\nconst _temp5 = require(\"./el-GR.json\");\nconst _temp6 = require(\"./en-US.json\");\nconst _temp7 = require(\"./es-ES.json\");\nconst _temp8 = require(\"./et-EE.json\");\nconst _temp9 = require(\"./fi-FI.json\");\nconst _temp10 = require(\"./fr-FR.json\");\nconst _temp11 = require(\"./he-IL.json\");\nconst _temp12 = require(\"./hr-HR.json\");\nconst _temp13 = require(\"./hu-HU.json\");\nconst _temp14 = require(\"./it-IT.json\");\nconst _temp15 = require(\"./ja-JP.json\");\nconst _temp16 = require(\"./ko-KR.json\");\nconst _temp17 = require(\"./lt-LT.json\");\nconst _temp18 = require(\"./lv-LV.json\");\nconst _temp19 = require(\"./nb-NO.json\");\nconst _temp20 = require(\"./nl-NL.json\");\nconst _temp21 = require(\"./pl-PL.json\");\nconst _temp22 = require(\"./pt-BR.json\");\nconst _temp23 = require(\"./pt-PT.json\");\nconst _temp24 = require(\"./ro-RO.json\");\nconst _temp25 = require(\"./ru-RU.json\");\nconst _temp26 = require(\"./sk-SK.json\");\nconst _temp27 = require(\"./sl-SI.json\");\nconst _temp28 = require(\"./sr-SP.json\");\nconst _temp29 = require(\"./sv-SE.json\");\nconst _temp30 = require(\"./tr-TR.json\");\nconst _temp31 = require(\"./uk-UA.json\");\nconst _temp32 = require(\"./zh-CN.json\");\nconst _temp33 = require(\"./zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"Empty\": \"فارغ\"\n}\n","{\n \"Empty\": \"Изпразни\"\n}\n","{\n \"Empty\": \"Prázdné\"\n}\n","{\n \"Empty\": \"Tom\"\n}\n","{\n \"Empty\": \"Leer\"\n}\n","{\n \"Empty\": \"Άδειο\"\n}\n","{\n \"Empty\": \"Empty\"\n}\n","{\n \"Empty\": \"Vacío\"\n}\n","{\n \"Empty\": \"Tühjenda\"\n}\n","{\n \"Empty\": \"Tyhjä\"\n}\n","{\n \"Empty\": \"Vide\"\n}\n","{\n \"Empty\": \"ריק\"\n}\n","{\n \"Empty\": \"Prazno\"\n}\n","{\n \"Empty\": \"Üres\"\n}\n","{\n \"Empty\": \"Vuoto\"\n}\n","{\n \"Empty\": \"空\"\n}\n","{\n \"Empty\": \"비어 있음\"\n}\n","{\n \"Empty\": \"Tuščias\"\n}\n","{\n \"Empty\": \"Tukšs\"\n}\n","{\n \"Empty\": \"Tom\"\n}\n","{\n \"Empty\": \"Leeg\"\n}\n","{\n \"Empty\": \"Pusty\"\n}\n","{\n \"Empty\": \"Vazio\"\n}\n","{\n \"Empty\": \"Vazio\"\n}\n","{\n \"Empty\": \"Gol\"\n}\n","{\n \"Empty\": \"Не заполнено\"\n}\n","{\n \"Empty\": \"Prázdne\"\n}\n","{\n \"Empty\": \"Prazen\"\n}\n","{\n \"Empty\": \"Prazno\"\n}\n","{\n \"Empty\": \"Tomt\"\n}\n","{\n \"Empty\": \"Boş\"\n}\n","{\n \"Empty\": \"Пусто\"\n}\n","{\n \"Empty\": \"空\"\n}\n","{\n \"Empty\": \"空白\"\n}\n"],"names":[],"version":3,"file":"module.js.map"}
|
|
1
|
+
{"mappings":";;;;;;;;AAAA;;;;;;;;;;ACAA;;;;;;;;;;CAUC,GAED;;;AEZA,4BAAiB;IAAG,SAAS,CAAC,IAAI,CAAC;AACnC;;ADDA;;AEAA,4BAAiB;IAAG,SAAS,CAAC,QAAQ,CAAC;AACvC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,OAAO,CAAC;AACtC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,GAAG,CAAC;AAClC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,IAAI,CAAC;AACnC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,KAAK,CAAC;AACpC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,KAAK,CAAC;AACpC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,KAAK,CAAC;AACpC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,QAAQ,CAAC;AACvC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,KAAK,CAAC;AACpC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,IAAI,CAAC;AACnC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,GAAG,CAAC;AAClC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,MAAM,CAAC;AACrC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,IAAI,CAAC;AACnC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,KAAK,CAAC;AACpC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,CAAC,CAAC;AAChC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,KAAK,CAAC;AACpC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,OAAO,CAAC;AACtC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,KAAK,CAAC;AACpC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,GAAG,CAAC;AAClC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,IAAI,CAAC;AACnC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,KAAK,CAAC;AACpC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,KAAK,CAAC;AACpC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,KAAK,CAAC;AACpC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,GAAG,CAAC;AAClC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,YAAY,CAAC;AAC3C;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,OAAO,CAAC;AACtC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,MAAM,CAAC;AACrC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,MAAM,CAAC;AACrC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,IAAI,CAAC;AACnC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,GAAG,CAAC;AAClC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,KAAK,CAAC;AACpC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,CAAC,CAAC;AAChC;;;;ACDA,4BAAiB;IAAG,SAAS,CAAC,EAAE,CAAC;AACjC;;;AlCiCA,4BAAiB;IACf,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;AACX;;;;;;AD/BO,SAAS,0CACd,KAAsB,EACN;IAChB,MAAM,SAAS,CAAA,GAAA,aAAM,AAAD;IACpB,IAAI,SACF,MAAK,aACL,UAAS,YACT,SAAQ,YACR,SAAQ,cACR,WAAU,cACV,WAAU,cACV,WAAU,eACV,YAAW,mBACX,gBAAe,eACf,YAAW,mBACX,gBAAe,oBACf,iBAAgB,oBAChB,iBAAgB,EACjB,GAAG;IACJ,MAAM,kBAAkB,CAAA,GAAA,kCAA0B,EAAE,CAAA,GAAA,yDAAY,OAAD;IAC/D,MAAM,WAAW,CAAA,GAAA,aAAK,EAAE;IACxB,SAAS,OAAO,GAAG;IAEnB,MAAM,aAAa,IAAM,aAAa,OAAO,OAAO;IAEpD,4CAA4C;IAC5C,CAAA,GAAA,gBAAS,AAAD,EAAE,IAAM;QACd,OAAO,IAAM;IACf,GAAG,EAAE;IAEL,IAAI,YAAY,CAAC,IAAM;QACrB,IAAI,EAAE,OAAO,IAAI,EAAE,OAAO,IAAI,EAAE,QAAQ,IAAI,EAAE,MAAM,IAAI,YACtD;QAGF,OAAQ,EAAE,GAAG;YACX,KAAK;gBACH,IAAI,iBAAiB;oBACnB,EAAE,cAAc;oBAChB;oBACA,KAAM;gBACR,CAAC;YACH,eAAe;YACf,KAAK;YACL,KAAK;gBACH,IAAI,aAAa;oBACf,EAAE,cAAc;oBAChB;gBACF,CAAC;gBACD,KAAM;YACR,KAAK;gBACH,IAAI,iBAAiB;oBACnB,EAAE,cAAc;oBAChB;oBACA,KAAM;gBACR,CAAC;YACH,cAAc;YACd,KAAK;YACL,KAAK;gBACH,IAAI,aAAa;oBACf,EAAE,cAAc;oBAChB;gBACF,CAAC;gBACD,KAAM;YACR,KAAK;gBACH,IAAI,kBAAkB;oBACpB,EAAE,cAAc;oBAChB;gBACF,CAAC;gBACD,KAAM;YACR,KAAK;gBACH,IAAI,kBAAkB;oBACpB,EAAE,cAAc;oBAChB;gBACF,CAAC;gBACD,KAAM;QACV;IACF;IAEA,IAAI,YAAY,CAAA,GAAA,aAAK,EAAE,KAAK;IAC5B,IAAI,UAAU,IAAM;QAClB,UAAU,OAAO,GAAG,IAAI;IAC1B;IAEA,IAAI,SAAS,IAAM;QACjB,UAAU,OAAO,GAAG,KAAK;IAC3B;IAEA,kEAAkE;IAClE,8GAA8G;IAC9G,sHAAsH;IACtH,4HAA4H;IAC5H,YAAY,cAAc,KAAK,gBAAgB,MAAM,CAAC,WAAW,AAAC,CAAA,aAAa,CAAC,EAAE,MAAM,CAAC,AAAD,EAAG,OAAO,CAAC,KAAK,IAAS;IAEjH,CAAA,GAAA,gBAAS,AAAD,EAAE,IAAM;QACd,IAAI,UAAU,OAAO,EACnB,CAAA,GAAA,eAAO,EAAE,WAAW;IAExB,GAAG;QAAC;KAAU;IAEd,MAAM,wBAAwB,CAAA,GAAA,kBAAW,AAAD,EACtC,CAAC,mBAA6B;QAC5B;QACA,SAAS,OAAO,CAAC,WAAW;QAC5B,qCAAqC;QACrC,OAAO,OAAO,GAAG,OAAO,UAAU,CAChC,IAAM;YACJ,IAAI,MAAM,aAAa,MAAM,UAAU,QAAQ,UAC7C,sBAAsB;QAE1B,GACA;IAEJ,GACA,uDAAuD;IACvD;QAAC;QAAa;QAAU;KAAM;IAGhC,MAAM,wBAAwB,CAAA,GAAA,kBAAW,AAAD,EACtC,CAAC,mBAA6B;QAC5B;QACA,SAAS,OAAO,CAAC,WAAW;QAC5B,qCAAqC;QACrC,OAAO,OAAO,GAAG,OAAO,UAAU,CAChC,IAAM;YACJ,IAAI,MAAM,aAAa,MAAM,UAAU,QAAQ,UAC7C,sBAAsB;QAE1B,GACA;IAEJ,GACA,uDAAuD;IACvD;QAAC;QAAa;QAAU;KAAM;IAGhC,IAAI,oBAAoB,CAAC,IAAM;QAC7B,EAAE,cAAc;IAClB;IAEA,IAAI,qBAAC,kBAAiB,4BAAE,yBAAwB,EAAC,GAAG,CAAA,GAAA,yBAAiB;IAErE,OAAO;QACL,iBAAiB;YACf,MAAM;YACN,iBAAiB,CAAC,MAAM,SAAS,QAAQ,IAAI;YAC7C,kBAAkB;YAClB,iBAAiB;YACjB,iBAAiB;YACjB,iBAAiB,cAAc,IAAI;YACnC,iBAAiB,cAAc,IAAI;YACnC,iBAAiB,cAAc,IAAI;uBACnC;qBACA;oBACA;QACF;QACA,sBAAsB;YACpB,cAAc,IAAM;gBAClB,sBAAsB;gBACtB,kBAAkB,QAAQ,eAAe;YAC3C;YACA,YAAY,IAAM;gBAChB;gBACA;YACF;qBACA;oBACA;QACF;QACA,sBAAsB;YACpB,cAAc,IAAM;gBAClB,sBAAsB;gBACtB,kBAAkB,QAAQ,eAAe;YAC3C;YACA,YAAY,IAAM;gBAChB;gBACA;YACF;qBACA;oBACA;QACF;IACF;AACF;;CDjNC,GACD","sources":["packages/@react-aria/spinbutton/src/index.ts","packages/@react-aria/spinbutton/src/useSpinButton.ts","packages/@react-aria/spinbutton/intl/*.js","packages/@react-aria/spinbutton/intl/ar-AE.json","packages/@react-aria/spinbutton/intl/bg-BG.json","packages/@react-aria/spinbutton/intl/cs-CZ.json","packages/@react-aria/spinbutton/intl/da-DK.json","packages/@react-aria/spinbutton/intl/de-DE.json","packages/@react-aria/spinbutton/intl/el-GR.json","packages/@react-aria/spinbutton/intl/en-US.json","packages/@react-aria/spinbutton/intl/es-ES.json","packages/@react-aria/spinbutton/intl/et-EE.json","packages/@react-aria/spinbutton/intl/fi-FI.json","packages/@react-aria/spinbutton/intl/fr-FR.json","packages/@react-aria/spinbutton/intl/he-IL.json","packages/@react-aria/spinbutton/intl/hr-HR.json","packages/@react-aria/spinbutton/intl/hu-HU.json","packages/@react-aria/spinbutton/intl/it-IT.json","packages/@react-aria/spinbutton/intl/ja-JP.json","packages/@react-aria/spinbutton/intl/ko-KR.json","packages/@react-aria/spinbutton/intl/lt-LT.json","packages/@react-aria/spinbutton/intl/lv-LV.json","packages/@react-aria/spinbutton/intl/nb-NO.json","packages/@react-aria/spinbutton/intl/nl-NL.json","packages/@react-aria/spinbutton/intl/pl-PL.json","packages/@react-aria/spinbutton/intl/pt-BR.json","packages/@react-aria/spinbutton/intl/pt-PT.json","packages/@react-aria/spinbutton/intl/ro-RO.json","packages/@react-aria/spinbutton/intl/ru-RU.json","packages/@react-aria/spinbutton/intl/sk-SK.json","packages/@react-aria/spinbutton/intl/sl-SI.json","packages/@react-aria/spinbutton/intl/sr-SP.json","packages/@react-aria/spinbutton/intl/sv-SE.json","packages/@react-aria/spinbutton/intl/tr-TR.json","packages/@react-aria/spinbutton/intl/uk-UA.json","packages/@react-aria/spinbutton/intl/zh-CN.json","packages/@react-aria/spinbutton/intl/zh-TW.json"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nexport type {SpinButtonProps, SpinbuttonAria} from './useSpinButton';\nexport {useSpinButton} from './useSpinButton';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {announce} from '@react-aria/live-announcer';\nimport {AriaButtonProps} from '@react-types/button';\nimport {DOMAttributes, InputBase, RangeInputBase, Validation, ValueBase} from '@react-types/shared';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {useCallback, useEffect, useRef} from 'react';\nimport {useGlobalListeners} from '@react-aria/utils';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\n\n\nexport interface SpinButtonProps extends InputBase, Validation, ValueBase<number>, RangeInputBase<number> {\n textValue?: string,\n onIncrement?: () => void,\n onIncrementPage?: () => void,\n onDecrement?: () => void,\n onDecrementPage?: () => void,\n onDecrementToMin?: () => void,\n onIncrementToMax?: () => void\n}\n\nexport interface SpinbuttonAria {\n spinButtonProps: DOMAttributes,\n incrementButtonProps: AriaButtonProps,\n decrementButtonProps: AriaButtonProps\n}\n\nexport function useSpinButton(\n props: SpinButtonProps\n): SpinbuttonAria {\n const _async = useRef<number>();\n let {\n value,\n textValue,\n minValue,\n maxValue,\n isDisabled,\n isReadOnly,\n isRequired,\n onIncrement,\n onIncrementPage,\n onDecrement,\n onDecrementPage,\n onDecrementToMin,\n onIncrementToMax\n } = props;\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n const propsRef = useRef(props);\n propsRef.current = props;\n\n const clearAsync = () => clearTimeout(_async.current);\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => clearAsync();\n }, []);\n\n let onKeyDown = (e) => {\n if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || isReadOnly) {\n return;\n }\n\n switch (e.key) {\n case 'PageUp':\n if (onIncrementPage) {\n e.preventDefault();\n onIncrementPage();\n break;\n }\n // fallthrough!\n case 'ArrowUp':\n case 'Up':\n if (onIncrement) {\n e.preventDefault();\n onIncrement();\n }\n break;\n case 'PageDown':\n if (onDecrementPage) {\n e.preventDefault();\n onDecrementPage();\n break;\n }\n // fallthrough\n case 'ArrowDown':\n case 'Down':\n if (onDecrement) {\n e.preventDefault();\n onDecrement();\n }\n break;\n case 'Home':\n if (onDecrementToMin) {\n e.preventDefault();\n onDecrementToMin();\n }\n break;\n case 'End':\n if (onIncrementToMax) {\n e.preventDefault();\n onIncrementToMax();\n }\n break;\n }\n };\n\n let isFocused = useRef(false);\n let onFocus = () => {\n isFocused.current = true;\n };\n\n let onBlur = () => {\n isFocused.current = false;\n };\n\n // Replace Unicode hyphen-minus (U+002D) with minus sign (U+2212).\n // This ensures that macOS VoiceOver announces it as \"minus\" even with other characters between the minus sign\n // and the number (e.g. currency symbol). Otherwise it announces nothing because it assumes the character is a hyphen.\n // In addition, replace the empty string with the word \"Empty\" so that iOS VoiceOver does not read \"50%\" for an empty field.\n textValue = textValue === '' ? stringFormatter.format('Empty') : (textValue || `${value}`).replace('-', '\\u2212');\n\n useEffect(() => {\n if (isFocused.current) {\n announce(textValue, 'assertive');\n }\n }, [textValue]);\n\n const onIncrementPressStart = useCallback(\n (initialStepDelay: number) => {\n clearAsync();\n propsRef.current.onIncrement();\n // Start spinning after initial delay\n _async.current = window.setTimeout(\n () => {\n if (isNaN(maxValue) || isNaN(value) || value < maxValue) {\n onIncrementPressStart(60);\n }\n },\n initialStepDelay\n );\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onIncrement, maxValue, value]\n );\n\n const onDecrementPressStart = useCallback(\n (initialStepDelay: number) => {\n clearAsync();\n propsRef.current.onDecrement();\n // Start spinning after initial delay\n _async.current = window.setTimeout(\n () => {\n if (isNaN(minValue) || isNaN(value) || value > minValue) {\n onDecrementPressStart(60);\n }\n },\n initialStepDelay\n );\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onDecrement, minValue, value]\n );\n\n let cancelContextMenu = (e) => {\n e.preventDefault();\n };\n\n let {addGlobalListener, removeAllGlobalListeners} = useGlobalListeners();\n\n return {\n spinButtonProps: {\n role: 'spinbutton',\n 'aria-valuenow': !isNaN(value) ? value : null,\n 'aria-valuetext': textValue,\n 'aria-valuemin': minValue,\n 'aria-valuemax': maxValue,\n 'aria-disabled': isDisabled || null,\n 'aria-readonly': isReadOnly || null,\n 'aria-required': isRequired || null,\n onKeyDown,\n onFocus,\n onBlur\n },\n incrementButtonProps: {\n onPressStart: () => {\n onIncrementPressStart(400);\n addGlobalListener(window, 'contextmenu', cancelContextMenu);\n },\n onPressEnd: () => {\n clearAsync();\n removeAllGlobalListeners();\n },\n onFocus,\n onBlur\n },\n decrementButtonProps: {\n onPressStart: () => {\n onDecrementPressStart(400);\n addGlobalListener(window, 'contextmenu', cancelContextMenu);\n },\n onPressEnd: () => {\n clearAsync();\n removeAllGlobalListeners();\n },\n onFocus,\n onBlur\n }\n };\n}\n","const _temp0 = require(\"./ar-AE.json\");\nconst _temp1 = require(\"./bg-BG.json\");\nconst _temp2 = require(\"./cs-CZ.json\");\nconst _temp3 = require(\"./da-DK.json\");\nconst _temp4 = require(\"./de-DE.json\");\nconst _temp5 = require(\"./el-GR.json\");\nconst _temp6 = require(\"./en-US.json\");\nconst _temp7 = require(\"./es-ES.json\");\nconst _temp8 = require(\"./et-EE.json\");\nconst _temp9 = require(\"./fi-FI.json\");\nconst _temp10 = require(\"./fr-FR.json\");\nconst _temp11 = require(\"./he-IL.json\");\nconst _temp12 = require(\"./hr-HR.json\");\nconst _temp13 = require(\"./hu-HU.json\");\nconst _temp14 = require(\"./it-IT.json\");\nconst _temp15 = require(\"./ja-JP.json\");\nconst _temp16 = require(\"./ko-KR.json\");\nconst _temp17 = require(\"./lt-LT.json\");\nconst _temp18 = require(\"./lv-LV.json\");\nconst _temp19 = require(\"./nb-NO.json\");\nconst _temp20 = require(\"./nl-NL.json\");\nconst _temp21 = require(\"./pl-PL.json\");\nconst _temp22 = require(\"./pt-BR.json\");\nconst _temp23 = require(\"./pt-PT.json\");\nconst _temp24 = require(\"./ro-RO.json\");\nconst _temp25 = require(\"./ru-RU.json\");\nconst _temp26 = require(\"./sk-SK.json\");\nconst _temp27 = require(\"./sl-SI.json\");\nconst _temp28 = require(\"./sr-SP.json\");\nconst _temp29 = require(\"./sv-SE.json\");\nconst _temp30 = require(\"./tr-TR.json\");\nconst _temp31 = require(\"./uk-UA.json\");\nconst _temp32 = require(\"./zh-CN.json\");\nconst _temp33 = require(\"./zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"Empty\": \"فارغ\"\n}\n","{\n \"Empty\": \"Изпразни\"\n}\n","{\n \"Empty\": \"Prázdné\"\n}\n","{\n \"Empty\": \"Tom\"\n}\n","{\n \"Empty\": \"Leer\"\n}\n","{\n \"Empty\": \"Άδειο\"\n}\n","{\n \"Empty\": \"Empty\"\n}\n","{\n \"Empty\": \"Vacío\"\n}\n","{\n \"Empty\": \"Tühjenda\"\n}\n","{\n \"Empty\": \"Tyhjä\"\n}\n","{\n \"Empty\": \"Vide\"\n}\n","{\n \"Empty\": \"ריק\"\n}\n","{\n \"Empty\": \"Prazno\"\n}\n","{\n \"Empty\": \"Üres\"\n}\n","{\n \"Empty\": \"Vuoto\"\n}\n","{\n \"Empty\": \"空\"\n}\n","{\n \"Empty\": \"비어 있음\"\n}\n","{\n \"Empty\": \"Tuščias\"\n}\n","{\n \"Empty\": \"Tukšs\"\n}\n","{\n \"Empty\": \"Tom\"\n}\n","{\n \"Empty\": \"Leeg\"\n}\n","{\n \"Empty\": \"Pusty\"\n}\n","{\n \"Empty\": \"Vazio\"\n}\n","{\n \"Empty\": \"Vazio\"\n}\n","{\n \"Empty\": \"Gol\"\n}\n","{\n \"Empty\": \"Не заполнено\"\n}\n","{\n \"Empty\": \"Prázdne\"\n}\n","{\n \"Empty\": \"Prazen\"\n}\n","{\n \"Empty\": \"Prazno\"\n}\n","{\n \"Empty\": \"Tomt\"\n}\n","{\n \"Empty\": \"Boş\"\n}\n","{\n \"Empty\": \"Пусто\"\n}\n","{\n \"Empty\": \"空\"\n}\n","{\n \"Empty\": \"空白\"\n}\n"],"names":[],"version":3,"file":"module.js.map"}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;AAsBA,gCAAiC,SAAQ,SAAS,EAAE,UAAU,EAAE,UAAU,MAAM,CAAC,EAAE,eAAe,MAAM,CAAC;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;CAC9B;AAED;IACE,eAAe,EAAE,aAAa,CAAC;IAC/B,oBAAoB,EAAE,eAAe,CAAC;IACtC,oBAAoB,EAAE,eAAe,CAAA;CACtC;AAED,8BACE,KAAK,EAAE,eAAe,GACrB,cAAc,
|
|
1
|
+
{"mappings":";;AAsBA,gCAAiC,SAAQ,SAAS,EAAE,UAAU,EAAE,UAAU,MAAM,CAAC,EAAE,eAAe,MAAM,CAAC;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;CAC9B;AAED;IACE,eAAe,EAAE,aAAa,CAAC;IAC/B,oBAAoB,EAAE,eAAe,CAAC;IACtC,oBAAoB,EAAE,eAAe,CAAA;CACtC;AAED,8BACE,KAAK,EAAE,eAAe,GACrB,cAAc,CAmLhB","sources":["packages/@react-aria/spinbutton/src/packages/@react-aria/spinbutton/src/useSpinButton.ts","packages/@react-aria/spinbutton/src/packages/@react-aria/spinbutton/src/index.ts","packages/@react-aria/spinbutton/src/index.ts"],"sourcesContent":[null,null,"/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nexport type {SpinButtonProps, SpinbuttonAria} from './useSpinButton';\nexport {useSpinButton} from './useSpinButton';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-aria/spinbutton",
|
|
3
|
-
"version": "3.1
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "Spectrum UI components in React",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/main.js",
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
"url": "https://github.com/adobe/react-spectrum"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@
|
|
21
|
-
"@react-aria/
|
|
22
|
-
"@react-aria/
|
|
23
|
-
"@react-
|
|
24
|
-
"@react-types/
|
|
25
|
-
"@
|
|
20
|
+
"@react-aria/i18n": "^3.6.3",
|
|
21
|
+
"@react-aria/live-announcer": "^3.1.2",
|
|
22
|
+
"@react-aria/utils": "^3.14.2",
|
|
23
|
+
"@react-types/button": "^3.7.0",
|
|
24
|
+
"@react-types/shared": "^3.16.0",
|
|
25
|
+
"@swc/helpers": "^0.4.14"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"publishConfig": {
|
|
32
32
|
"access": "public"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "5480d76bd815e239366f92852c76b6831ad2a4fd"
|
|
35
35
|
}
|
package/src/useSpinButton.ts
CHANGED
|
@@ -150,6 +150,7 @@ export function useSpinButton(
|
|
|
150
150
|
initialStepDelay
|
|
151
151
|
);
|
|
152
152
|
},
|
|
153
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
153
154
|
[onIncrement, maxValue, value]
|
|
154
155
|
);
|
|
155
156
|
|
|
@@ -167,6 +168,7 @@ export function useSpinButton(
|
|
|
167
168
|
initialStepDelay
|
|
168
169
|
);
|
|
169
170
|
},
|
|
171
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
170
172
|
[onDecrement, minValue, value]
|
|
171
173
|
);
|
|
172
174
|
|