@jobber/components 7.1.2-CLEANUPru-6f79eb6.8 → 7.1.2
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/InputNumber/index.cjs +1090 -1277
- package/dist/InputNumber/index.mjs +1092 -1279
- package/dist/Menu/Menu.d.ts +1 -1
- package/dist/Menu-cjs.js +6513 -6667
- package/dist/Menu-es.js +6516 -6670
- package/dist/RecurringSelect/index.cjs +0 -1
- package/dist/RecurringSelect/index.mjs +0 -1
- package/dist/Text-cjs2.js +1484 -1694
- package/dist/Text-es2.js +1420 -1626
- package/package.json +2 -2
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var tslib_es6 = require('../tslib.es6-cjs.js');
|
|
5
5
|
var Text = require('../Text-cjs2.js');
|
|
6
|
-
var ReactDOM = require('react-dom');
|
|
7
6
|
var classnames = require('classnames');
|
|
8
7
|
var Icon = require('../Icon-cjs.js');
|
|
9
8
|
var Text$1 = require('../Text-cjs.js');
|
|
@@ -21,50 +20,8 @@ require('../InputValidation-cjs.js');
|
|
|
21
20
|
require('../Spinner-cjs.js');
|
|
22
21
|
require('react-router-dom');
|
|
23
22
|
|
|
24
|
-
function $0c4a58759813079a$export$4e328f61c538687f(props = {}) {
|
|
25
|
-
let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;
|
|
26
|
-
let state = (React.useRef)({
|
|
27
|
-
isFocused: false,
|
|
28
|
-
isFocusVisible: autoFocus || (Text.$8f5a2122b0992be3$export$b9b3dfddab17db27)()
|
|
29
|
-
});
|
|
30
|
-
let [isFocused, setFocused] = (React.useState)(false);
|
|
31
|
-
let [isFocusVisibleState, setFocusVisible] = (React.useState)(()=>state.current.isFocused && state.current.isFocusVisible);
|
|
32
|
-
let updateState = (React.useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);
|
|
33
|
-
let onFocusChange = (React.useCallback)((isFocused)=>{
|
|
34
|
-
state.current.isFocused = isFocused;
|
|
35
|
-
state.current.isFocusVisible = (Text.$8f5a2122b0992be3$export$b9b3dfddab17db27)();
|
|
36
|
-
setFocused(isFocused);
|
|
37
|
-
updateState();
|
|
38
|
-
}, [
|
|
39
|
-
updateState
|
|
40
|
-
]);
|
|
41
|
-
(Text.$8f5a2122b0992be3$export$ec71b4b83ac08ec3)((isFocusVisible)=>{
|
|
42
|
-
state.current.isFocusVisible = isFocusVisible;
|
|
43
|
-
updateState();
|
|
44
|
-
}, [
|
|
45
|
-
isTextInput,
|
|
46
|
-
isFocused
|
|
47
|
-
], {
|
|
48
|
-
enabled: isFocused,
|
|
49
|
-
isTextInput: isTextInput
|
|
50
|
-
});
|
|
51
|
-
let { focusProps: focusProps } = (Text.$1e74c67db218ce67$export$f8168d8dd8fd66e6)({
|
|
52
|
-
isDisabled: within,
|
|
53
|
-
onFocusChange: onFocusChange
|
|
54
|
-
});
|
|
55
|
-
let { focusWithinProps: focusWithinProps } = (Text.$2c9edc598a03d523$export$420e68273165f4ec)({
|
|
56
|
-
isDisabled: !within,
|
|
57
|
-
onFocusWithinChange: onFocusChange
|
|
58
|
-
});
|
|
59
|
-
return {
|
|
60
|
-
isFocused: isFocused,
|
|
61
|
-
isFocusVisible: isFocusVisibleState,
|
|
62
|
-
focusProps: within ? focusWithinProps : focusProps
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
|
|
66
23
|
/*
|
|
67
|
-
* Copyright
|
|
24
|
+
* Copyright 2023 Adobe. All rights reserved.
|
|
68
25
|
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
69
26
|
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
70
27
|
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
@@ -75,19 +32,22 @@ function $0c4a58759813079a$export$4e328f61c538687f(props = {}) {
|
|
|
75
32
|
* governing permissions and limitations under the License.
|
|
76
33
|
*/
|
|
77
34
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
[props, ref] = (Text.$7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $43a3b93638fe5db9$export$75b6ee27786ba447);
|
|
82
|
-
let { elementType: elementType = 'label', ...labelProps } = props;
|
|
83
|
-
let ElementType = (Text.$7230ffa83bc0c2cf$export$df3a06d6289f983e)[elementType];
|
|
84
|
-
// @ts-ignore
|
|
85
|
-
return /*#__PURE__*/ (React).createElement(ElementType, {
|
|
86
|
-
className: "react-aria-Label",
|
|
87
|
-
...labelProps,
|
|
88
|
-
ref: ref
|
|
35
|
+
function $99facab73266f662$export$5add1d006293d136(ref, initialValue, onReset) {
|
|
36
|
+
let handleReset = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
|
|
37
|
+
if (onReset) onReset(initialValue);
|
|
89
38
|
});
|
|
90
|
-
|
|
39
|
+
(React.useEffect)(()=>{
|
|
40
|
+
var _ref_current;
|
|
41
|
+
let form = ref === null || ref === void 0 ? void 0 : (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.form;
|
|
42
|
+
form === null || form === void 0 ? void 0 : form.addEventListener('reset', handleReset);
|
|
43
|
+
return ()=>{
|
|
44
|
+
form === null || form === void 0 ? void 0 : form.removeEventListener('reset', handleReset);
|
|
45
|
+
};
|
|
46
|
+
}, [
|
|
47
|
+
ref,
|
|
48
|
+
handleReset
|
|
49
|
+
]);
|
|
50
|
+
}
|
|
91
51
|
|
|
92
52
|
/*
|
|
93
53
|
* Copyright 2020 Adobe. All rights reserved.
|
|
@@ -99,29 +59,97 @@ const $43a3b93638fe5db9$export$b04be29aa201d4f5 = /*#__PURE__*/ (Text.$d7f64c32b
|
|
|
99
59
|
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
100
60
|
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
101
61
|
* governing permissions and limitations under the License.
|
|
102
|
-
*/
|
|
103
|
-
|
|
104
|
-
function $
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
62
|
+
*/ /* Inspired by https://github.com/AlmeroSteyn/react-aria-live */ const $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY = 7000;
|
|
63
|
+
let $319e236875307eab$var$liveAnnouncer = null;
|
|
64
|
+
function $319e236875307eab$export$a9b970dcc4ae71a9(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {
|
|
65
|
+
if (!$319e236875307eab$var$liveAnnouncer) {
|
|
66
|
+
$319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();
|
|
67
|
+
// wait for the live announcer regions to be added to the dom, then announce
|
|
68
|
+
// otherwise Safari won't announce the message if it's added too quickly
|
|
69
|
+
// found most times less than 100ms were not consistent when announcing with Safari
|
|
70
|
+
// IS_REACT_ACT_ENVIRONMENT is used by React 18. Previous versions checked for the `jest` global.
|
|
71
|
+
// https://github.com/reactwg/react-18/discussions/102
|
|
72
|
+
// if we're in a test environment, announce without waiting
|
|
73
|
+
// @ts-ignore
|
|
74
|
+
if (!(typeof IS_REACT_ACT_ENVIRONMENT === 'boolean' ? IS_REACT_ACT_ENVIRONMENT : typeof jest !== 'undefined')) setTimeout(()=>{
|
|
75
|
+
if ($319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.isAttached()) $319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
|
|
76
|
+
}, 100);
|
|
77
|
+
else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
|
|
78
|
+
} else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
|
|
79
|
+
}
|
|
80
|
+
function $319e236875307eab$export$d10ae4f68404609a(assertiveness) {
|
|
81
|
+
if ($319e236875307eab$var$liveAnnouncer) $319e236875307eab$var$liveAnnouncer.clear(assertiveness);
|
|
82
|
+
}
|
|
83
|
+
// LiveAnnouncer is implemented using vanilla DOM, not React. That's because as of React 18
|
|
84
|
+
// ReactDOM.render is deprecated, and the replacement, ReactDOM.createRoot is moved into a
|
|
85
|
+
// subpath import `react-dom/client`. That makes it hard for us to support multiple React versions.
|
|
86
|
+
// As a global API, we can't use portals without introducing a breaking API change. LiveAnnouncer
|
|
87
|
+
// is simple enough to implement without React, so that's what we do here.
|
|
88
|
+
// See this discussion for more details: https://github.com/reactwg/react-18/discussions/125#discussioncomment-2382638
|
|
89
|
+
class $319e236875307eab$var$LiveAnnouncer {
|
|
90
|
+
isAttached() {
|
|
91
|
+
var _this_node;
|
|
92
|
+
return (_this_node = this.node) === null || _this_node === void 0 ? void 0 : _this_node.isConnected;
|
|
93
|
+
}
|
|
94
|
+
createLog(ariaLive) {
|
|
95
|
+
let node = document.createElement('div');
|
|
96
|
+
node.setAttribute('role', 'log');
|
|
97
|
+
node.setAttribute('aria-live', ariaLive);
|
|
98
|
+
node.setAttribute('aria-relevant', 'additions');
|
|
99
|
+
return node;
|
|
100
|
+
}
|
|
101
|
+
destroy() {
|
|
102
|
+
if (!this.node) return;
|
|
103
|
+
document.body.removeChild(this.node);
|
|
104
|
+
this.node = null;
|
|
105
|
+
}
|
|
106
|
+
announce(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {
|
|
107
|
+
var _this_assertiveLog, _this_politeLog;
|
|
108
|
+
if (!this.node) return;
|
|
109
|
+
let node = document.createElement('div');
|
|
110
|
+
if (typeof message === 'object') {
|
|
111
|
+
// To read an aria-labelledby, the element must have an appropriate role, such as img.
|
|
112
|
+
node.setAttribute('role', 'img');
|
|
113
|
+
node.setAttribute('aria-labelledby', message['aria-labelledby']);
|
|
114
|
+
} else node.textContent = message;
|
|
115
|
+
if (assertiveness === 'assertive') (_this_assertiveLog = this.assertiveLog) === null || _this_assertiveLog === void 0 ? void 0 : _this_assertiveLog.appendChild(node);
|
|
116
|
+
else (_this_politeLog = this.politeLog) === null || _this_politeLog === void 0 ? void 0 : _this_politeLog.appendChild(node);
|
|
117
|
+
if (message !== '') setTimeout(()=>{
|
|
118
|
+
node.remove();
|
|
119
|
+
}, timeout);
|
|
120
|
+
}
|
|
121
|
+
clear(assertiveness) {
|
|
122
|
+
if (!this.node) return;
|
|
123
|
+
if ((!assertiveness || assertiveness === 'assertive') && this.assertiveLog) this.assertiveLog.innerHTML = '';
|
|
124
|
+
if ((!assertiveness || assertiveness === 'polite') && this.politeLog) this.politeLog.innerHTML = '';
|
|
125
|
+
}
|
|
126
|
+
constructor(){
|
|
127
|
+
this.node = null;
|
|
128
|
+
this.assertiveLog = null;
|
|
129
|
+
this.politeLog = null;
|
|
130
|
+
if (typeof document !== 'undefined') {
|
|
131
|
+
this.node = document.createElement('div');
|
|
132
|
+
this.node.dataset.liveAnnouncer = 'true';
|
|
133
|
+
// copied from VisuallyHidden
|
|
134
|
+
Object.assign(this.node.style, {
|
|
135
|
+
border: 0,
|
|
136
|
+
clip: 'rect(0 0 0 0)',
|
|
137
|
+
clipPath: 'inset(50%)',
|
|
138
|
+
height: '1px',
|
|
139
|
+
margin: '-1px',
|
|
140
|
+
overflow: 'hidden',
|
|
141
|
+
padding: 0,
|
|
142
|
+
position: 'absolute',
|
|
143
|
+
width: '1px',
|
|
144
|
+
whiteSpace: 'nowrap'
|
|
145
|
+
});
|
|
146
|
+
this.assertiveLog = this.createLog('assertive');
|
|
147
|
+
this.node.appendChild(this.assertiveLog);
|
|
148
|
+
this.politeLog = this.createLog('polite');
|
|
149
|
+
this.node.appendChild(this.politeLog);
|
|
150
|
+
document.body.prepend(this.node);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
125
153
|
}
|
|
126
154
|
|
|
127
155
|
/*
|
|
@@ -134,17 +162,17 @@ function $0beb20c9744a2065$export$8467354a121f1b9f(props) {
|
|
|
134
162
|
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
135
163
|
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
136
164
|
* governing permissions and limitations under the License.
|
|
137
|
-
*/ let $
|
|
138
|
-
let $
|
|
165
|
+
*/ let $488c6ddbf4ef74c2$var$formatterCache = new Map();
|
|
166
|
+
let $488c6ddbf4ef74c2$var$supportsSignDisplay = false;
|
|
139
167
|
try {
|
|
140
|
-
$
|
|
168
|
+
$488c6ddbf4ef74c2$var$supportsSignDisplay = new Intl.NumberFormat('de-DE', {
|
|
141
169
|
signDisplay: 'exceptZero'
|
|
142
170
|
}).resolvedOptions().signDisplay === 'exceptZero';
|
|
143
171
|
// eslint-disable-next-line no-empty
|
|
144
172
|
} catch {}
|
|
145
|
-
let $
|
|
173
|
+
let $488c6ddbf4ef74c2$var$supportsUnit = false;
|
|
146
174
|
try {
|
|
147
|
-
$
|
|
175
|
+
$488c6ddbf4ef74c2$var$supportsUnit = new Intl.NumberFormat('de-DE', {
|
|
148
176
|
style: 'unit',
|
|
149
177
|
unit: 'degree'
|
|
150
178
|
}).resolvedOptions().style === 'unit';
|
|
@@ -153,7 +181,7 @@ try {
|
|
|
153
181
|
// Polyfill for units since Safari doesn't support them yet. See https://bugs.webkit.org/show_bug.cgi?id=215438.
|
|
154
182
|
// Currently only polyfilling the unit degree in narrow format for ColorSlider in our supported locales.
|
|
155
183
|
// Values were determined by switching to each locale manually in Chrome.
|
|
156
|
-
const $
|
|
184
|
+
const $488c6ddbf4ef74c2$var$UNITS = {
|
|
157
185
|
degree: {
|
|
158
186
|
narrow: {
|
|
159
187
|
default: "\xb0",
|
|
@@ -163,19 +191,16 @@ const $1dfb119a85e764e5$var$UNITS = {
|
|
|
163
191
|
}
|
|
164
192
|
}
|
|
165
193
|
};
|
|
166
|
-
class $
|
|
167
|
-
constructor(locale, options = {}){
|
|
168
|
-
this.numberFormatter = $1dfb119a85e764e5$var$getCachedNumberFormatter(locale, options);
|
|
169
|
-
this.options = options;
|
|
170
|
-
}
|
|
194
|
+
class $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5 {
|
|
171
195
|
/** Formats a number value as a string, according to the locale and options provided to the constructor. */ format(value) {
|
|
172
196
|
let res = '';
|
|
173
|
-
if (!$
|
|
197
|
+
if (!$488c6ddbf4ef74c2$var$supportsSignDisplay && this.options.signDisplay != null) res = $488c6ddbf4ef74c2$export$711b50b3c525e0f2(this.numberFormatter, this.options.signDisplay, value);
|
|
174
198
|
else res = this.numberFormatter.format(value);
|
|
175
|
-
if (this.options.style === 'unit' && !$
|
|
199
|
+
if (this.options.style === 'unit' && !$488c6ddbf4ef74c2$var$supportsUnit) {
|
|
200
|
+
var _UNITS_unit;
|
|
176
201
|
let { unit: unit, unitDisplay: unitDisplay = 'short', locale: locale } = this.resolvedOptions();
|
|
177
202
|
if (!unit) return res;
|
|
178
|
-
let values = $
|
|
203
|
+
let values = (_UNITS_unit = $488c6ddbf4ef74c2$var$UNITS[unit]) === null || _UNITS_unit === void 0 ? void 0 : _UNITS_unit[unitDisplay];
|
|
179
204
|
res += values[locale] || values.default;
|
|
180
205
|
}
|
|
181
206
|
return res;
|
|
@@ -213,11 +238,11 @@ class $1dfb119a85e764e5$export$cc77c4ff7e8673c5 {
|
|
|
213
238
|
}
|
|
214
239
|
/** Returns the resolved formatting options based on the values passed to the constructor. */ resolvedOptions() {
|
|
215
240
|
let options = this.numberFormatter.resolvedOptions();
|
|
216
|
-
if (!$
|
|
241
|
+
if (!$488c6ddbf4ef74c2$var$supportsSignDisplay && this.options.signDisplay != null) options = {
|
|
217
242
|
...options,
|
|
218
243
|
signDisplay: this.options.signDisplay
|
|
219
244
|
};
|
|
220
|
-
if (!$
|
|
245
|
+
if (!$488c6ddbf4ef74c2$var$supportsUnit && this.options.style === 'unit') options = {
|
|
221
246
|
...options,
|
|
222
247
|
style: 'unit',
|
|
223
248
|
unit: this.options.unit,
|
|
@@ -225,29 +250,34 @@ class $1dfb119a85e764e5$export$cc77c4ff7e8673c5 {
|
|
|
225
250
|
};
|
|
226
251
|
return options;
|
|
227
252
|
}
|
|
253
|
+
constructor(locale, options = {}){
|
|
254
|
+
this.numberFormatter = $488c6ddbf4ef74c2$var$getCachedNumberFormatter(locale, options);
|
|
255
|
+
this.options = options;
|
|
256
|
+
}
|
|
228
257
|
}
|
|
229
|
-
function $
|
|
258
|
+
function $488c6ddbf4ef74c2$var$getCachedNumberFormatter(locale, options = {}) {
|
|
230
259
|
let { numberingSystem: numberingSystem } = options;
|
|
231
260
|
if (numberingSystem && locale.includes('-nu-')) {
|
|
232
261
|
if (!locale.includes('-u-')) locale += '-u-';
|
|
233
262
|
locale += `-nu-${numberingSystem}`;
|
|
234
263
|
}
|
|
235
|
-
if (options.style === 'unit' && !$
|
|
264
|
+
if (options.style === 'unit' && !$488c6ddbf4ef74c2$var$supportsUnit) {
|
|
265
|
+
var _UNITS_unit;
|
|
236
266
|
let { unit: unit, unitDisplay: unitDisplay = 'short' } = options;
|
|
237
267
|
if (!unit) throw new Error('unit option must be provided with style: "unit"');
|
|
238
|
-
if (
|
|
268
|
+
if (!((_UNITS_unit = $488c6ddbf4ef74c2$var$UNITS[unit]) === null || _UNITS_unit === void 0 ? void 0 : _UNITS_unit[unitDisplay])) throw new Error(`Unsupported unit ${unit} with unitDisplay = ${unitDisplay}`);
|
|
239
269
|
options = {
|
|
240
270
|
...options,
|
|
241
271
|
style: 'decimal'
|
|
242
272
|
};
|
|
243
273
|
}
|
|
244
274
|
let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : '');
|
|
245
|
-
if ($
|
|
275
|
+
if ($488c6ddbf4ef74c2$var$formatterCache.has(cacheKey)) return $488c6ddbf4ef74c2$var$formatterCache.get(cacheKey);
|
|
246
276
|
let numberFormatter = new Intl.NumberFormat(locale, options);
|
|
247
|
-
$
|
|
277
|
+
$488c6ddbf4ef74c2$var$formatterCache.set(cacheKey, numberFormatter);
|
|
248
278
|
return numberFormatter;
|
|
249
279
|
}
|
|
250
|
-
function $
|
|
280
|
+
function $488c6ddbf4ef74c2$export$711b50b3c525e0f2(numberFormat, signDisplay, num) {
|
|
251
281
|
if (signDisplay === 'auto') return numberFormat.format(num);
|
|
252
282
|
else if (signDisplay === 'never') return numberFormat.format(Math.abs(num));
|
|
253
283
|
else {
|
|
@@ -282,8 +312,8 @@ function $1dfb119a85e764e5$export$711b50b3c525e0f2(numberFormat, signDisplay, nu
|
|
|
282
312
|
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
283
313
|
* governing permissions and limitations under the License.
|
|
284
314
|
*/
|
|
285
|
-
const $
|
|
286
|
-
const $
|
|
315
|
+
const $6c7bd7858deea686$var$CURRENCY_SIGN_REGEX = new RegExp('^.*\\(.*\\).*$');
|
|
316
|
+
const $6c7bd7858deea686$var$NUMBERING_SYSTEMS = [
|
|
287
317
|
'latn',
|
|
288
318
|
'arab',
|
|
289
319
|
'hanidec',
|
|
@@ -291,81 +321,62 @@ const $eb76cf4feb040f77$var$NUMBERING_SYSTEMS = [
|
|
|
291
321
|
'beng',
|
|
292
322
|
'fullwide'
|
|
293
323
|
];
|
|
294
|
-
class $
|
|
295
|
-
constructor(locale, options = {}){
|
|
296
|
-
this.locale = locale;
|
|
297
|
-
this.options = options;
|
|
298
|
-
}
|
|
324
|
+
class $6c7bd7858deea686$export$cd11ab140839f11d {
|
|
299
325
|
/**
|
|
300
326
|
* Parses the given string to a number. Returns NaN if a valid number could not be parsed.
|
|
301
327
|
*/ parse(value) {
|
|
302
|
-
return $
|
|
328
|
+
return $6c7bd7858deea686$var$getNumberParserImpl(this.locale, this.options, value).parse(value);
|
|
303
329
|
}
|
|
304
330
|
/**
|
|
305
331
|
* Returns whether the given string could potentially be a valid number. This should be used to
|
|
306
332
|
* validate user input as the user types. If a `minValue` or `maxValue` is provided, the validity
|
|
307
333
|
* of the minus/plus sign characters can be checked.
|
|
308
334
|
*/ isValidPartialNumber(value, minValue, maxValue) {
|
|
309
|
-
return $
|
|
335
|
+
return $6c7bd7858deea686$var$getNumberParserImpl(this.locale, this.options, value).isValidPartialNumber(value, minValue, maxValue);
|
|
310
336
|
}
|
|
311
337
|
/**
|
|
312
338
|
* Returns a numbering system for which the given string is valid in the current locale.
|
|
313
339
|
* If no numbering system could be detected, the default numbering system for the current
|
|
314
340
|
* locale is returned.
|
|
315
341
|
*/ getNumberingSystem(value) {
|
|
316
|
-
return $
|
|
342
|
+
return $6c7bd7858deea686$var$getNumberParserImpl(this.locale, this.options, value).options.numberingSystem;
|
|
343
|
+
}
|
|
344
|
+
constructor(locale, options = {}){
|
|
345
|
+
this.locale = locale;
|
|
346
|
+
this.options = options;
|
|
317
347
|
}
|
|
318
348
|
}
|
|
319
|
-
const $
|
|
320
|
-
function $
|
|
349
|
+
const $6c7bd7858deea686$var$numberParserCache = new Map();
|
|
350
|
+
function $6c7bd7858deea686$var$getNumberParserImpl(locale, options, value) {
|
|
321
351
|
// First try the default numbering system for the provided locale
|
|
322
|
-
let defaultParser = $
|
|
352
|
+
let defaultParser = $6c7bd7858deea686$var$getCachedNumberParser(locale, options);
|
|
323
353
|
// If that doesn't match, and the locale doesn't include a hard coded numbering system,
|
|
324
354
|
// try each of the other supported numbering systems until we find one that matches.
|
|
325
355
|
if (!locale.includes('-nu-') && !defaultParser.isValidPartialNumber(value)) {
|
|
326
|
-
for (let numberingSystem of $
|
|
327
|
-
let parser = $
|
|
356
|
+
for (let numberingSystem of $6c7bd7858deea686$var$NUMBERING_SYSTEMS)if (numberingSystem !== defaultParser.options.numberingSystem) {
|
|
357
|
+
let parser = $6c7bd7858deea686$var$getCachedNumberParser(locale + (locale.includes('-u-') ? '-nu-' : '-u-nu-') + numberingSystem, options);
|
|
328
358
|
if (parser.isValidPartialNumber(value)) return parser;
|
|
329
359
|
}
|
|
330
360
|
}
|
|
331
361
|
return defaultParser;
|
|
332
362
|
}
|
|
333
|
-
function $
|
|
363
|
+
function $6c7bd7858deea686$var$getCachedNumberParser(locale, options) {
|
|
334
364
|
let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : '');
|
|
335
|
-
let parser = $
|
|
365
|
+
let parser = $6c7bd7858deea686$var$numberParserCache.get(cacheKey);
|
|
336
366
|
if (!parser) {
|
|
337
|
-
parser = new $
|
|
338
|
-
$
|
|
367
|
+
parser = new $6c7bd7858deea686$var$NumberParserImpl(locale, options);
|
|
368
|
+
$6c7bd7858deea686$var$numberParserCache.set(cacheKey, parser);
|
|
339
369
|
}
|
|
340
370
|
return parser;
|
|
341
371
|
}
|
|
342
372
|
// The actual number parser implementation. Instances of this class are cached
|
|
343
373
|
// based on the locale, options, and detected numbering system.
|
|
344
|
-
class $
|
|
345
|
-
constructor(locale, options = {}){
|
|
346
|
-
this.locale = locale;
|
|
347
|
-
// see https://tc39.es/ecma402/#sec-setnfdigitoptions, when using roundingIncrement, the maximumFractionDigits and minimumFractionDigits must be equal
|
|
348
|
-
// by default, they are 0 and 3 respectively, so we set them to 0 if neither are set
|
|
349
|
-
if (options.roundingIncrement !== 1 && options.roundingIncrement != null) {
|
|
350
|
-
if (options.maximumFractionDigits == null && options.minimumFractionDigits == null) {
|
|
351
|
-
options.maximumFractionDigits = 0;
|
|
352
|
-
options.minimumFractionDigits = 0;
|
|
353
|
-
} else if (options.maximumFractionDigits == null) options.maximumFractionDigits = options.minimumFractionDigits;
|
|
354
|
-
else if (options.minimumFractionDigits == null) options.minimumFractionDigits = options.maximumFractionDigits;
|
|
355
|
-
// if both are specified, let the normal Range Error be thrown
|
|
356
|
-
}
|
|
357
|
-
this.formatter = new Intl.NumberFormat(locale, options);
|
|
358
|
-
this.options = this.formatter.resolvedOptions();
|
|
359
|
-
this.symbols = $eb76cf4feb040f77$var$getSymbols(locale, this.formatter, this.options, options);
|
|
360
|
-
if (this.options.style === 'percent' && ((this.options.minimumFractionDigits ?? 0) > 18 || (this.options.maximumFractionDigits ?? 0) > 18)) console.warn('NumberParser cannot handle percentages with greater than 18 decimal places, please reduce the number in your options.');
|
|
361
|
-
}
|
|
374
|
+
class $6c7bd7858deea686$var$NumberParserImpl {
|
|
362
375
|
parse(value) {
|
|
363
|
-
let isGroupSymbolAllowed = this.formatter.resolvedOptions().useGrouping;
|
|
364
376
|
// to parse the number, we need to remove anything that isn't actually part of the number, for example we want '-10.40' not '-10.40 USD'
|
|
365
377
|
let fullySanitizedValue = this.sanitize(value);
|
|
366
|
-
//
|
|
367
|
-
|
|
368
|
-
else if (this.symbols.group) fullySanitizedValue = fullySanitizedValue.replaceAll(this.symbols.group, '');
|
|
378
|
+
if (this.symbols.group) // Remove group characters, and replace decimal points and numerals with ASCII values.
|
|
379
|
+
fullySanitizedValue = $6c7bd7858deea686$var$replaceAll(fullySanitizedValue, this.symbols.group, '');
|
|
369
380
|
if (this.symbols.decimal) fullySanitizedValue = fullySanitizedValue.replace(this.symbols.decimal, '.');
|
|
370
381
|
if (this.symbols.minusSign) fullySanitizedValue = fullySanitizedValue.replace(this.symbols.minusSign, '-');
|
|
371
382
|
fullySanitizedValue = fullySanitizedValue.replace(this.symbols.numeral, this.symbols.index);
|
|
@@ -386,24 +397,22 @@ class $eb76cf4feb040f77$var$NumberParserImpl {
|
|
|
386
397
|
let newValue = fullySanitizedValue ? +fullySanitizedValue : NaN;
|
|
387
398
|
if (isNaN(newValue)) return NaN;
|
|
388
399
|
if (this.options.style === 'percent') {
|
|
400
|
+
var _this_options_minimumFractionDigits, _this_options_maximumFractionDigits;
|
|
389
401
|
// extra step for rounding percents to what our formatter would output
|
|
390
402
|
let options = {
|
|
391
403
|
...this.options,
|
|
392
404
|
style: 'decimal',
|
|
393
|
-
minimumFractionDigits: Math.min((this.options.minimumFractionDigits
|
|
394
|
-
maximumFractionDigits: Math.min((this.options.maximumFractionDigits
|
|
405
|
+
minimumFractionDigits: Math.min(((_this_options_minimumFractionDigits = this.options.minimumFractionDigits) !== null && _this_options_minimumFractionDigits !== void 0 ? _this_options_minimumFractionDigits : 0) + 2, 20),
|
|
406
|
+
maximumFractionDigits: Math.min(((_this_options_maximumFractionDigits = this.options.maximumFractionDigits) !== null && _this_options_maximumFractionDigits !== void 0 ? _this_options_maximumFractionDigits : 0) + 2, 20)
|
|
395
407
|
};
|
|
396
|
-
return new $
|
|
408
|
+
return new $6c7bd7858deea686$export$cd11ab140839f11d(this.locale, options).parse(new ($488c6ddbf4ef74c2$export$cc77c4ff7e8673c5)(this.locale, options).format(newValue));
|
|
397
409
|
}
|
|
398
410
|
// accounting will always be stripped to a positive number, so if it's accounting and has a () around everything, then we need to make it negative again
|
|
399
|
-
if (this.options.currencySign === 'accounting' && $
|
|
411
|
+
if (this.options.currencySign === 'accounting' && $6c7bd7858deea686$var$CURRENCY_SIGN_REGEX.test(value)) newValue = -1 * newValue;
|
|
400
412
|
return newValue;
|
|
401
413
|
}
|
|
402
414
|
sanitize(value) {
|
|
403
|
-
|
|
404
|
-
// If the value is only a unit and it matches one of the formatted numbers where the value is part of the unit and doesn't have any numerals, then
|
|
405
|
-
// return the known value for that case.
|
|
406
|
-
if (this.symbols.noNumeralUnits.length > 0 && this.symbols.noNumeralUnits.find((obj)=>obj.unit === value)) return this.symbols.noNumeralUnits.find((obj)=>obj.unit === value).value.toString();
|
|
415
|
+
// Remove literals and whitespace, which are allowed anywhere in the string
|
|
407
416
|
value = value.replace(this.symbols.literals, '');
|
|
408
417
|
// Replace the ASCII minus sign with the minus sign used in the current locale
|
|
409
418
|
// so that both are allowed in case the user's keyboard doesn't have the locale's minus sign.
|
|
@@ -412,39 +421,58 @@ class $eb76cf4feb040f77$var$NumberParserImpl {
|
|
|
412
421
|
// instead they use the , (44) character or apparently the (1548) character.
|
|
413
422
|
if (this.options.numberingSystem === 'arab') {
|
|
414
423
|
if (this.symbols.decimal) {
|
|
415
|
-
value =
|
|
416
|
-
value =
|
|
424
|
+
value = value.replace(',', this.symbols.decimal);
|
|
425
|
+
value = value.replace(String.fromCharCode(1548), this.symbols.decimal);
|
|
417
426
|
}
|
|
418
|
-
if (this.symbols.group
|
|
427
|
+
if (this.symbols.group) value = $6c7bd7858deea686$var$replaceAll(value, '.', this.symbols.group);
|
|
419
428
|
}
|
|
420
429
|
// In some locale styles, such as swiss currency, the group character can be a special single quote
|
|
421
430
|
// that keyboards don't typically have. This expands the character to include the easier to type single quote.
|
|
422
|
-
if (this.symbols.group === "\u2019" && value.includes("'")
|
|
431
|
+
if (this.symbols.group === "\u2019" && value.includes("'")) value = $6c7bd7858deea686$var$replaceAll(value, "'", this.symbols.group);
|
|
423
432
|
// fr-FR group character is narrow non-breaking space, char code 8239 (U+202F), but that's not a key on the french keyboard,
|
|
424
433
|
// so allow space and non-breaking space as a group char as well
|
|
425
|
-
if (this.options.locale === 'fr-FR' && this.symbols.group
|
|
426
|
-
value = $
|
|
427
|
-
value = $
|
|
434
|
+
if (this.options.locale === 'fr-FR' && this.symbols.group) {
|
|
435
|
+
value = $6c7bd7858deea686$var$replaceAll(value, ' ', this.symbols.group);
|
|
436
|
+
value = $6c7bd7858deea686$var$replaceAll(value, /\u00A0/g, this.symbols.group);
|
|
428
437
|
}
|
|
429
438
|
return value;
|
|
430
439
|
}
|
|
431
440
|
isValidPartialNumber(value, minValue = -Infinity, maxValue = Infinity) {
|
|
432
|
-
let isGroupSymbolAllowed = this.formatter.resolvedOptions().useGrouping;
|
|
433
441
|
value = this.sanitize(value);
|
|
434
442
|
// Remove minus or plus sign, which must be at the start of the string.
|
|
435
443
|
if (this.symbols.minusSign && value.startsWith(this.symbols.minusSign) && minValue < 0) value = value.slice(this.symbols.minusSign.length);
|
|
436
444
|
else if (this.symbols.plusSign && value.startsWith(this.symbols.plusSign) && maxValue > 0) value = value.slice(this.symbols.plusSign.length);
|
|
445
|
+
// Numbers cannot start with a group separator
|
|
446
|
+
if (this.symbols.group && value.startsWith(this.symbols.group)) return false;
|
|
437
447
|
// Numbers that can't have any decimal values fail if a decimal character is typed
|
|
438
448
|
if (this.symbols.decimal && value.indexOf(this.symbols.decimal) > -1 && this.options.maximumFractionDigits === 0) return false;
|
|
439
449
|
// Remove numerals, groups, and decimals
|
|
440
|
-
if (this.symbols.group
|
|
450
|
+
if (this.symbols.group) value = $6c7bd7858deea686$var$replaceAll(value, this.symbols.group, '');
|
|
441
451
|
value = value.replace(this.symbols.numeral, '');
|
|
442
452
|
if (this.symbols.decimal) value = value.replace(this.symbols.decimal, '');
|
|
443
453
|
// The number is valid if there are no remaining characters
|
|
444
454
|
return value.length === 0;
|
|
445
455
|
}
|
|
456
|
+
constructor(locale, options = {}){
|
|
457
|
+
this.locale = locale;
|
|
458
|
+
// see https://tc39.es/ecma402/#sec-setnfdigitoptions, when using roundingIncrement, the maximumFractionDigits and minimumFractionDigits must be equal
|
|
459
|
+
// by default, they are 0 and 3 respectively, so we set them to 0 if neither are set
|
|
460
|
+
if (options.roundingIncrement !== 1 && options.roundingIncrement != null) {
|
|
461
|
+
if (options.maximumFractionDigits == null && options.minimumFractionDigits == null) {
|
|
462
|
+
options.maximumFractionDigits = 0;
|
|
463
|
+
options.minimumFractionDigits = 0;
|
|
464
|
+
} else if (options.maximumFractionDigits == null) options.maximumFractionDigits = options.minimumFractionDigits;
|
|
465
|
+
else if (options.minimumFractionDigits == null) options.minimumFractionDigits = options.maximumFractionDigits;
|
|
466
|
+
// if both are specified, let the normal Range Error be thrown
|
|
467
|
+
}
|
|
468
|
+
this.formatter = new Intl.NumberFormat(locale, options);
|
|
469
|
+
this.options = this.formatter.resolvedOptions();
|
|
470
|
+
this.symbols = $6c7bd7858deea686$var$getSymbols(locale, this.formatter, this.options, options);
|
|
471
|
+
var _this_options_minimumFractionDigits, _this_options_maximumFractionDigits;
|
|
472
|
+
if (this.options.style === 'percent' && (((_this_options_minimumFractionDigits = this.options.minimumFractionDigits) !== null && _this_options_minimumFractionDigits !== void 0 ? _this_options_minimumFractionDigits : 0) > 18 || ((_this_options_maximumFractionDigits = this.options.maximumFractionDigits) !== null && _this_options_maximumFractionDigits !== void 0 ? _this_options_maximumFractionDigits : 0) > 18)) console.warn('NumberParser cannot handle percentages with greater than 18 decimal places, please reduce the number in your options.');
|
|
473
|
+
}
|
|
446
474
|
}
|
|
447
|
-
const $
|
|
475
|
+
const $6c7bd7858deea686$var$nonLiteralParts = new Set([
|
|
448
476
|
'decimal',
|
|
449
477
|
'fraction',
|
|
450
478
|
'integer',
|
|
@@ -455,7 +483,7 @@ const $eb76cf4feb040f77$var$nonLiteralParts = new Set([
|
|
|
455
483
|
// This list is derived from https://www.unicode.org/cldr/charts/43/supplemental/language_plural_rules.html#comparison and includes
|
|
456
484
|
// all unique numbers which we need to check in order to determine all the plural forms for a given locale.
|
|
457
485
|
// See: https://github.com/adobe/react-spectrum/pull/5134/files#r1337037855 for used script
|
|
458
|
-
const $
|
|
486
|
+
const $6c7bd7858deea686$var$pluralNumbers = [
|
|
459
487
|
0,
|
|
460
488
|
4,
|
|
461
489
|
2,
|
|
@@ -469,7 +497,8 @@ const $eb76cf4feb040f77$var$pluralNumbers = [
|
|
|
469
497
|
0.1,
|
|
470
498
|
1.1
|
|
471
499
|
];
|
|
472
|
-
function $
|
|
500
|
+
function $6c7bd7858deea686$var$getSymbols(locale, formatter, intlOptions, originalOptions) {
|
|
501
|
+
var _allParts_find, _posAllParts_find, _decimalParts_find, _allParts_find1;
|
|
473
502
|
// formatter needs access to all decimal places in order to generate the correct literal strings for the plural set
|
|
474
503
|
let symbolFormatter = new Intl.NumberFormat(locale, {
|
|
475
504
|
...intlOptions,
|
|
@@ -478,27 +507,18 @@ function $eb76cf4feb040f77$var$getSymbols(locale, formatter, intlOptions, origin
|
|
|
478
507
|
maximumSignificantDigits: 21,
|
|
479
508
|
roundingIncrement: 1,
|
|
480
509
|
roundingPriority: 'auto',
|
|
481
|
-
roundingMode: 'halfExpand'
|
|
482
|
-
useGrouping: true
|
|
510
|
+
roundingMode: 'halfExpand'
|
|
483
511
|
});
|
|
484
512
|
// Note: some locale's don't add a group symbol until there is a ten thousands place
|
|
485
513
|
let allParts = symbolFormatter.formatToParts(-10000.111);
|
|
486
514
|
let posAllParts = symbolFormatter.formatToParts(10000.111);
|
|
487
|
-
let pluralParts = $
|
|
488
|
-
|
|
489
|
-
let
|
|
490
|
-
|
|
491
|
-
if (unit && !p.some((p)=>p.type === 'integer' || p.type === 'fraction')) return {
|
|
492
|
-
unit: unit.value,
|
|
493
|
-
value: $eb76cf4feb040f77$var$pluralNumbers[i]
|
|
494
|
-
};
|
|
495
|
-
return null;
|
|
496
|
-
}).filter((p)=>!!p);
|
|
497
|
-
let minusSign = allParts.find((p)=>p.type === 'minusSign')?.value ?? '-';
|
|
498
|
-
let plusSign = posAllParts.find((p)=>p.type === 'plusSign')?.value;
|
|
515
|
+
let pluralParts = $6c7bd7858deea686$var$pluralNumbers.map((n)=>symbolFormatter.formatToParts(n));
|
|
516
|
+
var _allParts_find_value;
|
|
517
|
+
let minusSign = (_allParts_find_value = (_allParts_find = allParts.find((p)=>p.type === 'minusSign')) === null || _allParts_find === void 0 ? void 0 : _allParts_find.value) !== null && _allParts_find_value !== void 0 ? _allParts_find_value : '-';
|
|
518
|
+
let plusSign = (_posAllParts_find = posAllParts.find((p)=>p.type === 'plusSign')) === null || _posAllParts_find === void 0 ? void 0 : _posAllParts_find.value;
|
|
499
519
|
// Safari does not support the signDisplay option, but our number parser polyfills it.
|
|
500
520
|
// If no plus sign was returned, but the original options contained signDisplay, default to the '+' character.
|
|
501
|
-
if (!plusSign && (originalOptions
|
|
521
|
+
if (!plusSign && ((originalOptions === null || originalOptions === void 0 ? void 0 : originalOptions.signDisplay) === 'exceptZero' || (originalOptions === null || originalOptions === void 0 ? void 0 : originalOptions.signDisplay) === 'always')) plusSign = '+';
|
|
502
522
|
// If maximumSignificantDigits is 1 (the minimum) then we won't get decimal characters out of the above formatters
|
|
503
523
|
// Percent also defaults to 0 fractionDigits, so we need to make a new one that isn't percent to get an accurate decimal
|
|
504
524
|
let decimalParts = new Intl.NumberFormat(locale, {
|
|
@@ -506,20 +526,19 @@ function $eb76cf4feb040f77$var$getSymbols(locale, formatter, intlOptions, origin
|
|
|
506
526
|
minimumFractionDigits: 2,
|
|
507
527
|
maximumFractionDigits: 2
|
|
508
528
|
}).formatToParts(0.001);
|
|
509
|
-
let decimal = decimalParts.find((p)=>p.type === 'decimal')
|
|
510
|
-
let group = allParts.find((p)=>p.type === 'group')
|
|
529
|
+
let decimal = (_decimalParts_find = decimalParts.find((p)=>p.type === 'decimal')) === null || _decimalParts_find === void 0 ? void 0 : _decimalParts_find.value;
|
|
530
|
+
let group = (_allParts_find1 = allParts.find((p)=>p.type === 'group')) === null || _allParts_find1 === void 0 ? void 0 : _allParts_find1.value;
|
|
511
531
|
// this set is also for a regex, it's all literals that might be in the string we want to eventually parse that
|
|
512
532
|
// don't contribute to the numerical value
|
|
513
|
-
let allPartsLiterals = allParts.filter((p)=>!$
|
|
514
|
-
let pluralPartsLiterals = pluralParts.flatMap((p)=>p.filter((p)=>!$
|
|
533
|
+
let allPartsLiterals = allParts.filter((p)=>!$6c7bd7858deea686$var$nonLiteralParts.has(p.type)).map((p)=>$6c7bd7858deea686$var$escapeRegex(p.value));
|
|
534
|
+
let pluralPartsLiterals = pluralParts.flatMap((p)=>p.filter((p)=>!$6c7bd7858deea686$var$nonLiteralParts.has(p.type)).map((p)=>$6c7bd7858deea686$var$escapeRegex(p.value)));
|
|
515
535
|
let sortedLiterals = [
|
|
516
536
|
...new Set([
|
|
517
537
|
...allPartsLiterals,
|
|
518
538
|
...pluralPartsLiterals
|
|
519
539
|
])
|
|
520
540
|
].sort((a, b)=>b.length - a.length);
|
|
521
|
-
|
|
522
|
-
let literals = sortedLiterals.length === 0 ? new RegExp('\\p{White_Space}|\\p{Cf}', 'gu') : new RegExp(`${sortedLiterals.join('|')}|\\p{White_Space}|\\p{Cf}`, 'gu');
|
|
541
|
+
let literals = sortedLiterals.length === 0 ? new RegExp('[\\p{White_Space}]', 'gu') : new RegExp(`${sortedLiterals.join('|')}|[\\p{White_Space}]`, 'gu');
|
|
523
542
|
// These are for replacing non-latn characters with the latn equivalent
|
|
524
543
|
let numerals = [
|
|
525
544
|
...new Intl.NumberFormat(intlOptions.locale, {
|
|
@@ -539,16 +558,14 @@ function $eb76cf4feb040f77$var$getSymbols(locale, formatter, intlOptions, origin
|
|
|
539
558
|
group: group,
|
|
540
559
|
literals: literals,
|
|
541
560
|
numeral: numeral,
|
|
542
|
-
|
|
543
|
-
index: index,
|
|
544
|
-
noNumeralUnits: noNumeralUnits
|
|
561
|
+
index: index
|
|
545
562
|
};
|
|
546
563
|
}
|
|
547
|
-
function $
|
|
564
|
+
function $6c7bd7858deea686$var$replaceAll(str, find, replace) {
|
|
548
565
|
if (str.replaceAll) return str.replaceAll(find, replace);
|
|
549
566
|
return str.split(find).join(replace);
|
|
550
567
|
}
|
|
551
|
-
function $
|
|
568
|
+
function $6c7bd7858deea686$var$escapeRegex(string) {
|
|
552
569
|
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
553
570
|
}
|
|
554
571
|
|
|
@@ -565,16 +582,16 @@ function $eb76cf4feb040f77$var$escapeRegex(string) {
|
|
|
565
582
|
*/
|
|
566
583
|
|
|
567
584
|
|
|
568
|
-
function $
|
|
569
|
-
let { locale: locale } = (Text.$
|
|
570
|
-
return (React.useMemo)(()=>new ($
|
|
585
|
+
function $a916eb452884faea$export$b7a616150fdb9f44(options = {}) {
|
|
586
|
+
let { locale: locale } = (Text.$18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
|
|
587
|
+
return (React.useMemo)(()=>new ($488c6ddbf4ef74c2$export$cc77c4ff7e8673c5)(locale, options), [
|
|
571
588
|
locale,
|
|
572
589
|
options
|
|
573
590
|
]);
|
|
574
591
|
}
|
|
575
592
|
|
|
576
593
|
/*
|
|
577
|
-
* Copyright
|
|
594
|
+
* Copyright 2021 Adobe. All rights reserved.
|
|
578
595
|
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
579
596
|
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
580
597
|
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
@@ -583,99 +600,65 @@ function $bd90acf18e792be6$export$b7a616150fdb9f44(options = {}) {
|
|
|
583
600
|
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
584
601
|
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
585
602
|
* governing permissions and limitations under the License.
|
|
586
|
-
*/
|
|
587
|
-
|
|
588
|
-
function $
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
//
|
|
592
|
-
|
|
593
|
-
//
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
+
*/
|
|
604
|
+
|
|
605
|
+
function $7d0a636d7a4dcefd$export$2123ff2b87c81ca(props, ref) {
|
|
606
|
+
let { onScroll: onScroll, isDisabled: isDisabled } = props;
|
|
607
|
+
let onScrollHandler = (React.useCallback)((e)=>{
|
|
608
|
+
// If the ctrlKey is pressed, this is a zoom event, do nothing.
|
|
609
|
+
if (e.ctrlKey) return;
|
|
610
|
+
// stop scrolling the page
|
|
611
|
+
e.preventDefault();
|
|
612
|
+
e.stopPropagation();
|
|
613
|
+
if (onScroll) onScroll({
|
|
614
|
+
deltaX: e.deltaX,
|
|
615
|
+
deltaY: e.deltaY
|
|
616
|
+
});
|
|
617
|
+
}, [
|
|
618
|
+
onScroll
|
|
619
|
+
]);
|
|
620
|
+
(Text.$e9faafb641e167db$export$90fc3a17d93f704c)(ref, 'wheel', isDisabled ? undefined : onScrollHandler);
|
|
603
621
|
}
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
}
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
}
|
|
641
|
-
isAttached() {
|
|
642
|
-
return this.node?.isConnected;
|
|
643
|
-
}
|
|
644
|
-
createLog(ariaLive) {
|
|
645
|
-
let node = document.createElement('div');
|
|
646
|
-
node.setAttribute('role', 'log');
|
|
647
|
-
node.setAttribute('aria-live', ariaLive);
|
|
648
|
-
node.setAttribute('aria-relevant', 'additions');
|
|
649
|
-
return node;
|
|
650
|
-
}
|
|
651
|
-
destroy() {
|
|
652
|
-
if (!this.node) return;
|
|
653
|
-
document.body.removeChild(this.node);
|
|
654
|
-
this.node = null;
|
|
655
|
-
}
|
|
656
|
-
announce(message, assertiveness = 'assertive', timeout = $a46cf152bb926da5$var$LIVEREGION_TIMEOUT_DELAY) {
|
|
657
|
-
if (!this.node) return;
|
|
658
|
-
let node = document.createElement('div');
|
|
659
|
-
if (typeof message === 'object') {
|
|
660
|
-
// To read an aria-labelledby, the element must have an appropriate role, such as img.
|
|
661
|
-
node.setAttribute('role', 'img');
|
|
662
|
-
node.setAttribute('aria-labelledby', message['aria-labelledby']);
|
|
663
|
-
} else node.textContent = message;
|
|
664
|
-
if (assertiveness === 'assertive') this.assertiveLog?.appendChild(node);
|
|
665
|
-
else this.politeLog?.appendChild(node);
|
|
666
|
-
if (message !== '') setTimeout(()=>{
|
|
667
|
-
node.remove();
|
|
668
|
-
}, timeout);
|
|
669
|
-
}
|
|
670
|
-
clear(assertiveness) {
|
|
671
|
-
if (!this.node) return;
|
|
672
|
-
if ((!assertiveness || assertiveness === 'assertive') && this.assertiveLog) this.assertiveLog.innerHTML = '';
|
|
673
|
-
if ((!assertiveness || assertiveness === 'polite') && this.politeLog) this.politeLog.innerHTML = '';
|
|
674
|
-
}
|
|
622
|
+
|
|
623
|
+
function $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {
|
|
624
|
+
let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;
|
|
625
|
+
let state = (React.useRef)({
|
|
626
|
+
isFocused: false,
|
|
627
|
+
isFocusVisible: autoFocus || (Text.$507fabe10e71c6fb$export$b9b3dfddab17db27)()
|
|
628
|
+
});
|
|
629
|
+
let [isFocused, setFocused] = (React.useState)(false);
|
|
630
|
+
let [isFocusVisibleState, setFocusVisible] = (React.useState)(()=>state.current.isFocused && state.current.isFocusVisible);
|
|
631
|
+
let updateState = (React.useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);
|
|
632
|
+
let onFocusChange = (React.useCallback)((isFocused)=>{
|
|
633
|
+
state.current.isFocused = isFocused;
|
|
634
|
+
setFocused(isFocused);
|
|
635
|
+
updateState();
|
|
636
|
+
}, [
|
|
637
|
+
updateState
|
|
638
|
+
]);
|
|
639
|
+
(Text.$507fabe10e71c6fb$export$ec71b4b83ac08ec3)((isFocusVisible)=>{
|
|
640
|
+
state.current.isFocusVisible = isFocusVisible;
|
|
641
|
+
updateState();
|
|
642
|
+
}, [], {
|
|
643
|
+
isTextInput: isTextInput
|
|
644
|
+
});
|
|
645
|
+
let { focusProps: focusProps } = (Text.$a1ea59d68270f0dd$export$f8168d8dd8fd66e6)({
|
|
646
|
+
isDisabled: within,
|
|
647
|
+
onFocusChange: onFocusChange
|
|
648
|
+
});
|
|
649
|
+
let { focusWithinProps: focusWithinProps } = (Text.$9ab94262bd0047c7$export$420e68273165f4ec)({
|
|
650
|
+
isDisabled: !within,
|
|
651
|
+
onFocusWithinChange: onFocusChange
|
|
652
|
+
});
|
|
653
|
+
return {
|
|
654
|
+
isFocused: isFocused,
|
|
655
|
+
isFocusVisible: isFocusVisibleState,
|
|
656
|
+
focusProps: within ? focusWithinProps : focusProps
|
|
657
|
+
};
|
|
675
658
|
}
|
|
676
659
|
|
|
677
660
|
/*
|
|
678
|
-
* Copyright
|
|
661
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
679
662
|
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
680
663
|
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
681
664
|
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
@@ -685,20 +668,31 @@ class $a46cf152bb926da5$var$LiveAnnouncer {
|
|
|
685
668
|
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
686
669
|
* governing permissions and limitations under the License.
|
|
687
670
|
*/
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
671
|
+
function $d191a55c9702f145$export$8467354a121f1b9f(props) {
|
|
672
|
+
let { id: id, label: label, 'aria-labelledby': ariaLabelledby, 'aria-label': ariaLabel, labelElementType: labelElementType = 'label' } = props;
|
|
673
|
+
id = (Text.$bdb11010cef70236$export$f680877a34711e37)(id);
|
|
674
|
+
let labelId = (Text.$bdb11010cef70236$export$f680877a34711e37)();
|
|
675
|
+
let labelProps = {};
|
|
676
|
+
if (label) {
|
|
677
|
+
ariaLabelledby = ariaLabelledby ? `${labelId} ${ariaLabelledby}` : labelId;
|
|
678
|
+
labelProps = {
|
|
679
|
+
id: labelId,
|
|
680
|
+
htmlFor: labelElementType === 'label' ? id : undefined
|
|
681
|
+
};
|
|
682
|
+
} else if (!ariaLabelledby && !ariaLabel && process.env.NODE_ENV !== 'production') console.warn('If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility');
|
|
683
|
+
let fieldProps = (Text.$313b98861ee5dd6c$export$d6875122194c7b44)({
|
|
684
|
+
id: id,
|
|
685
|
+
'aria-label': ariaLabel,
|
|
686
|
+
'aria-labelledby': ariaLabelledby
|
|
687
|
+
});
|
|
688
|
+
return {
|
|
689
|
+
labelProps: labelProps,
|
|
690
|
+
fieldProps: fieldProps
|
|
691
|
+
};
|
|
692
|
+
}
|
|
699
693
|
|
|
700
694
|
/*
|
|
701
|
-
* Copyright
|
|
695
|
+
* Copyright 2021 Adobe. All rights reserved.
|
|
702
696
|
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
703
697
|
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
704
698
|
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
@@ -709,38 +703,40 @@ const $7705c033048f6da7$export$24d547caef80ccd1 = /*#__PURE__*/ (React.createCon
|
|
|
709
703
|
* governing permissions and limitations under the License.
|
|
710
704
|
*/
|
|
711
705
|
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
});
|
|
735
|
-
if (renderProps.children == null) return null;
|
|
736
|
-
return /*#__PURE__*/ (React).createElement((Text.$efe09c6d1c304b50$export$5f1af8db9871e1d6), {
|
|
737
|
-
slot: "errorMessage",
|
|
738
|
-
elementType: elementType,
|
|
739
|
-
...domProps,
|
|
740
|
-
...renderProps,
|
|
741
|
-
ref: ref
|
|
706
|
+
function $2baaea4c71418dea$export$294aa081a6c6f55d(props) {
|
|
707
|
+
let { description: description, errorMessage: errorMessage, isInvalid: isInvalid, validationState: validationState } = props;
|
|
708
|
+
let { labelProps: labelProps, fieldProps: fieldProps } = ($d191a55c9702f145$export$8467354a121f1b9f)(props);
|
|
709
|
+
let descriptionId = (Text.$bdb11010cef70236$export$b4cc09c592e8fdb8)([
|
|
710
|
+
Boolean(description),
|
|
711
|
+
Boolean(errorMessage),
|
|
712
|
+
isInvalid,
|
|
713
|
+
validationState
|
|
714
|
+
]);
|
|
715
|
+
let errorMessageId = (Text.$bdb11010cef70236$export$b4cc09c592e8fdb8)([
|
|
716
|
+
Boolean(description),
|
|
717
|
+
Boolean(errorMessage),
|
|
718
|
+
isInvalid,
|
|
719
|
+
validationState
|
|
720
|
+
]);
|
|
721
|
+
fieldProps = (Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(fieldProps, {
|
|
722
|
+
'aria-describedby': [
|
|
723
|
+
descriptionId,
|
|
724
|
+
// Use aria-describedby for error message because aria-errormessage is unsupported using VoiceOver or NVDA. See https://github.com/adobe/react-spectrum/issues/1346#issuecomment-740136268
|
|
725
|
+
errorMessageId,
|
|
726
|
+
props['aria-describedby']
|
|
727
|
+
].filter(Boolean).join(' ') || undefined
|
|
742
728
|
});
|
|
743
|
-
|
|
729
|
+
return {
|
|
730
|
+
labelProps: labelProps,
|
|
731
|
+
fieldProps: fieldProps,
|
|
732
|
+
descriptionProps: {
|
|
733
|
+
id: descriptionId
|
|
734
|
+
},
|
|
735
|
+
errorMessageProps: {
|
|
736
|
+
id: errorMessageId
|
|
737
|
+
}
|
|
738
|
+
};
|
|
739
|
+
}
|
|
744
740
|
|
|
745
741
|
/*
|
|
746
742
|
* Copyright 2023 Adobe. All rights reserved.
|
|
@@ -753,7 +749,7 @@ const $1f3c3b1a70cec653$var$FieldErrorInner = /*#__PURE__*/ (React.forwardRef)((
|
|
|
753
749
|
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
754
750
|
* governing permissions and limitations under the License.
|
|
755
751
|
*/
|
|
756
|
-
const $
|
|
752
|
+
const $e5be200c675c3b3a$export$aca958c65c314e6c = {
|
|
757
753
|
badInput: false,
|
|
758
754
|
customError: false,
|
|
759
755
|
patternMismatch: false,
|
|
@@ -766,22 +762,22 @@ const $fd2148440a13ec26$export$aca958c65c314e6c = {
|
|
|
766
762
|
valueMissing: false,
|
|
767
763
|
valid: true
|
|
768
764
|
};
|
|
769
|
-
const $
|
|
770
|
-
...$
|
|
765
|
+
const $e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE = {
|
|
766
|
+
...$e5be200c675c3b3a$export$aca958c65c314e6c,
|
|
771
767
|
customError: true,
|
|
772
768
|
valid: false
|
|
773
769
|
};
|
|
774
|
-
const $
|
|
770
|
+
const $e5be200c675c3b3a$export$dad6ae84456c676a = {
|
|
775
771
|
isInvalid: false,
|
|
776
|
-
validationDetails: $
|
|
772
|
+
validationDetails: $e5be200c675c3b3a$export$aca958c65c314e6c,
|
|
777
773
|
validationErrors: []
|
|
778
774
|
};
|
|
779
|
-
const $
|
|
780
|
-
const $
|
|
781
|
-
function $
|
|
775
|
+
const $e5be200c675c3b3a$export$571b5131b7e65c11 = (React.createContext)({});
|
|
776
|
+
const $e5be200c675c3b3a$export$a763b9476acd3eb = '__formValidationState' + Date.now();
|
|
777
|
+
function $e5be200c675c3b3a$export$fc1a364ae1f3ff10(props) {
|
|
782
778
|
// Private prop for parent components to pass state to children.
|
|
783
|
-
if (props[$
|
|
784
|
-
let { realtimeValidation: realtimeValidation, displayValidation: displayValidation, updateValidation: updateValidation, resetValidation: resetValidation, commitValidation: commitValidation } = props[$
|
|
779
|
+
if (props[$e5be200c675c3b3a$export$a763b9476acd3eb]) {
|
|
780
|
+
let { realtimeValidation: realtimeValidation, displayValidation: displayValidation, updateValidation: updateValidation, resetValidation: resetValidation, commitValidation: commitValidation } = props[$e5be200c675c3b3a$export$a763b9476acd3eb];
|
|
785
781
|
return {
|
|
786
782
|
realtimeValidation: realtimeValidation,
|
|
787
783
|
displayValidation: displayValidation,
|
|
@@ -791,32 +787,32 @@ function $fd2148440a13ec26$export$fc1a364ae1f3ff10(props) {
|
|
|
791
787
|
};
|
|
792
788
|
}
|
|
793
789
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
794
|
-
return $
|
|
790
|
+
return $e5be200c675c3b3a$var$useFormValidationStateImpl(props);
|
|
795
791
|
}
|
|
796
|
-
function $
|
|
792
|
+
function $e5be200c675c3b3a$var$useFormValidationStateImpl(props) {
|
|
797
793
|
let { isInvalid: isInvalid, validationState: validationState, name: name, value: value, builtinValidation: builtinValidation, validate: validate, validationBehavior: validationBehavior = 'aria' } = props;
|
|
798
794
|
// backward compatibility.
|
|
799
|
-
if (validationState) isInvalid
|
|
795
|
+
if (validationState) isInvalid || (isInvalid = validationState === 'invalid');
|
|
800
796
|
// If the isInvalid prop is controlled, update validation result in realtime.
|
|
801
797
|
let controlledError = isInvalid !== undefined ? {
|
|
802
798
|
isInvalid: isInvalid,
|
|
803
799
|
validationErrors: [],
|
|
804
|
-
validationDetails: $
|
|
800
|
+
validationDetails: $e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE
|
|
805
801
|
} : null;
|
|
806
802
|
// Perform custom client side validation.
|
|
807
803
|
let clientError = (React.useMemo)(()=>{
|
|
808
804
|
if (!validate || value == null) return null;
|
|
809
|
-
let validateErrors = $
|
|
810
|
-
return $
|
|
805
|
+
let validateErrors = $e5be200c675c3b3a$var$runValidate(validate, value);
|
|
806
|
+
return $e5be200c675c3b3a$var$getValidationResult(validateErrors);
|
|
811
807
|
}, [
|
|
812
808
|
validate,
|
|
813
809
|
value
|
|
814
810
|
]);
|
|
815
|
-
if (builtinValidation
|
|
811
|
+
if (builtinValidation === null || builtinValidation === void 0 ? void 0 : builtinValidation.validationDetails.valid) builtinValidation = undefined;
|
|
816
812
|
// Get relevant server errors from the form.
|
|
817
|
-
let serverErrors = (React.useContext)($
|
|
813
|
+
let serverErrors = (React.useContext)($e5be200c675c3b3a$export$571b5131b7e65c11);
|
|
818
814
|
let serverErrorMessages = (React.useMemo)(()=>{
|
|
819
|
-
if (name) return Array.isArray(name) ? name.flatMap((name)=>$
|
|
815
|
+
if (name) return Array.isArray(name) ? name.flatMap((name)=>$e5be200c675c3b3a$var$asArray(serverErrors[name])) : $e5be200c675c3b3a$var$asArray(serverErrors[name]);
|
|
820
816
|
return [];
|
|
821
817
|
}, [
|
|
822
818
|
serverErrors,
|
|
@@ -829,19 +825,19 @@ function $fd2148440a13ec26$var$useFormValidationStateImpl(props) {
|
|
|
829
825
|
setLastServerErrors(serverErrors);
|
|
830
826
|
setServerErrorCleared(false);
|
|
831
827
|
}
|
|
832
|
-
let serverError = (React.useMemo)(()=>$
|
|
828
|
+
let serverError = (React.useMemo)(()=>$e5be200c675c3b3a$var$getValidationResult(isServerErrorCleared ? [] : serverErrorMessages), [
|
|
833
829
|
isServerErrorCleared,
|
|
834
830
|
serverErrorMessages
|
|
835
831
|
]);
|
|
836
832
|
// Track the next validation state in a ref until commitValidation is called.
|
|
837
|
-
let nextValidation = (React.useRef)($
|
|
838
|
-
let [currentValidity, setCurrentValidity] = (React.useState)($
|
|
839
|
-
let lastError = (React.useRef)($
|
|
833
|
+
let nextValidation = (React.useRef)($e5be200c675c3b3a$export$dad6ae84456c676a);
|
|
834
|
+
let [currentValidity, setCurrentValidity] = (React.useState)($e5be200c675c3b3a$export$dad6ae84456c676a);
|
|
835
|
+
let lastError = (React.useRef)($e5be200c675c3b3a$export$dad6ae84456c676a);
|
|
840
836
|
let commitValidation = ()=>{
|
|
841
837
|
if (!commitQueued) return;
|
|
842
838
|
setCommitQueued(false);
|
|
843
839
|
let error = clientError || builtinValidation || nextValidation.current;
|
|
844
|
-
if (!$
|
|
840
|
+
if (!$e5be200c675c3b3a$var$isEqualValidation(error, lastError.current)) {
|
|
845
841
|
lastError.current = error;
|
|
846
842
|
setCurrentValidity(error);
|
|
847
843
|
}
|
|
@@ -851,21 +847,21 @@ function $fd2148440a13ec26$var$useFormValidationStateImpl(props) {
|
|
|
851
847
|
// realtimeValidation is used to update the native input element's state based on custom validation logic.
|
|
852
848
|
// displayValidation is the currently displayed validation state that the user sees (e.g. on input change/form submit).
|
|
853
849
|
// With validationBehavior="aria", all errors are displayed in realtime rather than on submit.
|
|
854
|
-
let realtimeValidation = controlledError || serverError || clientError || builtinValidation || $
|
|
850
|
+
let realtimeValidation = controlledError || serverError || clientError || builtinValidation || $e5be200c675c3b3a$export$dad6ae84456c676a;
|
|
855
851
|
let displayValidation = validationBehavior === 'native' ? controlledError || serverError || currentValidity : controlledError || serverError || clientError || builtinValidation || currentValidity;
|
|
856
852
|
return {
|
|
857
853
|
realtimeValidation: realtimeValidation,
|
|
858
854
|
displayValidation: displayValidation,
|
|
859
855
|
updateValidation (value) {
|
|
860
856
|
// If validationBehavior is 'aria', update in realtime. Otherwise, store in a ref until commit.
|
|
861
|
-
if (validationBehavior === 'aria' && !$
|
|
857
|
+
if (validationBehavior === 'aria' && !$e5be200c675c3b3a$var$isEqualValidation(currentValidity, value)) setCurrentValidity(value);
|
|
862
858
|
else nextValidation.current = value;
|
|
863
859
|
},
|
|
864
860
|
resetValidation () {
|
|
865
861
|
// Update the currently displayed validation state to valid on form reset,
|
|
866
862
|
// even if the native validity says it isn't. It'll show again on the next form submit.
|
|
867
|
-
let error = $
|
|
868
|
-
if (!$
|
|
863
|
+
let error = $e5be200c675c3b3a$export$dad6ae84456c676a;
|
|
864
|
+
if (!$e5be200c675c3b3a$var$isEqualValidation(error, lastError.current)) {
|
|
869
865
|
lastError.current = error;
|
|
870
866
|
setCurrentValidity(error);
|
|
871
867
|
}
|
|
@@ -882,121 +878,31 @@ function $fd2148440a13ec26$var$useFormValidationStateImpl(props) {
|
|
|
882
878
|
}
|
|
883
879
|
};
|
|
884
880
|
}
|
|
885
|
-
function $
|
|
881
|
+
function $e5be200c675c3b3a$var$asArray(v) {
|
|
886
882
|
if (!v) return [];
|
|
887
883
|
return Array.isArray(v) ? v : [
|
|
888
884
|
v
|
|
889
885
|
];
|
|
890
886
|
}
|
|
891
|
-
function $
|
|
887
|
+
function $e5be200c675c3b3a$var$runValidate(validate, value) {
|
|
892
888
|
if (typeof validate === 'function') {
|
|
893
889
|
let e = validate(value);
|
|
894
|
-
if (e && typeof e !== 'boolean') return $
|
|
890
|
+
if (e && typeof e !== 'boolean') return $e5be200c675c3b3a$var$asArray(e);
|
|
895
891
|
}
|
|
896
892
|
return [];
|
|
897
893
|
}
|
|
898
|
-
function $
|
|
894
|
+
function $e5be200c675c3b3a$var$getValidationResult(errors) {
|
|
899
895
|
return errors.length ? {
|
|
900
896
|
isInvalid: true,
|
|
901
897
|
validationErrors: errors,
|
|
902
|
-
validationDetails: $
|
|
898
|
+
validationDetails: $e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE
|
|
903
899
|
} : null;
|
|
904
900
|
}
|
|
905
|
-
function $
|
|
901
|
+
function $e5be200c675c3b3a$var$isEqualValidation(a, b) {
|
|
906
902
|
if (a === b) return true;
|
|
907
903
|
return !!a && !!b && a.isInvalid === b.isInvalid && a.validationErrors.length === b.validationErrors.length && a.validationErrors.every((a, i)=>a === b.validationErrors[i]) && Object.entries(a.validationDetails).every(([k, v])=>b.validationDetails[k] === v);
|
|
908
904
|
}
|
|
909
905
|
|
|
910
|
-
/*
|
|
911
|
-
* Copyright 2023 Adobe. All rights reserved.
|
|
912
|
-
* This file is licensed to you under the Apache License, Version 2.0 (the 'License');
|
|
913
|
-
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
914
|
-
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
915
|
-
*
|
|
916
|
-
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
917
|
-
* the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
918
|
-
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
919
|
-
* governing permissions and limitations under the License.
|
|
920
|
-
*/
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
const $cdaed739b1139372$export$c24727297075ec6a = /*#__PURE__*/ (React.createContext)(null);
|
|
924
|
-
|
|
925
|
-
/*
|
|
926
|
-
* Copyright 2021 Adobe. All rights reserved.
|
|
927
|
-
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
928
|
-
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
929
|
-
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
930
|
-
*
|
|
931
|
-
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
932
|
-
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
933
|
-
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
934
|
-
* governing permissions and limitations under the License.
|
|
935
|
-
*/
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
function $191c9b6d48a0a4e2$export$294aa081a6c6f55d(props) {
|
|
939
|
-
let { description: description, errorMessage: errorMessage, isInvalid: isInvalid, validationState: validationState } = props;
|
|
940
|
-
let { labelProps: labelProps, fieldProps: fieldProps } = ($0beb20c9744a2065$export$8467354a121f1b9f)(props);
|
|
941
|
-
let descriptionId = (Text.$390e54f620492c70$export$b4cc09c592e8fdb8)([
|
|
942
|
-
Boolean(description),
|
|
943
|
-
Boolean(errorMessage),
|
|
944
|
-
isInvalid,
|
|
945
|
-
validationState
|
|
946
|
-
]);
|
|
947
|
-
let errorMessageId = (Text.$390e54f620492c70$export$b4cc09c592e8fdb8)([
|
|
948
|
-
Boolean(description),
|
|
949
|
-
Boolean(errorMessage),
|
|
950
|
-
isInvalid,
|
|
951
|
-
validationState
|
|
952
|
-
]);
|
|
953
|
-
fieldProps = (Text.$bbaa08b3cd72f041$export$9d1611c77c2fe928)(fieldProps, {
|
|
954
|
-
'aria-describedby': [
|
|
955
|
-
descriptionId,
|
|
956
|
-
// Use aria-describedby for error message because aria-errormessage is unsupported using VoiceOver or NVDA. See https://github.com/adobe/react-spectrum/issues/1346#issuecomment-740136268
|
|
957
|
-
errorMessageId,
|
|
958
|
-
props['aria-describedby']
|
|
959
|
-
].filter(Boolean).join(' ') || undefined
|
|
960
|
-
});
|
|
961
|
-
return {
|
|
962
|
-
labelProps: labelProps,
|
|
963
|
-
fieldProps: fieldProps,
|
|
964
|
-
descriptionProps: {
|
|
965
|
-
id: descriptionId
|
|
966
|
-
},
|
|
967
|
-
errorMessageProps: {
|
|
968
|
-
id: errorMessageId
|
|
969
|
-
}
|
|
970
|
-
};
|
|
971
|
-
}
|
|
972
|
-
|
|
973
|
-
/*
|
|
974
|
-
* Copyright 2023 Adobe. All rights reserved.
|
|
975
|
-
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
976
|
-
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
977
|
-
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
978
|
-
*
|
|
979
|
-
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
980
|
-
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
981
|
-
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
982
|
-
* governing permissions and limitations under the License.
|
|
983
|
-
*/
|
|
984
|
-
|
|
985
|
-
function $3274bf1495747a7b$export$5add1d006293d136(ref, initialValue, onReset) {
|
|
986
|
-
let handleReset = (Text.$fe16bffc7a557bf0$export$7f54fc3180508a52)((e)=>{
|
|
987
|
-
if (onReset && !e.defaultPrevented) onReset(initialValue);
|
|
988
|
-
});
|
|
989
|
-
(React.useEffect)(()=>{
|
|
990
|
-
let form = ref?.current?.form;
|
|
991
|
-
form?.addEventListener('reset', handleReset);
|
|
992
|
-
return ()=>{
|
|
993
|
-
form?.removeEventListener('reset', handleReset);
|
|
994
|
-
};
|
|
995
|
-
}, [
|
|
996
|
-
ref
|
|
997
|
-
]);
|
|
998
|
-
}
|
|
999
|
-
|
|
1000
906
|
/*
|
|
1001
907
|
* Copyright 2023 Adobe. All rights reserved.
|
|
1002
908
|
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -1010,74 +916,77 @@ function $3274bf1495747a7b$export$5add1d006293d136(ref, initialValue, onReset) {
|
|
|
1010
916
|
*/
|
|
1011
917
|
|
|
1012
918
|
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
function $860f7da480e22816$export$b8473d3665f3a75a(props, state, ref) {
|
|
919
|
+
function $e93e671b31057976$export$b8473d3665f3a75a(props, state, ref) {
|
|
1016
920
|
let { validationBehavior: validationBehavior, focus: focus } = props;
|
|
1017
921
|
// This is a useLayoutEffect so that it runs before the useEffect in useFormValidationState, which commits the validation change.
|
|
1018
|
-
(Text.$
|
|
1019
|
-
if (validationBehavior === 'native' && ref
|
|
922
|
+
(Text.$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
|
|
923
|
+
if (validationBehavior === 'native' && (ref === null || ref === void 0 ? void 0 : ref.current) && !ref.current.disabled) {
|
|
1020
924
|
let errorMessage = state.realtimeValidation.isInvalid ? state.realtimeValidation.validationErrors.join(' ') || 'Invalid value.' : '';
|
|
1021
925
|
ref.current.setCustomValidity(errorMessage);
|
|
1022
926
|
// Prevent default tooltip for validation message.
|
|
1023
927
|
// https://bugzilla.mozilla.org/show_bug.cgi?id=605277
|
|
1024
928
|
if (!ref.current.hasAttribute('title')) ref.current.title = '';
|
|
1025
|
-
if (!state.realtimeValidation.isInvalid) state.updateValidation($
|
|
929
|
+
if (!state.realtimeValidation.isInvalid) state.updateValidation($e93e671b31057976$var$getNativeValidity(ref.current));
|
|
1026
930
|
}
|
|
1027
931
|
});
|
|
1028
932
|
let isIgnoredReset = (React.useRef)(false);
|
|
1029
|
-
let onReset = (Text.$
|
|
933
|
+
let onReset = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
|
|
1030
934
|
if (!isIgnoredReset.current) state.resetValidation();
|
|
1031
935
|
});
|
|
1032
|
-
let onInvalid = (Text.$
|
|
936
|
+
let onInvalid = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)((e)=>{
|
|
937
|
+
var _ref_current;
|
|
1033
938
|
// Only commit validation if we are not already displaying one.
|
|
1034
939
|
// This avoids clearing server errors that the user didn't actually fix.
|
|
1035
940
|
if (!state.displayValidation.isInvalid) state.commitValidation();
|
|
1036
941
|
// Auto focus the first invalid input in a form, unless the error already had its default prevented.
|
|
1037
|
-
let form = ref
|
|
1038
|
-
if (!e.defaultPrevented && ref && form && $
|
|
942
|
+
let form = ref === null || ref === void 0 ? void 0 : (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.form;
|
|
943
|
+
if (!e.defaultPrevented && ref && form && $e93e671b31057976$var$getFirstInvalidInput(form) === ref.current) {
|
|
944
|
+
var _ref_current1;
|
|
1039
945
|
if (focus) focus();
|
|
1040
|
-
else ref.current
|
|
946
|
+
else (_ref_current1 = ref.current) === null || _ref_current1 === void 0 ? void 0 : _ref_current1.focus();
|
|
1041
947
|
// Always show focus ring.
|
|
1042
|
-
(Text.$
|
|
948
|
+
(Text.$507fabe10e71c6fb$export$8397ddfc504fdb9a)('keyboard');
|
|
1043
949
|
}
|
|
1044
950
|
// Prevent default browser error UI from appearing.
|
|
1045
951
|
e.preventDefault();
|
|
1046
952
|
});
|
|
1047
|
-
let onChange = (Text.$
|
|
953
|
+
let onChange = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
|
|
1048
954
|
state.commitValidation();
|
|
1049
955
|
});
|
|
1050
956
|
(React.useEffect)(()=>{
|
|
1051
|
-
let input = ref
|
|
957
|
+
let input = ref === null || ref === void 0 ? void 0 : ref.current;
|
|
1052
958
|
if (!input) return;
|
|
1053
959
|
let form = input.form;
|
|
1054
|
-
let reset = form
|
|
960
|
+
let reset = form === null || form === void 0 ? void 0 : form.reset;
|
|
1055
961
|
if (form) // Try to detect React's automatic form reset behavior so we don't clear
|
|
1056
962
|
// validation errors that are returned by server actions.
|
|
1057
963
|
// To do this, we ignore programmatic form resets that occur outside a user event.
|
|
1058
964
|
// This is best-effort. There may be false positives, e.g. setTimeout.
|
|
1059
965
|
form.reset = ()=>{
|
|
1060
966
|
// React uses MessageChannel for scheduling, so ignore 'message' events.
|
|
1061
|
-
isIgnoredReset.current = !window.event || window.event.type === 'message' &&
|
|
1062
|
-
reset
|
|
967
|
+
isIgnoredReset.current = !window.event || window.event.type === 'message' && window.event.target instanceof MessagePort;
|
|
968
|
+
reset === null || reset === void 0 ? void 0 : reset.call(form);
|
|
1063
969
|
isIgnoredReset.current = false;
|
|
1064
970
|
};
|
|
1065
971
|
input.addEventListener('invalid', onInvalid);
|
|
1066
972
|
input.addEventListener('change', onChange);
|
|
1067
|
-
form
|
|
973
|
+
form === null || form === void 0 ? void 0 : form.addEventListener('reset', onReset);
|
|
1068
974
|
return ()=>{
|
|
1069
975
|
input.removeEventListener('invalid', onInvalid);
|
|
1070
976
|
input.removeEventListener('change', onChange);
|
|
1071
|
-
form
|
|
977
|
+
form === null || form === void 0 ? void 0 : form.removeEventListener('reset', onReset);
|
|
1072
978
|
if (form) // @ts-ignore
|
|
1073
979
|
form.reset = reset;
|
|
1074
980
|
};
|
|
1075
981
|
}, [
|
|
1076
982
|
ref,
|
|
983
|
+
onInvalid,
|
|
984
|
+
onChange,
|
|
985
|
+
onReset,
|
|
1077
986
|
validationBehavior
|
|
1078
987
|
]);
|
|
1079
988
|
}
|
|
1080
|
-
function $
|
|
989
|
+
function $e93e671b31057976$var$getValidity(input) {
|
|
1081
990
|
// The native ValidityState object is live, meaning each property is a getter that returns the current state.
|
|
1082
991
|
// We need to create a snapshot of the validity state at the time this function is called to avoid unpredictable React renders.
|
|
1083
992
|
let validity = input.validity;
|
|
@@ -1095,25 +1004,25 @@ function $860f7da480e22816$var$getValidity(input) {
|
|
|
1095
1004
|
valid: validity.valid
|
|
1096
1005
|
};
|
|
1097
1006
|
}
|
|
1098
|
-
function $
|
|
1007
|
+
function $e93e671b31057976$var$getNativeValidity(input) {
|
|
1099
1008
|
return {
|
|
1100
1009
|
isInvalid: !input.validity.valid,
|
|
1101
|
-
validationDetails: $
|
|
1010
|
+
validationDetails: $e93e671b31057976$var$getValidity(input),
|
|
1102
1011
|
validationErrors: input.validationMessage ? [
|
|
1103
1012
|
input.validationMessage
|
|
1104
1013
|
] : []
|
|
1105
1014
|
};
|
|
1106
1015
|
}
|
|
1107
|
-
function $
|
|
1016
|
+
function $e93e671b31057976$var$getFirstInvalidInput(form) {
|
|
1108
1017
|
for(let i = 0; i < form.elements.length; i++){
|
|
1109
1018
|
let element = form.elements[i];
|
|
1110
|
-
if (element.validity
|
|
1019
|
+
if (!element.validity.valid) return element;
|
|
1111
1020
|
}
|
|
1112
1021
|
return null;
|
|
1113
1022
|
}
|
|
1114
1023
|
|
|
1115
1024
|
/*
|
|
1116
|
-
* Copyright
|
|
1025
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
1117
1026
|
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
1118
1027
|
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
1119
1028
|
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
@@ -1127,138 +1036,23 @@ function $860f7da480e22816$var$getFirstInvalidInput(form) {
|
|
|
1127
1036
|
|
|
1128
1037
|
|
|
1129
1038
|
|
|
1130
|
-
const $3a442827418ebe87$export$f9c6924e160136d1 = /*#__PURE__*/ (React.createContext)({});
|
|
1131
|
-
const $3a442827418ebe87$export$eb2fcfdbd7ba97d4 = /*#__PURE__*/ (React.forwardRef)(function Group(props, ref) {
|
|
1132
|
-
[props, ref] = (Text.$7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $3a442827418ebe87$export$f9c6924e160136d1);
|
|
1133
|
-
let { isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, ...otherProps } = props;
|
|
1134
|
-
isDisabled ??= !!props['aria-disabled'] && props['aria-disabled'] !== 'false';
|
|
1135
|
-
isInvalid ??= !!props['aria-invalid'] && props['aria-invalid'] !== 'false';
|
|
1136
|
-
let { hoverProps: hoverProps, isHovered: isHovered } = (Text.$e969f22b6713ca4a$export$ae780daf29e6d456)({
|
|
1137
|
-
onHoverStart: onHoverStart,
|
|
1138
|
-
onHoverChange: onHoverChange,
|
|
1139
|
-
onHoverEnd: onHoverEnd,
|
|
1140
|
-
isDisabled: isDisabled
|
|
1141
|
-
});
|
|
1142
|
-
let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = ($0c4a58759813079a$export$4e328f61c538687f)({
|
|
1143
|
-
within: true
|
|
1144
|
-
});
|
|
1145
|
-
let renderProps = (Text.$7230ffa83bc0c2cf$export$4d86445c2cf5e3)({
|
|
1146
|
-
...props,
|
|
1147
|
-
values: {
|
|
1148
|
-
isHovered: isHovered,
|
|
1149
|
-
isFocusWithin: isFocused,
|
|
1150
|
-
isFocusVisible: isFocusVisible,
|
|
1151
|
-
isDisabled: isDisabled,
|
|
1152
|
-
isInvalid: isInvalid
|
|
1153
|
-
},
|
|
1154
|
-
defaultClassName: 'react-aria-Group'
|
|
1155
|
-
});
|
|
1156
|
-
return /*#__PURE__*/ (React).createElement((Text.$7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {
|
|
1157
|
-
...(Text.$bbaa08b3cd72f041$export$9d1611c77c2fe928)(otherProps, focusProps, hoverProps),
|
|
1158
|
-
...renderProps,
|
|
1159
|
-
ref: ref,
|
|
1160
|
-
role: props.role ?? 'group',
|
|
1161
|
-
slot: props.slot ?? undefined,
|
|
1162
|
-
"data-focus-within": isFocused || undefined,
|
|
1163
|
-
"data-hovered": isHovered || undefined,
|
|
1164
|
-
"data-focus-visible": isFocusVisible || undefined,
|
|
1165
|
-
"data-disabled": isDisabled || undefined,
|
|
1166
|
-
"data-invalid": isInvalid || undefined,
|
|
1167
|
-
"data-readonly": isReadOnly || undefined
|
|
1168
|
-
}, renderProps.children);
|
|
1169
|
-
});
|
|
1170
|
-
|
|
1171
|
-
/*
|
|
1172
|
-
* Copyright 2022 Adobe. All rights reserved.
|
|
1173
|
-
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
1174
|
-
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
1175
|
-
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
1176
|
-
*
|
|
1177
|
-
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
1178
|
-
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
1179
|
-
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
1180
|
-
* governing permissions and limitations under the License.
|
|
1181
|
-
*/
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
1039
|
|
|
1186
1040
|
|
|
1187
|
-
|
|
1188
|
-
let
|
|
1189
|
-
|
|
1190
|
-
let {
|
|
1191
|
-
|
|
1192
|
-
};
|
|
1193
|
-
const $41fb335299a4a39e$export$f5b8910cec6cf069 = /*#__PURE__*/ (Text.$d7f64c32b702fe2c$export$86427a43e3e48ebb)(function Input(props, ref) {
|
|
1194
|
-
[props, ref] = (Text.$7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $41fb335299a4a39e$export$37fb8590cf2c088c);
|
|
1195
|
-
let { hoverProps: hoverProps, isHovered: isHovered } = (Text.$e969f22b6713ca4a$export$ae780daf29e6d456)({
|
|
1196
|
-
...props,
|
|
1197
|
-
isDisabled: props.disabled
|
|
1198
|
-
});
|
|
1199
|
-
let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = ($0c4a58759813079a$export$4e328f61c538687f)({
|
|
1200
|
-
isTextInput: true,
|
|
1201
|
-
autoFocus: props.autoFocus
|
|
1202
|
-
});
|
|
1203
|
-
let isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';
|
|
1204
|
-
let renderProps = (Text.$7230ffa83bc0c2cf$export$4d86445c2cf5e3)({
|
|
1205
|
-
...props,
|
|
1206
|
-
values: {
|
|
1207
|
-
isHovered: isHovered,
|
|
1208
|
-
isFocused: isFocused,
|
|
1209
|
-
isFocusVisible: isFocusVisible,
|
|
1210
|
-
isDisabled: props.disabled || false,
|
|
1211
|
-
isInvalid: isInvalid
|
|
1212
|
-
},
|
|
1213
|
-
defaultClassName: 'react-aria-Input'
|
|
1214
|
-
});
|
|
1215
|
-
return /*#__PURE__*/ (React).createElement((Text.$7230ffa83bc0c2cf$export$df3a06d6289f983e).input, {
|
|
1216
|
-
...(Text.$bbaa08b3cd72f041$export$9d1611c77c2fe928)($41fb335299a4a39e$var$filterHoverProps(props), focusProps, hoverProps),
|
|
1217
|
-
...renderProps,
|
|
1218
|
-
ref: ref,
|
|
1219
|
-
"data-focused": isFocused || undefined,
|
|
1220
|
-
"data-disabled": props.disabled || undefined,
|
|
1221
|
-
"data-hovered": isHovered || undefined,
|
|
1222
|
-
"data-focus-visible": isFocusVisible || undefined,
|
|
1223
|
-
"data-invalid": isInvalid || undefined
|
|
1224
|
-
});
|
|
1225
|
-
});
|
|
1226
|
-
|
|
1227
|
-
/*
|
|
1228
|
-
* Copyright 2020 Adobe. All rights reserved.
|
|
1229
|
-
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
1230
|
-
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
1231
|
-
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
1232
|
-
*
|
|
1233
|
-
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
1234
|
-
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
1235
|
-
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
1236
|
-
* governing permissions and limitations under the License.
|
|
1237
|
-
*/
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
function $054f71d2330da2e3$export$712718f7aec83d5(props, ref) {
|
|
1248
|
-
let { inputElementType: inputElementType = 'input', isDisabled: isDisabled = false, isRequired: isRequired = false, isReadOnly: isReadOnly = false, type: type = 'text', validationBehavior: validationBehavior = 'aria' } = props;
|
|
1249
|
-
let [value, setValue] = (Text.$3e6197669829fe11$export$40bfa8c7b0832715)(props.value, props.defaultValue || '', props.onChange);
|
|
1250
|
-
let { focusableProps: focusableProps } = (Text.$d1116acdf220c2da$export$4c014de7c8940b4c)(props, ref);
|
|
1251
|
-
let validationState = ($fd2148440a13ec26$export$fc1a364ae1f3ff10)({
|
|
1041
|
+
function $2d73ec29415bd339$export$712718f7aec83d5(props, ref) {
|
|
1042
|
+
let { inputElementType: inputElementType = 'input', isDisabled: isDisabled = false, isRequired: isRequired = false, isReadOnly: isReadOnly = false, type: type = 'text', validationBehavior: validationBehavior = 'aria' } = props;
|
|
1043
|
+
let [value, setValue] = (Text.$458b0a5536c1a7cf$export$40bfa8c7b0832715)(props.value, props.defaultValue || '', props.onChange);
|
|
1044
|
+
let { focusableProps: focusableProps } = (Text.$f645667febf57a63$export$4c014de7c8940b4c)(props, ref);
|
|
1045
|
+
let validationState = ($e5be200c675c3b3a$export$fc1a364ae1f3ff10)({
|
|
1252
1046
|
...props,
|
|
1253
1047
|
value: value
|
|
1254
1048
|
});
|
|
1255
1049
|
let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = validationState.displayValidation;
|
|
1256
|
-
let { labelProps: labelProps, fieldProps: fieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = ($
|
|
1050
|
+
let { labelProps: labelProps, fieldProps: fieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = ($2baaea4c71418dea$export$294aa081a6c6f55d)({
|
|
1257
1051
|
...props,
|
|
1258
1052
|
isInvalid: isInvalid,
|
|
1259
1053
|
errorMessage: props.errorMessage || validationErrors
|
|
1260
1054
|
});
|
|
1261
|
-
let domProps = (Text.$
|
|
1055
|
+
let domProps = (Text.$65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
|
|
1262
1056
|
labelable: true
|
|
1263
1057
|
});
|
|
1264
1058
|
const inputOnlyProps = {
|
|
@@ -1266,11 +1060,31 @@ function $054f71d2330da2e3$export$712718f7aec83d5(props, ref) {
|
|
|
1266
1060
|
pattern: props.pattern
|
|
1267
1061
|
};
|
|
1268
1062
|
let [initialValue] = (React.useState)(value);
|
|
1269
|
-
|
|
1270
|
-
($
|
|
1063
|
+
var _props_defaultValue;
|
|
1064
|
+
($99facab73266f662$export$5add1d006293d136)(ref, (_props_defaultValue = props.defaultValue) !== null && _props_defaultValue !== void 0 ? _props_defaultValue : initialValue, setValue);
|
|
1065
|
+
($e93e671b31057976$export$b8473d3665f3a75a)(props, validationState, ref);
|
|
1066
|
+
(React.useEffect)(()=>{
|
|
1067
|
+
// This works around a React/Chrome bug that prevents textarea elements from validating when controlled.
|
|
1068
|
+
// We prevent React from updating defaultValue (i.e. children) of textarea when `value` changes,
|
|
1069
|
+
// which causes Chrome to skip validation. Only updating `value` is ok in our case since our
|
|
1070
|
+
// textareas are always controlled. React is planning on removing this synchronization in a
|
|
1071
|
+
// future major version.
|
|
1072
|
+
// https://github.com/facebook/react/issues/19474
|
|
1073
|
+
// https://github.com/facebook/react/issues/11896
|
|
1074
|
+
if (ref.current instanceof (Text.$431fbd86ca7dc216$export$f21a1ffae260145a)(ref.current).HTMLTextAreaElement) {
|
|
1075
|
+
let input = ref.current;
|
|
1076
|
+
Object.defineProperty(input, 'defaultValue', {
|
|
1077
|
+
get: ()=>input.value,
|
|
1078
|
+
set: ()=>{},
|
|
1079
|
+
configurable: true
|
|
1080
|
+
});
|
|
1081
|
+
}
|
|
1082
|
+
}, [
|
|
1083
|
+
ref
|
|
1084
|
+
]);
|
|
1271
1085
|
return {
|
|
1272
1086
|
labelProps: labelProps,
|
|
1273
|
-
inputProps: (Text.$
|
|
1087
|
+
inputProps: (Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(domProps, inputElementType === 'input' ? inputOnlyProps : undefined, {
|
|
1274
1088
|
disabled: isDisabled,
|
|
1275
1089
|
readOnly: isReadOnly,
|
|
1276
1090
|
required: isRequired && validationBehavior === 'native',
|
|
@@ -1282,7 +1096,7 @@ function $054f71d2330da2e3$export$712718f7aec83d5(props, ref) {
|
|
|
1282
1096
|
'aria-haspopup': props['aria-haspopup'],
|
|
1283
1097
|
'aria-controls': props['aria-controls'],
|
|
1284
1098
|
value: value,
|
|
1285
|
-
onChange: (e)=>setValue(
|
|
1099
|
+
onChange: (e)=>setValue(e.target.value),
|
|
1286
1100
|
autoComplete: props.autoComplete,
|
|
1287
1101
|
autoCapitalize: props.autoCapitalize,
|
|
1288
1102
|
maxLength: props.maxLength,
|
|
@@ -1331,19 +1145,17 @@ function $054f71d2330da2e3$export$712718f7aec83d5(props, ref) {
|
|
|
1331
1145
|
*/
|
|
1332
1146
|
|
|
1333
1147
|
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
function $62888b2ec35be488$var$supportsNativeBeforeInputEvent() {
|
|
1148
|
+
function $d841c8010a73d545$var$supportsNativeBeforeInputEvent() {
|
|
1337
1149
|
return typeof window !== 'undefined' && window.InputEvent && typeof InputEvent.prototype.getTargetRanges === 'function';
|
|
1338
1150
|
}
|
|
1339
|
-
function $
|
|
1151
|
+
function $d841c8010a73d545$export$4f384c9210e583c3(props, state, inputRef) {
|
|
1340
1152
|
// All browsers implement the 'beforeinput' event natively except Firefox
|
|
1341
1153
|
// (currently behind a flag as of Firefox 84). React's polyfill does not
|
|
1342
1154
|
// run in all cases that the native event fires, e.g. when deleting text.
|
|
1343
1155
|
// Use the native event if available so that we can prevent invalid deletions.
|
|
1344
1156
|
// We do not attempt to polyfill this in Firefox since it would be very complicated,
|
|
1345
1157
|
// the benefit of doing so is fairly minor, and it's going to be natively supported soon.
|
|
1346
|
-
let onBeforeInputFallback = (Text.$
|
|
1158
|
+
let onBeforeInputFallback = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)((e)=>{
|
|
1347
1159
|
let input = inputRef.current;
|
|
1348
1160
|
if (!input) return;
|
|
1349
1161
|
// Compute the next value of the input if the event is allowed to proceed.
|
|
@@ -1387,23 +1199,24 @@ function $62888b2ec35be488$export$4f384c9210e583c3(props, state, inputRef) {
|
|
|
1387
1199
|
if (nextValue == null || !state.validate(nextValue)) e.preventDefault();
|
|
1388
1200
|
});
|
|
1389
1201
|
(React.useEffect)(()=>{
|
|
1390
|
-
if (!$
|
|
1202
|
+
if (!$d841c8010a73d545$var$supportsNativeBeforeInputEvent() || !inputRef.current) return;
|
|
1391
1203
|
let input = inputRef.current;
|
|
1392
1204
|
input.addEventListener('beforeinput', onBeforeInputFallback, false);
|
|
1393
1205
|
return ()=>{
|
|
1394
1206
|
input.removeEventListener('beforeinput', onBeforeInputFallback, false);
|
|
1395
1207
|
};
|
|
1396
1208
|
}, [
|
|
1397
|
-
inputRef
|
|
1209
|
+
inputRef,
|
|
1210
|
+
onBeforeInputFallback
|
|
1398
1211
|
]);
|
|
1399
|
-
let onBeforeInput = !$
|
|
1400
|
-
let nextValue =
|
|
1212
|
+
let onBeforeInput = !$d841c8010a73d545$var$supportsNativeBeforeInputEvent() ? (e)=>{
|
|
1213
|
+
let nextValue = e.target.value.slice(0, e.target.selectionStart) + e.data + e.target.value.slice(e.target.selectionEnd);
|
|
1401
1214
|
if (!state.validate(nextValue)) e.preventDefault();
|
|
1402
1215
|
} : null;
|
|
1403
|
-
let { labelProps: labelProps, inputProps: textFieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, ...validation } = ($
|
|
1216
|
+
let { labelProps: labelProps, inputProps: textFieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, ...validation } = ($2d73ec29415bd339$export$712718f7aec83d5)(props, inputRef);
|
|
1404
1217
|
let compositionStartState = (React.useRef)(null);
|
|
1405
1218
|
return {
|
|
1406
|
-
inputProps: (Text.$
|
|
1219
|
+
inputProps: (Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(textFieldProps, {
|
|
1407
1220
|
onBeforeInput: onBeforeInput,
|
|
1408
1221
|
onCompositionStart () {
|
|
1409
1222
|
// Chrome does not implement Input Events Level 2, which specifies the insertFromComposition
|
|
@@ -1444,7 +1257,7 @@ function $62888b2ec35be488$export$4f384c9210e583c3(props, state, inputRef) {
|
|
|
1444
1257
|
}
|
|
1445
1258
|
|
|
1446
1259
|
/*
|
|
1447
|
-
* Copyright
|
|
1260
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
1448
1261
|
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
1449
1262
|
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
1450
1263
|
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
@@ -1455,195 +1268,358 @@ function $62888b2ec35be488$export$4f384c9210e583c3(props, state, inputRef) {
|
|
|
1455
1268
|
* governing permissions and limitations under the License.
|
|
1456
1269
|
*/
|
|
1457
1270
|
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
}
|
|
1471
|
-
|
|
1271
|
+
|
|
1272
|
+
|
|
1273
|
+
function $de67e98908f0c6ee$export$7f629e9dc1ecf37c(props) {
|
|
1274
|
+
let { minValue: minValue, maxValue: maxValue, step: step, formatOptions: formatOptions, value: value, defaultValue: defaultValue = NaN, onChange: onChange, locale: locale, isDisabled: isDisabled, isReadOnly: isReadOnly } = props;
|
|
1275
|
+
if (value === null) value = NaN;
|
|
1276
|
+
if (value !== undefined && !isNaN(value)) {
|
|
1277
|
+
if (step !== undefined && !isNaN(step)) value = (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(value, minValue, maxValue, step);
|
|
1278
|
+
else value = (Text.$9446cca9a3875146$export$7d15b64cf5a3a4c4)(value, minValue, maxValue);
|
|
1279
|
+
}
|
|
1280
|
+
if (!isNaN(defaultValue)) {
|
|
1281
|
+
if (step !== undefined && !isNaN(step)) defaultValue = (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(defaultValue, minValue, maxValue, step);
|
|
1282
|
+
else defaultValue = (Text.$9446cca9a3875146$export$7d15b64cf5a3a4c4)(defaultValue, minValue, maxValue);
|
|
1283
|
+
}
|
|
1284
|
+
let [numberValue, setNumberValue] = (Text.$458b0a5536c1a7cf$export$40bfa8c7b0832715)(value, isNaN(defaultValue) ? NaN : defaultValue, onChange);
|
|
1285
|
+
let [initialValue] = (React.useState)(numberValue);
|
|
1286
|
+
let [inputValue, setInputValue] = (React.useState)(()=>isNaN(numberValue) ? '' : new ($488c6ddbf4ef74c2$export$cc77c4ff7e8673c5)(locale, formatOptions).format(numberValue));
|
|
1287
|
+
let numberParser = (React.useMemo)(()=>new ($6c7bd7858deea686$export$cd11ab140839f11d)(locale, formatOptions), [
|
|
1288
|
+
locale,
|
|
1289
|
+
formatOptions
|
|
1290
|
+
]);
|
|
1291
|
+
let numberingSystem = (React.useMemo)(()=>numberParser.getNumberingSystem(inputValue), [
|
|
1292
|
+
numberParser,
|
|
1293
|
+
inputValue
|
|
1294
|
+
]);
|
|
1295
|
+
let formatter = (React.useMemo)(()=>new ($488c6ddbf4ef74c2$export$cc77c4ff7e8673c5)(locale, {
|
|
1296
|
+
...formatOptions,
|
|
1297
|
+
numberingSystem: numberingSystem
|
|
1298
|
+
}), [
|
|
1299
|
+
locale,
|
|
1300
|
+
formatOptions,
|
|
1301
|
+
numberingSystem
|
|
1302
|
+
]);
|
|
1303
|
+
let intlOptions = (React.useMemo)(()=>formatter.resolvedOptions(), [
|
|
1304
|
+
formatter
|
|
1305
|
+
]);
|
|
1306
|
+
let format = (React.useCallback)((value)=>isNaN(value) || value === null ? '' : formatter.format(value), [
|
|
1307
|
+
formatter
|
|
1308
|
+
]);
|
|
1309
|
+
let validation = ($e5be200c675c3b3a$export$fc1a364ae1f3ff10)({
|
|
1310
|
+
...props,
|
|
1311
|
+
value: numberValue
|
|
1312
|
+
});
|
|
1313
|
+
let clampStep = step !== undefined && !isNaN(step) ? step : 1;
|
|
1314
|
+
if (intlOptions.style === 'percent' && (step === undefined || isNaN(step))) clampStep = 0.01;
|
|
1315
|
+
// Update the input value when the number value or format options change. This is done
|
|
1316
|
+
// in a useEffect so that the controlled behavior is correct and we only update the
|
|
1317
|
+
// textfield after prop changes.
|
|
1318
|
+
let [prevValue, setPrevValue] = (React.useState)(numberValue);
|
|
1319
|
+
let [prevLocale, setPrevLocale] = (React.useState)(locale);
|
|
1320
|
+
let [prevFormatOptions, setPrevFormatOptions] = (React.useState)(formatOptions);
|
|
1321
|
+
if (!Object.is(numberValue, prevValue) || locale !== prevLocale || formatOptions !== prevFormatOptions) {
|
|
1322
|
+
setInputValue(format(numberValue));
|
|
1323
|
+
setPrevValue(numberValue);
|
|
1324
|
+
setPrevLocale(locale);
|
|
1325
|
+
setPrevFormatOptions(formatOptions);
|
|
1326
|
+
}
|
|
1327
|
+
let parsedValue = (React.useMemo)(()=>numberParser.parse(inputValue), [
|
|
1328
|
+
numberParser,
|
|
1329
|
+
inputValue
|
|
1330
|
+
]);
|
|
1331
|
+
let commit = ()=>{
|
|
1332
|
+
// Set to empty state if input value is empty
|
|
1333
|
+
if (!inputValue.length) {
|
|
1334
|
+
setNumberValue(NaN);
|
|
1335
|
+
setInputValue(value === undefined ? '' : format(numberValue));
|
|
1336
|
+
return;
|
|
1337
|
+
}
|
|
1338
|
+
// if it failed to parse, then reset input to formatted version of current number
|
|
1339
|
+
if (isNaN(parsedValue)) {
|
|
1340
|
+
setInputValue(format(numberValue));
|
|
1341
|
+
return;
|
|
1342
|
+
}
|
|
1343
|
+
// Clamp to min and max, round to the nearest step, and round to specified number of digits
|
|
1344
|
+
let clampedValue;
|
|
1345
|
+
if (step === undefined || isNaN(step)) clampedValue = (Text.$9446cca9a3875146$export$7d15b64cf5a3a4c4)(parsedValue, minValue, maxValue);
|
|
1346
|
+
else clampedValue = (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(parsedValue, minValue, maxValue, step);
|
|
1347
|
+
clampedValue = numberParser.parse(format(clampedValue));
|
|
1348
|
+
setNumberValue(clampedValue);
|
|
1349
|
+
// in a controlled state, the numberValue won't change, so we won't go back to our old input without help
|
|
1350
|
+
setInputValue(format(value === undefined ? clampedValue : numberValue));
|
|
1351
|
+
validation.commitValidation();
|
|
1352
|
+
};
|
|
1353
|
+
let safeNextStep = (operation, minMax = 0)=>{
|
|
1354
|
+
let prev = parsedValue;
|
|
1355
|
+
if (isNaN(prev)) {
|
|
1356
|
+
// if the input is empty, start from the min/max value when incrementing/decrementing,
|
|
1357
|
+
// or zero if there is no min/max value defined.
|
|
1358
|
+
let newValue = isNaN(minMax) ? 0 : minMax;
|
|
1359
|
+
return (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(newValue, minValue, maxValue, clampStep);
|
|
1360
|
+
} else {
|
|
1361
|
+
// otherwise, first snap the current value to the nearest step. if it moves in the direction
|
|
1362
|
+
// we're going, use that value, otherwise add the step and snap that value.
|
|
1363
|
+
let newValue = (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(prev, minValue, maxValue, clampStep);
|
|
1364
|
+
if (operation === '+' && newValue > prev || operation === '-' && newValue < prev) return newValue;
|
|
1365
|
+
return (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)($de67e98908f0c6ee$var$handleDecimalOperation(operation, prev, clampStep), minValue, maxValue, clampStep);
|
|
1366
|
+
}
|
|
1367
|
+
};
|
|
1368
|
+
let increment = ()=>{
|
|
1369
|
+
let newValue = safeNextStep('+', minValue);
|
|
1370
|
+
// if we've arrived at the same value that was previously in the state, the
|
|
1371
|
+
// input value should be updated to match
|
|
1372
|
+
// ex type 4, press increment, highlight the number in the input, type 4 again, press increment
|
|
1373
|
+
// you'd be at 5, then incrementing to 5 again, so no re-render would happen and 4 would be left in the input
|
|
1374
|
+
if (newValue === numberValue) setInputValue(format(newValue));
|
|
1375
|
+
setNumberValue(newValue);
|
|
1376
|
+
validation.commitValidation();
|
|
1377
|
+
};
|
|
1378
|
+
let decrement = ()=>{
|
|
1379
|
+
let newValue = safeNextStep('-', maxValue);
|
|
1380
|
+
if (newValue === numberValue) setInputValue(format(newValue));
|
|
1381
|
+
setNumberValue(newValue);
|
|
1382
|
+
validation.commitValidation();
|
|
1383
|
+
};
|
|
1384
|
+
let incrementToMax = ()=>{
|
|
1385
|
+
if (maxValue != null) {
|
|
1386
|
+
setNumberValue((Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(maxValue, minValue, maxValue, clampStep));
|
|
1387
|
+
validation.commitValidation();
|
|
1388
|
+
}
|
|
1389
|
+
};
|
|
1390
|
+
let decrementToMin = ()=>{
|
|
1391
|
+
if (minValue != null) {
|
|
1392
|
+
setNumberValue(minValue);
|
|
1393
|
+
validation.commitValidation();
|
|
1394
|
+
}
|
|
1395
|
+
};
|
|
1396
|
+
let canIncrement = (React.useMemo)(()=>!isDisabled && !isReadOnly && (isNaN(parsedValue) || maxValue === undefined || isNaN(maxValue) || (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(parsedValue, minValue, maxValue, clampStep) > parsedValue || $de67e98908f0c6ee$var$handleDecimalOperation('+', parsedValue, clampStep) <= maxValue), [
|
|
1397
|
+
isDisabled,
|
|
1398
|
+
isReadOnly,
|
|
1399
|
+
minValue,
|
|
1400
|
+
maxValue,
|
|
1401
|
+
clampStep,
|
|
1402
|
+
parsedValue
|
|
1403
|
+
]);
|
|
1404
|
+
let canDecrement = (React.useMemo)(()=>!isDisabled && !isReadOnly && (isNaN(parsedValue) || minValue === undefined || isNaN(minValue) || (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(parsedValue, minValue, maxValue, clampStep) < parsedValue || $de67e98908f0c6ee$var$handleDecimalOperation('-', parsedValue, clampStep) >= minValue), [
|
|
1405
|
+
isDisabled,
|
|
1406
|
+
isReadOnly,
|
|
1407
|
+
minValue,
|
|
1408
|
+
maxValue,
|
|
1409
|
+
clampStep,
|
|
1410
|
+
parsedValue
|
|
1472
1411
|
]);
|
|
1473
|
-
(
|
|
1412
|
+
let validate = (value)=>numberParser.isValidPartialNumber(value, minValue, maxValue);
|
|
1413
|
+
return {
|
|
1414
|
+
...validation,
|
|
1415
|
+
validate: validate,
|
|
1416
|
+
increment: increment,
|
|
1417
|
+
incrementToMax: incrementToMax,
|
|
1418
|
+
decrement: decrement,
|
|
1419
|
+
decrementToMin: decrementToMin,
|
|
1420
|
+
canIncrement: canIncrement,
|
|
1421
|
+
canDecrement: canDecrement,
|
|
1422
|
+
minValue: minValue,
|
|
1423
|
+
maxValue: maxValue,
|
|
1424
|
+
numberValue: parsedValue,
|
|
1425
|
+
defaultNumberValue: isNaN(defaultValue) ? initialValue : defaultValue,
|
|
1426
|
+
setNumberValue: setNumberValue,
|
|
1427
|
+
setInputValue: setInputValue,
|
|
1428
|
+
inputValue: inputValue,
|
|
1429
|
+
commit: commit
|
|
1430
|
+
};
|
|
1431
|
+
}
|
|
1432
|
+
function $de67e98908f0c6ee$var$handleDecimalOperation(operator, value1, value2) {
|
|
1433
|
+
let result = operator === '+' ? value1 + value2 : value1 - value2;
|
|
1434
|
+
// Check if we have decimals
|
|
1435
|
+
if (value1 % 1 !== 0 || value2 % 1 !== 0) {
|
|
1436
|
+
const value1Decimal = value1.toString().split('.');
|
|
1437
|
+
const value2Decimal = value2.toString().split('.');
|
|
1438
|
+
const value1DecimalLength = value1Decimal[1] && value1Decimal[1].length || 0;
|
|
1439
|
+
const value2DecimalLength = value2Decimal[1] && value2Decimal[1].length || 0;
|
|
1440
|
+
const multiplier = Math.pow(10, Math.max(value1DecimalLength, value2DecimalLength));
|
|
1441
|
+
// Transform the decimals to integers based on the precision
|
|
1442
|
+
value1 = Math.round(value1 * multiplier);
|
|
1443
|
+
value2 = Math.round(value2 * multiplier);
|
|
1444
|
+
// Perform the operation on integers values to make sure we don't get a fancy decimal value
|
|
1445
|
+
result = operator === '+' ? value1 + value2 : value1 - value2;
|
|
1446
|
+
// Transform the integer result back to decimal
|
|
1447
|
+
result /= multiplier;
|
|
1448
|
+
}
|
|
1449
|
+
return result;
|
|
1474
1450
|
}
|
|
1475
1451
|
|
|
1476
|
-
var $
|
|
1477
|
-
$
|
|
1452
|
+
var $ed6aae4e5f766f1e$exports = {};
|
|
1453
|
+
$ed6aae4e5f766f1e$exports = {
|
|
1478
1454
|
"Empty": `\u{641}\u{627}\u{631}\u{63A}`
|
|
1479
1455
|
};
|
|
1480
1456
|
|
|
1481
|
-
var $
|
|
1482
|
-
$
|
|
1457
|
+
var $38854e2b175151fa$exports = {};
|
|
1458
|
+
$38854e2b175151fa$exports = {
|
|
1483
1459
|
"Empty": `\u{418}\u{437}\u{43F}\u{440}\u{430}\u{437}\u{43D}\u{438}`
|
|
1484
1460
|
};
|
|
1485
1461
|
|
|
1486
|
-
var $
|
|
1487
|
-
$
|
|
1462
|
+
var $15b25ab20f3945b2$exports = {};
|
|
1463
|
+
$15b25ab20f3945b2$exports = {
|
|
1488
1464
|
"Empty": `Pr\xe1zdn\xe9`
|
|
1489
1465
|
};
|
|
1490
1466
|
|
|
1491
|
-
var $
|
|
1492
|
-
$
|
|
1467
|
+
var $692a4298b6b649a2$exports = {};
|
|
1468
|
+
$692a4298b6b649a2$exports = {
|
|
1493
1469
|
"Empty": `Tom`
|
|
1494
1470
|
};
|
|
1495
1471
|
|
|
1496
|
-
var $
|
|
1497
|
-
$
|
|
1472
|
+
var $1c6e1539193f1243$exports = {};
|
|
1473
|
+
$1c6e1539193f1243$exports = {
|
|
1498
1474
|
"Empty": `Leer`
|
|
1499
1475
|
};
|
|
1500
1476
|
|
|
1501
|
-
var $
|
|
1502
|
-
$
|
|
1477
|
+
var $1e8678632c464b6d$exports = {};
|
|
1478
|
+
$1e8678632c464b6d$exports = {
|
|
1503
1479
|
"Empty": `\u{386}\u{3B4}\u{3B5}\u{3B9}\u{3BF}`
|
|
1504
1480
|
};
|
|
1505
1481
|
|
|
1506
|
-
var $
|
|
1507
|
-
$
|
|
1482
|
+
var $4adc85d9bf5b9eed$exports = {};
|
|
1483
|
+
$4adc85d9bf5b9eed$exports = {
|
|
1508
1484
|
"Empty": `Empty`
|
|
1509
1485
|
};
|
|
1510
1486
|
|
|
1511
|
-
var $
|
|
1512
|
-
$
|
|
1487
|
+
var $41c4b2bb61dafbca$exports = {};
|
|
1488
|
+
$41c4b2bb61dafbca$exports = {
|
|
1513
1489
|
"Empty": `Vac\xedo`
|
|
1514
1490
|
};
|
|
1515
1491
|
|
|
1516
|
-
var $
|
|
1517
|
-
$
|
|
1492
|
+
var $405f8b24f5dd2a60$exports = {};
|
|
1493
|
+
$405f8b24f5dd2a60$exports = {
|
|
1518
1494
|
"Empty": `T\xfchjenda`
|
|
1519
1495
|
};
|
|
1520
1496
|
|
|
1521
|
-
var $
|
|
1522
|
-
$
|
|
1497
|
+
var $7efe3ed02b9b9dd4$exports = {};
|
|
1498
|
+
$7efe3ed02b9b9dd4$exports = {
|
|
1523
1499
|
"Empty": `Tyhj\xe4`
|
|
1524
1500
|
};
|
|
1525
1501
|
|
|
1526
|
-
var $
|
|
1527
|
-
$
|
|
1502
|
+
var $99fc4c101d92daf3$exports = {};
|
|
1503
|
+
$99fc4c101d92daf3$exports = {
|
|
1528
1504
|
"Empty": `Vide`
|
|
1529
1505
|
};
|
|
1530
1506
|
|
|
1531
|
-
var $
|
|
1532
|
-
$
|
|
1507
|
+
var $f9e155e6e8cacaa2$exports = {};
|
|
1508
|
+
$f9e155e6e8cacaa2$exports = {
|
|
1533
1509
|
"Empty": `\u{5E8}\u{5D9}\u{5E7}`
|
|
1534
1510
|
};
|
|
1535
1511
|
|
|
1536
|
-
var $
|
|
1537
|
-
$
|
|
1512
|
+
var $c31b5e8e9a249fd5$exports = {};
|
|
1513
|
+
$c31b5e8e9a249fd5$exports = {
|
|
1538
1514
|
"Empty": `Prazno`
|
|
1539
1515
|
};
|
|
1540
1516
|
|
|
1541
|
-
var $
|
|
1542
|
-
$
|
|
1517
|
+
var $9c5435bc17499bd9$exports = {};
|
|
1518
|
+
$9c5435bc17499bd9$exports = {
|
|
1543
1519
|
"Empty": `\xdcres`
|
|
1544
1520
|
};
|
|
1545
1521
|
|
|
1546
|
-
var $
|
|
1547
|
-
$
|
|
1522
|
+
var $6d1fc8e84d8165e1$exports = {};
|
|
1523
|
+
$6d1fc8e84d8165e1$exports = {
|
|
1548
1524
|
"Empty": `Vuoto`
|
|
1549
1525
|
};
|
|
1550
1526
|
|
|
1551
|
-
var $
|
|
1552
|
-
$
|
|
1527
|
+
var $46ea6b3641b83e71$exports = {};
|
|
1528
|
+
$46ea6b3641b83e71$exports = {
|
|
1553
1529
|
"Empty": `\u{7A7A}`
|
|
1554
1530
|
};
|
|
1555
1531
|
|
|
1556
|
-
var $
|
|
1557
|
-
$
|
|
1532
|
+
var $0e3cc9a288289dc5$exports = {};
|
|
1533
|
+
$0e3cc9a288289dc5$exports = {
|
|
1558
1534
|
"Empty": `\u{BE44}\u{C5B4} \u{C788}\u{C74C}`
|
|
1559
1535
|
};
|
|
1560
1536
|
|
|
1561
|
-
var $
|
|
1562
|
-
$
|
|
1537
|
+
var $4ff2bb25c0089ffb$exports = {};
|
|
1538
|
+
$4ff2bb25c0089ffb$exports = {
|
|
1563
1539
|
"Empty": `Tu\u{161}\u{10D}ias`
|
|
1564
1540
|
};
|
|
1565
1541
|
|
|
1566
|
-
var $
|
|
1567
|
-
$
|
|
1542
|
+
var $6cf33cd4c010a2fb$exports = {};
|
|
1543
|
+
$6cf33cd4c010a2fb$exports = {
|
|
1568
1544
|
"Empty": `Tuk\u{161}s`
|
|
1569
1545
|
};
|
|
1570
1546
|
|
|
1571
|
-
var $
|
|
1572
|
-
$
|
|
1547
|
+
var $5a9f8486f8b8837e$exports = {};
|
|
1548
|
+
$5a9f8486f8b8837e$exports = {
|
|
1573
1549
|
"Empty": `Tom`
|
|
1574
1550
|
};
|
|
1575
1551
|
|
|
1576
|
-
var $
|
|
1577
|
-
$
|
|
1552
|
+
var $583f94d807f6ecea$exports = {};
|
|
1553
|
+
$583f94d807f6ecea$exports = {
|
|
1578
1554
|
"Empty": `Leeg`
|
|
1579
1555
|
};
|
|
1580
1556
|
|
|
1581
|
-
var $
|
|
1582
|
-
$
|
|
1557
|
+
var $cc4dcfeea2b4050d$exports = {};
|
|
1558
|
+
$cc4dcfeea2b4050d$exports = {
|
|
1583
1559
|
"Empty": `Pusty`
|
|
1584
1560
|
};
|
|
1585
1561
|
|
|
1586
|
-
var $
|
|
1587
|
-
$
|
|
1562
|
+
var $68ac2954d56e12b4$exports = {};
|
|
1563
|
+
$68ac2954d56e12b4$exports = {
|
|
1588
1564
|
"Empty": `Vazio`
|
|
1589
1565
|
};
|
|
1590
1566
|
|
|
1591
|
-
var $
|
|
1592
|
-
$
|
|
1567
|
+
var $fdb0616f309780b0$exports = {};
|
|
1568
|
+
$fdb0616f309780b0$exports = {
|
|
1593
1569
|
"Empty": `Vazio`
|
|
1594
1570
|
};
|
|
1595
1571
|
|
|
1596
|
-
var $
|
|
1597
|
-
$
|
|
1572
|
+
var $fe1eccf4ee1d6f52$exports = {};
|
|
1573
|
+
$fe1eccf4ee1d6f52$exports = {
|
|
1598
1574
|
"Empty": `Gol`
|
|
1599
1575
|
};
|
|
1600
1576
|
|
|
1601
|
-
var $
|
|
1602
|
-
$
|
|
1577
|
+
var $a38b6c4e18725976$exports = {};
|
|
1578
|
+
$a38b6c4e18725976$exports = {
|
|
1603
1579
|
"Empty": `\u{41D}\u{435} \u{437}\u{430}\u{43F}\u{43E}\u{43B}\u{43D}\u{435}\u{43D}\u{43E}`
|
|
1604
1580
|
};
|
|
1605
1581
|
|
|
1606
|
-
var $
|
|
1607
|
-
$
|
|
1582
|
+
var $6c14ae2b766b652c$exports = {};
|
|
1583
|
+
$6c14ae2b766b652c$exports = {
|
|
1608
1584
|
"Empty": `Pr\xe1zdne`
|
|
1609
1585
|
};
|
|
1610
1586
|
|
|
1611
|
-
var $
|
|
1612
|
-
$
|
|
1587
|
+
var $8f1c9692e16dc5eb$exports = {};
|
|
1588
|
+
$8f1c9692e16dc5eb$exports = {
|
|
1613
1589
|
"Empty": `Prazen`
|
|
1614
1590
|
};
|
|
1615
1591
|
|
|
1616
|
-
var $
|
|
1617
|
-
$
|
|
1592
|
+
var $d2aa7abea627cafa$exports = {};
|
|
1593
|
+
$d2aa7abea627cafa$exports = {
|
|
1618
1594
|
"Empty": `Prazno`
|
|
1619
1595
|
};
|
|
1620
1596
|
|
|
1621
|
-
var $
|
|
1622
|
-
$
|
|
1597
|
+
var $676b82e4b56408e6$exports = {};
|
|
1598
|
+
$676b82e4b56408e6$exports = {
|
|
1623
1599
|
"Empty": `Tomt`
|
|
1624
1600
|
};
|
|
1625
1601
|
|
|
1626
|
-
var $
|
|
1627
|
-
$
|
|
1602
|
+
var $14c9042552d7ce08$exports = {};
|
|
1603
|
+
$14c9042552d7ce08$exports = {
|
|
1628
1604
|
"Empty": `Bo\u{15F}`
|
|
1629
1605
|
};
|
|
1630
1606
|
|
|
1631
|
-
var $
|
|
1632
|
-
$
|
|
1607
|
+
var $393254ebcb66c9f5$exports = {};
|
|
1608
|
+
$393254ebcb66c9f5$exports = {
|
|
1633
1609
|
"Empty": `\u{41F}\u{443}\u{441}\u{442}\u{43E}`
|
|
1634
1610
|
};
|
|
1635
1611
|
|
|
1636
|
-
var $
|
|
1637
|
-
$
|
|
1612
|
+
var $d49d621f310cf6ce$exports = {};
|
|
1613
|
+
$d49d621f310cf6ce$exports = {
|
|
1638
1614
|
"Empty": `\u{7A7A}`
|
|
1639
1615
|
};
|
|
1640
1616
|
|
|
1641
|
-
var $
|
|
1642
|
-
$
|
|
1617
|
+
var $94b60c866ca5dfe6$exports = {};
|
|
1618
|
+
$94b60c866ca5dfe6$exports = {
|
|
1643
1619
|
"Empty": `\u{7A7A}\u{767D}`
|
|
1644
1620
|
};
|
|
1645
1621
|
|
|
1646
|
-
var $
|
|
1622
|
+
var $a99895ee3dc79e61$exports = {};
|
|
1647
1623
|
|
|
1648
1624
|
|
|
1649
1625
|
|
|
@@ -1678,41 +1654,41 @@ var $6279e3628ec747df$exports = {};
|
|
|
1678
1654
|
|
|
1679
1655
|
|
|
1680
1656
|
|
|
1681
|
-
$
|
|
1682
|
-
"ar-AE": $
|
|
1683
|
-
"bg-BG": $
|
|
1684
|
-
"cs-CZ": $
|
|
1685
|
-
"da-DK": $
|
|
1686
|
-
"de-DE": $
|
|
1687
|
-
"el-GR": $
|
|
1688
|
-
"en-US": $
|
|
1689
|
-
"es-ES": $
|
|
1690
|
-
"et-EE": $
|
|
1691
|
-
"fi-FI": $
|
|
1692
|
-
"fr-FR": $
|
|
1693
|
-
"he-IL": $
|
|
1694
|
-
"hr-HR": $
|
|
1695
|
-
"hu-HU": $
|
|
1696
|
-
"it-IT": $
|
|
1697
|
-
"ja-JP": $
|
|
1698
|
-
"ko-KR": $
|
|
1699
|
-
"lt-LT": $
|
|
1700
|
-
"lv-LV": $
|
|
1701
|
-
"nb-NO": $
|
|
1702
|
-
"nl-NL": $
|
|
1703
|
-
"pl-PL": $
|
|
1704
|
-
"pt-BR": $
|
|
1705
|
-
"pt-PT": $
|
|
1706
|
-
"ro-RO": $
|
|
1707
|
-
"ru-RU": $
|
|
1708
|
-
"sk-SK": $
|
|
1709
|
-
"sl-SI": $
|
|
1710
|
-
"sr-SP": $
|
|
1711
|
-
"sv-SE": $
|
|
1712
|
-
"tr-TR": $
|
|
1713
|
-
"uk-UA": $
|
|
1714
|
-
"zh-CN": $
|
|
1715
|
-
"zh-TW": $
|
|
1657
|
+
$a99895ee3dc79e61$exports = {
|
|
1658
|
+
"ar-AE": $ed6aae4e5f766f1e$exports,
|
|
1659
|
+
"bg-BG": $38854e2b175151fa$exports,
|
|
1660
|
+
"cs-CZ": $15b25ab20f3945b2$exports,
|
|
1661
|
+
"da-DK": $692a4298b6b649a2$exports,
|
|
1662
|
+
"de-DE": $1c6e1539193f1243$exports,
|
|
1663
|
+
"el-GR": $1e8678632c464b6d$exports,
|
|
1664
|
+
"en-US": $4adc85d9bf5b9eed$exports,
|
|
1665
|
+
"es-ES": $41c4b2bb61dafbca$exports,
|
|
1666
|
+
"et-EE": $405f8b24f5dd2a60$exports,
|
|
1667
|
+
"fi-FI": $7efe3ed02b9b9dd4$exports,
|
|
1668
|
+
"fr-FR": $99fc4c101d92daf3$exports,
|
|
1669
|
+
"he-IL": $f9e155e6e8cacaa2$exports,
|
|
1670
|
+
"hr-HR": $c31b5e8e9a249fd5$exports,
|
|
1671
|
+
"hu-HU": $9c5435bc17499bd9$exports,
|
|
1672
|
+
"it-IT": $6d1fc8e84d8165e1$exports,
|
|
1673
|
+
"ja-JP": $46ea6b3641b83e71$exports,
|
|
1674
|
+
"ko-KR": $0e3cc9a288289dc5$exports,
|
|
1675
|
+
"lt-LT": $4ff2bb25c0089ffb$exports,
|
|
1676
|
+
"lv-LV": $6cf33cd4c010a2fb$exports,
|
|
1677
|
+
"nb-NO": $5a9f8486f8b8837e$exports,
|
|
1678
|
+
"nl-NL": $583f94d807f6ecea$exports,
|
|
1679
|
+
"pl-PL": $cc4dcfeea2b4050d$exports,
|
|
1680
|
+
"pt-BR": $68ac2954d56e12b4$exports,
|
|
1681
|
+
"pt-PT": $fdb0616f309780b0$exports,
|
|
1682
|
+
"ro-RO": $fe1eccf4ee1d6f52$exports,
|
|
1683
|
+
"ru-RU": $a38b6c4e18725976$exports,
|
|
1684
|
+
"sk-SK": $6c14ae2b766b652c$exports,
|
|
1685
|
+
"sl-SI": $8f1c9692e16dc5eb$exports,
|
|
1686
|
+
"sr-SP": $d2aa7abea627cafa$exports,
|
|
1687
|
+
"sv-SE": $676b82e4b56408e6$exports,
|
|
1688
|
+
"tr-TR": $14c9042552d7ce08$exports,
|
|
1689
|
+
"uk-UA": $393254ebcb66c9f5$exports,
|
|
1690
|
+
"zh-CN": $d49d621f310cf6ce$exports,
|
|
1691
|
+
"zh-TW": $94b60c866ca5dfe6$exports
|
|
1716
1692
|
};
|
|
1717
1693
|
|
|
1718
1694
|
function $parcel$interopDefault$1(a) {
|
|
@@ -1733,22 +1709,13 @@ function $parcel$interopDefault$1(a) {
|
|
|
1733
1709
|
|
|
1734
1710
|
|
|
1735
1711
|
|
|
1736
|
-
|
|
1737
|
-
const $757ec6630f26125c$var$noop = ()=>{};
|
|
1738
|
-
function $757ec6630f26125c$export$e908e06f4b8e3402(props) {
|
|
1712
|
+
function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
|
|
1739
1713
|
const _async = (React.useRef)(undefined);
|
|
1740
1714
|
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;
|
|
1741
|
-
const stringFormatter = (Text.$
|
|
1742
|
-
|
|
1743
|
-
const clearAsync = (React.useCallback)(()=>{
|
|
1744
|
-
clearTimeout(_async.current);
|
|
1745
|
-
isSpinning.current = false;
|
|
1746
|
-
}, []);
|
|
1747
|
-
const clearAsyncEvent = (Text.$fe16bffc7a557bf0$export$7f54fc3180508a52)(()=>{
|
|
1748
|
-
clearAsync();
|
|
1749
|
-
});
|
|
1715
|
+
const stringFormatter = (Text.$fca6afa0e843324b$export$f12b703ca79dfbb1)((($parcel$interopDefault$1($a99895ee3dc79e61$exports))), '@react-aria/spinbutton');
|
|
1716
|
+
const clearAsync = ()=>clearTimeout(_async.current);
|
|
1750
1717
|
(React.useEffect)(()=>{
|
|
1751
|
-
return ()=>
|
|
1718
|
+
return ()=>clearAsync();
|
|
1752
1719
|
}, []);
|
|
1753
1720
|
let onKeyDown = (e)=>{
|
|
1754
1721
|
if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || isReadOnly || e.nativeEvent.isComposing) return;
|
|
@@ -1756,7 +1723,7 @@ function $757ec6630f26125c$export$e908e06f4b8e3402(props) {
|
|
|
1756
1723
|
case 'PageUp':
|
|
1757
1724
|
if (onIncrementPage) {
|
|
1758
1725
|
e.preventDefault();
|
|
1759
|
-
onIncrementPage
|
|
1726
|
+
onIncrementPage === null || onIncrementPage === void 0 ? void 0 : onIncrementPage();
|
|
1760
1727
|
break;
|
|
1761
1728
|
}
|
|
1762
1729
|
// fallthrough!
|
|
@@ -1764,13 +1731,13 @@ function $757ec6630f26125c$export$e908e06f4b8e3402(props) {
|
|
|
1764
1731
|
case 'Up':
|
|
1765
1732
|
if (onIncrement) {
|
|
1766
1733
|
e.preventDefault();
|
|
1767
|
-
onIncrement
|
|
1734
|
+
onIncrement === null || onIncrement === void 0 ? void 0 : onIncrement();
|
|
1768
1735
|
}
|
|
1769
1736
|
break;
|
|
1770
1737
|
case 'PageDown':
|
|
1771
1738
|
if (onDecrementPage) {
|
|
1772
1739
|
e.preventDefault();
|
|
1773
|
-
onDecrementPage
|
|
1740
|
+
onDecrementPage === null || onDecrementPage === void 0 ? void 0 : onDecrementPage();
|
|
1774
1741
|
break;
|
|
1775
1742
|
}
|
|
1776
1743
|
// fallthrough
|
|
@@ -1778,19 +1745,19 @@ function $757ec6630f26125c$export$e908e06f4b8e3402(props) {
|
|
|
1778
1745
|
case 'Down':
|
|
1779
1746
|
if (onDecrement) {
|
|
1780
1747
|
e.preventDefault();
|
|
1781
|
-
onDecrement
|
|
1748
|
+
onDecrement === null || onDecrement === void 0 ? void 0 : onDecrement();
|
|
1782
1749
|
}
|
|
1783
1750
|
break;
|
|
1784
1751
|
case 'Home':
|
|
1785
1752
|
if (onDecrementToMin) {
|
|
1786
1753
|
e.preventDefault();
|
|
1787
|
-
onDecrementToMin
|
|
1754
|
+
onDecrementToMin === null || onDecrementToMin === void 0 ? void 0 : onDecrementToMin();
|
|
1788
1755
|
}
|
|
1789
1756
|
break;
|
|
1790
1757
|
case 'End':
|
|
1791
1758
|
if (onIncrementToMax) {
|
|
1792
1759
|
e.preventDefault();
|
|
1793
|
-
onIncrementToMax
|
|
1760
|
+
onIncrementToMax === null || onIncrementToMax === void 0 ? void 0 : onIncrementToMax();
|
|
1794
1761
|
}
|
|
1795
1762
|
break;
|
|
1796
1763
|
}
|
|
@@ -1809,67 +1776,32 @@ function $757ec6630f26125c$export$e908e06f4b8e3402(props) {
|
|
|
1809
1776
|
let ariaTextValue = textValue === '' ? stringFormatter.format('Empty') : (textValue || `${value}`).replace('-', '\u2212');
|
|
1810
1777
|
(React.useEffect)(()=>{
|
|
1811
1778
|
if (isFocused.current) {
|
|
1812
|
-
($
|
|
1813
|
-
($
|
|
1779
|
+
($319e236875307eab$export$d10ae4f68404609a)('assertive');
|
|
1780
|
+
($319e236875307eab$export$a9b970dcc4ae71a9)(ariaTextValue, 'assertive');
|
|
1814
1781
|
}
|
|
1815
1782
|
}, [
|
|
1816
1783
|
ariaTextValue
|
|
1817
1784
|
]);
|
|
1818
|
-
|
|
1819
|
-
let onPointerCancel = (React.useCallback)(()=>{
|
|
1785
|
+
const onIncrementPressStart = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)((initialStepDelay)=>{
|
|
1820
1786
|
clearAsync();
|
|
1821
|
-
|
|
1822
|
-
clearAsync
|
|
1823
|
-
]);
|
|
1824
|
-
const onIncrementEvent = (Text.$fe16bffc7a557bf0$export$7f54fc3180508a52)(onIncrement ?? $757ec6630f26125c$var$noop);
|
|
1825
|
-
const onDecrementEvent = (Text.$fe16bffc7a557bf0$export$7f54fc3180508a52)(onDecrement ?? $757ec6630f26125c$var$noop);
|
|
1826
|
-
const stepUpEvent = (Text.$fe16bffc7a557bf0$export$7f54fc3180508a52)(()=>{
|
|
1827
|
-
if (maxValue === undefined || isNaN(maxValue) || value === undefined || isNaN(value) || value < maxValue) {
|
|
1828
|
-
onIncrementEvent();
|
|
1829
|
-
onIncrementPressStartEvent(60);
|
|
1830
|
-
}
|
|
1831
|
-
});
|
|
1832
|
-
const onIncrementPressStartEvent = (Text.$fe16bffc7a557bf0$export$7f54fc3180508a52)((initialStepDelay)=>{
|
|
1833
|
-
clearAsyncEvent();
|
|
1834
|
-
isSpinning.current = true;
|
|
1787
|
+
onIncrement === null || onIncrement === void 0 ? void 0 : onIncrement();
|
|
1835
1788
|
// Start spinning after initial delay
|
|
1836
|
-
_async.current = window.setTimeout(
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
if (minValue === undefined || isNaN(minValue) || value === undefined || isNaN(value) || value > minValue) {
|
|
1840
|
-
onDecrementEvent();
|
|
1841
|
-
onDecrementPressStartEvent(60);
|
|
1842
|
-
}
|
|
1789
|
+
_async.current = window.setTimeout(()=>{
|
|
1790
|
+
if (maxValue === undefined || isNaN(maxValue) || value === undefined || isNaN(value) || value < maxValue) onIncrementPressStart(60);
|
|
1791
|
+
}, initialStepDelay);
|
|
1843
1792
|
});
|
|
1844
|
-
const
|
|
1845
|
-
|
|
1846
|
-
|
|
1793
|
+
const onDecrementPressStart = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)((initialStepDelay)=>{
|
|
1794
|
+
clearAsync();
|
|
1795
|
+
onDecrement === null || onDecrement === void 0 ? void 0 : onDecrement();
|
|
1847
1796
|
// Start spinning after initial delay
|
|
1848
|
-
_async.current = window.setTimeout(
|
|
1797
|
+
_async.current = window.setTimeout(()=>{
|
|
1798
|
+
if (minValue === undefined || isNaN(minValue) || value === undefined || isNaN(value) || value > minValue) onDecrementPressStart(60);
|
|
1799
|
+
}, initialStepDelay);
|
|
1849
1800
|
});
|
|
1850
1801
|
let cancelContextMenu = (e)=>{
|
|
1851
1802
|
e.preventDefault();
|
|
1852
1803
|
};
|
|
1853
|
-
let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (Text.$
|
|
1854
|
-
// Tracks in touch if the press end event was preceded by a press up.
|
|
1855
|
-
// If it wasn't, then we know the finger left the button while still in contact with the screen.
|
|
1856
|
-
// This means that the user is trying to scroll or interact in some way that shouldn't trigger
|
|
1857
|
-
// an increment or decrement.
|
|
1858
|
-
let isUp = (React.useRef)(false);
|
|
1859
|
-
let [isIncrementPressed, setIsIncrementPressed] = (React.useState)(null);
|
|
1860
|
-
(React.useEffect)(()=>{
|
|
1861
|
-
if (isIncrementPressed === 'touch') onIncrementPressStartEvent(600);
|
|
1862
|
-
else if (isIncrementPressed) onIncrementPressStartEvent(400);
|
|
1863
|
-
}, [
|
|
1864
|
-
isIncrementPressed
|
|
1865
|
-
]);
|
|
1866
|
-
let [isDecrementPressed, setIsDecrementPressed] = (React.useState)(null);
|
|
1867
|
-
(React.useEffect)(()=>{
|
|
1868
|
-
if (isDecrementPressed === 'touch') onDecrementPressStartEvent(600);
|
|
1869
|
-
else if (isDecrementPressed) onDecrementPressStartEvent(400);
|
|
1870
|
-
}, [
|
|
1871
|
-
isDecrementPressed
|
|
1872
|
-
]);
|
|
1804
|
+
let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (Text.$03deb23ff14920c4$export$4eaf04e54aa8eed6)();
|
|
1873
1805
|
return {
|
|
1874
1806
|
spinButtonProps: {
|
|
1875
1807
|
role: 'spinbutton',
|
|
@@ -1885,68 +1817,25 @@ function $757ec6630f26125c$export$e908e06f4b8e3402(props) {
|
|
|
1885
1817
|
onBlur: onBlur
|
|
1886
1818
|
},
|
|
1887
1819
|
incrementButtonProps: {
|
|
1888
|
-
onPressStart: (
|
|
1889
|
-
|
|
1890
|
-
if (e.pointerType !== 'touch') {
|
|
1891
|
-
onIncrement?.();
|
|
1892
|
-
setIsIncrementPressed('mouse');
|
|
1893
|
-
} else {
|
|
1894
|
-
addGlobalListener(window, 'pointercancel', onPointerCancel, {
|
|
1895
|
-
capture: true
|
|
1896
|
-
});
|
|
1897
|
-
isUp.current = false;
|
|
1898
|
-
// For touch users, don't trigger a decrement on press start, we'll wait for the press end to trigger it if
|
|
1899
|
-
// the control isn't spinning.
|
|
1900
|
-
setIsIncrementPressed('touch');
|
|
1901
|
-
}
|
|
1820
|
+
onPressStart: ()=>{
|
|
1821
|
+
onIncrementPressStart(400);
|
|
1902
1822
|
addGlobalListener(window, 'contextmenu', cancelContextMenu);
|
|
1903
1823
|
},
|
|
1904
|
-
|
|
1824
|
+
onPressEnd: ()=>{
|
|
1905
1825
|
clearAsync();
|
|
1906
|
-
if (e.pointerType === 'touch') isUp.current = true;
|
|
1907
1826
|
removeAllGlobalListeners();
|
|
1908
|
-
setIsIncrementPressed(null);
|
|
1909
|
-
},
|
|
1910
|
-
onPressEnd: (e)=>{
|
|
1911
|
-
clearAsync();
|
|
1912
|
-
if (e.pointerType === 'touch') {
|
|
1913
|
-
if (!isSpinning.current && isUp.current) onIncrement?.();
|
|
1914
|
-
}
|
|
1915
|
-
isUp.current = false;
|
|
1916
|
-
setIsIncrementPressed(null);
|
|
1917
1827
|
},
|
|
1918
1828
|
onFocus: onFocus,
|
|
1919
1829
|
onBlur: onBlur
|
|
1920
1830
|
},
|
|
1921
1831
|
decrementButtonProps: {
|
|
1922
|
-
onPressStart: (
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
onDecrement?.();
|
|
1926
|
-
setIsDecrementPressed('mouse');
|
|
1927
|
-
} else {
|
|
1928
|
-
addGlobalListener(window, 'pointercancel', onPointerCancel, {
|
|
1929
|
-
capture: true
|
|
1930
|
-
});
|
|
1931
|
-
isUp.current = false;
|
|
1932
|
-
// For touch users, don't trigger a decrement on press start, we'll wait for the press end to trigger it if
|
|
1933
|
-
// the control isn't spinning.
|
|
1934
|
-
setIsDecrementPressed('touch');
|
|
1935
|
-
}
|
|
1832
|
+
onPressStart: ()=>{
|
|
1833
|
+
onDecrementPressStart(400);
|
|
1834
|
+
addGlobalListener(window, 'contextmenu', cancelContextMenu);
|
|
1936
1835
|
},
|
|
1937
|
-
|
|
1836
|
+
onPressEnd: ()=>{
|
|
1938
1837
|
clearAsync();
|
|
1939
|
-
if (e.pointerType === 'touch') isUp.current = true;
|
|
1940
1838
|
removeAllGlobalListeners();
|
|
1941
|
-
setIsDecrementPressed(null);
|
|
1942
|
-
},
|
|
1943
|
-
onPressEnd: (e)=>{
|
|
1944
|
-
clearAsync();
|
|
1945
|
-
if (e.pointerType === 'touch') {
|
|
1946
|
-
if (!isSpinning.current && isUp.current) onDecrement?.();
|
|
1947
|
-
}
|
|
1948
|
-
isUp.current = false;
|
|
1949
|
-
setIsDecrementPressed(null);
|
|
1950
1839
|
},
|
|
1951
1840
|
onFocus: onFocus,
|
|
1952
1841
|
onBlur: onBlur
|
|
@@ -1954,245 +1843,245 @@ function $757ec6630f26125c$export$e908e06f4b8e3402(props) {
|
|
|
1954
1843
|
};
|
|
1955
1844
|
}
|
|
1956
1845
|
|
|
1957
|
-
var $
|
|
1958
|
-
$
|
|
1846
|
+
var $fb78e0f6ab6349ed$exports = {};
|
|
1847
|
+
$fb78e0f6ab6349ed$exports = {
|
|
1959
1848
|
"decrease": (args)=>`\u{62E}\u{641}\u{636} ${args.fieldLabel}`,
|
|
1960
1849
|
"increase": (args)=>`\u{632}\u{64A}\u{627}\u{62F}\u{629} ${args.fieldLabel}`,
|
|
1961
1850
|
"numberField": `\u{62D}\u{642}\u{644} \u{631}\u{642}\u{645}\u{64A}`
|
|
1962
1851
|
};
|
|
1963
1852
|
|
|
1964
|
-
var $
|
|
1965
|
-
$
|
|
1853
|
+
var $2776acdd9959a647$exports = {};
|
|
1854
|
+
$2776acdd9959a647$exports = {
|
|
1966
1855
|
"decrease": (args)=>`\u{41D}\u{430}\u{43C}\u{430}\u{43B}\u{44F}\u{432}\u{430}\u{43D}\u{435} ${args.fieldLabel}`,
|
|
1967
1856
|
"increase": (args)=>`\u{423}\u{441}\u{438}\u{43B}\u{432}\u{430}\u{43D}\u{435} ${args.fieldLabel}`,
|
|
1968
1857
|
"numberField": `\u{41D}\u{43E}\u{43C}\u{435}\u{440} \u{43D}\u{430} \u{43F}\u{43E}\u{43B}\u{435}\u{442}\u{43E}`
|
|
1969
1858
|
};
|
|
1970
1859
|
|
|
1971
|
-
var $
|
|
1972
|
-
$
|
|
1860
|
+
var $741954410a365ad3$exports = {};
|
|
1861
|
+
$741954410a365ad3$exports = {
|
|
1973
1862
|
"decrease": (args)=>`Sn\xed\u{17E}it ${args.fieldLabel}`,
|
|
1974
1863
|
"increase": (args)=>`Zv\xfd\u{161}it ${args.fieldLabel}`,
|
|
1975
1864
|
"numberField": `\u{10C}\xedseln\xe9 pole`
|
|
1976
1865
|
};
|
|
1977
1866
|
|
|
1978
|
-
var $
|
|
1979
|
-
$
|
|
1867
|
+
var $8321ed0f8ab642f0$exports = {};
|
|
1868
|
+
$8321ed0f8ab642f0$exports = {
|
|
1980
1869
|
"decrease": (args)=>`Reducer ${args.fieldLabel}`,
|
|
1981
1870
|
"increase": (args)=>`\xd8g ${args.fieldLabel}`,
|
|
1982
1871
|
"numberField": `Talfelt`
|
|
1983
1872
|
};
|
|
1984
1873
|
|
|
1985
|
-
var $
|
|
1986
|
-
$
|
|
1874
|
+
var $92978e0c4ecafa32$exports = {};
|
|
1875
|
+
$92978e0c4ecafa32$exports = {
|
|
1987
1876
|
"decrease": (args)=>`${args.fieldLabel} verringern`,
|
|
1988
1877
|
"increase": (args)=>`${args.fieldLabel} erh\xf6hen`,
|
|
1989
1878
|
"numberField": `Nummernfeld`
|
|
1990
1879
|
};
|
|
1991
1880
|
|
|
1992
|
-
var $
|
|
1993
|
-
$
|
|
1881
|
+
var $ac5ff71962864a84$exports = {};
|
|
1882
|
+
$ac5ff71962864a84$exports = {
|
|
1994
1883
|
"decrease": (args)=>`\u{39C}\u{3B5}\u{3AF}\u{3C9}\u{3C3}\u{3B7} ${args.fieldLabel}`,
|
|
1995
1884
|
"increase": (args)=>`\u{391}\u{3CD}\u{3BE}\u{3B7}\u{3C3}\u{3B7} ${args.fieldLabel}`,
|
|
1996
1885
|
"numberField": `\u{3A0}\u{3B5}\u{3B4}\u{3AF}\u{3BF} \u{3B1}\u{3C1}\u{3B9}\u{3B8}\u{3BC}\u{3BF}\u{3CD}`
|
|
1997
1886
|
};
|
|
1998
1887
|
|
|
1999
|
-
var $
|
|
2000
|
-
$
|
|
1888
|
+
var $efe4685e2440d8be$exports = {};
|
|
1889
|
+
$efe4685e2440d8be$exports = {
|
|
2001
1890
|
"decrease": (args)=>`Decrease ${args.fieldLabel}`,
|
|
2002
1891
|
"increase": (args)=>`Increase ${args.fieldLabel}`,
|
|
2003
1892
|
"numberField": `Number field`
|
|
2004
1893
|
};
|
|
2005
1894
|
|
|
2006
|
-
var $
|
|
2007
|
-
$
|
|
1895
|
+
var $e50a9a48739b90e1$exports = {};
|
|
1896
|
+
$e50a9a48739b90e1$exports = {
|
|
2008
1897
|
"decrease": (args)=>`Reducir ${args.fieldLabel}`,
|
|
2009
1898
|
"increase": (args)=>`Aumentar ${args.fieldLabel}`,
|
|
2010
1899
|
"numberField": `Campo de n\xfamero`
|
|
2011
1900
|
};
|
|
2012
1901
|
|
|
2013
|
-
var $
|
|
2014
|
-
$
|
|
1902
|
+
var $6e0d5294ecbb8ab6$exports = {};
|
|
1903
|
+
$6e0d5294ecbb8ab6$exports = {
|
|
2015
1904
|
"decrease": (args)=>`V\xe4henda ${args.fieldLabel}`,
|
|
2016
1905
|
"increase": (args)=>`Suurenda ${args.fieldLabel}`,
|
|
2017
1906
|
"numberField": `Numbri v\xe4li`
|
|
2018
1907
|
};
|
|
2019
1908
|
|
|
2020
|
-
var $
|
|
2021
|
-
$
|
|
1909
|
+
var $e7129d65f607f77f$exports = {};
|
|
1910
|
+
$e7129d65f607f77f$exports = {
|
|
2022
1911
|
"decrease": (args)=>`V\xe4henn\xe4 ${args.fieldLabel}`,
|
|
2023
1912
|
"increase": (args)=>`Lis\xe4\xe4 ${args.fieldLabel}`,
|
|
2024
1913
|
"numberField": `Numerokentt\xe4`
|
|
2025
1914
|
};
|
|
2026
1915
|
|
|
2027
|
-
var $
|
|
2028
|
-
$
|
|
1916
|
+
var $d72adf5b20573e34$exports = {};
|
|
1917
|
+
$d72adf5b20573e34$exports = {
|
|
2029
1918
|
"decrease": (args)=>`Diminuer ${args.fieldLabel}`,
|
|
2030
1919
|
"increase": (args)=>`Augmenter ${args.fieldLabel}`,
|
|
2031
1920
|
"numberField": `Champ de nombre`
|
|
2032
1921
|
};
|
|
2033
1922
|
|
|
2034
|
-
var $
|
|
2035
|
-
$
|
|
1923
|
+
var $a25c707e88b844a7$exports = {};
|
|
1924
|
+
$a25c707e88b844a7$exports = {
|
|
2036
1925
|
"decrease": (args)=>`\u{5D4}\u{5E7}\u{5D8}\u{5DF} ${args.fieldLabel}`,
|
|
2037
1926
|
"increase": (args)=>`\u{5D4}\u{5D2}\u{5D3}\u{5DC} ${args.fieldLabel}`,
|
|
2038
1927
|
"numberField": `\u{5E9}\u{5D3}\u{5D4} \u{5DE}\u{5E1}\u{5E4}\u{5E8}`
|
|
2039
1928
|
};
|
|
2040
1929
|
|
|
2041
|
-
var $
|
|
2042
|
-
$
|
|
1930
|
+
var $69b41140b9a4ca54$exports = {};
|
|
1931
|
+
$69b41140b9a4ca54$exports = {
|
|
2043
1932
|
"decrease": (args)=>`Smanji ${args.fieldLabel}`,
|
|
2044
1933
|
"increase": (args)=>`Pove\u{107}aj ${args.fieldLabel}`,
|
|
2045
1934
|
"numberField": `Polje broja`
|
|
2046
1935
|
};
|
|
2047
1936
|
|
|
2048
|
-
var $
|
|
2049
|
-
$
|
|
1937
|
+
var $81dab28f37f59d1a$exports = {};
|
|
1938
|
+
$81dab28f37f59d1a$exports = {
|
|
2050
1939
|
"decrease": (args)=>`${args.fieldLabel} cs\xf6kkent\xe9se`,
|
|
2051
1940
|
"increase": (args)=>`${args.fieldLabel} n\xf6vel\xe9se`,
|
|
2052
1941
|
"numberField": `Sz\xe1mmez\u{151}`
|
|
2053
1942
|
};
|
|
2054
1943
|
|
|
2055
|
-
var $
|
|
2056
|
-
$
|
|
1944
|
+
var $866555b31f2d7711$exports = {};
|
|
1945
|
+
$866555b31f2d7711$exports = {
|
|
2057
1946
|
"decrease": (args)=>`Riduci ${args.fieldLabel}`,
|
|
2058
1947
|
"increase": (args)=>`Aumenta ${args.fieldLabel}`,
|
|
2059
1948
|
"numberField": `Campo numero`
|
|
2060
1949
|
};
|
|
2061
1950
|
|
|
2062
|
-
var $
|
|
2063
|
-
$
|
|
1951
|
+
var $dafcd55d52b9d371$exports = {};
|
|
1952
|
+
$dafcd55d52b9d371$exports = {
|
|
2064
1953
|
"decrease": (args)=>`${args.fieldLabel}\u{3092}\u{7E2E}\u{5C0F}`,
|
|
2065
1954
|
"increase": (args)=>`${args.fieldLabel}\u{3092}\u{62E1}\u{5927}`,
|
|
2066
1955
|
"numberField": `\u{6570}\u{5024}\u{30D5}\u{30A3}\u{30FC}\u{30EB}\u{30C9}`
|
|
2067
1956
|
};
|
|
2068
1957
|
|
|
2069
|
-
var $
|
|
2070
|
-
$
|
|
1958
|
+
var $f090c1f8c5da0145$exports = {};
|
|
1959
|
+
$f090c1f8c5da0145$exports = {
|
|
2071
1960
|
"decrease": (args)=>`${args.fieldLabel} \u{AC10}\u{C18C}`,
|
|
2072
1961
|
"increase": (args)=>`${args.fieldLabel} \u{C99D}\u{AC00}`,
|
|
2073
1962
|
"numberField": `\u{BC88}\u{D638} \u{D544}\u{B4DC}`
|
|
2074
1963
|
};
|
|
2075
1964
|
|
|
2076
|
-
var $
|
|
2077
|
-
$
|
|
1965
|
+
var $6f10f3a13360a75c$exports = {};
|
|
1966
|
+
$6f10f3a13360a75c$exports = {
|
|
2078
1967
|
"decrease": (args)=>`Suma\u{17E}inti ${args.fieldLabel}`,
|
|
2079
1968
|
"increase": (args)=>`Padidinti ${args.fieldLabel}`,
|
|
2080
1969
|
"numberField": `Numerio laukas`
|
|
2081
1970
|
};
|
|
2082
1971
|
|
|
2083
|
-
var $
|
|
2084
|
-
$
|
|
1972
|
+
var $47432cefd4b7bd1b$exports = {};
|
|
1973
|
+
$47432cefd4b7bd1b$exports = {
|
|
2085
1974
|
"decrease": (args)=>`Samazin\u{101}\u{161}ana ${args.fieldLabel}`,
|
|
2086
1975
|
"increase": (args)=>`Palielin\u{101}\u{161}ana ${args.fieldLabel}`,
|
|
2087
1976
|
"numberField": `Skait\u{13C}u lauks`
|
|
2088
1977
|
};
|
|
2089
1978
|
|
|
2090
|
-
var $
|
|
2091
|
-
$
|
|
1979
|
+
var $dc578a950a2bf23d$exports = {};
|
|
1980
|
+
$dc578a950a2bf23d$exports = {
|
|
2092
1981
|
"decrease": (args)=>`Reduser ${args.fieldLabel}`,
|
|
2093
1982
|
"increase": (args)=>`\xd8k ${args.fieldLabel}`,
|
|
2094
1983
|
"numberField": `Tallfelt`
|
|
2095
1984
|
};
|
|
2096
1985
|
|
|
2097
|
-
var $
|
|
2098
|
-
$
|
|
1986
|
+
var $353f1bfca4dc395a$exports = {};
|
|
1987
|
+
$353f1bfca4dc395a$exports = {
|
|
2099
1988
|
"decrease": (args)=>`${args.fieldLabel} verlagen`,
|
|
2100
1989
|
"increase": (args)=>`${args.fieldLabel} verhogen`,
|
|
2101
1990
|
"numberField": `Getalveld`
|
|
2102
1991
|
};
|
|
2103
1992
|
|
|
2104
|
-
var $
|
|
2105
|
-
$
|
|
1993
|
+
var $241bc0bbd870e982$exports = {};
|
|
1994
|
+
$241bc0bbd870e982$exports = {
|
|
2106
1995
|
"decrease": (args)=>`Zmniejsz ${args.fieldLabel}`,
|
|
2107
1996
|
"increase": (args)=>`Zwi\u{119}ksz ${args.fieldLabel}`,
|
|
2108
1997
|
"numberField": `Pole numeru`
|
|
2109
1998
|
};
|
|
2110
1999
|
|
|
2111
|
-
var $
|
|
2112
|
-
$
|
|
2000
|
+
var $da3005c7bd72b0a8$exports = {};
|
|
2001
|
+
$da3005c7bd72b0a8$exports = {
|
|
2113
2002
|
"decrease": (args)=>`Diminuir ${args.fieldLabel}`,
|
|
2114
2003
|
"increase": (args)=>`Aumentar ${args.fieldLabel}`,
|
|
2115
2004
|
"numberField": `Campo de n\xfamero`
|
|
2116
2005
|
};
|
|
2117
2006
|
|
|
2118
|
-
var $
|
|
2119
|
-
$
|
|
2007
|
+
var $cf48bfc540882310$exports = {};
|
|
2008
|
+
$cf48bfc540882310$exports = {
|
|
2120
2009
|
"decrease": (args)=>`Diminuir ${args.fieldLabel}`,
|
|
2121
2010
|
"increase": (args)=>`Aumentar ${args.fieldLabel}`,
|
|
2122
2011
|
"numberField": `Campo num\xe9rico`
|
|
2123
2012
|
};
|
|
2124
2013
|
|
|
2125
|
-
var $
|
|
2126
|
-
$
|
|
2014
|
+
var $b63a28c481ab9ee3$exports = {};
|
|
2015
|
+
$b63a28c481ab9ee3$exports = {
|
|
2127
2016
|
"decrease": (args)=>`Sc\u{103}dere ${args.fieldLabel}`,
|
|
2128
2017
|
"increase": (args)=>`Cre\u{219}tere ${args.fieldLabel}`,
|
|
2129
2018
|
"numberField": `C\xe2mp numeric`
|
|
2130
2019
|
};
|
|
2131
2020
|
|
|
2132
|
-
var $
|
|
2133
|
-
$
|
|
2021
|
+
var $19f9df95c2464ab6$exports = {};
|
|
2022
|
+
$19f9df95c2464ab6$exports = {
|
|
2134
2023
|
"decrease": (args)=>`\u{423}\u{43C}\u{435}\u{43D}\u{44C}\u{448}\u{435}\u{43D}\u{438}\u{435} ${args.fieldLabel}`,
|
|
2135
2024
|
"increase": (args)=>`\u{423}\u{432}\u{435}\u{43B}\u{438}\u{447}\u{435}\u{43D}\u{438}\u{435} ${args.fieldLabel}`,
|
|
2136
2025
|
"numberField": `\u{427}\u{438}\u{441}\u{43B}\u{43E}\u{432}\u{43E}\u{435} \u{43F}\u{43E}\u{43B}\u{435}`
|
|
2137
2026
|
};
|
|
2138
2027
|
|
|
2139
|
-
var $
|
|
2140
|
-
$
|
|
2028
|
+
var $b272932a685e8482$exports = {};
|
|
2029
|
+
$b272932a685e8482$exports = {
|
|
2141
2030
|
"decrease": (args)=>`Zn\xed\u{17E}i\u{165} ${args.fieldLabel}`,
|
|
2142
2031
|
"increase": (args)=>`Zv\xfd\u{161}i\u{165} ${args.fieldLabel}`,
|
|
2143
2032
|
"numberField": `\u{10C}\xedseln\xe9 pole`
|
|
2144
2033
|
};
|
|
2145
2034
|
|
|
2146
|
-
var $
|
|
2147
|
-
$
|
|
2035
|
+
var $cbaf8b5b61f9e544$exports = {};
|
|
2036
|
+
$cbaf8b5b61f9e544$exports = {
|
|
2148
2037
|
"decrease": (args)=>`Upadati ${args.fieldLabel}`,
|
|
2149
2038
|
"increase": (args)=>`Pove\u{10D}ajte ${args.fieldLabel}`,
|
|
2150
2039
|
"numberField": `\u{160}tevil\u{10D}no polje`
|
|
2151
2040
|
};
|
|
2152
2041
|
|
|
2153
|
-
var $
|
|
2154
|
-
$
|
|
2042
|
+
var $e0a3af6ac1449b2f$exports = {};
|
|
2043
|
+
$e0a3af6ac1449b2f$exports = {
|
|
2155
2044
|
"decrease": (args)=>`Smanji ${args.fieldLabel}`,
|
|
2156
2045
|
"increase": (args)=>`Pove\u{107}aj ${args.fieldLabel}`,
|
|
2157
2046
|
"numberField": `Polje broja`
|
|
2158
2047
|
};
|
|
2159
2048
|
|
|
2160
|
-
var $
|
|
2161
|
-
$
|
|
2049
|
+
var $71e167d2458a6019$exports = {};
|
|
2050
|
+
$71e167d2458a6019$exports = {
|
|
2162
2051
|
"decrease": (args)=>`Minska ${args.fieldLabel}`,
|
|
2163
2052
|
"increase": (args)=>`\xd6ka ${args.fieldLabel}`,
|
|
2164
2053
|
"numberField": `Nummerf\xe4lt`
|
|
2165
2054
|
};
|
|
2166
2055
|
|
|
2167
|
-
var $
|
|
2168
|
-
$
|
|
2056
|
+
var $3719245abc082946$exports = {};
|
|
2057
|
+
$3719245abc082946$exports = {
|
|
2169
2058
|
"decrease": (args)=>`${args.fieldLabel} azalt`,
|
|
2170
2059
|
"increase": (args)=>`${args.fieldLabel} artt\u{131}r`,
|
|
2171
2060
|
"numberField": `Say\u{131} alan\u{131}`
|
|
2172
2061
|
};
|
|
2173
2062
|
|
|
2174
|
-
var $
|
|
2175
|
-
$
|
|
2063
|
+
var $2ccc589e2f51824d$exports = {};
|
|
2064
|
+
$2ccc589e2f51824d$exports = {
|
|
2176
2065
|
"decrease": (args)=>`\u{417}\u{43C}\u{435}\u{43D}\u{448}\u{438}\u{442}\u{438} ${args.fieldLabel}`,
|
|
2177
2066
|
"increase": (args)=>`\u{417}\u{431}\u{456}\u{43B}\u{44C}\u{448}\u{438}\u{442}\u{438} ${args.fieldLabel}`,
|
|
2178
2067
|
"numberField": `\u{41F}\u{43E}\u{43B}\u{435} \u{43D}\u{43E}\u{43C}\u{435}\u{440}\u{430}`
|
|
2179
2068
|
};
|
|
2180
2069
|
|
|
2181
|
-
var $
|
|
2182
|
-
$
|
|
2070
|
+
var $e1103cb9b4c13942$exports = {};
|
|
2071
|
+
$e1103cb9b4c13942$exports = {
|
|
2183
2072
|
"decrease": (args)=>`\u{964D}\u{4F4E} ${args.fieldLabel}`,
|
|
2184
2073
|
"increase": (args)=>`\u{63D0}\u{9AD8} ${args.fieldLabel}`,
|
|
2185
2074
|
"numberField": `\u{6570}\u{5B57}\u{5B57}\u{6BB5}`
|
|
2186
2075
|
};
|
|
2187
2076
|
|
|
2188
|
-
var $
|
|
2189
|
-
$
|
|
2077
|
+
var $448607634f80dccb$exports = {};
|
|
2078
|
+
$448607634f80dccb$exports = {
|
|
2190
2079
|
"decrease": (args)=>`\u{7E2E}\u{5C0F} ${args.fieldLabel}`,
|
|
2191
2080
|
"increase": (args)=>`\u{653E}\u{5927} ${args.fieldLabel}`,
|
|
2192
2081
|
"numberField": `\u{6578}\u{5B57}\u{6B04}\u{4F4D}`
|
|
2193
2082
|
};
|
|
2194
2083
|
|
|
2195
|
-
var $
|
|
2084
|
+
var $280a227d7cb94b92$exports = {};
|
|
2196
2085
|
|
|
2197
2086
|
|
|
2198
2087
|
|
|
@@ -2227,41 +2116,41 @@ var $fda7dc186b468fdb$exports = {};
|
|
|
2227
2116
|
|
|
2228
2117
|
|
|
2229
2118
|
|
|
2230
|
-
$
|
|
2231
|
-
"ar-AE": $
|
|
2232
|
-
"bg-BG": $
|
|
2233
|
-
"cs-CZ": $
|
|
2234
|
-
"da-DK": $
|
|
2235
|
-
"de-DE": $
|
|
2236
|
-
"el-GR": $
|
|
2237
|
-
"en-US": $
|
|
2238
|
-
"es-ES": $
|
|
2239
|
-
"et-EE": $
|
|
2240
|
-
"fi-FI": $
|
|
2241
|
-
"fr-FR": $
|
|
2242
|
-
"he-IL": $
|
|
2243
|
-
"hr-HR": $
|
|
2244
|
-
"hu-HU": $
|
|
2245
|
-
"it-IT": $
|
|
2246
|
-
"ja-JP": $
|
|
2247
|
-
"ko-KR": $
|
|
2248
|
-
"lt-LT": $
|
|
2249
|
-
"lv-LV": $
|
|
2250
|
-
"nb-NO": $
|
|
2251
|
-
"nl-NL": $
|
|
2252
|
-
"pl-PL": $
|
|
2253
|
-
"pt-BR": $
|
|
2254
|
-
"pt-PT": $
|
|
2255
|
-
"ro-RO": $
|
|
2256
|
-
"ru-RU": $
|
|
2257
|
-
"sk-SK": $
|
|
2258
|
-
"sl-SI": $
|
|
2259
|
-
"sr-SP": $
|
|
2260
|
-
"sv-SE": $
|
|
2261
|
-
"tr-TR": $
|
|
2262
|
-
"uk-UA": $
|
|
2263
|
-
"zh-CN": $
|
|
2264
|
-
"zh-TW": $
|
|
2119
|
+
$280a227d7cb94b92$exports = {
|
|
2120
|
+
"ar-AE": $fb78e0f6ab6349ed$exports,
|
|
2121
|
+
"bg-BG": $2776acdd9959a647$exports,
|
|
2122
|
+
"cs-CZ": $741954410a365ad3$exports,
|
|
2123
|
+
"da-DK": $8321ed0f8ab642f0$exports,
|
|
2124
|
+
"de-DE": $92978e0c4ecafa32$exports,
|
|
2125
|
+
"el-GR": $ac5ff71962864a84$exports,
|
|
2126
|
+
"en-US": $efe4685e2440d8be$exports,
|
|
2127
|
+
"es-ES": $e50a9a48739b90e1$exports,
|
|
2128
|
+
"et-EE": $6e0d5294ecbb8ab6$exports,
|
|
2129
|
+
"fi-FI": $e7129d65f607f77f$exports,
|
|
2130
|
+
"fr-FR": $d72adf5b20573e34$exports,
|
|
2131
|
+
"he-IL": $a25c707e88b844a7$exports,
|
|
2132
|
+
"hr-HR": $69b41140b9a4ca54$exports,
|
|
2133
|
+
"hu-HU": $81dab28f37f59d1a$exports,
|
|
2134
|
+
"it-IT": $866555b31f2d7711$exports,
|
|
2135
|
+
"ja-JP": $dafcd55d52b9d371$exports,
|
|
2136
|
+
"ko-KR": $f090c1f8c5da0145$exports,
|
|
2137
|
+
"lt-LT": $6f10f3a13360a75c$exports,
|
|
2138
|
+
"lv-LV": $47432cefd4b7bd1b$exports,
|
|
2139
|
+
"nb-NO": $dc578a950a2bf23d$exports,
|
|
2140
|
+
"nl-NL": $353f1bfca4dc395a$exports,
|
|
2141
|
+
"pl-PL": $241bc0bbd870e982$exports,
|
|
2142
|
+
"pt-BR": $da3005c7bd72b0a8$exports,
|
|
2143
|
+
"pt-PT": $cf48bfc540882310$exports,
|
|
2144
|
+
"ro-RO": $b63a28c481ab9ee3$exports,
|
|
2145
|
+
"ru-RU": $19f9df95c2464ab6$exports,
|
|
2146
|
+
"sk-SK": $b272932a685e8482$exports,
|
|
2147
|
+
"sl-SI": $cbaf8b5b61f9e544$exports,
|
|
2148
|
+
"sr-SP": $e0a3af6ac1449b2f$exports,
|
|
2149
|
+
"sv-SE": $71e167d2458a6019$exports,
|
|
2150
|
+
"tr-TR": $3719245abc082946$exports,
|
|
2151
|
+
"uk-UA": $2ccc589e2f51824d$exports,
|
|
2152
|
+
"zh-CN": $e1103cb9b4c13942$exports,
|
|
2153
|
+
"zh-TW": $448607634f80dccb$exports
|
|
2265
2154
|
};
|
|
2266
2155
|
|
|
2267
2156
|
function $parcel$interopDefault(a) {
|
|
@@ -2285,46 +2174,24 @@ function $parcel$interopDefault(a) {
|
|
|
2285
2174
|
|
|
2286
2175
|
|
|
2287
2176
|
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
function $cd2fa56213693c5e$export$23f548e970bdf099(props, state, inputRef) {
|
|
2177
|
+
function $81397a9303501bda$export$23f548e970bdf099(props, state, inputRef) {
|
|
2301
2178
|
let { id: id, decrementAriaLabel: decrementAriaLabel, incrementAriaLabel: incrementAriaLabel, isDisabled: isDisabled, isReadOnly: isReadOnly, isRequired: isRequired, minValue: minValue, maxValue: maxValue, autoFocus: autoFocus, label: label, formatOptions: formatOptions, onBlur: onBlur = ()=>{}, onFocus: onFocus, onFocusChange: onFocusChange, onKeyDown: onKeyDown, onKeyUp: onKeyUp, description: description, errorMessage: errorMessage, isWheelDisabled: isWheelDisabled, ...otherProps } = props;
|
|
2302
2179
|
let { increment: increment, incrementToMax: incrementToMax, decrement: decrement, decrementToMin: decrementToMin, numberValue: numberValue, inputValue: inputValue, commit: commit, commitValidation: commitValidation } = state;
|
|
2303
|
-
const stringFormatter = (Text.$
|
|
2304
|
-
let
|
|
2305
|
-
|
|
2306
|
-
// Set input value to normalized valid value
|
|
2307
|
-
(ReactDOM.flushSync)(()=>{
|
|
2308
|
-
commit();
|
|
2309
|
-
});
|
|
2310
|
-
if (inputRef.current?.value !== oldValue) ($a46cf152bb926da5$export$a9b970dcc4ae71a9)(inputRef.current?.value ?? '', 'assertive');
|
|
2311
|
-
}, [
|
|
2312
|
-
commit,
|
|
2313
|
-
inputRef
|
|
2314
|
-
]);
|
|
2315
|
-
let inputId = (Text.$390e54f620492c70$export$f680877a34711e37)(id);
|
|
2316
|
-
let { focusProps: focusProps } = (Text.$1e74c67db218ce67$export$f8168d8dd8fd66e6)({
|
|
2180
|
+
const stringFormatter = (Text.$fca6afa0e843324b$export$f12b703ca79dfbb1)((($parcel$interopDefault($280a227d7cb94b92$exports))), '@react-aria/numberfield');
|
|
2181
|
+
let inputId = (Text.$bdb11010cef70236$export$f680877a34711e37)(id);
|
|
2182
|
+
let { focusProps: focusProps } = (Text.$a1ea59d68270f0dd$export$f8168d8dd8fd66e6)({
|
|
2317
2183
|
onBlur () {
|
|
2318
|
-
|
|
2184
|
+
// Set input value to normalized valid value
|
|
2185
|
+
commit();
|
|
2319
2186
|
}
|
|
2320
2187
|
});
|
|
2321
|
-
let numberFormatter = ($
|
|
2188
|
+
let numberFormatter = ($a916eb452884faea$export$b7a616150fdb9f44)(formatOptions);
|
|
2322
2189
|
let intlOptions = (React.useMemo)(()=>numberFormatter.resolvedOptions(), [
|
|
2323
2190
|
numberFormatter
|
|
2324
2191
|
]);
|
|
2325
2192
|
// Replace negative textValue formatted using currencySign: 'accounting'
|
|
2326
2193
|
// with a textValue that can be announced using a minus sign.
|
|
2327
|
-
let textValueFormatter = ($
|
|
2194
|
+
let textValueFormatter = ($a916eb452884faea$export$b7a616150fdb9f44)({
|
|
2328
2195
|
...formatOptions,
|
|
2329
2196
|
currencySign: undefined
|
|
2330
2197
|
});
|
|
@@ -2332,7 +2199,7 @@ function $cd2fa56213693c5e$export$23f548e970bdf099(props, state, inputRef) {
|
|
|
2332
2199
|
textValueFormatter,
|
|
2333
2200
|
numberValue
|
|
2334
2201
|
]);
|
|
2335
|
-
let { spinButtonProps: spinButtonProps, incrementButtonProps: incButtonProps, decrementButtonProps: decButtonProps } = ($
|
|
2202
|
+
let { spinButtonProps: spinButtonProps, incrementButtonProps: incButtonProps, decrementButtonProps: decButtonProps } = ($d2e8511e6f209edf$export$e908e06f4b8e3402)({
|
|
2336
2203
|
isDisabled: isDisabled,
|
|
2337
2204
|
isReadOnly: isReadOnly,
|
|
2338
2205
|
isRequired: isRequired,
|
|
@@ -2346,7 +2213,7 @@ function $cd2fa56213693c5e$export$23f548e970bdf099(props, state, inputRef) {
|
|
|
2346
2213
|
textValue: textValue
|
|
2347
2214
|
});
|
|
2348
2215
|
let [focusWithin, setFocusWithin] = (React.useState)(false);
|
|
2349
|
-
let { focusWithinProps: focusWithinProps } = (Text.$
|
|
2216
|
+
let { focusWithinProps: focusWithinProps } = (Text.$9ab94262bd0047c7$export$420e68273165f4ec)({
|
|
2350
2217
|
isDisabled: isDisabled,
|
|
2351
2218
|
onFocusWithinChange: setFocusWithin
|
|
2352
2219
|
});
|
|
@@ -2364,24 +2231,25 @@ function $cd2fa56213693c5e$export$23f548e970bdf099(props, state, inputRef) {
|
|
|
2364
2231
|
]);
|
|
2365
2232
|
// If the input isn't supposed to receive input, disable scrolling.
|
|
2366
2233
|
let scrollingDisabled = isWheelDisabled || isDisabled || isReadOnly || !focusWithin;
|
|
2367
|
-
($
|
|
2234
|
+
($7d0a636d7a4dcefd$export$2123ff2b87c81ca)({
|
|
2368
2235
|
onScroll: onWheel,
|
|
2369
2236
|
isDisabled: scrollingDisabled
|
|
2370
2237
|
}, inputRef);
|
|
2238
|
+
var _intlOptions_maximumFractionDigits;
|
|
2371
2239
|
// The inputMode attribute influences the software keyboard that is shown on touch devices.
|
|
2372
2240
|
// Browsers and operating systems are quite inconsistent about what keys are available, however.
|
|
2373
2241
|
// We choose between numeric and decimal based on whether we allow negative and fractional numbers,
|
|
2374
2242
|
// and based on testing on various devices to determine what keys are available in each inputMode.
|
|
2375
|
-
let hasDecimals = (intlOptions.maximumFractionDigits
|
|
2243
|
+
let hasDecimals = ((_intlOptions_maximumFractionDigits = intlOptions.maximumFractionDigits) !== null && _intlOptions_maximumFractionDigits !== void 0 ? _intlOptions_maximumFractionDigits : 0) > 0;
|
|
2376
2244
|
let hasNegative = state.minValue === undefined || isNaN(state.minValue) || state.minValue < 0;
|
|
2377
2245
|
let inputMode = 'numeric';
|
|
2378
|
-
if ((Text.$
|
|
2246
|
+
if ((Text.$c87311424ea30a05$export$186c6964ca17d99)()) {
|
|
2379
2247
|
// iPhone doesn't have a minus sign in either numeric or decimal.
|
|
2380
2248
|
// Note this is only for iPhone, not iPad, which always has both
|
|
2381
2249
|
// minus and decimal in numeric.
|
|
2382
2250
|
if (hasNegative) inputMode = 'text';
|
|
2383
2251
|
else if (hasDecimals) inputMode = 'decimal';
|
|
2384
|
-
} else if ((Text.$
|
|
2252
|
+
} else if ((Text.$c87311424ea30a05$export$a11b0059900ceec8)()) {
|
|
2385
2253
|
// Android numeric has both a decimal point and minus key.
|
|
2386
2254
|
// decimal does not have a minus key.
|
|
2387
2255
|
if (hasNegative) inputMode = 'numeric';
|
|
@@ -2390,27 +2258,11 @@ function $cd2fa56213693c5e$export$23f548e970bdf099(props, state, inputRef) {
|
|
|
2390
2258
|
let onChange = (value)=>{
|
|
2391
2259
|
if (state.validate(value)) state.setInputValue(value);
|
|
2392
2260
|
};
|
|
2393
|
-
let
|
|
2394
|
-
props.onPaste?.(e);
|
|
2395
|
-
let inputElement = (Text.$23f2114a1b82827e$export$e58f029f0fbfdb29)(e);
|
|
2396
|
-
// we can only handle the case where the paste takes over the entire input, otherwise things get very complicated
|
|
2397
|
-
// trying to calculate the new string based on what the paste is replacing and where in the source string it is
|
|
2398
|
-
if (inputElement && (inputElement.selectionEnd ?? -1) - (inputElement.selectionStart ?? 0) === inputElement.value.length) {
|
|
2399
|
-
e.preventDefault();
|
|
2400
|
-
// commit so that the user gets to see what it formats to immediately
|
|
2401
|
-
// paste happens before inputRef's value is updated, so have to prevent the default and do it ourselves
|
|
2402
|
-
// spin button will then handle announcing the new value, this should work with controlled state as well
|
|
2403
|
-
// because the announcement is done as a result of the new rendered input value if there is one
|
|
2404
|
-
commit(e.clipboardData?.getData?.('text/plain')?.trim() ?? '');
|
|
2405
|
-
}
|
|
2406
|
-
};
|
|
2407
|
-
let domProps = (Text.$8e9d2fae0ecb9001$export$457c3d6518dd4c6f)(props);
|
|
2261
|
+
let domProps = (Text.$65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props);
|
|
2408
2262
|
let onKeyDownEnter = (React.useCallback)((e)=>{
|
|
2409
2263
|
if (e.nativeEvent.isComposing) return;
|
|
2410
2264
|
if (e.key === 'Enter') {
|
|
2411
|
-
(
|
|
2412
|
-
commit();
|
|
2413
|
-
});
|
|
2265
|
+
commit();
|
|
2414
2266
|
commitValidation();
|
|
2415
2267
|
} else e.continuePropagation();
|
|
2416
2268
|
}, [
|
|
@@ -2418,7 +2270,7 @@ function $cd2fa56213693c5e$export$23f548e970bdf099(props, state, inputRef) {
|
|
|
2418
2270
|
commitValidation
|
|
2419
2271
|
]);
|
|
2420
2272
|
let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = state.displayValidation;
|
|
2421
|
-
let { labelProps: labelProps, inputProps: textFieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = ($
|
|
2273
|
+
let { labelProps: labelProps, inputProps: textFieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = ($d841c8010a73d545$export$4f384c9210e583c3)({
|
|
2422
2274
|
...otherProps,
|
|
2423
2275
|
...domProps,
|
|
2424
2276
|
// These props are added to a hidden input rather than the formatted textfield.
|
|
@@ -2430,7 +2282,7 @@ function $cd2fa56213693c5e$export$23f548e970bdf099(props, state, inputRef) {
|
|
|
2430
2282
|
isReadOnly: isReadOnly,
|
|
2431
2283
|
isRequired: isRequired,
|
|
2432
2284
|
validate: undefined,
|
|
2433
|
-
[($
|
|
2285
|
+
[($e5be200c675c3b3a$export$a763b9476acd3eb)]: state,
|
|
2434
2286
|
value: inputValue,
|
|
2435
2287
|
defaultValue: '!',
|
|
2436
2288
|
autoComplete: 'off',
|
|
@@ -2443,22 +2295,20 @@ function $cd2fa56213693c5e$export$23f548e970bdf099(props, state, inputRef) {
|
|
|
2443
2295
|
onBlur: onBlur,
|
|
2444
2296
|
onFocus: onFocus,
|
|
2445
2297
|
onFocusChange: onFocusChange,
|
|
2446
|
-
onKeyDown: (React.useMemo)(()=>(Text.$
|
|
2298
|
+
onKeyDown: (React.useMemo)(()=>(Text.$ff5963eb1fccf552$export$e08e3b67e392101e)(onKeyDownEnter, onKeyDown), [
|
|
2447
2299
|
onKeyDownEnter,
|
|
2448
2300
|
onKeyDown
|
|
2449
2301
|
]),
|
|
2450
2302
|
onKeyUp: onKeyUp,
|
|
2451
|
-
onPaste: onPaste,
|
|
2452
2303
|
description: description,
|
|
2453
2304
|
errorMessage: errorMessage
|
|
2454
2305
|
}, state, inputRef);
|
|
2455
|
-
($
|
|
2456
|
-
$
|
|
2457
|
-
let inputProps = (Text.$bbaa08b3cd72f041$export$9d1611c77c2fe928)(spinButtonProps, focusProps, textFieldProps, {
|
|
2306
|
+
($99facab73266f662$export$5add1d006293d136)(inputRef, state.defaultNumberValue, state.setNumberValue);
|
|
2307
|
+
let inputProps = (Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(spinButtonProps, focusProps, textFieldProps, {
|
|
2458
2308
|
// override the spinbutton role, we can't focus a spin button with VO
|
|
2459
2309
|
role: null,
|
|
2460
2310
|
// ignore aria-roledescription on iOS so that required state will announce when it is present
|
|
2461
|
-
'aria-roledescription': !(Text.$
|
|
2311
|
+
'aria-roledescription': !(Text.$c87311424ea30a05$export$fedb369cb70207f1)() ? stringFormatter.format('numberField') : null,
|
|
2462
2312
|
'aria-valuemax': null,
|
|
2463
2313
|
'aria-valuemin': null,
|
|
2464
2314
|
'aria-valuenow': null,
|
|
@@ -2468,13 +2318,14 @@ function $cd2fa56213693c5e$export$23f548e970bdf099(props, state, inputRef) {
|
|
|
2468
2318
|
});
|
|
2469
2319
|
if (props.validationBehavior === 'native') inputProps['aria-required'] = undefined;
|
|
2470
2320
|
let onButtonPressStart = (e)=>{
|
|
2321
|
+
var _inputRef_current;
|
|
2471
2322
|
// If focus is already on the input, keep it there so we don't hide the
|
|
2472
2323
|
// software keyboard when tapping the increment/decrement buttons.
|
|
2473
|
-
if (
|
|
2324
|
+
if (document.activeElement === inputRef.current) return;
|
|
2474
2325
|
// Otherwise, when using a mouse, move focus to the input.
|
|
2475
2326
|
// On touch, or with a screen reader, focus the button so that the software
|
|
2476
2327
|
// keyboard does not appear and the screen reader cursor is not moved off the button.
|
|
2477
|
-
if (e.pointerType === 'mouse') inputRef.current
|
|
2328
|
+
if (e.pointerType === 'mouse') (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();
|
|
2478
2329
|
else e.target.focus();
|
|
2479
2330
|
};
|
|
2480
2331
|
// Determine the label for the increment and decrement buttons. There are 4 cases:
|
|
@@ -2490,9 +2341,9 @@ function $cd2fa56213693c5e$export$23f548e970bdf099(props, state, inputRef) {
|
|
|
2490
2341
|
let fieldLabel = props['aria-label'] || (typeof props.label === 'string' ? props.label : '');
|
|
2491
2342
|
let ariaLabelledby;
|
|
2492
2343
|
if (!fieldLabel) ariaLabelledby = props.label != null ? labelProps.id : props['aria-labelledby'];
|
|
2493
|
-
let incrementId = (Text.$
|
|
2494
|
-
let decrementId = (Text.$
|
|
2495
|
-
let incrementButtonProps = (Text.$
|
|
2344
|
+
let incrementId = (Text.$bdb11010cef70236$export$f680877a34711e37)();
|
|
2345
|
+
let decrementId = (Text.$bdb11010cef70236$export$f680877a34711e37)();
|
|
2346
|
+
let incrementButtonProps = (Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(incButtonProps, {
|
|
2496
2347
|
'aria-label': incrementAriaLabel || stringFormatter.format('increase', {
|
|
2497
2348
|
fieldLabel: fieldLabel
|
|
2498
2349
|
}).trim(),
|
|
@@ -2505,7 +2356,7 @@ function $cd2fa56213693c5e$export$23f548e970bdf099(props, state, inputRef) {
|
|
|
2505
2356
|
isDisabled: !state.canIncrement,
|
|
2506
2357
|
onPressStart: onButtonPressStart
|
|
2507
2358
|
});
|
|
2508
|
-
let decrementButtonProps = (Text.$
|
|
2359
|
+
let decrementButtonProps = (Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(decButtonProps, {
|
|
2509
2360
|
'aria-label': decrementAriaLabel || stringFormatter.format('decrease', {
|
|
2510
2361
|
fieldLabel: fieldLabel
|
|
2511
2362
|
}).trim(),
|
|
@@ -2536,54 +2387,34 @@ function $cd2fa56213693c5e$export$23f548e970bdf099(props, state, inputRef) {
|
|
|
2536
2387
|
validationDetails: validationDetails
|
|
2537
2388
|
};
|
|
2538
2389
|
}
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
validationMessage
|
|
2563
|
-
] : [],
|
|
2564
|
-
validationDetails: {
|
|
2565
|
-
badInput: input.validity.badInput,
|
|
2566
|
-
customError: input.validity.customError,
|
|
2567
|
-
patternMismatch: input.validity.patternMismatch,
|
|
2568
|
-
rangeOverflow: $cd2fa56213693c5e$var$numberInput.validity.rangeOverflow,
|
|
2569
|
-
rangeUnderflow: $cd2fa56213693c5e$var$numberInput.validity.rangeUnderflow,
|
|
2570
|
-
stepMismatch: $cd2fa56213693c5e$var$numberInput.validity.stepMismatch,
|
|
2571
|
-
tooLong: input.validity.tooLong,
|
|
2572
|
-
tooShort: input.validity.tooShort,
|
|
2573
|
-
typeMismatch: input.validity.typeMismatch,
|
|
2574
|
-
valueMissing: input.validity.valueMissing,
|
|
2575
|
-
valid: valid
|
|
2576
|
-
}
|
|
2577
|
-
};
|
|
2578
|
-
state.updateValidation(validity);
|
|
2579
|
-
// Block form submission if validation behavior is native.
|
|
2580
|
-
// This won't overwrite any user-defined validation message because we checked realtimeValidation above.
|
|
2581
|
-
if (validationBehavior === 'native' && !$cd2fa56213693c5e$var$numberInput.validity.valid) input.setCustomValidity($cd2fa56213693c5e$var$numberInput.validationMessage);
|
|
2390
|
+
|
|
2391
|
+
/*
|
|
2392
|
+
* Copyright 2022 Adobe. All rights reserved.
|
|
2393
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
2394
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
2395
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
2396
|
+
*
|
|
2397
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
2398
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
2399
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
2400
|
+
* governing permissions and limitations under the License.
|
|
2401
|
+
*/
|
|
2402
|
+
|
|
2403
|
+
|
|
2404
|
+
const $01b77f81d0f07f68$export$75b6ee27786ba447 = /*#__PURE__*/ (React.createContext)({});
|
|
2405
|
+
const $01b77f81d0f07f68$export$b04be29aa201d4f5 = /*#__PURE__*/ (Text.$f39a9eba43920ace$export$86427a43e3e48ebb)(function Label(props, ref) {
|
|
2406
|
+
[props, ref] = (Text.$64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $01b77f81d0f07f68$export$75b6ee27786ba447);
|
|
2407
|
+
let { elementType: ElementType = 'label', ...labelProps } = props;
|
|
2408
|
+
// @ts-ignore
|
|
2409
|
+
return /*#__PURE__*/ (React).createElement(ElementType, {
|
|
2410
|
+
className: "react-aria-Label",
|
|
2411
|
+
...labelProps,
|
|
2412
|
+
ref: ref
|
|
2582
2413
|
});
|
|
2583
|
-
}
|
|
2414
|
+
});
|
|
2584
2415
|
|
|
2585
2416
|
/*
|
|
2586
|
-
* Copyright
|
|
2417
|
+
* Copyright 2022 Adobe. All rights reserved.
|
|
2587
2418
|
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
2588
2419
|
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
2589
2420
|
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
@@ -2597,187 +2428,121 @@ function $cd2fa56213693c5e$var$useNativeValidation(state, validationBehavior, co
|
|
|
2597
2428
|
|
|
2598
2429
|
|
|
2599
2430
|
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
let formatter = (React.useMemo)(()=>new ($1dfb119a85e764e5$export$cc77c4ff7e8673c5)(locale, {
|
|
2624
|
-
...formatOptions,
|
|
2625
|
-
numberingSystem: numberingSystem
|
|
2626
|
-
}), [
|
|
2627
|
-
locale,
|
|
2628
|
-
formatOptions,
|
|
2629
|
-
numberingSystem
|
|
2630
|
-
]);
|
|
2631
|
-
let intlOptions = (React.useMemo)(()=>formatter.resolvedOptions(), [
|
|
2632
|
-
formatter
|
|
2633
|
-
]);
|
|
2634
|
-
let format = (React.useCallback)((value)=>isNaN(value) || value === null ? '' : formatter.format(value), [
|
|
2635
|
-
formatter
|
|
2636
|
-
]);
|
|
2637
|
-
let validation = ($fd2148440a13ec26$export$fc1a364ae1f3ff10)({
|
|
2431
|
+
|
|
2432
|
+
|
|
2433
|
+
const $d2b4bc8c273e7be6$export$24d547caef80ccd1 = /*#__PURE__*/ (React.createContext)({});
|
|
2434
|
+
|
|
2435
|
+
/*
|
|
2436
|
+
* Copyright 2023 Adobe. All rights reserved.
|
|
2437
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
2438
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
2439
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
2440
|
+
*
|
|
2441
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
2442
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
2443
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
2444
|
+
* governing permissions and limitations under the License.
|
|
2445
|
+
*/
|
|
2446
|
+
|
|
2447
|
+
|
|
2448
|
+
|
|
2449
|
+
const $ee014567cb39d3f0$export$ff05c3ac10437e03 = /*#__PURE__*/ (React.createContext)(null);
|
|
2450
|
+
const $ee014567cb39d3f0$export$f551688fc98f2e09 = /*#__PURE__*/ (React.forwardRef)(function FieldError(props, ref) {
|
|
2451
|
+
let validation = (React.useContext)($ee014567cb39d3f0$export$ff05c3ac10437e03);
|
|
2452
|
+
if (!(validation === null || validation === void 0 ? void 0 : validation.isInvalid)) return null;
|
|
2453
|
+
return /*#__PURE__*/ (React).createElement($ee014567cb39d3f0$var$FieldErrorInner, {
|
|
2638
2454
|
...props,
|
|
2639
|
-
|
|
2455
|
+
ref: ref
|
|
2640
2456
|
});
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
let
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
maxValue,
|
|
2731
|
-
clampStep,
|
|
2732
|
-
parsedValue
|
|
2733
|
-
]);
|
|
2734
|
-
let canDecrement = (React.useMemo)(()=>!isDisabled && !isReadOnly && (isNaN(parsedValue) || minValue === undefined || isNaN(minValue) || (Text.$240e9101ba2842f5$export$cb6e0bb50bc19463)(parsedValue, minValue, maxValue, clampStep) < parsedValue || $3d0ee518c6f3d04f$var$handleDecimalOperation('-', parsedValue, clampStep) >= minValue), [
|
|
2735
|
-
isDisabled,
|
|
2736
|
-
isReadOnly,
|
|
2737
|
-
minValue,
|
|
2738
|
-
maxValue,
|
|
2739
|
-
clampStep,
|
|
2740
|
-
parsedValue
|
|
2741
|
-
]);
|
|
2742
|
-
let validate = (value)=>numberParser.isValidPartialNumber(value, minValue, maxValue);
|
|
2743
|
-
return {
|
|
2744
|
-
...validation,
|
|
2745
|
-
validate: validate,
|
|
2746
|
-
increment: increment,
|
|
2747
|
-
incrementToMax: incrementToMax,
|
|
2748
|
-
decrement: decrement,
|
|
2749
|
-
decrementToMin: decrementToMin,
|
|
2750
|
-
canIncrement: canIncrement,
|
|
2751
|
-
canDecrement: canDecrement,
|
|
2752
|
-
minValue: minValue,
|
|
2753
|
-
maxValue: maxValue,
|
|
2754
|
-
numberValue: parsedValue,
|
|
2755
|
-
defaultNumberValue: isNaN(defaultValue) ? initialValue : defaultValue,
|
|
2756
|
-
setNumberValue: setNumberValue,
|
|
2757
|
-
setInputValue: setInputValue,
|
|
2758
|
-
inputValue: inputValue,
|
|
2759
|
-
commit: commit
|
|
2760
|
-
};
|
|
2761
|
-
}
|
|
2762
|
-
function $3d0ee518c6f3d04f$var$handleDecimalOperation(operator, value1, value2) {
|
|
2763
|
-
let result = operator === '+' ? value1 + value2 : value1 - value2;
|
|
2764
|
-
// Check if we have decimals
|
|
2765
|
-
if (value1 % 1 !== 0 || value2 % 1 !== 0) {
|
|
2766
|
-
const value1Decimal = value1.toString().split('.');
|
|
2767
|
-
const value2Decimal = value2.toString().split('.');
|
|
2768
|
-
const value1DecimalLength = value1Decimal[1] && value1Decimal[1].length || 0;
|
|
2769
|
-
const value2DecimalLength = value2Decimal[1] && value2Decimal[1].length || 0;
|
|
2770
|
-
const multiplier = Math.pow(10, Math.max(value1DecimalLength, value2DecimalLength));
|
|
2771
|
-
// Transform the decimals to integers based on the precision
|
|
2772
|
-
value1 = Math.round(value1 * multiplier);
|
|
2773
|
-
value2 = Math.round(value2 * multiplier);
|
|
2774
|
-
// Perform the operation on integers values to make sure we don't get a fancy decimal value
|
|
2775
|
-
result = operator === '+' ? value1 + value2 : value1 - value2;
|
|
2776
|
-
// Transform the integer result back to decimal
|
|
2777
|
-
result /= multiplier;
|
|
2778
|
-
}
|
|
2779
|
-
return result;
|
|
2780
|
-
}
|
|
2457
|
+
});
|
|
2458
|
+
const $ee014567cb39d3f0$var$FieldErrorInner = /*#__PURE__*/ (React.forwardRef)((props, ref)=>{
|
|
2459
|
+
let validation = (React.useContext)($ee014567cb39d3f0$export$ff05c3ac10437e03);
|
|
2460
|
+
let domProps = (Text.$65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
|
|
2461
|
+
global: true
|
|
2462
|
+
});
|
|
2463
|
+
let renderProps = (Text.$64fa3d84918910a7$export$4d86445c2cf5e3)({
|
|
2464
|
+
...props,
|
|
2465
|
+
defaultClassName: 'react-aria-FieldError',
|
|
2466
|
+
defaultChildren: validation.validationErrors.length === 0 ? undefined : validation.validationErrors.join(' '),
|
|
2467
|
+
values: validation
|
|
2468
|
+
});
|
|
2469
|
+
if (renderProps.children == null) return null;
|
|
2470
|
+
return /*#__PURE__*/ (React).createElement((Text.$514c0188e459b4c0$export$5f1af8db9871e1d6), {
|
|
2471
|
+
slot: "errorMessage",
|
|
2472
|
+
...domProps,
|
|
2473
|
+
...renderProps,
|
|
2474
|
+
ref: ref
|
|
2475
|
+
});
|
|
2476
|
+
});
|
|
2477
|
+
|
|
2478
|
+
/*
|
|
2479
|
+
* Copyright 2023 Adobe. All rights reserved.
|
|
2480
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the 'License');
|
|
2481
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
2482
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
2483
|
+
*
|
|
2484
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
2485
|
+
* the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
2486
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
2487
|
+
* governing permissions and limitations under the License.
|
|
2488
|
+
*/
|
|
2489
|
+
|
|
2490
|
+
|
|
2491
|
+
const $d3e0e05bdfcf66bd$export$c24727297075ec6a = /*#__PURE__*/ (React.createContext)(null);
|
|
2492
|
+
|
|
2493
|
+
/*
|
|
2494
|
+
* Copyright 2022 Adobe. All rights reserved.
|
|
2495
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
2496
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
2497
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
2498
|
+
*
|
|
2499
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
2500
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
2501
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
2502
|
+
* governing permissions and limitations under the License.
|
|
2503
|
+
*/
|
|
2504
|
+
|
|
2505
|
+
|
|
2506
|
+
const $a049562f99e7db0e$export$f9c6924e160136d1 = /*#__PURE__*/ (React.createContext)({});
|
|
2507
|
+
const $a049562f99e7db0e$export$eb2fcfdbd7ba97d4 = /*#__PURE__*/ (React.forwardRef)(function Group(props, ref) {
|
|
2508
|
+
[props, ref] = (Text.$64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $a049562f99e7db0e$export$f9c6924e160136d1);
|
|
2509
|
+
let { isDisabled: isDisabled, isInvalid: isInvalid, onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, ...otherProps } = props;
|
|
2510
|
+
let { hoverProps: hoverProps, isHovered: isHovered } = (Text.$6179b936705e76d3$export$ae780daf29e6d456)({
|
|
2511
|
+
onHoverStart: onHoverStart,
|
|
2512
|
+
onHoverChange: onHoverChange,
|
|
2513
|
+
onHoverEnd: onHoverEnd,
|
|
2514
|
+
isDisabled: isDisabled
|
|
2515
|
+
});
|
|
2516
|
+
let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = ($f7dceffc5ad7768b$export$4e328f61c538687f)({
|
|
2517
|
+
within: true
|
|
2518
|
+
});
|
|
2519
|
+
isDisabled !== null && isDisabled !== void 0 ? isDisabled : isDisabled = !!props['aria-disabled'] && props['aria-disabled'] !== 'false';
|
|
2520
|
+
isInvalid !== null && isInvalid !== void 0 ? isInvalid : isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';
|
|
2521
|
+
let renderProps = (Text.$64fa3d84918910a7$export$4d86445c2cf5e3)({
|
|
2522
|
+
...props,
|
|
2523
|
+
values: {
|
|
2524
|
+
isHovered: isHovered,
|
|
2525
|
+
isFocusWithin: isFocused,
|
|
2526
|
+
isFocusVisible: isFocusVisible,
|
|
2527
|
+
isDisabled: isDisabled,
|
|
2528
|
+
isInvalid: isInvalid
|
|
2529
|
+
},
|
|
2530
|
+
defaultClassName: 'react-aria-Group'
|
|
2531
|
+
});
|
|
2532
|
+
var _props_role, _props_slot;
|
|
2533
|
+
return /*#__PURE__*/ (React).createElement("div", {
|
|
2534
|
+
...(Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(otherProps, focusProps, hoverProps),
|
|
2535
|
+
...renderProps,
|
|
2536
|
+
ref: ref,
|
|
2537
|
+
role: (_props_role = props.role) !== null && _props_role !== void 0 ? _props_role : 'group',
|
|
2538
|
+
slot: (_props_slot = props.slot) !== null && _props_slot !== void 0 ? _props_slot : undefined,
|
|
2539
|
+
"data-focus-within": isFocused || undefined,
|
|
2540
|
+
"data-hovered": isHovered || undefined,
|
|
2541
|
+
"data-focus-visible": isFocusVisible || undefined,
|
|
2542
|
+
"data-disabled": isDisabled || undefined,
|
|
2543
|
+
"data-invalid": isInvalid || undefined
|
|
2544
|
+
}, renderProps.children);
|
|
2545
|
+
});
|
|
2781
2546
|
|
|
2782
2547
|
/*
|
|
2783
2548
|
* Copyright 2022 Adobe. All rights reserved.
|
|
@@ -2793,6 +2558,56 @@ function $3d0ee518c6f3d04f$var$handleDecimalOperation(operator, value1, value2)
|
|
|
2793
2558
|
|
|
2794
2559
|
|
|
2795
2560
|
|
|
2561
|
+
const $3985021b0ad6602f$export$37fb8590cf2c088c = /*#__PURE__*/ (React.createContext)({});
|
|
2562
|
+
let $3985021b0ad6602f$var$filterHoverProps = (props)=>{
|
|
2563
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2564
|
+
let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, ...otherProps } = props;
|
|
2565
|
+
return otherProps;
|
|
2566
|
+
};
|
|
2567
|
+
const $3985021b0ad6602f$export$f5b8910cec6cf069 = /*#__PURE__*/ (Text.$f39a9eba43920ace$export$86427a43e3e48ebb)(function Input(props, ref) {
|
|
2568
|
+
[props, ref] = (Text.$64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $3985021b0ad6602f$export$37fb8590cf2c088c);
|
|
2569
|
+
let { hoverProps: hoverProps, isHovered: isHovered } = (Text.$6179b936705e76d3$export$ae780daf29e6d456)(props);
|
|
2570
|
+
let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = ($f7dceffc5ad7768b$export$4e328f61c538687f)({
|
|
2571
|
+
isTextInput: true,
|
|
2572
|
+
autoFocus: props.autoFocus
|
|
2573
|
+
});
|
|
2574
|
+
let isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';
|
|
2575
|
+
let renderProps = (Text.$64fa3d84918910a7$export$4d86445c2cf5e3)({
|
|
2576
|
+
...props,
|
|
2577
|
+
values: {
|
|
2578
|
+
isHovered: isHovered,
|
|
2579
|
+
isFocused: isFocused,
|
|
2580
|
+
isFocusVisible: isFocusVisible,
|
|
2581
|
+
isDisabled: props.disabled || false,
|
|
2582
|
+
isInvalid: isInvalid
|
|
2583
|
+
},
|
|
2584
|
+
defaultClassName: 'react-aria-Input'
|
|
2585
|
+
});
|
|
2586
|
+
return /*#__PURE__*/ (React).createElement("input", {
|
|
2587
|
+
...(Text.$3ef42575df84b30b$export$9d1611c77c2fe928)($3985021b0ad6602f$var$filterHoverProps(props), focusProps, hoverProps),
|
|
2588
|
+
...renderProps,
|
|
2589
|
+
ref: ref,
|
|
2590
|
+
"data-focused": isFocused || undefined,
|
|
2591
|
+
"data-disabled": props.disabled || undefined,
|
|
2592
|
+
"data-hovered": isHovered || undefined,
|
|
2593
|
+
"data-focus-visible": isFocusVisible || undefined,
|
|
2594
|
+
"data-invalid": isInvalid || undefined
|
|
2595
|
+
});
|
|
2596
|
+
});
|
|
2597
|
+
|
|
2598
|
+
/*
|
|
2599
|
+
* Copyright 2022 Adobe. All rights reserved.
|
|
2600
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
2601
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
2602
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
2603
|
+
*
|
|
2604
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
2605
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
2606
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
2607
|
+
* governing permissions and limitations under the License.
|
|
2608
|
+
*/
|
|
2609
|
+
|
|
2610
|
+
|
|
2796
2611
|
|
|
2797
2612
|
|
|
2798
2613
|
|
|
@@ -2802,66 +2617,66 @@ function $3d0ee518c6f3d04f$var$handleDecimalOperation(operator, value1, value2)
|
|
|
2802
2617
|
|
|
2803
2618
|
|
|
2804
2619
|
|
|
2805
|
-
const $
|
|
2806
|
-
const $
|
|
2807
|
-
const $
|
|
2808
|
-
[props, ref] = (Text.$
|
|
2809
|
-
let { validationBehavior: formValidationBehavior } = (Text.$
|
|
2810
|
-
|
|
2811
|
-
let
|
|
2812
|
-
let
|
|
2620
|
+
const $b91743d66a0ed188$export$b414a48cf5dcbc11 = /*#__PURE__*/ (React.createContext)(null);
|
|
2621
|
+
const $b91743d66a0ed188$export$6cc906c6cff9bec5 = /*#__PURE__*/ (React.createContext)(null);
|
|
2622
|
+
const $b91743d66a0ed188$export$63c5fa0b2fdccd2e = /*#__PURE__*/ (React.forwardRef)(function NumberField(props, ref) {
|
|
2623
|
+
[props, ref] = (Text.$64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $b91743d66a0ed188$export$b414a48cf5dcbc11);
|
|
2624
|
+
let { validationBehavior: formValidationBehavior } = (Text.$64fa3d84918910a7$export$fabf2dc03a41866e)(($d3e0e05bdfcf66bd$export$c24727297075ec6a)) || {};
|
|
2625
|
+
var _props_validationBehavior, _ref;
|
|
2626
|
+
let validationBehavior = (_ref = (_props_validationBehavior = props.validationBehavior) !== null && _props_validationBehavior !== void 0 ? _props_validationBehavior : formValidationBehavior) !== null && _ref !== void 0 ? _ref : 'native';
|
|
2627
|
+
let { locale: locale } = (Text.$18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
|
|
2628
|
+
let state = ($de67e98908f0c6ee$export$7f629e9dc1ecf37c)({
|
|
2813
2629
|
...props,
|
|
2814
2630
|
locale: locale,
|
|
2815
2631
|
validationBehavior: validationBehavior
|
|
2816
2632
|
});
|
|
2817
2633
|
let inputRef = (React.useRef)(null);
|
|
2818
|
-
let [labelRef, label] = (Text.$
|
|
2819
|
-
let { labelProps: labelProps, groupProps: groupProps, inputProps: inputProps, incrementButtonProps: incrementButtonProps, decrementButtonProps: decrementButtonProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, ...validation } = ($
|
|
2820
|
-
...(Text.$
|
|
2634
|
+
let [labelRef, label] = (Text.$64fa3d84918910a7$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);
|
|
2635
|
+
let { labelProps: labelProps, groupProps: groupProps, inputProps: inputProps, incrementButtonProps: incrementButtonProps, decrementButtonProps: decrementButtonProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, ...validation } = ($81397a9303501bda$export$23f548e970bdf099)({
|
|
2636
|
+
...(Text.$64fa3d84918910a7$export$ef03459518577ad4)(props),
|
|
2821
2637
|
label: label,
|
|
2822
2638
|
validationBehavior: validationBehavior
|
|
2823
2639
|
}, state, inputRef);
|
|
2824
|
-
let renderProps = (Text.$
|
|
2640
|
+
let renderProps = (Text.$64fa3d84918910a7$export$4d86445c2cf5e3)({
|
|
2825
2641
|
...props,
|
|
2826
2642
|
values: {
|
|
2827
2643
|
state: state,
|
|
2828
2644
|
isDisabled: props.isDisabled || false,
|
|
2829
2645
|
isInvalid: validation.isInvalid || false,
|
|
2830
|
-
isRequired: props.isRequired || false
|
|
2831
|
-
isReadOnly: props.isReadOnly || false
|
|
2646
|
+
isRequired: props.isRequired || false
|
|
2832
2647
|
},
|
|
2833
2648
|
defaultClassName: 'react-aria-NumberField'
|
|
2834
2649
|
});
|
|
2835
|
-
let DOMProps = (Text.$
|
|
2650
|
+
let DOMProps = (Text.$65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
|
|
2836
2651
|
global: true
|
|
2837
2652
|
});
|
|
2838
2653
|
delete DOMProps.id;
|
|
2839
|
-
return /*#__PURE__*/ (React).createElement((Text.$
|
|
2654
|
+
return /*#__PURE__*/ (React).createElement((Text.$64fa3d84918910a7$export$2881499e37b75b9a), {
|
|
2840
2655
|
values: [
|
|
2841
2656
|
[
|
|
2842
|
-
$
|
|
2657
|
+
$b91743d66a0ed188$export$6cc906c6cff9bec5,
|
|
2843
2658
|
state
|
|
2844
2659
|
],
|
|
2845
2660
|
[
|
|
2846
|
-
($
|
|
2661
|
+
($a049562f99e7db0e$export$f9c6924e160136d1),
|
|
2847
2662
|
groupProps
|
|
2848
2663
|
],
|
|
2849
2664
|
[
|
|
2850
|
-
($
|
|
2665
|
+
($3985021b0ad6602f$export$37fb8590cf2c088c),
|
|
2851
2666
|
{
|
|
2852
2667
|
...inputProps,
|
|
2853
2668
|
ref: inputRef
|
|
2854
2669
|
}
|
|
2855
2670
|
],
|
|
2856
2671
|
[
|
|
2857
|
-
($
|
|
2672
|
+
($01b77f81d0f07f68$export$75b6ee27786ba447),
|
|
2858
2673
|
{
|
|
2859
2674
|
...labelProps,
|
|
2860
2675
|
ref: labelRef
|
|
2861
2676
|
}
|
|
2862
2677
|
],
|
|
2863
2678
|
[
|
|
2864
|
-
($
|
|
2679
|
+
($d2b4bc8c273e7be6$export$24d547caef80ccd1),
|
|
2865
2680
|
{
|
|
2866
2681
|
slots: {
|
|
2867
2682
|
increment: incrementButtonProps,
|
|
@@ -2870,7 +2685,7 @@ const $10076bcc592bc574$export$63c5fa0b2fdccd2e = /*#__PURE__*/ (React.forwardRe
|
|
|
2870
2685
|
}
|
|
2871
2686
|
],
|
|
2872
2687
|
[
|
|
2873
|
-
(Text.$
|
|
2688
|
+
(Text.$514c0188e459b4c0$export$9afb8bc826b033ea),
|
|
2874
2689
|
{
|
|
2875
2690
|
slots: {
|
|
2876
2691
|
description: descriptionProps,
|
|
@@ -2879,25 +2694,23 @@ const $10076bcc592bc574$export$63c5fa0b2fdccd2e = /*#__PURE__*/ (React.forwardRe
|
|
|
2879
2694
|
}
|
|
2880
2695
|
],
|
|
2881
2696
|
[
|
|
2882
|
-
($
|
|
2697
|
+
($ee014567cb39d3f0$export$ff05c3ac10437e03),
|
|
2883
2698
|
validation
|
|
2884
2699
|
]
|
|
2885
2700
|
]
|
|
2886
|
-
}, /*#__PURE__*/ (React).createElement(
|
|
2701
|
+
}, /*#__PURE__*/ (React).createElement("div", {
|
|
2887
2702
|
...DOMProps,
|
|
2888
2703
|
...renderProps,
|
|
2889
2704
|
ref: ref,
|
|
2890
2705
|
slot: props.slot || undefined,
|
|
2891
2706
|
"data-disabled": props.isDisabled || undefined,
|
|
2892
|
-
"data-readonly": props.isReadOnly || undefined,
|
|
2893
2707
|
"data-required": props.isRequired || undefined,
|
|
2894
2708
|
"data-invalid": validation.isInvalid || undefined
|
|
2895
2709
|
}), props.name && /*#__PURE__*/ (React).createElement("input", {
|
|
2896
2710
|
type: "hidden",
|
|
2897
2711
|
name: props.name,
|
|
2898
2712
|
form: props.form,
|
|
2899
|
-
value: isNaN(state.numberValue) ? '' : state.numberValue
|
|
2900
|
-
disabled: props.isDisabled || undefined
|
|
2713
|
+
value: isNaN(state.numberValue) ? '' : state.numberValue
|
|
2901
2714
|
}));
|
|
2902
2715
|
});
|
|
2903
2716
|
|
|
@@ -2930,15 +2743,15 @@ const InputNumberRebuilt = React.forwardRef((props, ref) => {
|
|
|
2930
2743
|
const { align, description, disabled, error, inline, invalid, placeholder, readOnly, showMiniLabel = true, size, minValue, maxValue } = props, ariaNumberFieldProps = tslib_es6.__rest(props, ["align", "description", "disabled", "error", "inline", "invalid", "placeholder", "readOnly", "showMiniLabel", "size", "minValue", "maxValue"]);
|
|
2931
2744
|
const dataAttrs = filterDataAttributes.filterDataAttributes(props);
|
|
2932
2745
|
const stringDescription = typeof description === "string";
|
|
2933
|
-
return (React.createElement($
|
|
2934
|
-
React.createElement($
|
|
2746
|
+
return (React.createElement($b91743d66a0ed188$export$63c5fa0b2fdccd2e, Object.assign({}, ariaNumberFieldProps, { className: classnames(styles.container, inline && styles.inline), formatOptions: mergedFormatOptions, isWheelDisabled: true, isDisabled: disabled, isInvalid: invalid, isReadOnly: readOnly, minValue: minValue, maxValue: maxValue, onBlur: e => { var _a; return (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, e); }, onFocus: e => { var _a; return (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call(props, e); }, onClick: props.onClick, onMouseDown: props.onMouseDown, onMouseUp: props.onMouseUp, onPointerDown: props.onPointerDown, onPointerUp: props.onPointerUp, onChange: handleChange }),
|
|
2747
|
+
React.createElement($a049562f99e7db0e$export$eb2fcfdbd7ba97d4, { className: classnames(styles.wrapper, align && styles[align], invalid && styles.invalid, disabled && styles.disabled) },
|
|
2935
2748
|
React.createElement("div", { className: styles.horizontalWrapper },
|
|
2936
2749
|
React.createElement("div", { className: classnames(styles.inputWrapper, disabled && styles.disabled, !showMiniLabel && styles.hideLabel, size && styles[size]) },
|
|
2937
|
-
React.createElement($
|
|
2750
|
+
React.createElement($3985021b0ad6602f$export$f5b8910cec6cf069, Object.assign({ className: styles.input, placeholder: " " // used for CSS minilabel
|
|
2938
2751
|
, ref: inputRef }, dataAttrs)),
|
|
2939
|
-
React.createElement($
|
|
2940
|
-
description && (React.createElement(Text.$
|
|
2941
|
-
error && (React.createElement($
|
|
2752
|
+
React.createElement($01b77f81d0f07f68$export$b04be29aa201d4f5, { className: styles.label }, placeholder)))),
|
|
2753
|
+
description && (React.createElement(Text.$514c0188e459b4c0$export$5f1af8db9871e1d6, { className: styles.description, elementType: "div", slot: "description" }, stringDescription ? (React.createElement(Text$1.Text, { size: "small", variation: "subdued" }, description)) : (description))),
|
|
2754
|
+
error && (React.createElement($ee014567cb39d3f0$export$f551688fc98f2e09, { className: styles.fieldError },
|
|
2942
2755
|
React.createElement(Icon.Icon, { color: "critical", name: "alert", size: "small" }),
|
|
2943
2756
|
React.createElement(Text$1.Text, { size: "small", variation: "error" }, error)))));
|
|
2944
2757
|
});
|