@react-aria/spinbutton 3.2.0 → 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 +52 -34
- package/dist/main.js.map +1 -1
- package/dist/module.js +52 -34
- package/dist/module.js.map +1 -1
- package/package.json +7 -7
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,13 +345,13 @@ 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
|
|
@@ -346,7 +364,7 @@ function $37bbd4c129023f61$export$e908e06f4b8e3402(props) {
|
|
|
346
364
|
maxValue,
|
|
347
365
|
value
|
|
348
366
|
]);
|
|
349
|
-
const onDecrementPressStart = $2BLaI$react.useCallback((initialStepDelay)=>{
|
|
367
|
+
const onDecrementPressStart = (0, $2BLaI$react.useCallback)((initialStepDelay)=>{
|
|
350
368
|
clearAsync();
|
|
351
369
|
propsRef.current.onDecrement();
|
|
352
370
|
// Start spinning after initial delay
|
|
@@ -362,17 +380,17 @@ function $37bbd4c129023f61$export$e908e06f4b8e3402(props) {
|
|
|
362
380
|
let cancelContextMenu = (e)=>{
|
|
363
381
|
e.preventDefault();
|
|
364
382
|
};
|
|
365
|
-
let { addGlobalListener: addGlobalListener , removeAllGlobalListeners: removeAllGlobalListeners } = $2BLaI$reactariautils.useGlobalListeners();
|
|
383
|
+
let { addGlobalListener: addGlobalListener , removeAllGlobalListeners: removeAllGlobalListeners } = (0, $2BLaI$reactariautils.useGlobalListeners)();
|
|
366
384
|
return {
|
|
367
385
|
spinButtonProps: {
|
|
368
|
-
role:
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
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,
|
|
376
394
|
onKeyDown: onKeyDown,
|
|
377
395
|
onFocus: onFocus,
|
|
378
396
|
onBlur: onBlur
|
|
@@ -380,7 +398,7 @@ function $37bbd4c129023f61$export$e908e06f4b8e3402(props) {
|
|
|
380
398
|
incrementButtonProps: {
|
|
381
399
|
onPressStart: ()=>{
|
|
382
400
|
onIncrementPressStart(400);
|
|
383
|
-
addGlobalListener(window,
|
|
401
|
+
addGlobalListener(window, "contextmenu", cancelContextMenu);
|
|
384
402
|
},
|
|
385
403
|
onPressEnd: ()=>{
|
|
386
404
|
clearAsync();
|
|
@@ -392,7 +410,7 @@ function $37bbd4c129023f61$export$e908e06f4b8e3402(props) {
|
|
|
392
410
|
decrementButtonProps: {
|
|
393
411
|
onPressStart: ()=>{
|
|
394
412
|
onDecrementPressStart(400);
|
|
395
|
-
addGlobalListener(window,
|
|
413
|
+
addGlobalListener(window, "contextmenu", cancelContextMenu);
|
|
396
414
|
},
|
|
397
415
|
onPressEnd: ()=>{
|
|
398
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 // 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"}
|
|
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,13 +340,13 @@ 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
|
|
@@ -341,7 +359,7 @@ function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
|
|
|
341
359
|
maxValue,
|
|
342
360
|
value
|
|
343
361
|
]);
|
|
344
|
-
const onDecrementPressStart = $glIEW$useCallback((initialStepDelay)=>{
|
|
362
|
+
const onDecrementPressStart = (0, $glIEW$useCallback)((initialStepDelay)=>{
|
|
345
363
|
clearAsync();
|
|
346
364
|
propsRef.current.onDecrement();
|
|
347
365
|
// Start spinning after initial delay
|
|
@@ -357,17 +375,17 @@ function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
|
|
|
357
375
|
let cancelContextMenu = (e)=>{
|
|
358
376
|
e.preventDefault();
|
|
359
377
|
};
|
|
360
|
-
let { addGlobalListener: addGlobalListener , removeAllGlobalListeners: removeAllGlobalListeners } = $glIEW$useGlobalListeners();
|
|
378
|
+
let { addGlobalListener: addGlobalListener , removeAllGlobalListeners: removeAllGlobalListeners } = (0, $glIEW$useGlobalListeners)();
|
|
361
379
|
return {
|
|
362
380
|
spinButtonProps: {
|
|
363
|
-
role:
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
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,
|
|
371
389
|
onKeyDown: onKeyDown,
|
|
372
390
|
onFocus: onFocus,
|
|
373
391
|
onBlur: onBlur
|
|
@@ -375,7 +393,7 @@ function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
|
|
|
375
393
|
incrementButtonProps: {
|
|
376
394
|
onPressStart: ()=>{
|
|
377
395
|
onIncrementPressStart(400);
|
|
378
|
-
addGlobalListener(window,
|
|
396
|
+
addGlobalListener(window, "contextmenu", cancelContextMenu);
|
|
379
397
|
},
|
|
380
398
|
onPressEnd: ()=>{
|
|
381
399
|
clearAsync();
|
|
@@ -387,7 +405,7 @@ function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
|
|
|
387
405
|
decrementButtonProps: {
|
|
388
406
|
onPressStart: ()=>{
|
|
389
407
|
onDecrementPressStart(400);
|
|
390
|
-
addGlobalListener(window,
|
|
408
|
+
addGlobalListener(window, "contextmenu", cancelContextMenu);
|
|
391
409
|
},
|
|
392
410
|
onPressEnd: ()=>{
|
|
393
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 // 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"}
|
|
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":"module.js.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-aria/spinbutton",
|
|
3
|
-
"version": "3.2.
|
|
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-aria/utils": "^3.14.1",
|
|
20
|
+
"@react-aria/i18n": "^3.6.3",
|
|
21
|
+
"@react-aria/live-announcer": "^3.1.2",
|
|
22
|
+
"@react-aria/utils": "^3.14.2",
|
|
24
23
|
"@react-types/button": "^3.7.0",
|
|
25
|
-
"@react-types/shared": "^3.16.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
|
}
|