@jobber/components 7.8.0 → 7.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/Autocomplete/index.mjs +1 -1
  2. package/dist/Button/buttonRenderAdapter.d.ts +304 -0
  3. package/dist/Card/index.cjs +7 -4
  4. package/dist/Card/index.mjs +7 -4
  5. package/dist/Countdown/index.cjs +1 -1
  6. package/dist/Countdown/index.mjs +1 -1
  7. package/dist/Countdown-cjs.js +1 -1
  8. package/dist/Countdown-es.js +1 -1
  9. package/dist/DataDump/index.cjs +7 -4
  10. package/dist/DataDump/index.mjs +7 -4
  11. package/dist/DrawerRoot-cjs.js +2634 -2142
  12. package/dist/DrawerRoot-es.js +2523 -2065
  13. package/dist/InputAvatar/index.cjs +1 -1
  14. package/dist/InputAvatar/index.mjs +1 -1
  15. package/dist/InputFile/index.cjs +1 -1
  16. package/dist/InputFile/index.mjs +1 -1
  17. package/dist/InputFile-cjs.js +1 -1
  18. package/dist/InputFile-es.js +1 -1
  19. package/dist/InputNumber/index.cjs +2441 -186
  20. package/dist/InputNumber/index.mjs +2361 -106
  21. package/dist/Menu/Menu.Legacy.d.ts +3 -0
  22. package/dist/Menu/Menu.d.ts +66 -24
  23. package/dist/Menu/Menu.types.d.ts +8 -108
  24. package/dist/Menu/MenuBottomSheet.d.ts +29 -0
  25. package/dist/Menu/MenuDropdown.d.ts +29 -0
  26. package/dist/Menu/index.cjs +7 -4
  27. package/dist/Menu/index.mjs +7 -4
  28. package/dist/Menu/menuComposableShared.d.ts +27 -0
  29. package/dist/Menu/menuComposableTypes.d.ts +99 -0
  30. package/dist/Menu-cjs.js +828 -8419
  31. package/dist/Menu-es.js +823 -8414
  32. package/dist/MenuSubmenuTrigger-cjs.js +5283 -0
  33. package/dist/MenuSubmenuTrigger-es.js +5224 -0
  34. package/dist/Modal/index.mjs +1 -1
  35. package/dist/Page/index.cjs +6 -3
  36. package/dist/Page/index.mjs +6 -3
  37. package/dist/Page-cjs.js +1 -1
  38. package/dist/Page-es.js +1 -1
  39. package/dist/RecurringSelect/index.cjs +0 -1
  40. package/dist/RecurringSelect/index.mjs +0 -1
  41. package/dist/docs/Menu/Menu.md +7 -62
  42. package/dist/floating-ui.react-dom-es.js +1 -1
  43. package/dist/floating-ui.react-es.js +2 -2
  44. package/dist/index-cjs.js +1161 -166
  45. package/dist/index-es.js +1160 -166
  46. package/dist/index.cjs +7 -3
  47. package/dist/index.esm-es.js +1 -1
  48. package/dist/index.mjs +7 -3
  49. package/dist/primitives/BottomSheet/index.cjs +0 -1
  50. package/dist/primitives/BottomSheet/index.mjs +0 -1
  51. package/dist/primitives/index.cjs +0 -1
  52. package/dist/primitives/index.mjs +0 -1
  53. package/dist/styles.css +540 -31
  54. package/dist/unstyledPrimitives/index.cjs +6662 -8039
  55. package/dist/unstyledPrimitives/index.d.ts +2 -1
  56. package/dist/unstyledPrimitives/index.mjs +6733 -8111
  57. package/dist/useRenderElement-cjs.js +212 -212
  58. package/dist/useRenderElement-es.js +213 -213
  59. package/dist/utils/meta/meta.json +9 -0
  60. package/package.json +2 -2
  61. package/dist/Text-cjs2.js +0 -2484
  62. package/dist/Text-es2.js +0 -2417
  63. package/dist/index-cjs2.js +0 -1189
  64. package/dist/index-es2.js +0 -1186
@@ -2,10 +2,10 @@
2
2
 
3
3
  var React = require('react');
4
4
  var tslib_es6 = require('../tslib.es6-cjs.js');
5
- var Text = require('../Text-cjs2.js');
5
+ var clsx = require('../clsx-cjs.js');
6
6
  var classnames = require('classnames');
7
7
  var Icon = require('../Icon-cjs.js');
8
- var Text$1 = require('../Text-cjs.js');
8
+ var Text = require('../Text-cjs.js');
9
9
  var filterDataAttributes = require('../filterDataAttributes-cjs.js');
10
10
  var FormField = require('../FormField-cjs.js');
11
11
  require('react-hook-form');
@@ -13,7 +13,6 @@ require('@jobber/hooks');
13
13
  require('framer-motion');
14
14
  require('@jobber/design');
15
15
  require('../Button-cjs.js');
16
- require('../clsx-cjs.js');
17
16
  require('../Typography-cjs.js');
18
17
  require('../mergeRefs-cjs.js');
19
18
  require('../useFormFieldFocus-cjs.js');
@@ -21,6 +20,919 @@ require('../InputValidation-cjs.js');
21
20
  require('../Spinner-cjs.js');
22
21
  require('react-router-dom');
23
22
 
23
+ /*
24
+ * Copyright 2020 Adobe. All rights reserved.
25
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
26
+ * you may not use this file except in compliance with the License. You may obtain a copy
27
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
28
+ *
29
+ * Unless required by applicable law or agreed to in writing, software distributed under
30
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
31
+ * OF ANY KIND, either express or implied. See the License for the specific language
32
+ * governing permissions and limitations under the License.
33
+ */
34
+ const $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (React).useLayoutEffect : ()=>{};
35
+
36
+ /*
37
+ * Copyright 2023 Adobe. All rights reserved.
38
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
39
+ * you may not use this file except in compliance with the License. You may obtain a copy
40
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
41
+ *
42
+ * Unless required by applicable law or agreed to in writing, software distributed under
43
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
44
+ * OF ANY KIND, either express or implied. See the License for the specific language
45
+ * governing permissions and limitations under the License.
46
+ */
47
+
48
+ var $8ae05eaa5c114e9c$var$_React_useInsertionEffect;
49
+ // Use the earliest effect type possible. useInsertionEffect runs during the mutation phase,
50
+ // before all layout effects, but is available only in React 18 and later.
51
+ const $8ae05eaa5c114e9c$var$useEarlyEffect = ($8ae05eaa5c114e9c$var$_React_useInsertionEffect = (React)['useInsertionEffect']) !== null && $8ae05eaa5c114e9c$var$_React_useInsertionEffect !== void 0 ? $8ae05eaa5c114e9c$var$_React_useInsertionEffect : ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c);
52
+ function $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {
53
+ const ref = (React.useRef)(null);
54
+ $8ae05eaa5c114e9c$var$useEarlyEffect(()=>{
55
+ ref.current = fn;
56
+ }, [
57
+ fn
58
+ ]);
59
+ // @ts-ignore
60
+ return (React.useCallback)((...args)=>{
61
+ const f = ref.current;
62
+ return f === null || f === void 0 ? void 0 : f(...args);
63
+ }, []);
64
+ }
65
+
66
+ /*
67
+ * Copyright 2020 Adobe. All rights reserved.
68
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
69
+ * you may not use this file except in compliance with the License. You may obtain a copy
70
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
71
+ *
72
+ * Unless required by applicable law or agreed to in writing, software distributed under
73
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
74
+ * OF ANY KIND, either express or implied. See the License for the specific language
75
+ * governing permissions and limitations under the License.
76
+ */
77
+
78
+ function $1dbecbe27a04f9af$export$14d238f342723f25(defaultValue) {
79
+ let [value, setValue] = (React.useState)(defaultValue);
80
+ let effect = (React.useRef)(null);
81
+ // Store the function in a ref so we can always access the current version
82
+ // which has the proper `value` in scope.
83
+ let nextRef = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
84
+ if (!effect.current) return;
85
+ // Run the generator to the next yield.
86
+ let newValue = effect.current.next();
87
+ // If the generator is done, reset the effect.
88
+ if (newValue.done) {
89
+ effect.current = null;
90
+ return;
91
+ }
92
+ // If the value is the same as the current value,
93
+ // then continue to the next yield. Otherwise,
94
+ // set the value in state and wait for the next layout effect.
95
+ if (value === newValue.value) nextRef();
96
+ else setValue(newValue.value);
97
+ });
98
+ ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
99
+ // If there is an effect currently running, continue to the next yield.
100
+ if (effect.current) nextRef();
101
+ });
102
+ let queue = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)((fn)=>{
103
+ effect.current = fn(value);
104
+ nextRef();
105
+ });
106
+ return [
107
+ value,
108
+ queue
109
+ ];
110
+ }
111
+
112
+ /*
113
+ * Copyright 2020 Adobe. All rights reserved.
114
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
115
+ * you may not use this file except in compliance with the License. You may obtain a copy
116
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
117
+ *
118
+ * Unless required by applicable law or agreed to in writing, software distributed under
119
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
120
+ * OF ANY KIND, either express or implied. See the License for the specific language
121
+ * governing permissions and limitations under the License.
122
+ */ // We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is
123
+ // guarded by a check that it only runs on the client side.
124
+ // eslint-disable-next-line rulesdir/useLayoutEffectRule
125
+
126
+ // Default context value to use in case there is no SSRProvider. This is fine for
127
+ // client-only apps. In order to support multiple copies of React Aria potentially
128
+ // being on the page at once, the prefix is set to a random number. SSRProvider
129
+ // will reset this to zero for consistency between server and client, so in the
130
+ // SSR case multiple copies of React Aria is not supported.
131
+ const $b5e257d569688ac6$var$defaultContext = {
132
+ prefix: String(Math.round(Math.random() * 10000000000)),
133
+ current: 0
134
+ };
135
+ const $b5e257d569688ac6$var$SSRContext = /*#__PURE__*/ (React).createContext($b5e257d569688ac6$var$defaultContext);
136
+ const $b5e257d569688ac6$var$IsSSRContext = /*#__PURE__*/ (React).createContext(false);
137
+ let $b5e257d569688ac6$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);
138
+ let $b5e257d569688ac6$var$componentIds = new WeakMap();
139
+ function $b5e257d569688ac6$var$useCounter(isDisabled = false) {
140
+ let ctx = (React.useContext)($b5e257d569688ac6$var$SSRContext);
141
+ let ref = (React.useRef)(null);
142
+ // eslint-disable-next-line rulesdir/pure-render
143
+ if (ref.current === null && !isDisabled) {
144
+ var _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner, _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
145
+ // In strict mode, React renders components twice, and the ref will be reset to null on the second render.
146
+ // This means our id counter will be incremented twice instead of once. This is a problem because on the
147
+ // server, components are only rendered once and so ids generated on the server won't match the client.
148
+ // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this
149
+ // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.
150
+ // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.
151
+ // To ensure that we only increment the global counter once, we store the starting id for this component in
152
+ // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.
153
+ // Since React runs the second render immediately after the first, this is safe.
154
+ // @ts-ignore
155
+ let currentOwner = (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = (React).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === void 0 ? void 0 : (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner = _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner === void 0 ? void 0 : _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner.current;
156
+ if (currentOwner) {
157
+ let prevComponentValue = $b5e257d569688ac6$var$componentIds.get(currentOwner);
158
+ if (prevComponentValue == null) // On the first render, and first call to useId, store the id and state in our weak map.
159
+ $b5e257d569688ac6$var$componentIds.set(currentOwner, {
160
+ id: ctx.current,
161
+ state: currentOwner.memoizedState
162
+ });
163
+ else if (currentOwner.memoizedState !== prevComponentValue.state) {
164
+ // On the second render, the memoizedState gets reset by React.
165
+ // Reset the counter, and remove from the weak map so we don't
166
+ // do this for subsequent useId calls.
167
+ ctx.current = prevComponentValue.id;
168
+ $b5e257d569688ac6$var$componentIds.delete(currentOwner);
169
+ }
170
+ }
171
+ // eslint-disable-next-line rulesdir/pure-render
172
+ ref.current = ++ctx.current;
173
+ }
174
+ // eslint-disable-next-line rulesdir/pure-render
175
+ return ref.current;
176
+ }
177
+ function $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {
178
+ let ctx = (React.useContext)($b5e257d569688ac6$var$SSRContext);
179
+ // If we are rendering in a non-DOM environment, and there's no SSRProvider,
180
+ // provide a warning to hint to the developer to add one.
181
+ if (ctx === $b5e257d569688ac6$var$defaultContext && !$b5e257d569688ac6$var$canUseDOM && process.env.NODE_ENV !== 'production') console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');
182
+ let counter = $b5e257d569688ac6$var$useCounter(!!defaultId);
183
+ let prefix = ctx === $b5e257d569688ac6$var$defaultContext && process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${ctx.prefix}`;
184
+ return defaultId || `${prefix}-${counter}`;
185
+ }
186
+ function $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {
187
+ let id = (React).useId();
188
+ let [didSSR] = (React.useState)($b5e257d569688ac6$export$535bd6ca7f90a273());
189
+ let prefix = didSSR || process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;
190
+ return defaultId || `${prefix}-${id}`;
191
+ }
192
+ const $b5e257d569688ac6$export$619500959fc48b26 = typeof (React)['useId'] === 'function' ? $b5e257d569688ac6$var$useModernSSRSafeId : $b5e257d569688ac6$var$useLegacySSRSafeId;
193
+ function $b5e257d569688ac6$var$getSnapshot() {
194
+ return false;
195
+ }
196
+ function $b5e257d569688ac6$var$getServerSnapshot() {
197
+ return true;
198
+ }
199
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
200
+ function $b5e257d569688ac6$var$subscribe(onStoreChange) {
201
+ // noop
202
+ return ()=>{};
203
+ }
204
+ function $b5e257d569688ac6$export$535bd6ca7f90a273() {
205
+ // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.
206
+ if (typeof (React)['useSyncExternalStore'] === 'function') return (React)['useSyncExternalStore']($b5e257d569688ac6$var$subscribe, $b5e257d569688ac6$var$getSnapshot, $b5e257d569688ac6$var$getServerSnapshot);
207
+ // eslint-disable-next-line react-hooks/rules-of-hooks
208
+ return (React.useContext)($b5e257d569688ac6$var$IsSSRContext);
209
+ }
210
+
211
+ /*
212
+ * Copyright 2020 Adobe. All rights reserved.
213
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
214
+ * you may not use this file except in compliance with the License. You may obtain a copy
215
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
216
+ *
217
+ * Unless required by applicable law or agreed to in writing, software distributed under
218
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
219
+ * OF ANY KIND, either express or implied. See the License for the specific language
220
+ * governing permissions and limitations under the License.
221
+ */
222
+
223
+
224
+
225
+ // copied from SSRProvider.tsx to reduce exports, if needed again, consider sharing
226
+ let $bdb11010cef70236$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);
227
+ let $bdb11010cef70236$export$d41a04c74483c6ef = new Map();
228
+ // This allows us to clean up the idsUpdaterMap when the id is no longer used.
229
+ // Map is a strong reference, so unused ids wouldn't be cleaned up otherwise.
230
+ // This can happen in suspended components where mount/unmount is not called.
231
+ let $bdb11010cef70236$var$registry;
232
+ if (typeof FinalizationRegistry !== 'undefined') $bdb11010cef70236$var$registry = new FinalizationRegistry((heldValue)=>{
233
+ $bdb11010cef70236$export$d41a04c74483c6ef.delete(heldValue);
234
+ });
235
+ function $bdb11010cef70236$export$f680877a34711e37(defaultId) {
236
+ let [value, setValue] = (React.useState)(defaultId);
237
+ let nextId = (React.useRef)(null);
238
+ let res = ($b5e257d569688ac6$export$619500959fc48b26)(value);
239
+ let cleanupRef = (React.useRef)(null);
240
+ if ($bdb11010cef70236$var$registry) $bdb11010cef70236$var$registry.register(cleanupRef, res);
241
+ if ($bdb11010cef70236$var$canUseDOM) {
242
+ const cacheIdRef = $bdb11010cef70236$export$d41a04c74483c6ef.get(res);
243
+ if (cacheIdRef && !cacheIdRef.includes(nextId)) cacheIdRef.push(nextId);
244
+ else $bdb11010cef70236$export$d41a04c74483c6ef.set(res, [
245
+ nextId
246
+ ]);
247
+ }
248
+ ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
249
+ let r = res;
250
+ return ()=>{
251
+ // In Suspense, the cleanup function may be not called
252
+ // when it is though, also remove it from the finalization registry.
253
+ if ($bdb11010cef70236$var$registry) $bdb11010cef70236$var$registry.unregister(cleanupRef);
254
+ $bdb11010cef70236$export$d41a04c74483c6ef.delete(r);
255
+ };
256
+ }, [
257
+ res
258
+ ]);
259
+ // This cannot cause an infinite loop because the ref is always cleaned up.
260
+ // eslint-disable-next-line
261
+ (React.useEffect)(()=>{
262
+ let newId = nextId.current;
263
+ if (newId) setValue(newId);
264
+ return ()=>{
265
+ if (newId) nextId.current = null;
266
+ };
267
+ });
268
+ return res;
269
+ }
270
+ function $bdb11010cef70236$export$cd8c9cb68f842629(idA, idB) {
271
+ if (idA === idB) return idA;
272
+ let setIdsA = $bdb11010cef70236$export$d41a04c74483c6ef.get(idA);
273
+ if (setIdsA) {
274
+ setIdsA.forEach((ref)=>ref.current = idB);
275
+ return idB;
276
+ }
277
+ let setIdsB = $bdb11010cef70236$export$d41a04c74483c6ef.get(idB);
278
+ if (setIdsB) {
279
+ setIdsB.forEach((ref)=>ref.current = idA);
280
+ return idA;
281
+ }
282
+ return idB;
283
+ }
284
+ function $bdb11010cef70236$export$b4cc09c592e8fdb8(depArray = []) {
285
+ let id = $bdb11010cef70236$export$f680877a34711e37();
286
+ let [resolvedId, setResolvedId] = ($1dbecbe27a04f9af$export$14d238f342723f25)(id);
287
+ let updateId = (React.useCallback)(()=>{
288
+ setResolvedId(function*() {
289
+ yield id;
290
+ yield document.getElementById(id) ? id : undefined;
291
+ });
292
+ }, [
293
+ id,
294
+ setResolvedId
295
+ ]);
296
+ ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(updateId, [
297
+ id,
298
+ updateId,
299
+ ...depArray
300
+ ]);
301
+ return resolvedId;
302
+ }
303
+
304
+ /*
305
+ * Copyright 2020 Adobe. All rights reserved.
306
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
307
+ * you may not use this file except in compliance with the License. You may obtain a copy
308
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
309
+ *
310
+ * Unless required by applicable law or agreed to in writing, software distributed under
311
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
312
+ * OF ANY KIND, either express or implied. See the License for the specific language
313
+ * governing permissions and limitations under the License.
314
+ */ /**
315
+ * Calls all functions in the order they were chained with the same arguments.
316
+ */ function $ff5963eb1fccf552$export$e08e3b67e392101e(...callbacks) {
317
+ return (...args)=>{
318
+ for (let callback of callbacks)if (typeof callback === 'function') callback(...args);
319
+ };
320
+ }
321
+
322
+ const $431fbd86ca7dc216$export$b204af158042fbac = (el)=>{
323
+ var _el_ownerDocument;
324
+ return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;
325
+ };
326
+ const $431fbd86ca7dc216$export$f21a1ffae260145a = (el)=>{
327
+ if (el && 'window' in el && el.window === el) return el;
328
+ const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);
329
+ return doc.defaultView || window;
330
+ };
331
+ /**
332
+ * Type guard that checks if a value is a Node. Verifies the presence and type of the nodeType property.
333
+ */ function $431fbd86ca7dc216$var$isNode(value) {
334
+ return value !== null && typeof value === 'object' && 'nodeType' in value && typeof value.nodeType === 'number';
335
+ }
336
+ function $431fbd86ca7dc216$export$af51f0f06c0f328a(node) {
337
+ return $431fbd86ca7dc216$var$isNode(node) && node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && 'host' in node;
338
+ }
339
+
340
+ let $f4e2df6bd15f8569$var$_shadowDOM = false;
341
+ function $f4e2df6bd15f8569$export$98658e8c59125e6a() {
342
+ return $f4e2df6bd15f8569$var$_shadowDOM;
343
+ }
344
+
345
+ // Source: https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/DOMFunctions.ts#L16
346
+
347
+
348
+ function $d4ee10de306f2510$export$4282f70798064fe0(node, otherNode) {
349
+ if (!($f4e2df6bd15f8569$export$98658e8c59125e6a)()) return otherNode && node ? node.contains(otherNode) : false;
350
+ if (!node || !otherNode) return false;
351
+ let currentNode = otherNode;
352
+ while(currentNode !== null){
353
+ if (currentNode === node) return true;
354
+ if (currentNode.tagName === 'SLOT' && currentNode.assignedSlot) // Element is slotted
355
+ currentNode = currentNode.assignedSlot.parentNode;
356
+ else if (($431fbd86ca7dc216$export$af51f0f06c0f328a)(currentNode)) // Element is in shadow root
357
+ currentNode = currentNode.host;
358
+ else currentNode = currentNode.parentNode;
359
+ }
360
+ return false;
361
+ }
362
+ const $d4ee10de306f2510$export$cd4e5573fbe2b576 = (doc = document)=>{
363
+ var _activeElement_shadowRoot;
364
+ if (!($f4e2df6bd15f8569$export$98658e8c59125e6a)()) return doc.activeElement;
365
+ let activeElement = doc.activeElement;
366
+ while(activeElement && 'shadowRoot' in activeElement && ((_activeElement_shadowRoot = activeElement.shadowRoot) === null || _activeElement_shadowRoot === void 0 ? void 0 : _activeElement_shadowRoot.activeElement))activeElement = activeElement.shadowRoot.activeElement;
367
+ return activeElement;
368
+ };
369
+ function $d4ee10de306f2510$export$e58f029f0fbfdb29(event) {
370
+ if (($f4e2df6bd15f8569$export$98658e8c59125e6a)() && event.target.shadowRoot) {
371
+ if (event.composedPath) return event.composedPath()[0];
372
+ }
373
+ return event.target;
374
+ }
375
+
376
+ /*
377
+ * Copyright 2020 Adobe. All rights reserved.
378
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
379
+ * you may not use this file except in compliance with the License. You may obtain a copy
380
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
381
+ *
382
+ * Unless required by applicable law or agreed to in writing, software distributed under
383
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
384
+ * OF ANY KIND, either express or implied. See the License for the specific language
385
+ * governing permissions and limitations under the License.
386
+ */
387
+
388
+
389
+ function $3ef42575df84b30b$export$9d1611c77c2fe928(...args) {
390
+ // Start with a base clone of the first argument. This is a lot faster than starting
391
+ // with an empty object and adding properties as we go.
392
+ let result = {
393
+ ...args[0]
394
+ };
395
+ for(let i = 1; i < args.length; i++){
396
+ let props = args[i];
397
+ for(let key in props){
398
+ let a = result[key];
399
+ let b = props[key];
400
+ // Chain events
401
+ if (typeof a === 'function' && typeof b === 'function' && // This is a lot faster than a regex.
402
+ key[0] === 'o' && key[1] === 'n' && key.charCodeAt(2) >= /* 'A' */ 65 && key.charCodeAt(2) <= /* 'Z' */ 90) result[key] = ($ff5963eb1fccf552$export$e08e3b67e392101e)(a, b);
403
+ else if ((key === 'className' || key === 'UNSAFE_className') && typeof a === 'string' && typeof b === 'string') result[key] = (clsx.clsx)(a, b);
404
+ else if (key === 'id' && a && b) result.id = ($bdb11010cef70236$export$cd8c9cb68f842629)(a, b);
405
+ else result[key] = b !== undefined ? b : a;
406
+ }
407
+ }
408
+ return result;
409
+ }
410
+
411
+ /*
412
+ * Copyright 2020 Adobe. All rights reserved.
413
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
414
+ * you may not use this file except in compliance with the License. You may obtain a copy
415
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
416
+ *
417
+ * Unless required by applicable law or agreed to in writing, software distributed under
418
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
419
+ * OF ANY KIND, either express or implied. See the License for the specific language
420
+ * governing permissions and limitations under the License.
421
+ */ function $5dc95899b306f630$export$c9058316764c140e(...refs) {
422
+ if (refs.length === 1 && refs[0]) return refs[0];
423
+ return (value)=>{
424
+ let hasCleanup = false;
425
+ const cleanups = refs.map((ref)=>{
426
+ const cleanup = $5dc95899b306f630$var$setRef(ref, value);
427
+ hasCleanup || (hasCleanup = typeof cleanup == 'function');
428
+ return cleanup;
429
+ });
430
+ if (hasCleanup) return ()=>{
431
+ cleanups.forEach((cleanup, i)=>{
432
+ if (typeof cleanup === 'function') cleanup();
433
+ else $5dc95899b306f630$var$setRef(refs[i], null);
434
+ });
435
+ };
436
+ };
437
+ }
438
+ function $5dc95899b306f630$var$setRef(ref, value) {
439
+ if (typeof ref === 'function') return ref(value);
440
+ else if (ref != null) ref.current = value;
441
+ }
442
+
443
+ /*
444
+ * Copyright 2020 Adobe. All rights reserved.
445
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
446
+ * you may not use this file except in compliance with the License. You may obtain a copy
447
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
448
+ *
449
+ * Unless required by applicable law or agreed to in writing, software distributed under
450
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
451
+ * OF ANY KIND, either express or implied. See the License for the specific language
452
+ * governing permissions and limitations under the License.
453
+ */ const $65484d02dcb7eb3e$var$DOMPropNames = new Set([
454
+ 'id'
455
+ ]);
456
+ const $65484d02dcb7eb3e$var$labelablePropNames = new Set([
457
+ 'aria-label',
458
+ 'aria-labelledby',
459
+ 'aria-describedby',
460
+ 'aria-details'
461
+ ]);
462
+ // See LinkDOMProps in dom.d.ts.
463
+ const $65484d02dcb7eb3e$var$linkPropNames = new Set([
464
+ 'href',
465
+ 'hrefLang',
466
+ 'target',
467
+ 'rel',
468
+ 'download',
469
+ 'ping',
470
+ 'referrerPolicy'
471
+ ]);
472
+ const $65484d02dcb7eb3e$var$globalAttrs = new Set([
473
+ 'dir',
474
+ 'lang',
475
+ 'hidden',
476
+ 'inert',
477
+ 'translate'
478
+ ]);
479
+ const $65484d02dcb7eb3e$var$globalEvents = new Set([
480
+ 'onClick',
481
+ 'onAuxClick',
482
+ 'onContextMenu',
483
+ 'onDoubleClick',
484
+ 'onMouseDown',
485
+ 'onMouseEnter',
486
+ 'onMouseLeave',
487
+ 'onMouseMove',
488
+ 'onMouseOut',
489
+ 'onMouseOver',
490
+ 'onMouseUp',
491
+ 'onTouchCancel',
492
+ 'onTouchEnd',
493
+ 'onTouchMove',
494
+ 'onTouchStart',
495
+ 'onPointerDown',
496
+ 'onPointerMove',
497
+ 'onPointerUp',
498
+ 'onPointerCancel',
499
+ 'onPointerEnter',
500
+ 'onPointerLeave',
501
+ 'onPointerOver',
502
+ 'onPointerOut',
503
+ 'onGotPointerCapture',
504
+ 'onLostPointerCapture',
505
+ 'onScroll',
506
+ 'onWheel',
507
+ 'onAnimationStart',
508
+ 'onAnimationEnd',
509
+ 'onAnimationIteration',
510
+ 'onTransitionCancel',
511
+ 'onTransitionEnd',
512
+ 'onTransitionRun',
513
+ 'onTransitionStart'
514
+ ]);
515
+ const $65484d02dcb7eb3e$var$propRe = /^(data-.*)$/;
516
+ function $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, opts = {}) {
517
+ let { labelable: labelable, isLink: isLink, global: global, events: events = global, propNames: propNames } = opts;
518
+ let filteredProps = {};
519
+ for(const prop in props)if (Object.prototype.hasOwnProperty.call(props, prop) && ($65484d02dcb7eb3e$var$DOMPropNames.has(prop) || labelable && $65484d02dcb7eb3e$var$labelablePropNames.has(prop) || isLink && $65484d02dcb7eb3e$var$linkPropNames.has(prop) || global && $65484d02dcb7eb3e$var$globalAttrs.has(prop) || events && $65484d02dcb7eb3e$var$globalEvents.has(prop) || prop.endsWith('Capture') && $65484d02dcb7eb3e$var$globalEvents.has(prop.slice(0, -7)) || (propNames === null || propNames === void 0 ? void 0 : propNames.has(prop)) || $65484d02dcb7eb3e$var$propRe.test(prop))) filteredProps[prop] = props[prop];
520
+ return filteredProps;
521
+ }
522
+
523
+ /*
524
+ * Copyright 2020 Adobe. All rights reserved.
525
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
526
+ * you may not use this file except in compliance with the License. You may obtain a copy
527
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
528
+ *
529
+ * Unless required by applicable law or agreed to in writing, software distributed under
530
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
531
+ * OF ANY KIND, either express or implied. See the License for the specific language
532
+ * governing permissions and limitations under the License.
533
+ */ function $7215afc6de606d6b$export$de79e2c695e052f3(element) {
534
+ if ($7215afc6de606d6b$var$supportsPreventScroll()) element.focus({
535
+ preventScroll: true
536
+ });
537
+ else {
538
+ let scrollableElements = $7215afc6de606d6b$var$getScrollableElements(element);
539
+ element.focus();
540
+ $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements);
541
+ }
542
+ }
543
+ let $7215afc6de606d6b$var$supportsPreventScrollCached = null;
544
+ function $7215afc6de606d6b$var$supportsPreventScroll() {
545
+ if ($7215afc6de606d6b$var$supportsPreventScrollCached == null) {
546
+ $7215afc6de606d6b$var$supportsPreventScrollCached = false;
547
+ try {
548
+ let focusElem = document.createElement('div');
549
+ focusElem.focus({
550
+ get preventScroll () {
551
+ $7215afc6de606d6b$var$supportsPreventScrollCached = true;
552
+ return true;
553
+ }
554
+ });
555
+ } catch {
556
+ // Ignore
557
+ }
558
+ }
559
+ return $7215afc6de606d6b$var$supportsPreventScrollCached;
560
+ }
561
+ function $7215afc6de606d6b$var$getScrollableElements(element) {
562
+ let parent = element.parentNode;
563
+ let scrollableElements = [];
564
+ let rootScrollingElement = document.scrollingElement || document.documentElement;
565
+ while(parent instanceof HTMLElement && parent !== rootScrollingElement){
566
+ if (parent.offsetHeight < parent.scrollHeight || parent.offsetWidth < parent.scrollWidth) scrollableElements.push({
567
+ element: parent,
568
+ scrollTop: parent.scrollTop,
569
+ scrollLeft: parent.scrollLeft
570
+ });
571
+ parent = parent.parentNode;
572
+ }
573
+ if (rootScrollingElement instanceof HTMLElement) scrollableElements.push({
574
+ element: rootScrollingElement,
575
+ scrollTop: rootScrollingElement.scrollTop,
576
+ scrollLeft: rootScrollingElement.scrollLeft
577
+ });
578
+ return scrollableElements;
579
+ }
580
+ function $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements) {
581
+ for (let { element: element, scrollTop: scrollTop, scrollLeft: scrollLeft } of scrollableElements){
582
+ element.scrollTop = scrollTop;
583
+ element.scrollLeft = scrollLeft;
584
+ }
585
+ }
586
+
587
+ /*
588
+ * Copyright 2020 Adobe. All rights reserved.
589
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
590
+ * you may not use this file except in compliance with the License. You may obtain a copy
591
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
592
+ *
593
+ * Unless required by applicable law or agreed to in writing, software distributed under
594
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
595
+ * OF ANY KIND, either express or implied. See the License for the specific language
596
+ * governing permissions and limitations under the License.
597
+ */ function $c87311424ea30a05$var$testUserAgent(re) {
598
+ var _window_navigator_userAgentData;
599
+ if (typeof window === 'undefined' || window.navigator == null) return false;
600
+ let brands = (_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands;
601
+ return Array.isArray(brands) && brands.some((brand)=>re.test(brand.brand)) || re.test(window.navigator.userAgent);
602
+ }
603
+ function $c87311424ea30a05$var$testPlatform(re) {
604
+ var _window_navigator_userAgentData;
605
+ return typeof window !== 'undefined' && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;
606
+ }
607
+ function $c87311424ea30a05$var$cached(fn) {
608
+ if (process.env.NODE_ENV === 'test') return fn;
609
+ let res = null;
610
+ return ()=>{
611
+ if (res == null) res = fn();
612
+ return res;
613
+ };
614
+ }
615
+ const $c87311424ea30a05$export$9ac100e40613ea10 = $c87311424ea30a05$var$cached(function() {
616
+ return $c87311424ea30a05$var$testPlatform(/^Mac/i);
617
+ });
618
+ const $c87311424ea30a05$export$186c6964ca17d99 = $c87311424ea30a05$var$cached(function() {
619
+ return $c87311424ea30a05$var$testPlatform(/^iPhone/i);
620
+ });
621
+ const $c87311424ea30a05$export$7bef049ce92e4224 = $c87311424ea30a05$var$cached(function() {
622
+ return $c87311424ea30a05$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.
623
+ $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;
624
+ });
625
+ const $c87311424ea30a05$export$fedb369cb70207f1 = $c87311424ea30a05$var$cached(function() {
626
+ return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();
627
+ });
628
+ $c87311424ea30a05$var$cached(function() {
629
+ return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();
630
+ });
631
+ $c87311424ea30a05$var$cached(function() {
632
+ return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();
633
+ });
634
+ const $c87311424ea30a05$export$6446a186d09e379e = $c87311424ea30a05$var$cached(function() {
635
+ return $c87311424ea30a05$var$testUserAgent(/Chrome/i);
636
+ });
637
+ const $c87311424ea30a05$export$a11b0059900ceec8 = $c87311424ea30a05$var$cached(function() {
638
+ return $c87311424ea30a05$var$testUserAgent(/Android/i);
639
+ });
640
+ $c87311424ea30a05$var$cached(function() {
641
+ return $c87311424ea30a05$var$testUserAgent(/Firefox/i);
642
+ });
643
+
644
+ /*
645
+ * Copyright 2020 Adobe. All rights reserved.
646
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
647
+ * you may not use this file except in compliance with the License. You may obtain a copy
648
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
649
+ *
650
+ * Unless required by applicable law or agreed to in writing, software distributed under
651
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
652
+ * OF ANY KIND, either express or implied. See the License for the specific language
653
+ * governing permissions and limitations under the License.
654
+ */ // We store a global list of elements that are currently transitioning,
655
+ // mapped to a set of CSS properties that are transitioning for that element.
656
+ // This is necessary rather than a simple count of transitions because of browser
657
+ // bugs, e.g. Chrome sometimes fires both transitionend and transitioncancel rather
658
+ // than one or the other. So we need to track what's actually transitioning so that
659
+ // we can ignore these duplicate events.
660
+ let $bbed8b41f857bcc0$var$transitionsByElement = new Map();
661
+ // A list of callbacks to call once there are no transitioning elements.
662
+ let $bbed8b41f857bcc0$var$transitionCallbacks = new Set();
663
+ function $bbed8b41f857bcc0$var$setupGlobalEvents() {
664
+ if (typeof window === 'undefined') return;
665
+ function isTransitionEvent(event) {
666
+ return 'propertyName' in event;
667
+ }
668
+ let onTransitionStart = (e)=>{
669
+ if (!isTransitionEvent(e) || !e.target) return;
670
+ // Add the transitioning property to the list for this element.
671
+ let transitions = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);
672
+ if (!transitions) {
673
+ transitions = new Set();
674
+ $bbed8b41f857bcc0$var$transitionsByElement.set(e.target, transitions);
675
+ // The transitioncancel event must be registered on the element itself, rather than as a global
676
+ // event. This enables us to handle when the node is deleted from the document while it is transitioning.
677
+ // In that case, the cancel event would have nowhere to bubble to so we need to handle it directly.
678
+ e.target.addEventListener('transitioncancel', onTransitionEnd, {
679
+ once: true
680
+ });
681
+ }
682
+ transitions.add(e.propertyName);
683
+ };
684
+ let onTransitionEnd = (e)=>{
685
+ if (!isTransitionEvent(e) || !e.target) return;
686
+ // Remove property from list of transitioning properties.
687
+ let properties = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);
688
+ if (!properties) return;
689
+ properties.delete(e.propertyName);
690
+ // If empty, remove transitioncancel event, and remove the element from the list of transitioning elements.
691
+ if (properties.size === 0) {
692
+ e.target.removeEventListener('transitioncancel', onTransitionEnd);
693
+ $bbed8b41f857bcc0$var$transitionsByElement.delete(e.target);
694
+ }
695
+ // If no transitioning elements, call all of the queued callbacks.
696
+ if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) {
697
+ for (let cb of $bbed8b41f857bcc0$var$transitionCallbacks)cb();
698
+ $bbed8b41f857bcc0$var$transitionCallbacks.clear();
699
+ }
700
+ };
701
+ document.body.addEventListener('transitionrun', onTransitionStart);
702
+ document.body.addEventListener('transitionend', onTransitionEnd);
703
+ }
704
+ if (typeof document !== 'undefined') {
705
+ if (document.readyState !== 'loading') $bbed8b41f857bcc0$var$setupGlobalEvents();
706
+ else document.addEventListener('DOMContentLoaded', $bbed8b41f857bcc0$var$setupGlobalEvents);
707
+ }
708
+ /**
709
+ * Cleans up any elements that are no longer in the document.
710
+ * This is necessary because we can't rely on transitionend events to fire
711
+ * for elements that are removed from the document while transitioning.
712
+ */ function $bbed8b41f857bcc0$var$cleanupDetachedElements() {
713
+ for (const [eventTarget] of $bbed8b41f857bcc0$var$transitionsByElement)// Similar to `eventTarget instanceof Element && !eventTarget.isConnected`, but avoids
714
+ // the explicit instanceof check, since it may be different in different contexts.
715
+ if ('isConnected' in eventTarget && !eventTarget.isConnected) $bbed8b41f857bcc0$var$transitionsByElement.delete(eventTarget);
716
+ }
717
+ function $bbed8b41f857bcc0$export$24490316f764c430(fn) {
718
+ // Wait one frame to see if an animation starts, e.g. a transition on mount.
719
+ requestAnimationFrame(()=>{
720
+ $bbed8b41f857bcc0$var$cleanupDetachedElements();
721
+ // If no transitions are running, call the function immediately.
722
+ // Otherwise, add it to a list of callbacks to run at the end of the animation.
723
+ if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) fn();
724
+ else $bbed8b41f857bcc0$var$transitionCallbacks.add(fn);
725
+ });
726
+ }
727
+
728
+ /*
729
+ * Copyright 2020 Adobe. All rights reserved.
730
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
731
+ * you may not use this file except in compliance with the License. You may obtain a copy
732
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
733
+ *
734
+ * Unless required by applicable law or agreed to in writing, software distributed under
735
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
736
+ * OF ANY KIND, either express or implied. See the License for the specific language
737
+ * governing permissions and limitations under the License.
738
+ */
739
+ function $03deb23ff14920c4$export$4eaf04e54aa8eed6() {
740
+ let globalListeners = (React.useRef)(new Map());
741
+ let addGlobalListener = (React.useCallback)((eventTarget, type, listener, options)=>{
742
+ // Make sure we remove the listener after it is called with the `once` option.
743
+ let fn = (options === null || options === void 0 ? void 0 : options.once) ? (...args)=>{
744
+ globalListeners.current.delete(listener);
745
+ listener(...args);
746
+ } : listener;
747
+ globalListeners.current.set(listener, {
748
+ type: type,
749
+ eventTarget: eventTarget,
750
+ fn: fn,
751
+ options: options
752
+ });
753
+ eventTarget.addEventListener(type, fn, options);
754
+ }, []);
755
+ let removeGlobalListener = (React.useCallback)((eventTarget, type, listener, options)=>{
756
+ var _globalListeners_current_get;
757
+ let fn = ((_globalListeners_current_get = globalListeners.current.get(listener)) === null || _globalListeners_current_get === void 0 ? void 0 : _globalListeners_current_get.fn) || listener;
758
+ eventTarget.removeEventListener(type, fn, options);
759
+ globalListeners.current.delete(listener);
760
+ }, []);
761
+ let removeAllGlobalListeners = (React.useCallback)(()=>{
762
+ globalListeners.current.forEach((value, key)=>{
763
+ removeGlobalListener(value.eventTarget, value.type, key, value.options);
764
+ });
765
+ }, [
766
+ removeGlobalListener
767
+ ]);
768
+ (React.useEffect)(()=>{
769
+ return removeAllGlobalListeners;
770
+ }, [
771
+ removeAllGlobalListeners
772
+ ]);
773
+ return {
774
+ addGlobalListener: addGlobalListener,
775
+ removeGlobalListener: removeGlobalListener,
776
+ removeAllGlobalListeners: removeAllGlobalListeners
777
+ };
778
+ }
779
+
780
+ /*
781
+ * Copyright 2020 Adobe. All rights reserved.
782
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
783
+ * you may not use this file except in compliance with the License. You may obtain a copy
784
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
785
+ *
786
+ * Unless required by applicable law or agreed to in writing, software distributed under
787
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
788
+ * OF ANY KIND, either express or implied. See the License for the specific language
789
+ * governing permissions and limitations under the License.
790
+ */
791
+ function $313b98861ee5dd6c$export$d6875122194c7b44(props, defaultLabel) {
792
+ let { id: id, 'aria-label': label, 'aria-labelledby': labelledBy } = props;
793
+ // If there is both an aria-label and aria-labelledby,
794
+ // combine them by pointing to the element itself.
795
+ id = ($bdb11010cef70236$export$f680877a34711e37)(id);
796
+ if (labelledBy && label) {
797
+ let ids = new Set([
798
+ id,
799
+ ...labelledBy.trim().split(/\s+/)
800
+ ]);
801
+ labelledBy = [
802
+ ...ids
803
+ ].join(' ');
804
+ } else if (labelledBy) labelledBy = labelledBy.trim().split(/\s+/).join(' ');
805
+ // If no labels are provided, use the default
806
+ if (!label && !labelledBy && defaultLabel) label = defaultLabel;
807
+ return {
808
+ id: id,
809
+ 'aria-label': label,
810
+ 'aria-labelledby': labelledBy
811
+ };
812
+ }
813
+
814
+ /*
815
+ * Copyright 2021 Adobe. All rights reserved.
816
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
817
+ * you may not use this file except in compliance with the License. You may obtain a copy
818
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
819
+ *
820
+ * Unless required by applicable law or agreed to in writing, software distributed under
821
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
822
+ * OF ANY KIND, either express or implied. See the License for the specific language
823
+ * governing permissions and limitations under the License.
824
+ */
825
+ function $df56164dff5785e2$export$4338b53315abf666(ref) {
826
+ const objRef = (React.useRef)(null);
827
+ const cleanupRef = (React.useRef)(undefined);
828
+ const refEffect = (React.useCallback)((instance)=>{
829
+ if (typeof ref === 'function') {
830
+ const refCallback = ref;
831
+ const refCleanup = refCallback(instance);
832
+ return ()=>{
833
+ if (typeof refCleanup === 'function') refCleanup();
834
+ else refCallback(null);
835
+ };
836
+ } else if (ref) {
837
+ ref.current = instance;
838
+ return ()=>{
839
+ ref.current = null;
840
+ };
841
+ }
842
+ }, [
843
+ ref
844
+ ]);
845
+ return (React.useMemo)(()=>({
846
+ get current () {
847
+ return objRef.current;
848
+ },
849
+ set current (value){
850
+ objRef.current = value;
851
+ if (cleanupRef.current) {
852
+ cleanupRef.current();
853
+ cleanupRef.current = undefined;
854
+ }
855
+ if (value != null) cleanupRef.current = refEffect(value);
856
+ }
857
+ }), [
858
+ refEffect
859
+ ]);
860
+ }
861
+
862
+ /*
863
+ * Copyright 2020 Adobe. All rights reserved.
864
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
865
+ * you may not use this file except in compliance with the License. You may obtain a copy
866
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
867
+ *
868
+ * Unless required by applicable law or agreed to in writing, software distributed under
869
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
870
+ * OF ANY KIND, either express or implied. See the License for the specific language
871
+ * governing permissions and limitations under the License.
872
+ */
873
+ function $e7801be82b4b2a53$export$4debdb1a3f0fa79e(context, ref) {
874
+ ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
875
+ if (context && context.ref && ref) {
876
+ context.ref.current = ref.current;
877
+ return ()=>{
878
+ if (context.ref) context.ref.current = null;
879
+ };
880
+ }
881
+ });
882
+ }
883
+
884
+ /*
885
+ * Copyright 2021 Adobe. All rights reserved.
886
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
887
+ * you may not use this file except in compliance with the License. You may obtain a copy
888
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
889
+ *
890
+ * Unless required by applicable law or agreed to in writing, software distributed under
891
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
892
+ * OF ANY KIND, either express or implied. See the License for the specific language
893
+ * governing permissions and limitations under the License.
894
+ */
895
+
896
+ function $e9faafb641e167db$export$90fc3a17d93f704c(ref, event, handler, options) {
897
+ let handleEvent = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(handler);
898
+ let isDisabled = handler == null;
899
+ (React.useEffect)(()=>{
900
+ if (isDisabled || !ref.current) return;
901
+ let element = ref.current;
902
+ element.addEventListener(event, handleEvent, options);
903
+ return ()=>{
904
+ element.removeEventListener(event, handleEvent, options);
905
+ };
906
+ }, [
907
+ ref,
908
+ event,
909
+ options,
910
+ isDisabled,
911
+ handleEvent
912
+ ]);
913
+ }
914
+
915
+ /*
916
+ * Copyright 2022 Adobe. All rights reserved.
917
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
918
+ * you may not use this file except in compliance with the License. You may obtain a copy
919
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
920
+ *
921
+ * Unless required by applicable law or agreed to in writing, software distributed under
922
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
923
+ * OF ANY KIND, either express or implied. See the License for the specific language
924
+ * governing permissions and limitations under the License.
925
+ */
926
+ function $6a7db85432448f7f$export$60278871457622de(event) {
927
+ // JAWS/NVDA with Firefox.
928
+ if (event.pointerType === '' && event.isTrusted) return true;
929
+ // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead
930
+ // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check
931
+ // to detect TalkBack virtual clicks.
932
+ if (($c87311424ea30a05$export$a11b0059900ceec8)() && event.pointerType) return event.type === 'click' && event.buttons === 1;
933
+ return event.detail === 0 && !event.pointerType;
934
+ }
935
+
24
936
  /*
25
937
  * Copyright 2023 Adobe. All rights reserved.
26
938
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -34,7 +946,7 @@ require('react-router-dom');
34
946
  */
35
947
 
36
948
  function $99facab73266f662$export$5add1d006293d136(ref, initialValue, onReset) {
37
- let handleReset = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
949
+ let handleReset = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
38
950
  if (onReset) onReset(initialValue);
39
951
  });
40
952
  (React.useEffect)(()=>{
@@ -50,6 +962,259 @@ function $99facab73266f662$export$5add1d006293d136(ref, initialValue, onReset) {
50
962
  ]);
51
963
  }
52
964
 
965
+ /*
966
+ * Copyright 2020 Adobe. All rights reserved.
967
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
968
+ * you may not use this file except in compliance with the License. You may obtain a copy
969
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
970
+ *
971
+ * Unless required by applicable law or agreed to in writing, software distributed under
972
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
973
+ * OF ANY KIND, either express or implied. See the License for the specific language
974
+ * governing permissions and limitations under the License.
975
+ */
976
+ function $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange) {
977
+ let [stateValue, setStateValue] = (React.useState)(value || defaultValue);
978
+ let isControlledRef = (React.useRef)(value !== undefined);
979
+ let isControlled = value !== undefined;
980
+ (React.useEffect)(()=>{
981
+ let wasControlled = isControlledRef.current;
982
+ if (wasControlled !== isControlled && process.env.NODE_ENV !== 'production') console.warn(`WARN: A component changed from ${wasControlled ? 'controlled' : 'uncontrolled'} to ${isControlled ? 'controlled' : 'uncontrolled'}.`);
983
+ isControlledRef.current = isControlled;
984
+ }, [
985
+ isControlled
986
+ ]);
987
+ let currentValue = isControlled ? value : stateValue;
988
+ let setValue = (React.useCallback)((value, ...args)=>{
989
+ let onChangeCaller = (value, ...onChangeArgs)=>{
990
+ if (onChange) {
991
+ if (!Object.is(currentValue, value)) onChange(value, ...onChangeArgs);
992
+ }
993
+ if (!isControlled) // If uncontrolled, mutate the currentValue local variable so that
994
+ // calling setState multiple times with the same value only emits onChange once.
995
+ // We do not use a ref for this because we specifically _do_ want the value to
996
+ // reset every render, and assigning to a ref in render breaks aborted suspended renders.
997
+ // eslint-disable-next-line react-hooks/exhaustive-deps
998
+ currentValue = value;
999
+ };
1000
+ if (typeof value === 'function') {
1001
+ if (process.env.NODE_ENV !== 'production') console.warn('We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320');
1002
+ // this supports functional updates https://reactjs.org/docs/hooks-reference.html#functional-updates
1003
+ // when someone using useControlledState calls setControlledState(myFunc)
1004
+ // this will call our useState setState with a function as well which invokes myFunc and calls onChange with the value from myFunc
1005
+ // if we're in an uncontrolled state, then we also return the value of myFunc which to setState looks as though it was just called with myFunc from the beginning
1006
+ // otherwise we just return the controlled value, which won't cause a rerender because React knows to bail out when the value is the same
1007
+ let updateFunction = (oldValue, ...functionArgs)=>{
1008
+ let interceptedValue = value(isControlled ? currentValue : oldValue, ...functionArgs);
1009
+ onChangeCaller(interceptedValue, ...args);
1010
+ if (!isControlled) return interceptedValue;
1011
+ return oldValue;
1012
+ };
1013
+ setStateValue(updateFunction);
1014
+ } else {
1015
+ if (!isControlled) setStateValue(value);
1016
+ onChangeCaller(value, ...args);
1017
+ }
1018
+ }, [
1019
+ isControlled,
1020
+ currentValue,
1021
+ onChange
1022
+ ]);
1023
+ return [
1024
+ currentValue,
1025
+ setValue
1026
+ ];
1027
+ }
1028
+
1029
+ /*
1030
+ * Copyright 2020 Adobe. All rights reserved.
1031
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1032
+ * you may not use this file except in compliance with the License. You may obtain a copy
1033
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
1034
+ *
1035
+ * Unless required by applicable law or agreed to in writing, software distributed under
1036
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1037
+ * OF ANY KIND, either express or implied. See the License for the specific language
1038
+ * governing permissions and limitations under the License.
1039
+ */ /**
1040
+ * Takes a value and forces it to the closest min/max if it's outside. Also forces it to the closest valid step.
1041
+ */ function $9446cca9a3875146$export$7d15b64cf5a3a4c4(value, min = -Infinity, max = Infinity) {
1042
+ let newValue = Math.min(Math.max(value, min), max);
1043
+ return newValue;
1044
+ }
1045
+ function $9446cca9a3875146$export$e1a7b8e69ef6c52f(value, step) {
1046
+ let roundedValue = value;
1047
+ let precision = 0;
1048
+ let stepString = step.toString();
1049
+ // Handle negative exponents in exponential notation (e.g., "1e-7" → precision 8)
1050
+ let eIndex = stepString.toLowerCase().indexOf('e-');
1051
+ if (eIndex > 0) precision = Math.abs(Math.floor(Math.log10(Math.abs(step)))) + eIndex;
1052
+ else {
1053
+ let pointIndex = stepString.indexOf('.');
1054
+ if (pointIndex >= 0) precision = stepString.length - pointIndex;
1055
+ }
1056
+ if (precision > 0) {
1057
+ let pow = Math.pow(10, precision);
1058
+ roundedValue = Math.round(roundedValue * pow) / pow;
1059
+ }
1060
+ return roundedValue;
1061
+ }
1062
+ function $9446cca9a3875146$export$cb6e0bb50bc19463(value, min, max, step) {
1063
+ min = Number(min);
1064
+ max = Number(max);
1065
+ let remainder = (value - (isNaN(min) ? 0 : min)) % step;
1066
+ let snappedValue = $9446cca9a3875146$export$e1a7b8e69ef6c52f(Math.abs(remainder) * 2 >= step ? value + Math.sign(remainder) * (step - Math.abs(remainder)) : value - remainder, step);
1067
+ if (!isNaN(min)) {
1068
+ if (snappedValue < min) snappedValue = min;
1069
+ else if (!isNaN(max) && snappedValue > max) snappedValue = min + Math.floor($9446cca9a3875146$export$e1a7b8e69ef6c52f((max - min) / step, step)) * step;
1070
+ } else if (!isNaN(max) && snappedValue > max) snappedValue = Math.floor($9446cca9a3875146$export$e1a7b8e69ef6c52f(max / step, step)) * step;
1071
+ // correct floating point behavior by rounding to step precision
1072
+ snappedValue = $9446cca9a3875146$export$e1a7b8e69ef6c52f(snappedValue, step);
1073
+ return snappedValue;
1074
+ }
1075
+
1076
+ /*
1077
+ * Copyright 2022 Adobe. All rights reserved.
1078
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1079
+ * you may not use this file except in compliance with the License. You may obtain a copy
1080
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
1081
+ *
1082
+ * Unless required by applicable law or agreed to in writing, software distributed under
1083
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1084
+ * OF ANY KIND, either express or implied. See the License for the specific language
1085
+ * governing permissions and limitations under the License.
1086
+ */
1087
+
1088
+ const $64fa3d84918910a7$export$c62b8e45d58ddad9 = Symbol('default');
1089
+ function $64fa3d84918910a7$export$2881499e37b75b9a({ values: values, children: children }) {
1090
+ for (let [Context, value] of values)// @ts-ignore
1091
+ children = /*#__PURE__*/ (React).createElement(Context.Provider, {
1092
+ value: value
1093
+ }, children);
1094
+ return children;
1095
+ }
1096
+ function $64fa3d84918910a7$export$4d86445c2cf5e3(props) {
1097
+ let { className: className, style: style, children: children, defaultClassName: defaultClassName, defaultChildren: defaultChildren, defaultStyle: defaultStyle, values: values } = props;
1098
+ return (React.useMemo)(()=>{
1099
+ let computedClassName;
1100
+ let computedStyle;
1101
+ let computedChildren;
1102
+ if (typeof className === 'function') computedClassName = className({
1103
+ ...values,
1104
+ defaultClassName: defaultClassName
1105
+ });
1106
+ else computedClassName = className;
1107
+ if (typeof style === 'function') computedStyle = style({
1108
+ ...values,
1109
+ defaultStyle: defaultStyle || {}
1110
+ });
1111
+ else computedStyle = style;
1112
+ if (typeof children === 'function') computedChildren = children({
1113
+ ...values,
1114
+ defaultChildren: defaultChildren
1115
+ });
1116
+ else if (children == null) computedChildren = defaultChildren;
1117
+ else computedChildren = children;
1118
+ return {
1119
+ className: computedClassName !== null && computedClassName !== void 0 ? computedClassName : defaultClassName,
1120
+ style: computedStyle || defaultStyle ? {
1121
+ ...defaultStyle,
1122
+ ...computedStyle
1123
+ } : undefined,
1124
+ children: computedChildren !== null && computedChildren !== void 0 ? computedChildren : defaultChildren,
1125
+ 'data-rac': ''
1126
+ };
1127
+ }, [
1128
+ className,
1129
+ style,
1130
+ children,
1131
+ defaultClassName,
1132
+ defaultChildren,
1133
+ defaultStyle,
1134
+ values
1135
+ ]);
1136
+ }
1137
+ function $64fa3d84918910a7$export$fabf2dc03a41866e(context, slot) {
1138
+ let ctx = (React.useContext)(context);
1139
+ if (slot === null) // An explicit `null` slot means don't use context.
1140
+ return null;
1141
+ if (ctx && typeof ctx === 'object' && 'slots' in ctx && ctx.slots) {
1142
+ let slotKey = slot || $64fa3d84918910a7$export$c62b8e45d58ddad9;
1143
+ if (!ctx.slots[slotKey]) {
1144
+ let availableSlots = new Intl.ListFormat().format(Object.keys(ctx.slots).map((p)=>`"${p}"`));
1145
+ let errorMessage = slot ? `Invalid slot "${slot}".` : 'A slot prop is required.';
1146
+ throw new Error(`${errorMessage} Valid slot names are ${availableSlots}.`);
1147
+ }
1148
+ return ctx.slots[slotKey];
1149
+ }
1150
+ // @ts-ignore
1151
+ return ctx;
1152
+ }
1153
+ function $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, context) {
1154
+ let ctx = $64fa3d84918910a7$export$fabf2dc03a41866e(context, props.slot) || {};
1155
+ // @ts-ignore - TS says "Type 'unique symbol' cannot be used as an index type." but not sure why.
1156
+ let { ref: contextRef, ...contextProps } = ctx;
1157
+ let mergedRef = ($df56164dff5785e2$export$4338b53315abf666)((React.useMemo)(()=>($5dc95899b306f630$export$c9058316764c140e)(ref, contextRef), [
1158
+ ref,
1159
+ contextRef
1160
+ ]));
1161
+ let mergedProps = ($3ef42575df84b30b$export$9d1611c77c2fe928)(contextProps, props);
1162
+ // mergeProps does not merge `style`. Adding this there might be a breaking change.
1163
+ if ('style' in contextProps && contextProps.style && 'style' in props && props.style) {
1164
+ if (typeof contextProps.style === 'function' || typeof props.style === 'function') // @ts-ignore
1165
+ mergedProps.style = (renderProps)=>{
1166
+ let contextStyle = typeof contextProps.style === 'function' ? contextProps.style(renderProps) : contextProps.style;
1167
+ let defaultStyle = {
1168
+ ...renderProps.defaultStyle,
1169
+ ...contextStyle
1170
+ };
1171
+ let style = typeof props.style === 'function' ? props.style({
1172
+ ...renderProps,
1173
+ defaultStyle: defaultStyle
1174
+ }) : props.style;
1175
+ return {
1176
+ ...defaultStyle,
1177
+ ...style
1178
+ };
1179
+ };
1180
+ else // @ts-ignore
1181
+ mergedProps.style = {
1182
+ ...contextProps.style,
1183
+ ...props.style
1184
+ };
1185
+ }
1186
+ return [
1187
+ mergedProps,
1188
+ mergedRef
1189
+ ];
1190
+ }
1191
+ function $64fa3d84918910a7$export$9d4c57ee4c6ffdd8(initialState = true) {
1192
+ // Initial state is typically based on the parent having an aria-label or aria-labelledby.
1193
+ // If it does, this value should be false so that we don't update the state and cause a rerender when we go through the layoutEffect
1194
+ let [hasSlot, setHasSlot] = (React.useState)(initialState);
1195
+ let hasRun = (React.useRef)(false);
1196
+ // A callback ref which will run when the slotted element mounts.
1197
+ // This should happen before the useLayoutEffect below.
1198
+ let ref = (React.useCallback)((el)=>{
1199
+ hasRun.current = true;
1200
+ setHasSlot(!!el);
1201
+ }, []);
1202
+ // If the callback hasn't been called, then reset to false.
1203
+ ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
1204
+ if (!hasRun.current) setHasSlot(false);
1205
+ }, []);
1206
+ return [
1207
+ ref,
1208
+ hasSlot
1209
+ ];
1210
+ }
1211
+ function $64fa3d84918910a7$export$ef03459518577ad4(props) {
1212
+ const prefix = /^(data-.*)$/;
1213
+ let filteredProps = {};
1214
+ for(const prop in props)if (!prefix.test(prop)) filteredProps[prop] = props[prop];
1215
+ return filteredProps;
1216
+ }
1217
+
53
1218
  /*
54
1219
  * Copyright 2020 Adobe. All rights reserved.
55
1220
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -153,6 +1318,300 @@ class $319e236875307eab$var$LiveAnnouncer {
153
1318
  }
154
1319
  }
155
1320
 
1321
+ /*
1322
+ * Copyright 2020 Adobe. All rights reserved.
1323
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1324
+ * you may not use this file except in compliance with the License. You may obtain a copy
1325
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
1326
+ *
1327
+ * Unless required by applicable law or agreed to in writing, software distributed under
1328
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1329
+ * OF ANY KIND, either express or implied. See the License for the specific language
1330
+ * governing permissions and limitations under the License.
1331
+ */ // https://en.wikipedia.org/wiki/Right-to-left
1332
+ const $148a7a147e38ea7f$var$RTL_SCRIPTS = new Set([
1333
+ 'Arab',
1334
+ 'Syrc',
1335
+ 'Samr',
1336
+ 'Mand',
1337
+ 'Thaa',
1338
+ 'Mend',
1339
+ 'Nkoo',
1340
+ 'Adlm',
1341
+ 'Rohg',
1342
+ 'Hebr'
1343
+ ]);
1344
+ const $148a7a147e38ea7f$var$RTL_LANGS = new Set([
1345
+ 'ae',
1346
+ 'ar',
1347
+ 'arc',
1348
+ 'bcc',
1349
+ 'bqi',
1350
+ 'ckb',
1351
+ 'dv',
1352
+ 'fa',
1353
+ 'glk',
1354
+ 'he',
1355
+ 'ku',
1356
+ 'mzn',
1357
+ 'nqo',
1358
+ 'pnb',
1359
+ 'ps',
1360
+ 'sd',
1361
+ 'ug',
1362
+ 'ur',
1363
+ 'yi'
1364
+ ]);
1365
+ function $148a7a147e38ea7f$export$702d680b21cbd764(localeString) {
1366
+ // If the Intl.Locale API is available, use it to get the locale's text direction.
1367
+ if (Intl.Locale) {
1368
+ let locale = new Intl.Locale(localeString).maximize();
1369
+ // Use the text info object to get the direction if possible.
1370
+ // @ts-ignore - this was implemented as a property by some browsers before it was standardized as a function.
1371
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getTextInfo
1372
+ let textInfo = typeof locale.getTextInfo === 'function' ? locale.getTextInfo() : locale.textInfo;
1373
+ if (textInfo) return textInfo.direction === 'rtl';
1374
+ // Fallback: guess using the script.
1375
+ // This is more accurate than guessing by language, since languages can be written in multiple scripts.
1376
+ if (locale.script) return $148a7a147e38ea7f$var$RTL_SCRIPTS.has(locale.script);
1377
+ }
1378
+ // If not, just guess by the language (first part of the locale)
1379
+ let lang = localeString.split('-')[0];
1380
+ return $148a7a147e38ea7f$var$RTL_LANGS.has(lang);
1381
+ }
1382
+
1383
+ /*
1384
+ * Copyright 2020 Adobe. All rights reserved.
1385
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1386
+ * you may not use this file except in compliance with the License. You may obtain a copy
1387
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
1388
+ *
1389
+ * Unless required by applicable law or agreed to in writing, software distributed under
1390
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1391
+ * OF ANY KIND, either express or implied. See the License for the specific language
1392
+ * governing permissions and limitations under the License.
1393
+ */
1394
+
1395
+
1396
+ // Locale passed from server by PackageLocalizationProvider.
1397
+ const $1e5a04cdaf7d1af8$var$localeSymbol = Symbol.for('react-aria.i18n.locale');
1398
+ function $1e5a04cdaf7d1af8$export$f09106e7c6677ec5() {
1399
+ let locale = typeof window !== 'undefined' && window[$1e5a04cdaf7d1af8$var$localeSymbol] || typeof navigator !== 'undefined' && (navigator.language || navigator.userLanguage) || 'en-US';
1400
+ try {
1401
+ Intl.DateTimeFormat.supportedLocalesOf([
1402
+ locale
1403
+ ]);
1404
+ } catch {
1405
+ locale = 'en-US';
1406
+ }
1407
+ return {
1408
+ locale: locale,
1409
+ direction: ($148a7a147e38ea7f$export$702d680b21cbd764)(locale) ? 'rtl' : 'ltr'
1410
+ };
1411
+ }
1412
+ let $1e5a04cdaf7d1af8$var$currentLocale = $1e5a04cdaf7d1af8$export$f09106e7c6677ec5();
1413
+ let $1e5a04cdaf7d1af8$var$listeners = new Set();
1414
+ function $1e5a04cdaf7d1af8$var$updateLocale() {
1415
+ $1e5a04cdaf7d1af8$var$currentLocale = $1e5a04cdaf7d1af8$export$f09106e7c6677ec5();
1416
+ for (let listener of $1e5a04cdaf7d1af8$var$listeners)listener($1e5a04cdaf7d1af8$var$currentLocale);
1417
+ }
1418
+ function $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a() {
1419
+ let isSSR = ($b5e257d569688ac6$export$535bd6ca7f90a273)();
1420
+ let [defaultLocale, setDefaultLocale] = (React.useState)($1e5a04cdaf7d1af8$var$currentLocale);
1421
+ (React.useEffect)(()=>{
1422
+ if ($1e5a04cdaf7d1af8$var$listeners.size === 0) window.addEventListener('languagechange', $1e5a04cdaf7d1af8$var$updateLocale);
1423
+ $1e5a04cdaf7d1af8$var$listeners.add(setDefaultLocale);
1424
+ return ()=>{
1425
+ $1e5a04cdaf7d1af8$var$listeners.delete(setDefaultLocale);
1426
+ if ($1e5a04cdaf7d1af8$var$listeners.size === 0) window.removeEventListener('languagechange', $1e5a04cdaf7d1af8$var$updateLocale);
1427
+ };
1428
+ }, []);
1429
+ // We cannot determine the browser's language on the server, so default to
1430
+ // en-US. This will be updated after hydration on the client to the correct value.
1431
+ if (isSSR) return {
1432
+ locale: 'en-US',
1433
+ direction: 'ltr'
1434
+ };
1435
+ return defaultLocale;
1436
+ }
1437
+
1438
+ /*
1439
+ * Copyright 2020 Adobe. All rights reserved.
1440
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1441
+ * you may not use this file except in compliance with the License. You may obtain a copy
1442
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
1443
+ *
1444
+ * Unless required by applicable law or agreed to in writing, software distributed under
1445
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1446
+ * OF ANY KIND, either express or implied. See the License for the specific language
1447
+ * governing permissions and limitations under the License.
1448
+ */
1449
+
1450
+
1451
+ const $18f2051aff69b9bf$var$I18nContext = /*#__PURE__*/ (React).createContext(null);
1452
+ function $18f2051aff69b9bf$export$43bb16f9c6d9e3f7() {
1453
+ let defaultLocale = ($1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a)();
1454
+ let context = (React.useContext)($18f2051aff69b9bf$var$I18nContext);
1455
+ return context || defaultLocale;
1456
+ }
1457
+
1458
+ /*
1459
+ * Copyright 2022 Adobe. All rights reserved.
1460
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1461
+ * you may not use this file except in compliance with the License. You may obtain a copy
1462
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
1463
+ *
1464
+ * Unless required by applicable law or agreed to in writing, software distributed under
1465
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1466
+ * OF ANY KIND, either express or implied. See the License for the specific language
1467
+ * governing permissions and limitations under the License.
1468
+ */ const $5b160d28a433310d$var$localeSymbol = Symbol.for('react-aria.i18n.locale');
1469
+ const $5b160d28a433310d$var$stringsSymbol = Symbol.for('react-aria.i18n.strings');
1470
+ let $5b160d28a433310d$var$cachedGlobalStrings = undefined;
1471
+ class $5b160d28a433310d$export$c17fa47878dc55b6 {
1472
+ /** Returns a localized string for the given key and locale. */ getStringForLocale(key, locale) {
1473
+ let strings = this.getStringsForLocale(locale);
1474
+ let string = strings[key];
1475
+ if (!string) throw new Error(`Could not find intl message ${key} in ${locale} locale`);
1476
+ return string;
1477
+ }
1478
+ /** Returns all localized strings for the given locale. */ getStringsForLocale(locale) {
1479
+ let strings = this.strings[locale];
1480
+ if (!strings) {
1481
+ strings = $5b160d28a433310d$var$getStringsForLocale(locale, this.strings, this.defaultLocale);
1482
+ this.strings[locale] = strings;
1483
+ }
1484
+ return strings;
1485
+ }
1486
+ static getGlobalDictionaryForPackage(packageName) {
1487
+ if (typeof window === 'undefined') return null;
1488
+ let locale = window[$5b160d28a433310d$var$localeSymbol];
1489
+ if ($5b160d28a433310d$var$cachedGlobalStrings === undefined) {
1490
+ let globalStrings = window[$5b160d28a433310d$var$stringsSymbol];
1491
+ if (!globalStrings) return null;
1492
+ $5b160d28a433310d$var$cachedGlobalStrings = {};
1493
+ for(let pkg in globalStrings)$5b160d28a433310d$var$cachedGlobalStrings[pkg] = new $5b160d28a433310d$export$c17fa47878dc55b6({
1494
+ [locale]: globalStrings[pkg]
1495
+ }, locale);
1496
+ }
1497
+ let dictionary = $5b160d28a433310d$var$cachedGlobalStrings === null || $5b160d28a433310d$var$cachedGlobalStrings === void 0 ? void 0 : $5b160d28a433310d$var$cachedGlobalStrings[packageName];
1498
+ if (!dictionary) throw new Error(`Strings for package "${packageName}" were not included by LocalizedStringProvider. Please add it to the list passed to createLocalizedStringDictionary.`);
1499
+ return dictionary;
1500
+ }
1501
+ constructor(messages, defaultLocale = 'en-US'){
1502
+ // Clone messages so we don't modify the original object.
1503
+ // Filter out entries with falsy values which may have been caused by applying optimize-locales-plugin.
1504
+ this.strings = Object.fromEntries(Object.entries(messages).filter(([, v])=>v));
1505
+ this.defaultLocale = defaultLocale;
1506
+ }
1507
+ }
1508
+ function $5b160d28a433310d$var$getStringsForLocale(locale, strings, defaultLocale = 'en-US') {
1509
+ // If there is an exact match, use it.
1510
+ if (strings[locale]) return strings[locale];
1511
+ // Attempt to find the closest match by language.
1512
+ // For example, if the locale is fr-CA (French Canadian), but there is only
1513
+ // an fr-FR (France) set of strings, use that.
1514
+ // This could be replaced with Intl.LocaleMatcher once it is supported.
1515
+ // https://github.com/tc39/proposal-intl-localematcher
1516
+ let language = $5b160d28a433310d$var$getLanguage(locale);
1517
+ if (strings[language]) return strings[language];
1518
+ for(let key in strings){
1519
+ if (key.startsWith(language + '-')) return strings[key];
1520
+ }
1521
+ // Nothing close, use english.
1522
+ return strings[defaultLocale];
1523
+ }
1524
+ function $5b160d28a433310d$var$getLanguage(locale) {
1525
+ // @ts-ignore
1526
+ if (Intl.Locale) // @ts-ignore
1527
+ return new Intl.Locale(locale).language;
1528
+ return locale.split('-')[0];
1529
+ }
1530
+
1531
+ /*
1532
+ * Copyright 2022 Adobe. All rights reserved.
1533
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1534
+ * you may not use this file except in compliance with the License. You may obtain a copy
1535
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
1536
+ *
1537
+ * Unless required by applicable law or agreed to in writing, software distributed under
1538
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1539
+ * OF ANY KIND, either express or implied. See the License for the specific language
1540
+ * governing permissions and limitations under the License.
1541
+ */ const $6db58dc88e78b024$var$pluralRulesCache = new Map();
1542
+ const $6db58dc88e78b024$var$numberFormatCache = new Map();
1543
+ class $6db58dc88e78b024$export$2f817fcdc4b89ae0 {
1544
+ /** Formats a localized string for the given key with the provided variables. */ format(key, variables) {
1545
+ let message = this.strings.getStringForLocale(key, this.locale);
1546
+ return typeof message === 'function' ? message(variables, this) : message;
1547
+ }
1548
+ plural(count, options, type = 'cardinal') {
1549
+ let opt = options['=' + count];
1550
+ if (opt) return typeof opt === 'function' ? opt() : opt;
1551
+ let key = this.locale + ':' + type;
1552
+ let pluralRules = $6db58dc88e78b024$var$pluralRulesCache.get(key);
1553
+ if (!pluralRules) {
1554
+ pluralRules = new Intl.PluralRules(this.locale, {
1555
+ type: type
1556
+ });
1557
+ $6db58dc88e78b024$var$pluralRulesCache.set(key, pluralRules);
1558
+ }
1559
+ let selected = pluralRules.select(count);
1560
+ opt = options[selected] || options.other;
1561
+ return typeof opt === 'function' ? opt() : opt;
1562
+ }
1563
+ number(value) {
1564
+ let numberFormat = $6db58dc88e78b024$var$numberFormatCache.get(this.locale);
1565
+ if (!numberFormat) {
1566
+ numberFormat = new Intl.NumberFormat(this.locale);
1567
+ $6db58dc88e78b024$var$numberFormatCache.set(this.locale, numberFormat);
1568
+ }
1569
+ return numberFormat.format(value);
1570
+ }
1571
+ select(options, value) {
1572
+ let opt = options[value] || options.other;
1573
+ return typeof opt === 'function' ? opt() : opt;
1574
+ }
1575
+ constructor(locale, strings){
1576
+ this.locale = locale;
1577
+ this.strings = strings;
1578
+ }
1579
+ }
1580
+
1581
+ /*
1582
+ * Copyright 2022 Adobe. All rights reserved.
1583
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1584
+ * you may not use this file except in compliance with the License. You may obtain a copy
1585
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
1586
+ *
1587
+ * Unless required by applicable law or agreed to in writing, software distributed under
1588
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1589
+ * OF ANY KIND, either express or implied. See the License for the specific language
1590
+ * governing permissions and limitations under the License.
1591
+ */
1592
+
1593
+
1594
+ const $fca6afa0e843324b$var$cache = new WeakMap();
1595
+ function $fca6afa0e843324b$var$getCachedDictionary(strings) {
1596
+ let dictionary = $fca6afa0e843324b$var$cache.get(strings);
1597
+ if (!dictionary) {
1598
+ dictionary = new ($5b160d28a433310d$export$c17fa47878dc55b6)(strings);
1599
+ $fca6afa0e843324b$var$cache.set(strings, dictionary);
1600
+ }
1601
+ return dictionary;
1602
+ }
1603
+ function $fca6afa0e843324b$export$87b761675e8eaa10(strings, packageName) {
1604
+ return packageName && ($5b160d28a433310d$export$c17fa47878dc55b6).getGlobalDictionaryForPackage(packageName) || $fca6afa0e843324b$var$getCachedDictionary(strings);
1605
+ }
1606
+ function $fca6afa0e843324b$export$f12b703ca79dfbb1(strings, packageName) {
1607
+ let { locale: locale } = ($18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
1608
+ let dictionary = $fca6afa0e843324b$export$87b761675e8eaa10(strings, packageName);
1609
+ return (React.useMemo)(()=>new ($6db58dc88e78b024$export$2f817fcdc4b89ae0)(locale, dictionary), [
1610
+ locale,
1611
+ dictionary
1612
+ ]);
1613
+ }
1614
+
156
1615
  /*
157
1616
  * Copyright 2020 Adobe. All rights reserved.
158
1617
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -466,108 +1925,574 @@ class $6c7bd7858deea686$var$NumberParserImpl {
466
1925
  else if (options.minimumFractionDigits == null) options.minimumFractionDigits = options.maximumFractionDigits;
467
1926
  // if both are specified, let the normal Range Error be thrown
468
1927
  }
469
- this.formatter = new Intl.NumberFormat(locale, options);
470
- this.options = this.formatter.resolvedOptions();
471
- this.symbols = $6c7bd7858deea686$var$getSymbols(locale, this.formatter, this.options, options);
472
- var _this_options_minimumFractionDigits, _this_options_maximumFractionDigits;
473
- 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.');
474
- }
475
- }
476
- const $6c7bd7858deea686$var$nonLiteralParts = new Set([
477
- 'decimal',
478
- 'fraction',
479
- 'integer',
480
- 'minusSign',
481
- 'plusSign',
482
- 'group'
483
- ]);
484
- // This list is derived from https://www.unicode.org/cldr/charts/43/supplemental/language_plural_rules.html#comparison and includes
485
- // all unique numbers which we need to check in order to determine all the plural forms for a given locale.
486
- // See: https://github.com/adobe/react-spectrum/pull/5134/files#r1337037855 for used script
487
- const $6c7bd7858deea686$var$pluralNumbers = [
488
- 0,
489
- 4,
490
- 2,
491
- 1,
492
- 11,
493
- 20,
494
- 3,
495
- 7,
496
- 100,
497
- 21,
498
- 0.1,
499
- 1.1
500
- ];
501
- function $6c7bd7858deea686$var$getSymbols(locale, formatter, intlOptions, originalOptions) {
502
- var _allParts_find, _posAllParts_find, _decimalParts_find, _allParts_find1;
503
- // formatter needs access to all decimal places in order to generate the correct literal strings for the plural set
504
- let symbolFormatter = new Intl.NumberFormat(locale, {
505
- ...intlOptions,
506
- // Resets so we get the full range of symbols
507
- minimumSignificantDigits: 1,
508
- maximumSignificantDigits: 21,
509
- roundingIncrement: 1,
510
- roundingPriority: 'auto',
511
- roundingMode: 'halfExpand'
512
- });
513
- // Note: some locale's don't add a group symbol until there is a ten thousands place
514
- let allParts = symbolFormatter.formatToParts(-10000.111);
515
- let posAllParts = symbolFormatter.formatToParts(10000.111);
516
- let pluralParts = $6c7bd7858deea686$var$pluralNumbers.map((n)=>symbolFormatter.formatToParts(n));
517
- var _allParts_find_value;
518
- 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 : '-';
519
- let plusSign = (_posAllParts_find = posAllParts.find((p)=>p.type === 'plusSign')) === null || _posAllParts_find === void 0 ? void 0 : _posAllParts_find.value;
520
- // Safari does not support the signDisplay option, but our number parser polyfills it.
521
- // If no plus sign was returned, but the original options contained signDisplay, default to the '+' character.
522
- if (!plusSign && ((originalOptions === null || originalOptions === void 0 ? void 0 : originalOptions.signDisplay) === 'exceptZero' || (originalOptions === null || originalOptions === void 0 ? void 0 : originalOptions.signDisplay) === 'always')) plusSign = '+';
523
- // If maximumSignificantDigits is 1 (the minimum) then we won't get decimal characters out of the above formatters
524
- // Percent also defaults to 0 fractionDigits, so we need to make a new one that isn't percent to get an accurate decimal
525
- let decimalParts = new Intl.NumberFormat(locale, {
526
- ...intlOptions,
527
- minimumFractionDigits: 2,
528
- maximumFractionDigits: 2
529
- }).formatToParts(0.001);
530
- let decimal = (_decimalParts_find = decimalParts.find((p)=>p.type === 'decimal')) === null || _decimalParts_find === void 0 ? void 0 : _decimalParts_find.value;
531
- let group = (_allParts_find1 = allParts.find((p)=>p.type === 'group')) === null || _allParts_find1 === void 0 ? void 0 : _allParts_find1.value;
532
- // this set is also for a regex, it's all literals that might be in the string we want to eventually parse that
533
- // don't contribute to the numerical value
534
- let allPartsLiterals = allParts.filter((p)=>!$6c7bd7858deea686$var$nonLiteralParts.has(p.type)).map((p)=>$6c7bd7858deea686$var$escapeRegex(p.value));
535
- let pluralPartsLiterals = pluralParts.flatMap((p)=>p.filter((p)=>!$6c7bd7858deea686$var$nonLiteralParts.has(p.type)).map((p)=>$6c7bd7858deea686$var$escapeRegex(p.value)));
536
- let sortedLiterals = [
537
- ...new Set([
538
- ...allPartsLiterals,
539
- ...pluralPartsLiterals
540
- ])
541
- ].sort((a, b)=>b.length - a.length);
542
- let literals = sortedLiterals.length === 0 ? new RegExp('[\\p{White_Space}]', 'gu') : new RegExp(`${sortedLiterals.join('|')}|[\\p{White_Space}]`, 'gu');
543
- // These are for replacing non-latn characters with the latn equivalent
544
- let numerals = [
545
- ...new Intl.NumberFormat(intlOptions.locale, {
546
- useGrouping: false
547
- }).format(9876543210)
548
- ].reverse();
549
- let indexes = new Map(numerals.map((d, i)=>[
550
- d,
551
- i
552
- ]));
553
- let numeral = new RegExp(`[${numerals.join('')}]`, 'g');
554
- let index = (d)=>String(indexes.get(d));
1928
+ this.formatter = new Intl.NumberFormat(locale, options);
1929
+ this.options = this.formatter.resolvedOptions();
1930
+ this.symbols = $6c7bd7858deea686$var$getSymbols(locale, this.formatter, this.options, options);
1931
+ var _this_options_minimumFractionDigits, _this_options_maximumFractionDigits;
1932
+ 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.');
1933
+ }
1934
+ }
1935
+ const $6c7bd7858deea686$var$nonLiteralParts = new Set([
1936
+ 'decimal',
1937
+ 'fraction',
1938
+ 'integer',
1939
+ 'minusSign',
1940
+ 'plusSign',
1941
+ 'group'
1942
+ ]);
1943
+ // This list is derived from https://www.unicode.org/cldr/charts/43/supplemental/language_plural_rules.html#comparison and includes
1944
+ // all unique numbers which we need to check in order to determine all the plural forms for a given locale.
1945
+ // See: https://github.com/adobe/react-spectrum/pull/5134/files#r1337037855 for used script
1946
+ const $6c7bd7858deea686$var$pluralNumbers = [
1947
+ 0,
1948
+ 4,
1949
+ 2,
1950
+ 1,
1951
+ 11,
1952
+ 20,
1953
+ 3,
1954
+ 7,
1955
+ 100,
1956
+ 21,
1957
+ 0.1,
1958
+ 1.1
1959
+ ];
1960
+ function $6c7bd7858deea686$var$getSymbols(locale, formatter, intlOptions, originalOptions) {
1961
+ var _allParts_find, _posAllParts_find, _decimalParts_find, _allParts_find1;
1962
+ // formatter needs access to all decimal places in order to generate the correct literal strings for the plural set
1963
+ let symbolFormatter = new Intl.NumberFormat(locale, {
1964
+ ...intlOptions,
1965
+ // Resets so we get the full range of symbols
1966
+ minimumSignificantDigits: 1,
1967
+ maximumSignificantDigits: 21,
1968
+ roundingIncrement: 1,
1969
+ roundingPriority: 'auto',
1970
+ roundingMode: 'halfExpand'
1971
+ });
1972
+ // Note: some locale's don't add a group symbol until there is a ten thousands place
1973
+ let allParts = symbolFormatter.formatToParts(-10000.111);
1974
+ let posAllParts = symbolFormatter.formatToParts(10000.111);
1975
+ let pluralParts = $6c7bd7858deea686$var$pluralNumbers.map((n)=>symbolFormatter.formatToParts(n));
1976
+ var _allParts_find_value;
1977
+ 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 : '-';
1978
+ let plusSign = (_posAllParts_find = posAllParts.find((p)=>p.type === 'plusSign')) === null || _posAllParts_find === void 0 ? void 0 : _posAllParts_find.value;
1979
+ // Safari does not support the signDisplay option, but our number parser polyfills it.
1980
+ // If no plus sign was returned, but the original options contained signDisplay, default to the '+' character.
1981
+ if (!plusSign && ((originalOptions === null || originalOptions === void 0 ? void 0 : originalOptions.signDisplay) === 'exceptZero' || (originalOptions === null || originalOptions === void 0 ? void 0 : originalOptions.signDisplay) === 'always')) plusSign = '+';
1982
+ // If maximumSignificantDigits is 1 (the minimum) then we won't get decimal characters out of the above formatters
1983
+ // Percent also defaults to 0 fractionDigits, so we need to make a new one that isn't percent to get an accurate decimal
1984
+ let decimalParts = new Intl.NumberFormat(locale, {
1985
+ ...intlOptions,
1986
+ minimumFractionDigits: 2,
1987
+ maximumFractionDigits: 2
1988
+ }).formatToParts(0.001);
1989
+ let decimal = (_decimalParts_find = decimalParts.find((p)=>p.type === 'decimal')) === null || _decimalParts_find === void 0 ? void 0 : _decimalParts_find.value;
1990
+ let group = (_allParts_find1 = allParts.find((p)=>p.type === 'group')) === null || _allParts_find1 === void 0 ? void 0 : _allParts_find1.value;
1991
+ // this set is also for a regex, it's all literals that might be in the string we want to eventually parse that
1992
+ // don't contribute to the numerical value
1993
+ let allPartsLiterals = allParts.filter((p)=>!$6c7bd7858deea686$var$nonLiteralParts.has(p.type)).map((p)=>$6c7bd7858deea686$var$escapeRegex(p.value));
1994
+ let pluralPartsLiterals = pluralParts.flatMap((p)=>p.filter((p)=>!$6c7bd7858deea686$var$nonLiteralParts.has(p.type)).map((p)=>$6c7bd7858deea686$var$escapeRegex(p.value)));
1995
+ let sortedLiterals = [
1996
+ ...new Set([
1997
+ ...allPartsLiterals,
1998
+ ...pluralPartsLiterals
1999
+ ])
2000
+ ].sort((a, b)=>b.length - a.length);
2001
+ let literals = sortedLiterals.length === 0 ? new RegExp('[\\p{White_Space}]', 'gu') : new RegExp(`${sortedLiterals.join('|')}|[\\p{White_Space}]`, 'gu');
2002
+ // These are for replacing non-latn characters with the latn equivalent
2003
+ let numerals = [
2004
+ ...new Intl.NumberFormat(intlOptions.locale, {
2005
+ useGrouping: false
2006
+ }).format(9876543210)
2007
+ ].reverse();
2008
+ let indexes = new Map(numerals.map((d, i)=>[
2009
+ d,
2010
+ i
2011
+ ]));
2012
+ let numeral = new RegExp(`[${numerals.join('')}]`, 'g');
2013
+ let index = (d)=>String(indexes.get(d));
2014
+ return {
2015
+ minusSign: minusSign,
2016
+ plusSign: plusSign,
2017
+ decimal: decimal,
2018
+ group: group,
2019
+ literals: literals,
2020
+ numeral: numeral,
2021
+ index: index
2022
+ };
2023
+ }
2024
+ function $6c7bd7858deea686$var$replaceAll(str, find, replace) {
2025
+ if (str.replaceAll) return str.replaceAll(find, replace);
2026
+ return str.split(find).join(replace);
2027
+ }
2028
+ function $6c7bd7858deea686$var$escapeRegex(string) {
2029
+ return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
2030
+ }
2031
+
2032
+ /*
2033
+ * Copyright 2020 Adobe. All rights reserved.
2034
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
2035
+ * you may not use this file except in compliance with the License. You may obtain a copy
2036
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
2037
+ *
2038
+ * Unless required by applicable law or agreed to in writing, software distributed under
2039
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
2040
+ * OF ANY KIND, either express or implied. See the License for the specific language
2041
+ * governing permissions and limitations under the License.
2042
+ */
2043
+
2044
+
2045
+ function $a916eb452884faea$export$b7a616150fdb9f44(options = {}) {
2046
+ let { locale: locale } = ($18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
2047
+ return (React.useMemo)(()=>new ($488c6ddbf4ef74c2$export$cc77c4ff7e8673c5)(locale, options), [
2048
+ locale,
2049
+ options
2050
+ ]);
2051
+ }
2052
+
2053
+ /*
2054
+ * Copyright 2020 Adobe. All rights reserved.
2055
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
2056
+ * you may not use this file except in compliance with the License. You may obtain a copy
2057
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
2058
+ *
2059
+ * Unless required by applicable law or agreed to in writing, software distributed under
2060
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
2061
+ * OF ANY KIND, either express or implied. See the License for the specific language
2062
+ * governing permissions and limitations under the License.
2063
+ */
2064
+
2065
+ function $8a9cb279dc87e130$export$525bc4921d56d4a(nativeEvent) {
2066
+ let event = nativeEvent;
2067
+ event.nativeEvent = nativeEvent;
2068
+ event.isDefaultPrevented = ()=>event.defaultPrevented;
2069
+ // cancelBubble is technically deprecated in the spec, but still supported in all browsers.
2070
+ event.isPropagationStopped = ()=>event.cancelBubble;
2071
+ event.persist = ()=>{};
2072
+ return event;
2073
+ }
2074
+ function $8a9cb279dc87e130$export$c2b7abe5d61ec696(event, target) {
2075
+ Object.defineProperty(event, 'target', {
2076
+ value: target
2077
+ });
2078
+ Object.defineProperty(event, 'currentTarget', {
2079
+ value: target
2080
+ });
2081
+ }
2082
+ function $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {
2083
+ let stateRef = (React.useRef)({
2084
+ isFocused: false,
2085
+ observer: null
2086
+ });
2087
+ // Clean up MutationObserver on unmount. See below.
2088
+ ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
2089
+ const state = stateRef.current;
2090
+ return ()=>{
2091
+ if (state.observer) {
2092
+ state.observer.disconnect();
2093
+ state.observer = null;
2094
+ }
2095
+ };
2096
+ }, []);
2097
+ let dispatchBlur = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)((e)=>{
2098
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
2099
+ });
2100
+ // This function is called during a React onFocus event.
2101
+ return (React.useCallback)((e)=>{
2102
+ // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142
2103
+ // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a
2104
+ // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.
2105
+ // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.
2106
+ if (e.target instanceof HTMLButtonElement || e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement) {
2107
+ stateRef.current.isFocused = true;
2108
+ let target = e.target;
2109
+ let onBlurHandler = (e)=>{
2110
+ stateRef.current.isFocused = false;
2111
+ if (target.disabled) {
2112
+ // For backward compatibility, dispatch a (fake) React synthetic event.
2113
+ let event = $8a9cb279dc87e130$export$525bc4921d56d4a(e);
2114
+ dispatchBlur(event);
2115
+ }
2116
+ // We no longer need the MutationObserver once the target is blurred.
2117
+ if (stateRef.current.observer) {
2118
+ stateRef.current.observer.disconnect();
2119
+ stateRef.current.observer = null;
2120
+ }
2121
+ };
2122
+ target.addEventListener('focusout', onBlurHandler, {
2123
+ once: true
2124
+ });
2125
+ stateRef.current.observer = new MutationObserver(()=>{
2126
+ if (stateRef.current.isFocused && target.disabled) {
2127
+ var _stateRef_current_observer;
2128
+ (_stateRef_current_observer = stateRef.current.observer) === null || _stateRef_current_observer === void 0 ? void 0 : _stateRef_current_observer.disconnect();
2129
+ let relatedTargetEl = target === document.activeElement ? null : document.activeElement;
2130
+ target.dispatchEvent(new FocusEvent('blur', {
2131
+ relatedTarget: relatedTargetEl
2132
+ }));
2133
+ target.dispatchEvent(new FocusEvent('focusout', {
2134
+ bubbles: true,
2135
+ relatedTarget: relatedTargetEl
2136
+ }));
2137
+ }
2138
+ });
2139
+ stateRef.current.observer.observe(target, {
2140
+ attributes: true,
2141
+ attributeFilter: [
2142
+ 'disabled'
2143
+ ]
2144
+ });
2145
+ }
2146
+ }, [
2147
+ dispatchBlur
2148
+ ]);
2149
+ }
2150
+ let $8a9cb279dc87e130$export$fda7da73ab5d4c48 = false;
2151
+
2152
+ /*
2153
+ * Copyright 2020 Adobe. All rights reserved.
2154
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
2155
+ * you may not use this file except in compliance with the License. You may obtain a copy
2156
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
2157
+ *
2158
+ * Unless required by applicable law or agreed to in writing, software distributed under
2159
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
2160
+ * OF ANY KIND, either express or implied. See the License for the specific language
2161
+ * governing permissions and limitations under the License.
2162
+ */ // Portions of the code in this file are based on code from react.
2163
+ // Original licensing for the following can be found in the
2164
+ // NOTICE file in the root directory of this source tree.
2165
+ // See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions
2166
+
2167
+
2168
+
2169
+
2170
+ let $507fabe10e71c6fb$var$currentModality = null;
2171
+ let $507fabe10e71c6fb$var$changeHandlers = new Set();
2172
+ let $507fabe10e71c6fb$export$d90243b58daecda7 = new Map(); // We use a map here to support setting event listeners across multiple document objects.
2173
+ let $507fabe10e71c6fb$var$hasEventBeforeFocus = false;
2174
+ let $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;
2175
+ // Only Tab or Esc keys will make focus visible on text input elements
2176
+ const $507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS = {
2177
+ Tab: true,
2178
+ Escape: true
2179
+ };
2180
+ function $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {
2181
+ for (let handler of $507fabe10e71c6fb$var$changeHandlers)handler(modality, e);
2182
+ }
2183
+ /**
2184
+ * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.
2185
+ */ function $507fabe10e71c6fb$var$isValidKey(e) {
2186
+ // Control and Shift keys trigger when navigating back to the tab with keyboard.
2187
+ return !(e.metaKey || !($c87311424ea30a05$export$9ac100e40613ea10)() && e.altKey || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');
2188
+ }
2189
+ function $507fabe10e71c6fb$var$handleKeyboardEvent(e) {
2190
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = true;
2191
+ if ($507fabe10e71c6fb$var$isValidKey(e)) {
2192
+ $507fabe10e71c6fb$var$currentModality = 'keyboard';
2193
+ $507fabe10e71c6fb$var$triggerChangeHandlers('keyboard', e);
2194
+ }
2195
+ }
2196
+ function $507fabe10e71c6fb$var$handlePointerEvent(e) {
2197
+ $507fabe10e71c6fb$var$currentModality = 'pointer';
2198
+ if (e.type === 'mousedown' || e.type === 'pointerdown') {
2199
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = true;
2200
+ $507fabe10e71c6fb$var$triggerChangeHandlers('pointer', e);
2201
+ }
2202
+ }
2203
+ function $507fabe10e71c6fb$var$handleClickEvent(e) {
2204
+ if (($6a7db85432448f7f$export$60278871457622de)(e)) {
2205
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = true;
2206
+ $507fabe10e71c6fb$var$currentModality = 'virtual';
2207
+ }
2208
+ }
2209
+ function $507fabe10e71c6fb$var$handleFocusEvent(e) {
2210
+ // Firefox fires two extra focus events when the user first clicks into an iframe:
2211
+ // first on the window, then on the document. We ignore these events so they don't
2212
+ // cause keyboard focus rings to appear.
2213
+ if (e.target === window || e.target === document || ($8a9cb279dc87e130$export$fda7da73ab5d4c48) || !e.isTrusted) return;
2214
+ // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.
2215
+ // This occurs, for example, when navigating a form with the next/previous buttons on iOS.
2216
+ if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {
2217
+ $507fabe10e71c6fb$var$currentModality = 'virtual';
2218
+ $507fabe10e71c6fb$var$triggerChangeHandlers('virtual', e);
2219
+ }
2220
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = false;
2221
+ $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;
2222
+ }
2223
+ function $507fabe10e71c6fb$var$handleWindowBlur() {
2224
+ // When the window is blurred, reset state. This is necessary when tabbing out of the window,
2225
+ // for example, since a subsequent focus event won't be fired.
2226
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = false;
2227
+ $507fabe10e71c6fb$var$hasBlurredWindowRecently = true;
2228
+ }
2229
+ /**
2230
+ * Setup global event listeners to control when keyboard focus style should be visible.
2231
+ */ function $507fabe10e71c6fb$var$setupGlobalFocusEvents(element) {
2232
+ if (typeof window === 'undefined' || typeof document === 'undefined' || $507fabe10e71c6fb$export$d90243b58daecda7.get(($431fbd86ca7dc216$export$f21a1ffae260145a)(element))) return;
2233
+ const windowObject = ($431fbd86ca7dc216$export$f21a1ffae260145a)(element);
2234
+ const documentObject = ($431fbd86ca7dc216$export$b204af158042fbac)(element);
2235
+ // Programmatic focus() calls shouldn't affect the current input modality.
2236
+ // However, we need to detect other cases when a focus event occurs without
2237
+ // a preceding user event (e.g. screen reader focus). Overriding the focus
2238
+ // method on HTMLElement.prototype is a bit hacky, but works.
2239
+ let focus = windowObject.HTMLElement.prototype.focus;
2240
+ windowObject.HTMLElement.prototype.focus = function() {
2241
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = true;
2242
+ focus.apply(this, arguments);
2243
+ };
2244
+ documentObject.addEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);
2245
+ documentObject.addEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);
2246
+ documentObject.addEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);
2247
+ // Register focus events on the window so they are sure to happen
2248
+ // before React's event listeners (registered on the document).
2249
+ windowObject.addEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);
2250
+ windowObject.addEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);
2251
+ if (typeof PointerEvent !== 'undefined') {
2252
+ documentObject.addEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);
2253
+ documentObject.addEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);
2254
+ documentObject.addEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);
2255
+ } else if (process.env.NODE_ENV === 'test') {
2256
+ documentObject.addEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);
2257
+ documentObject.addEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);
2258
+ documentObject.addEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);
2259
+ }
2260
+ // Add unmount handler
2261
+ windowObject.addEventListener('beforeunload', ()=>{
2262
+ $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element);
2263
+ }, {
2264
+ once: true
2265
+ });
2266
+ $507fabe10e71c6fb$export$d90243b58daecda7.set(windowObject, {
2267
+ focus: focus
2268
+ });
2269
+ }
2270
+ const $507fabe10e71c6fb$var$tearDownWindowFocusTracking = (element, loadListener)=>{
2271
+ const windowObject = ($431fbd86ca7dc216$export$f21a1ffae260145a)(element);
2272
+ const documentObject = ($431fbd86ca7dc216$export$b204af158042fbac)(element);
2273
+ if (loadListener) documentObject.removeEventListener('DOMContentLoaded', loadListener);
2274
+ if (!$507fabe10e71c6fb$export$d90243b58daecda7.has(windowObject)) return;
2275
+ windowObject.HTMLElement.prototype.focus = $507fabe10e71c6fb$export$d90243b58daecda7.get(windowObject).focus;
2276
+ documentObject.removeEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);
2277
+ documentObject.removeEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);
2278
+ documentObject.removeEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);
2279
+ windowObject.removeEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);
2280
+ windowObject.removeEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);
2281
+ if (typeof PointerEvent !== 'undefined') {
2282
+ documentObject.removeEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);
2283
+ documentObject.removeEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);
2284
+ documentObject.removeEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);
2285
+ } else if (process.env.NODE_ENV === 'test') {
2286
+ documentObject.removeEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);
2287
+ documentObject.removeEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);
2288
+ documentObject.removeEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);
2289
+ }
2290
+ $507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);
2291
+ };
2292
+ function $507fabe10e71c6fb$export$2f1888112f558a7d(element) {
2293
+ const documentObject = ($431fbd86ca7dc216$export$b204af158042fbac)(element);
2294
+ let loadListener;
2295
+ if (documentObject.readyState !== 'loading') $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);
2296
+ else {
2297
+ loadListener = ()=>{
2298
+ $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);
2299
+ };
2300
+ documentObject.addEventListener('DOMContentLoaded', loadListener);
2301
+ }
2302
+ return ()=>$507fabe10e71c6fb$var$tearDownWindowFocusTracking(element, loadListener);
2303
+ }
2304
+ // Server-side rendering does not have the document object defined
2305
+ // eslint-disable-next-line no-restricted-globals
2306
+ if (typeof document !== 'undefined') $507fabe10e71c6fb$export$2f1888112f558a7d();
2307
+ function $507fabe10e71c6fb$export$b9b3dfddab17db27() {
2308
+ return $507fabe10e71c6fb$var$currentModality !== 'pointer';
2309
+ }
2310
+ function $507fabe10e71c6fb$export$630ff653c5ada6a9() {
2311
+ return $507fabe10e71c6fb$var$currentModality;
2312
+ }
2313
+ function $507fabe10e71c6fb$export$8397ddfc504fdb9a(modality) {
2314
+ $507fabe10e71c6fb$var$currentModality = modality;
2315
+ $507fabe10e71c6fb$var$triggerChangeHandlers(modality, null);
2316
+ }
2317
+ const $507fabe10e71c6fb$var$nonTextInputTypes = new Set([
2318
+ 'checkbox',
2319
+ 'radio',
2320
+ 'range',
2321
+ 'color',
2322
+ 'file',
2323
+ 'image',
2324
+ 'button',
2325
+ 'submit',
2326
+ 'reset'
2327
+ ]);
2328
+ /**
2329
+ * If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that
2330
+ * focus visible style can be properly set.
2331
+ */ function $507fabe10e71c6fb$var$isKeyboardFocusEvent(isTextInput, modality, e) {
2332
+ let document1 = ($431fbd86ca7dc216$export$b204af158042fbac)(e === null || e === void 0 ? void 0 : e.target);
2333
+ const IHTMLInputElement = typeof window !== 'undefined' ? ($431fbd86ca7dc216$export$f21a1ffae260145a)(e === null || e === void 0 ? void 0 : e.target).HTMLInputElement : HTMLInputElement;
2334
+ const IHTMLTextAreaElement = typeof window !== 'undefined' ? ($431fbd86ca7dc216$export$f21a1ffae260145a)(e === null || e === void 0 ? void 0 : e.target).HTMLTextAreaElement : HTMLTextAreaElement;
2335
+ const IHTMLElement = typeof window !== 'undefined' ? ($431fbd86ca7dc216$export$f21a1ffae260145a)(e === null || e === void 0 ? void 0 : e.target).HTMLElement : HTMLElement;
2336
+ const IKeyboardEvent = typeof window !== 'undefined' ? ($431fbd86ca7dc216$export$f21a1ffae260145a)(e === null || e === void 0 ? void 0 : e.target).KeyboardEvent : KeyboardEvent;
2337
+ // For keyboard events that occur on a non-input element that will move focus into input element (aka ArrowLeft going from Datepicker button to the main input group)
2338
+ // we need to rely on the user passing isTextInput into here. This way we can skip toggling focus visiblity for said input element
2339
+ isTextInput = isTextInput || document1.activeElement instanceof IHTMLInputElement && !$507fabe10e71c6fb$var$nonTextInputTypes.has(document1.activeElement.type) || document1.activeElement instanceof IHTMLTextAreaElement || document1.activeElement instanceof IHTMLElement && document1.activeElement.isContentEditable;
2340
+ return !(isTextInput && modality === 'keyboard' && e instanceof IKeyboardEvent && !$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);
2341
+ }
2342
+ function $507fabe10e71c6fb$export$ec71b4b83ac08ec3(fn, deps, opts) {
2343
+ $507fabe10e71c6fb$var$setupGlobalFocusEvents();
2344
+ (React.useEffect)(()=>{
2345
+ let handler = (modality, e)=>{
2346
+ // We want to early return for any keyboard events that occur inside text inputs EXCEPT for Tab and Escape
2347
+ if (!$507fabe10e71c6fb$var$isKeyboardFocusEvent(!!(opts === null || opts === void 0 ? void 0 : opts.isTextInput), modality, e)) return;
2348
+ fn($507fabe10e71c6fb$export$b9b3dfddab17db27());
2349
+ };
2350
+ $507fabe10e71c6fb$var$changeHandlers.add(handler);
2351
+ return ()=>{
2352
+ $507fabe10e71c6fb$var$changeHandlers.delete(handler);
2353
+ };
2354
+ // eslint-disable-next-line react-hooks/exhaustive-deps
2355
+ }, deps);
2356
+ }
2357
+
2358
+ /*
2359
+ * Copyright 2020 Adobe. All rights reserved.
2360
+ * This file is licensed to you under the Apache License, Version 2.0 (the 'License');
2361
+ * you may not use this file except in compliance with the License. You may obtain a copy
2362
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
2363
+ *
2364
+ * Unless required by applicable law or agreed to in writing, software distributed under
2365
+ * the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
2366
+ * OF ANY KIND, either express or implied. See the License for the specific language
2367
+ * governing permissions and limitations under the License.
2368
+ */
2369
+
2370
+ function $3ad3f6e1647bc98d$export$80f3e147d781571c(element) {
2371
+ // If the user is interacting with a virtual cursor, e.g. screen reader, then
2372
+ // wait until after any animated transitions that are currently occurring on
2373
+ // the page before shifting focus. This avoids issues with VoiceOver on iOS
2374
+ // causing the page to scroll when moving focus if the element is transitioning
2375
+ // from off the screen.
2376
+ const ownerDocument = ($431fbd86ca7dc216$export$b204af158042fbac)(element);
2377
+ const activeElement = ($d4ee10de306f2510$export$cd4e5573fbe2b576)(ownerDocument);
2378
+ if (($507fabe10e71c6fb$export$630ff653c5ada6a9)() === 'virtual') {
2379
+ let lastFocusedElement = activeElement;
2380
+ ($bbed8b41f857bcc0$export$24490316f764c430)(()=>{
2381
+ // If focus did not move and the element is still in the document, focus it.
2382
+ if (($d4ee10de306f2510$export$cd4e5573fbe2b576)(ownerDocument) === lastFocusedElement && element.isConnected) ($7215afc6de606d6b$export$de79e2c695e052f3)(element);
2383
+ });
2384
+ } else ($7215afc6de606d6b$export$de79e2c695e052f3)(element);
2385
+ }
2386
+
2387
+ /*
2388
+ * Copyright 2020 Adobe. All rights reserved.
2389
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
2390
+ * you may not use this file except in compliance with the License. You may obtain a copy
2391
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
2392
+ *
2393
+ * Unless required by applicable law or agreed to in writing, software distributed under
2394
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
2395
+ * OF ANY KIND, either express or implied. See the License for the specific language
2396
+ * governing permissions and limitations under the License.
2397
+ */ // Portions of the code in this file are based on code from react.
2398
+ // Original licensing for the following can be found in the
2399
+ // NOTICE file in the root directory of this source tree.
2400
+ // See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions
2401
+
2402
+
2403
+
2404
+ function $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {
2405
+ let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;
2406
+ const onBlur = (React.useCallback)((e)=>{
2407
+ if (e.target === e.currentTarget) {
2408
+ if (onBlurProp) onBlurProp(e);
2409
+ if (onFocusChange) onFocusChange(false);
2410
+ return true;
2411
+ }
2412
+ }, [
2413
+ onBlurProp,
2414
+ onFocusChange
2415
+ ]);
2416
+ const onSyntheticFocus = ($8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);
2417
+ const onFocus = (React.useCallback)((e)=>{
2418
+ // Double check that document.activeElement actually matches e.target in case a previously chained
2419
+ // focus handler already moved focus somewhere else.
2420
+ const ownerDocument = ($431fbd86ca7dc216$export$b204af158042fbac)(e.target);
2421
+ const activeElement = ownerDocument ? ($d4ee10de306f2510$export$cd4e5573fbe2b576)(ownerDocument) : ($d4ee10de306f2510$export$cd4e5573fbe2b576)();
2422
+ if (e.target === e.currentTarget && activeElement === ($d4ee10de306f2510$export$e58f029f0fbfdb29)(e.nativeEvent)) {
2423
+ if (onFocusProp) onFocusProp(e);
2424
+ if (onFocusChange) onFocusChange(true);
2425
+ onSyntheticFocus(e);
2426
+ }
2427
+ }, [
2428
+ onFocusChange,
2429
+ onFocusProp,
2430
+ onSyntheticFocus
2431
+ ]);
555
2432
  return {
556
- minusSign: minusSign,
557
- plusSign: plusSign,
558
- decimal: decimal,
559
- group: group,
560
- literals: literals,
561
- numeral: numeral,
562
- index: index
2433
+ focusProps: {
2434
+ onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,
2435
+ onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined
2436
+ }
563
2437
  };
564
2438
  }
565
- function $6c7bd7858deea686$var$replaceAll(str, find, replace) {
566
- if (str.replaceAll) return str.replaceAll(find, replace);
567
- return str.split(find).join(replace);
2439
+
2440
+ /*
2441
+ * Copyright 2020 Adobe. All rights reserved.
2442
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
2443
+ * you may not use this file except in compliance with the License. You may obtain a copy
2444
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
2445
+ *
2446
+ * Unless required by applicable law or agreed to in writing, software distributed under
2447
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
2448
+ * OF ANY KIND, either express or implied. See the License for the specific language
2449
+ * governing permissions and limitations under the License.
2450
+ */ function $93925083ecbb358c$export$48d1ea6320830260(handler) {
2451
+ if (!handler) return undefined;
2452
+ let shouldStopPropagation = true;
2453
+ return (e)=>{
2454
+ let event = {
2455
+ ...e,
2456
+ preventDefault () {
2457
+ e.preventDefault();
2458
+ },
2459
+ isDefaultPrevented () {
2460
+ return e.isDefaultPrevented();
2461
+ },
2462
+ stopPropagation () {
2463
+ if (shouldStopPropagation && process.env.NODE_ENV !== 'production') console.error('stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior.');
2464
+ else shouldStopPropagation = true;
2465
+ },
2466
+ continuePropagation () {
2467
+ shouldStopPropagation = false;
2468
+ },
2469
+ isPropagationStopped () {
2470
+ return shouldStopPropagation;
2471
+ }
2472
+ };
2473
+ handler(event);
2474
+ if (shouldStopPropagation) e.stopPropagation();
2475
+ };
568
2476
  }
569
- function $6c7bd7858deea686$var$escapeRegex(string) {
570
- return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
2477
+
2478
+ /*
2479
+ * Copyright 2020 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
+ function $46d819fcbaf35654$export$8f71654801c2f7cd(props) {
2490
+ return {
2491
+ keyboardProps: props.isDisabled ? {} : {
2492
+ onKeyDown: ($93925083ecbb358c$export$48d1ea6320830260)(props.onKeyDown),
2493
+ onKeyUp: ($93925083ecbb358c$export$48d1ea6320830260)(props.onKeyUp)
2494
+ }
2495
+ };
571
2496
  }
572
2497
 
573
2498
  /*
@@ -583,12 +2508,279 @@ function $6c7bd7858deea686$var$escapeRegex(string) {
583
2508
  */
584
2509
 
585
2510
 
586
- function $a916eb452884faea$export$b7a616150fdb9f44(options = {}) {
587
- let { locale: locale } = (Text.$18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
588
- return (React.useMemo)(()=>new ($488c6ddbf4ef74c2$export$cc77c4ff7e8673c5)(locale, options), [
589
- locale,
590
- options
2511
+
2512
+
2513
+ let $f645667febf57a63$export$f9762fab77588ecb = /*#__PURE__*/ (React).createContext(null);
2514
+ function $f645667febf57a63$var$useFocusableContext(ref) {
2515
+ let context = (React.useContext)($f645667febf57a63$export$f9762fab77588ecb) || {};
2516
+ ($e7801be82b4b2a53$export$4debdb1a3f0fa79e)(context, ref);
2517
+ // eslint-disable-next-line
2518
+ let { ref: _, ...otherProps } = context;
2519
+ return otherProps;
2520
+ }
2521
+ function $f645667febf57a63$export$4c014de7c8940b4c(props, domRef) {
2522
+ let { focusProps: focusProps } = ($a1ea59d68270f0dd$export$f8168d8dd8fd66e6)(props);
2523
+ let { keyboardProps: keyboardProps } = ($46d819fcbaf35654$export$8f71654801c2f7cd)(props);
2524
+ let interactions = ($3ef42575df84b30b$export$9d1611c77c2fe928)(focusProps, keyboardProps);
2525
+ let domProps = $f645667febf57a63$var$useFocusableContext(domRef);
2526
+ let interactionProps = props.isDisabled ? {} : domProps;
2527
+ let autoFocusRef = (React.useRef)(props.autoFocus);
2528
+ (React.useEffect)(()=>{
2529
+ if (autoFocusRef.current && domRef.current) ($3ad3f6e1647bc98d$export$80f3e147d781571c)(domRef.current);
2530
+ autoFocusRef.current = false;
2531
+ }, [
2532
+ domRef
2533
+ ]);
2534
+ // Always set a tabIndex so that Safari allows focusing native buttons and inputs.
2535
+ let tabIndex = props.excludeFromTabOrder ? -1 : 0;
2536
+ if (props.isDisabled) tabIndex = undefined;
2537
+ return {
2538
+ focusableProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)({
2539
+ ...interactions,
2540
+ tabIndex: tabIndex
2541
+ }, interactionProps)
2542
+ };
2543
+ }
2544
+
2545
+ /*
2546
+ * Copyright 2020 Adobe. All rights reserved.
2547
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
2548
+ * you may not use this file except in compliance with the License. You may obtain a copy
2549
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
2550
+ *
2551
+ * Unless required by applicable law or agreed to in writing, software distributed under
2552
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
2553
+ * OF ANY KIND, either express or implied. See the License for the specific language
2554
+ * governing permissions and limitations under the License.
2555
+ */ // Portions of the code in this file are based on code from react.
2556
+ // Original licensing for the following can be found in the
2557
+ // NOTICE file in the root directory of this source tree.
2558
+ // See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions
2559
+
2560
+
2561
+
2562
+ function $9ab94262bd0047c7$export$420e68273165f4ec(props) {
2563
+ let { isDisabled: isDisabled, onBlurWithin: onBlurWithin, onFocusWithin: onFocusWithin, onFocusWithinChange: onFocusWithinChange } = props;
2564
+ let state = (React.useRef)({
2565
+ isFocusWithin: false
2566
+ });
2567
+ let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = ($03deb23ff14920c4$export$4eaf04e54aa8eed6)();
2568
+ let onBlur = (React.useCallback)((e)=>{
2569
+ // Ignore events bubbling through portals.
2570
+ if (!e.currentTarget.contains(e.target)) return;
2571
+ // We don't want to trigger onBlurWithin and then immediately onFocusWithin again
2572
+ // when moving focus inside the element. Only trigger if the currentTarget doesn't
2573
+ // include the relatedTarget (where focus is moving).
2574
+ if (state.current.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {
2575
+ state.current.isFocusWithin = false;
2576
+ removeAllGlobalListeners();
2577
+ if (onBlurWithin) onBlurWithin(e);
2578
+ if (onFocusWithinChange) onFocusWithinChange(false);
2579
+ }
2580
+ }, [
2581
+ onBlurWithin,
2582
+ onFocusWithinChange,
2583
+ state,
2584
+ removeAllGlobalListeners
2585
+ ]);
2586
+ let onSyntheticFocus = ($8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);
2587
+ let onFocus = (React.useCallback)((e)=>{
2588
+ // Ignore events bubbling through portals.
2589
+ if (!e.currentTarget.contains(e.target)) return;
2590
+ // Double check that document.activeElement actually matches e.target in case a previously chained
2591
+ // focus handler already moved focus somewhere else.
2592
+ const ownerDocument = ($431fbd86ca7dc216$export$b204af158042fbac)(e.target);
2593
+ const activeElement = ($d4ee10de306f2510$export$cd4e5573fbe2b576)(ownerDocument);
2594
+ if (!state.current.isFocusWithin && activeElement === ($d4ee10de306f2510$export$e58f029f0fbfdb29)(e.nativeEvent)) {
2595
+ if (onFocusWithin) onFocusWithin(e);
2596
+ if (onFocusWithinChange) onFocusWithinChange(true);
2597
+ state.current.isFocusWithin = true;
2598
+ onSyntheticFocus(e);
2599
+ // Browsers don't fire blur events when elements are removed from the DOM.
2600
+ // However, if a focus event occurs outside the element we're tracking, we
2601
+ // can manually fire onBlur.
2602
+ let currentTarget = e.currentTarget;
2603
+ addGlobalListener(ownerDocument, 'focus', (e)=>{
2604
+ if (state.current.isFocusWithin && !($d4ee10de306f2510$export$4282f70798064fe0)(currentTarget, e.target)) {
2605
+ let nativeEvent = new ownerDocument.defaultView.FocusEvent('blur', {
2606
+ relatedTarget: e.target
2607
+ });
2608
+ ($8a9cb279dc87e130$export$c2b7abe5d61ec696)(nativeEvent, currentTarget);
2609
+ let event = ($8a9cb279dc87e130$export$525bc4921d56d4a)(nativeEvent);
2610
+ onBlur(event);
2611
+ }
2612
+ }, {
2613
+ capture: true
2614
+ });
2615
+ }
2616
+ }, [
2617
+ onFocusWithin,
2618
+ onFocusWithinChange,
2619
+ onSyntheticFocus,
2620
+ addGlobalListener,
2621
+ onBlur
2622
+ ]);
2623
+ if (isDisabled) return {
2624
+ focusWithinProps: {
2625
+ // These cannot be null, that would conflict in mergeProps
2626
+ onFocus: undefined,
2627
+ onBlur: undefined
2628
+ }
2629
+ };
2630
+ return {
2631
+ focusWithinProps: {
2632
+ onFocus: onFocus,
2633
+ onBlur: onBlur
2634
+ }
2635
+ };
2636
+ }
2637
+
2638
+ /*
2639
+ * Copyright 2020 Adobe. All rights reserved.
2640
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
2641
+ * you may not use this file except in compliance with the License. You may obtain a copy
2642
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
2643
+ *
2644
+ * Unless required by applicable law or agreed to in writing, software distributed under
2645
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
2646
+ * OF ANY KIND, either express or implied. See the License for the specific language
2647
+ * governing permissions and limitations under the License.
2648
+ */ // Portions of the code in this file are based on code from react.
2649
+ // Original licensing for the following can be found in the
2650
+ // NOTICE file in the root directory of this source tree.
2651
+ // See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions
2652
+
2653
+
2654
+ // iOS fires onPointerEnter twice: once with pointerType="touch" and again with pointerType="mouse".
2655
+ // We want to ignore these emulated events so they do not trigger hover behavior.
2656
+ // See https://bugs.webkit.org/show_bug.cgi?id=214609.
2657
+ let $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;
2658
+ let $6179b936705e76d3$var$hoverCount = 0;
2659
+ function $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {
2660
+ $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;
2661
+ // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter
2662
+ // with pointerType="mouse" immediately after onPointerUp and before onFocus. On other
2663
+ // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in
2664
+ // the distant future because a user previously touched the element.
2665
+ setTimeout(()=>{
2666
+ $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;
2667
+ }, 50);
2668
+ }
2669
+ function $6179b936705e76d3$var$handleGlobalPointerEvent(e) {
2670
+ if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();
2671
+ }
2672
+ function $6179b936705e76d3$var$setupGlobalTouchEvents() {
2673
+ if (typeof document === 'undefined') return;
2674
+ if ($6179b936705e76d3$var$hoverCount === 0) {
2675
+ if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);
2676
+ else if (process.env.NODE_ENV === 'test') document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);
2677
+ }
2678
+ $6179b936705e76d3$var$hoverCount++;
2679
+ return ()=>{
2680
+ $6179b936705e76d3$var$hoverCount--;
2681
+ if ($6179b936705e76d3$var$hoverCount > 0) return;
2682
+ if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);
2683
+ else if (process.env.NODE_ENV === 'test') document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);
2684
+ };
2685
+ }
2686
+ function $6179b936705e76d3$export$ae780daf29e6d456(props) {
2687
+ let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;
2688
+ let [isHovered, setHovered] = (React.useState)(false);
2689
+ let state = (React.useRef)({
2690
+ isHovered: false,
2691
+ ignoreEmulatedMouseEvents: false,
2692
+ pointerType: '',
2693
+ target: null
2694
+ }).current;
2695
+ (React.useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);
2696
+ let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = ($03deb23ff14920c4$export$4eaf04e54aa8eed6)();
2697
+ let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (React.useMemo)(()=>{
2698
+ let triggerHoverStart = (event, pointerType)=>{
2699
+ state.pointerType = pointerType;
2700
+ if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;
2701
+ state.isHovered = true;
2702
+ let target = event.currentTarget;
2703
+ state.target = target;
2704
+ // When an element that is hovered over is removed, no pointerleave event is fired by the browser,
2705
+ // even though the originally hovered target may have shrunk in size so it is no longer hovered.
2706
+ // However, a pointerover event will be fired on the new target the mouse is over.
2707
+ // In Chrome this happens immediately. In Safari and Firefox, it happens upon moving the mouse one pixel.
2708
+ addGlobalListener(($431fbd86ca7dc216$export$b204af158042fbac)(event.target), 'pointerover', (e)=>{
2709
+ if (state.isHovered && state.target && !($d4ee10de306f2510$export$4282f70798064fe0)(state.target, e.target)) triggerHoverEnd(e, e.pointerType);
2710
+ }, {
2711
+ capture: true
2712
+ });
2713
+ if (onHoverStart) onHoverStart({
2714
+ type: 'hoverstart',
2715
+ target: target,
2716
+ pointerType: pointerType
2717
+ });
2718
+ if (onHoverChange) onHoverChange(true);
2719
+ setHovered(true);
2720
+ };
2721
+ let triggerHoverEnd = (event, pointerType)=>{
2722
+ let target = state.target;
2723
+ state.pointerType = '';
2724
+ state.target = null;
2725
+ if (pointerType === 'touch' || !state.isHovered || !target) return;
2726
+ state.isHovered = false;
2727
+ removeAllGlobalListeners();
2728
+ if (onHoverEnd) onHoverEnd({
2729
+ type: 'hoverend',
2730
+ target: target,
2731
+ pointerType: pointerType
2732
+ });
2733
+ if (onHoverChange) onHoverChange(false);
2734
+ setHovered(false);
2735
+ };
2736
+ let hoverProps = {};
2737
+ if (typeof PointerEvent !== 'undefined') {
2738
+ hoverProps.onPointerEnter = (e)=>{
2739
+ if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;
2740
+ triggerHoverStart(e, e.pointerType);
2741
+ };
2742
+ hoverProps.onPointerLeave = (e)=>{
2743
+ if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);
2744
+ };
2745
+ } else if (process.env.NODE_ENV === 'test') {
2746
+ hoverProps.onTouchStart = ()=>{
2747
+ state.ignoreEmulatedMouseEvents = true;
2748
+ };
2749
+ hoverProps.onMouseEnter = (e)=>{
2750
+ if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');
2751
+ state.ignoreEmulatedMouseEvents = false;
2752
+ };
2753
+ hoverProps.onMouseLeave = (e)=>{
2754
+ if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');
2755
+ };
2756
+ }
2757
+ return {
2758
+ hoverProps: hoverProps,
2759
+ triggerHoverEnd: triggerHoverEnd
2760
+ };
2761
+ }, [
2762
+ onHoverStart,
2763
+ onHoverChange,
2764
+ onHoverEnd,
2765
+ isDisabled,
2766
+ state,
2767
+ addGlobalListener,
2768
+ removeAllGlobalListeners
591
2769
  ]);
2770
+ (React.useEffect)(()=>{
2771
+ // Call the triggerHoverEnd as soon as isDisabled changes to true
2772
+ // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering
2773
+ if (isDisabled) triggerHoverEnd({
2774
+ currentTarget: state.target
2775
+ }, state.pointerType);
2776
+ // eslint-disable-next-line react-hooks/exhaustive-deps
2777
+ }, [
2778
+ isDisabled
2779
+ ]);
2780
+ return {
2781
+ hoverProps: hoverProps,
2782
+ isHovered: isHovered
2783
+ };
592
2784
  }
593
2785
 
594
2786
  /*
@@ -618,14 +2810,14 @@ function $7d0a636d7a4dcefd$export$2123ff2b87c81ca(props, ref) {
618
2810
  }, [
619
2811
  onScroll
620
2812
  ]);
621
- (Text.$e9faafb641e167db$export$90fc3a17d93f704c)(ref, 'wheel', isDisabled ? undefined : onScrollHandler);
2813
+ ($e9faafb641e167db$export$90fc3a17d93f704c)(ref, 'wheel', isDisabled ? undefined : onScrollHandler);
622
2814
  }
623
2815
 
624
2816
  function $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {
625
2817
  let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;
626
2818
  let state = (React.useRef)({
627
2819
  isFocused: false,
628
- isFocusVisible: autoFocus || (Text.$507fabe10e71c6fb$export$b9b3dfddab17db27)()
2820
+ isFocusVisible: autoFocus || ($507fabe10e71c6fb$export$b9b3dfddab17db27)()
629
2821
  });
630
2822
  let [isFocused, setFocused] = (React.useState)(false);
631
2823
  let [isFocusVisibleState, setFocusVisible] = (React.useState)(()=>state.current.isFocused && state.current.isFocusVisible);
@@ -637,17 +2829,17 @@ function $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {
637
2829
  }, [
638
2830
  updateState
639
2831
  ]);
640
- (Text.$507fabe10e71c6fb$export$ec71b4b83ac08ec3)((isFocusVisible)=>{
2832
+ ($507fabe10e71c6fb$export$ec71b4b83ac08ec3)((isFocusVisible)=>{
641
2833
  state.current.isFocusVisible = isFocusVisible;
642
2834
  updateState();
643
2835
  }, [], {
644
2836
  isTextInput: isTextInput
645
2837
  });
646
- let { focusProps: focusProps } = (Text.$a1ea59d68270f0dd$export$f8168d8dd8fd66e6)({
2838
+ let { focusProps: focusProps } = ($a1ea59d68270f0dd$export$f8168d8dd8fd66e6)({
647
2839
  isDisabled: within,
648
2840
  onFocusChange: onFocusChange
649
2841
  });
650
- let { focusWithinProps: focusWithinProps } = (Text.$9ab94262bd0047c7$export$420e68273165f4ec)({
2842
+ let { focusWithinProps: focusWithinProps } = ($9ab94262bd0047c7$export$420e68273165f4ec)({
651
2843
  isDisabled: !within,
652
2844
  onFocusWithinChange: onFocusChange
653
2845
  });
@@ -671,8 +2863,8 @@ function $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {
671
2863
  */
672
2864
  function $d191a55c9702f145$export$8467354a121f1b9f(props) {
673
2865
  let { id: id, label: label, 'aria-labelledby': ariaLabelledby, 'aria-label': ariaLabel, labelElementType: labelElementType = 'label' } = props;
674
- id = (Text.$bdb11010cef70236$export$f680877a34711e37)(id);
675
- let labelId = (Text.$bdb11010cef70236$export$f680877a34711e37)();
2866
+ id = ($bdb11010cef70236$export$f680877a34711e37)(id);
2867
+ let labelId = ($bdb11010cef70236$export$f680877a34711e37)();
676
2868
  let labelProps = {};
677
2869
  if (label) {
678
2870
  ariaLabelledby = ariaLabelledby ? `${labelId} ${ariaLabelledby}` : labelId;
@@ -681,7 +2873,7 @@ function $d191a55c9702f145$export$8467354a121f1b9f(props) {
681
2873
  htmlFor: labelElementType === 'label' ? id : undefined
682
2874
  };
683
2875
  } 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');
684
- let fieldProps = (Text.$313b98861ee5dd6c$export$d6875122194c7b44)({
2876
+ let fieldProps = ($313b98861ee5dd6c$export$d6875122194c7b44)({
685
2877
  id: id,
686
2878
  'aria-label': ariaLabel,
687
2879
  'aria-labelledby': ariaLabelledby
@@ -707,19 +2899,19 @@ function $d191a55c9702f145$export$8467354a121f1b9f(props) {
707
2899
  function $2baaea4c71418dea$export$294aa081a6c6f55d(props) {
708
2900
  let { description: description, errorMessage: errorMessage, isInvalid: isInvalid, validationState: validationState } = props;
709
2901
  let { labelProps: labelProps, fieldProps: fieldProps } = ($d191a55c9702f145$export$8467354a121f1b9f)(props);
710
- let descriptionId = (Text.$bdb11010cef70236$export$b4cc09c592e8fdb8)([
2902
+ let descriptionId = ($bdb11010cef70236$export$b4cc09c592e8fdb8)([
711
2903
  Boolean(description),
712
2904
  Boolean(errorMessage),
713
2905
  isInvalid,
714
2906
  validationState
715
2907
  ]);
716
- let errorMessageId = (Text.$bdb11010cef70236$export$b4cc09c592e8fdb8)([
2908
+ let errorMessageId = ($bdb11010cef70236$export$b4cc09c592e8fdb8)([
717
2909
  Boolean(description),
718
2910
  Boolean(errorMessage),
719
2911
  isInvalid,
720
2912
  validationState
721
2913
  ]);
722
- fieldProps = (Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(fieldProps, {
2914
+ fieldProps = ($3ef42575df84b30b$export$9d1611c77c2fe928)(fieldProps, {
723
2915
  'aria-describedby': [
724
2916
  descriptionId,
725
2917
  // 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
@@ -920,7 +3112,7 @@ function $e5be200c675c3b3a$var$isEqualValidation(a, b) {
920
3112
  function $e93e671b31057976$export$b8473d3665f3a75a(props, state, ref) {
921
3113
  let { validationBehavior: validationBehavior, focus: focus } = props;
922
3114
  // This is a useLayoutEffect so that it runs before the useEffect in useFormValidationState, which commits the validation change.
923
- (Text.$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
3115
+ ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
924
3116
  if (validationBehavior === 'native' && (ref === null || ref === void 0 ? void 0 : ref.current) && !ref.current.disabled) {
925
3117
  let errorMessage = state.realtimeValidation.isInvalid ? state.realtimeValidation.validationErrors.join(' ') || 'Invalid value.' : '';
926
3118
  ref.current.setCustomValidity(errorMessage);
@@ -931,10 +3123,10 @@ function $e93e671b31057976$export$b8473d3665f3a75a(props, state, ref) {
931
3123
  }
932
3124
  });
933
3125
  let isIgnoredReset = (React.useRef)(false);
934
- let onReset = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
3126
+ let onReset = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
935
3127
  if (!isIgnoredReset.current) state.resetValidation();
936
3128
  });
937
- let onInvalid = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)((e)=>{
3129
+ let onInvalid = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)((e)=>{
938
3130
  var _ref_current;
939
3131
  // Only commit validation if we are not already displaying one.
940
3132
  // This avoids clearing server errors that the user didn't actually fix.
@@ -946,12 +3138,12 @@ function $e93e671b31057976$export$b8473d3665f3a75a(props, state, ref) {
946
3138
  if (focus) focus();
947
3139
  else (_ref_current1 = ref.current) === null || _ref_current1 === void 0 ? void 0 : _ref_current1.focus();
948
3140
  // Always show focus ring.
949
- (Text.$507fabe10e71c6fb$export$8397ddfc504fdb9a)('keyboard');
3141
+ ($507fabe10e71c6fb$export$8397ddfc504fdb9a)('keyboard');
950
3142
  }
951
3143
  // Prevent default browser error UI from appearing.
952
3144
  e.preventDefault();
953
3145
  });
954
- let onChange = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
3146
+ let onChange = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
955
3147
  state.commitValidation();
956
3148
  });
957
3149
  (React.useEffect)(()=>{
@@ -1041,8 +3233,8 @@ function $e93e671b31057976$var$getFirstInvalidInput(form) {
1041
3233
 
1042
3234
  function $2d73ec29415bd339$export$712718f7aec83d5(props, ref) {
1043
3235
  let { inputElementType: inputElementType = 'input', isDisabled: isDisabled = false, isRequired: isRequired = false, isReadOnly: isReadOnly = false, type: type = 'text', validationBehavior: validationBehavior = 'aria' } = props;
1044
- let [value, setValue] = (Text.$458b0a5536c1a7cf$export$40bfa8c7b0832715)(props.value, props.defaultValue || '', props.onChange);
1045
- let { focusableProps: focusableProps } = (Text.$f645667febf57a63$export$4c014de7c8940b4c)(props, ref);
3236
+ let [value, setValue] = ($458b0a5536c1a7cf$export$40bfa8c7b0832715)(props.value, props.defaultValue || '', props.onChange);
3237
+ let { focusableProps: focusableProps } = ($f645667febf57a63$export$4c014de7c8940b4c)(props, ref);
1046
3238
  let validationState = ($e5be200c675c3b3a$export$fc1a364ae1f3ff10)({
1047
3239
  ...props,
1048
3240
  value: value
@@ -1053,7 +3245,7 @@ function $2d73ec29415bd339$export$712718f7aec83d5(props, ref) {
1053
3245
  isInvalid: isInvalid,
1054
3246
  errorMessage: props.errorMessage || validationErrors
1055
3247
  });
1056
- let domProps = (Text.$65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
3248
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
1057
3249
  labelable: true
1058
3250
  });
1059
3251
  const inputOnlyProps = {
@@ -1072,7 +3264,7 @@ function $2d73ec29415bd339$export$712718f7aec83d5(props, ref) {
1072
3264
  // future major version.
1073
3265
  // https://github.com/facebook/react/issues/19474
1074
3266
  // https://github.com/facebook/react/issues/11896
1075
- if (ref.current instanceof (Text.$431fbd86ca7dc216$export$f21a1ffae260145a)(ref.current).HTMLTextAreaElement) {
3267
+ if (ref.current instanceof ($431fbd86ca7dc216$export$f21a1ffae260145a)(ref.current).HTMLTextAreaElement) {
1076
3268
  let input = ref.current;
1077
3269
  Object.defineProperty(input, 'defaultValue', {
1078
3270
  get: ()=>input.value,
@@ -1085,7 +3277,7 @@ function $2d73ec29415bd339$export$712718f7aec83d5(props, ref) {
1085
3277
  ]);
1086
3278
  return {
1087
3279
  labelProps: labelProps,
1088
- inputProps: (Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(domProps, inputElementType === 'input' ? inputOnlyProps : undefined, {
3280
+ inputProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(domProps, inputElementType === 'input' ? inputOnlyProps : undefined, {
1089
3281
  disabled: isDisabled,
1090
3282
  readOnly: isReadOnly,
1091
3283
  required: isRequired && validationBehavior === 'native',
@@ -1156,7 +3348,7 @@ function $d841c8010a73d545$export$4f384c9210e583c3(props, state, inputRef) {
1156
3348
  // Use the native event if available so that we can prevent invalid deletions.
1157
3349
  // We do not attempt to polyfill this in Firefox since it would be very complicated,
1158
3350
  // the benefit of doing so is fairly minor, and it's going to be natively supported soon.
1159
- let onBeforeInputFallback = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)((e)=>{
3351
+ let onBeforeInputFallback = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)((e)=>{
1160
3352
  let input = inputRef.current;
1161
3353
  if (!input) return;
1162
3354
  // Compute the next value of the input if the event is allowed to proceed.
@@ -1217,7 +3409,7 @@ function $d841c8010a73d545$export$4f384c9210e583c3(props, state, inputRef) {
1217
3409
  let { labelProps: labelProps, inputProps: textFieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, ...validation } = ($2d73ec29415bd339$export$712718f7aec83d5)(props, inputRef);
1218
3410
  let compositionStartState = (React.useRef)(null);
1219
3411
  return {
1220
- inputProps: (Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(textFieldProps, {
3412
+ inputProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(textFieldProps, {
1221
3413
  onBeforeInput: onBeforeInput,
1222
3414
  onCompositionStart () {
1223
3415
  // Chrome does not implement Input Events Level 2, which specifies the insertFromComposition
@@ -1257,6 +3449,45 @@ function $d841c8010a73d545$export$4f384c9210e583c3(props, state, inputRef) {
1257
3449
  };
1258
3450
  }
1259
3451
 
3452
+ /*
3453
+ * Copyright 2024 Adobe. All rights reserved.
3454
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
3455
+ * you may not use this file except in compliance with the License. You may obtain a copy
3456
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
3457
+ *
3458
+ * Unless required by applicable law or agreed to in writing, software distributed under
3459
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
3460
+ * OF ANY KIND, either express or implied. See the License for the specific language
3461
+ * governing permissions and limitations under the License.
3462
+ */
3463
+ // React doesn't understand the <template> element, which doesn't have children like a normal element.
3464
+ // It will throw an error during hydration when it expects the firstChild to contain content rendered
3465
+ // on the server, when in reality, the browser will have placed this inside the `content` document fragment.
3466
+ // This monkey patches the firstChild property for our special hidden template elements to work around this error.
3467
+ // See https://github.com/facebook/react/issues/19932
3468
+ if (typeof HTMLTemplateElement !== 'undefined') {
3469
+ const getFirstChild = Object.getOwnPropertyDescriptor(Node.prototype, 'firstChild').get;
3470
+ Object.defineProperty(HTMLTemplateElement.prototype, 'firstChild', {
3471
+ configurable: true,
3472
+ enumerable: true,
3473
+ get: function() {
3474
+ if (this.dataset.reactAriaHidden) return this.content.firstChild;
3475
+ else return getFirstChild.call(this);
3476
+ }
3477
+ });
3478
+ }
3479
+ const $f39a9eba43920ace$export$94b6d0abf7d33e8c = /*#__PURE__*/ (React.createContext)(false);
3480
+ function $f39a9eba43920ace$export$86427a43e3e48ebb(fn) {
3481
+ let Wrapper = (props, ref)=>{
3482
+ let isHidden = (React.useContext)($f39a9eba43920ace$export$94b6d0abf7d33e8c);
3483
+ if (isHidden) return null;
3484
+ return fn(props, ref);
3485
+ };
3486
+ // @ts-ignore - for react dev tools
3487
+ Wrapper.displayName = fn.displayName || fn.name;
3488
+ return (React.forwardRef)(Wrapper);
3489
+ }
3490
+
1260
3491
  /*
1261
3492
  * Copyright 2020 Adobe. All rights reserved.
1262
3493
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -1275,14 +3506,14 @@ function $de67e98908f0c6ee$export$7f629e9dc1ecf37c(props) {
1275
3506
  let { minValue: minValue, maxValue: maxValue, step: step, formatOptions: formatOptions, value: value, defaultValue: defaultValue = NaN, onChange: onChange, locale: locale, isDisabled: isDisabled, isReadOnly: isReadOnly } = props;
1276
3507
  if (value === null) value = NaN;
1277
3508
  if (value !== undefined && !isNaN(value)) {
1278
- if (step !== undefined && !isNaN(step)) value = (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(value, minValue, maxValue, step);
1279
- else value = (Text.$9446cca9a3875146$export$7d15b64cf5a3a4c4)(value, minValue, maxValue);
3509
+ if (step !== undefined && !isNaN(step)) value = ($9446cca9a3875146$export$cb6e0bb50bc19463)(value, minValue, maxValue, step);
3510
+ else value = ($9446cca9a3875146$export$7d15b64cf5a3a4c4)(value, minValue, maxValue);
1280
3511
  }
1281
3512
  if (!isNaN(defaultValue)) {
1282
- if (step !== undefined && !isNaN(step)) defaultValue = (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(defaultValue, minValue, maxValue, step);
1283
- else defaultValue = (Text.$9446cca9a3875146$export$7d15b64cf5a3a4c4)(defaultValue, minValue, maxValue);
3513
+ if (step !== undefined && !isNaN(step)) defaultValue = ($9446cca9a3875146$export$cb6e0bb50bc19463)(defaultValue, minValue, maxValue, step);
3514
+ else defaultValue = ($9446cca9a3875146$export$7d15b64cf5a3a4c4)(defaultValue, minValue, maxValue);
1284
3515
  }
1285
- let [numberValue, setNumberValue] = (Text.$458b0a5536c1a7cf$export$40bfa8c7b0832715)(value, isNaN(defaultValue) ? NaN : defaultValue, onChange);
3516
+ let [numberValue, setNumberValue] = ($458b0a5536c1a7cf$export$40bfa8c7b0832715)(value, isNaN(defaultValue) ? NaN : defaultValue, onChange);
1286
3517
  let [initialValue] = (React.useState)(numberValue);
1287
3518
  let [inputValue, setInputValue] = (React.useState)(()=>isNaN(numberValue) ? '' : new ($488c6ddbf4ef74c2$export$cc77c4ff7e8673c5)(locale, formatOptions).format(numberValue));
1288
3519
  let numberParser = (React.useMemo)(()=>new ($6c7bd7858deea686$export$cd11ab140839f11d)(locale, formatOptions), [
@@ -1343,8 +3574,8 @@ function $de67e98908f0c6ee$export$7f629e9dc1ecf37c(props) {
1343
3574
  }
1344
3575
  // Clamp to min and max, round to the nearest step, and round to specified number of digits
1345
3576
  let clampedValue;
1346
- if (step === undefined || isNaN(step)) clampedValue = (Text.$9446cca9a3875146$export$7d15b64cf5a3a4c4)(parsedValue, minValue, maxValue);
1347
- else clampedValue = (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(parsedValue, minValue, maxValue, step);
3577
+ if (step === undefined || isNaN(step)) clampedValue = ($9446cca9a3875146$export$7d15b64cf5a3a4c4)(parsedValue, minValue, maxValue);
3578
+ else clampedValue = ($9446cca9a3875146$export$cb6e0bb50bc19463)(parsedValue, minValue, maxValue, step);
1348
3579
  clampedValue = numberParser.parse(format(clampedValue));
1349
3580
  setNumberValue(clampedValue);
1350
3581
  // in a controlled state, the numberValue won't change, so we won't go back to our old input without help
@@ -1357,13 +3588,13 @@ function $de67e98908f0c6ee$export$7f629e9dc1ecf37c(props) {
1357
3588
  // if the input is empty, start from the min/max value when incrementing/decrementing,
1358
3589
  // or zero if there is no min/max value defined.
1359
3590
  let newValue = isNaN(minMax) ? 0 : minMax;
1360
- return (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(newValue, minValue, maxValue, clampStep);
3591
+ return ($9446cca9a3875146$export$cb6e0bb50bc19463)(newValue, minValue, maxValue, clampStep);
1361
3592
  } else {
1362
3593
  // otherwise, first snap the current value to the nearest step. if it moves in the direction
1363
3594
  // we're going, use that value, otherwise add the step and snap that value.
1364
- let newValue = (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(prev, minValue, maxValue, clampStep);
3595
+ let newValue = ($9446cca9a3875146$export$cb6e0bb50bc19463)(prev, minValue, maxValue, clampStep);
1365
3596
  if (operation === '+' && newValue > prev || operation === '-' && newValue < prev) return newValue;
1366
- return (Text.$9446cca9a3875146$export$cb6e0bb50bc19463)($de67e98908f0c6ee$var$handleDecimalOperation(operation, prev, clampStep), minValue, maxValue, clampStep);
3597
+ return ($9446cca9a3875146$export$cb6e0bb50bc19463)($de67e98908f0c6ee$var$handleDecimalOperation(operation, prev, clampStep), minValue, maxValue, clampStep);
1367
3598
  }
1368
3599
  };
1369
3600
  let increment = ()=>{
@@ -1384,7 +3615,7 @@ function $de67e98908f0c6ee$export$7f629e9dc1ecf37c(props) {
1384
3615
  };
1385
3616
  let incrementToMax = ()=>{
1386
3617
  if (maxValue != null) {
1387
- setNumberValue((Text.$9446cca9a3875146$export$cb6e0bb50bc19463)(maxValue, minValue, maxValue, clampStep));
3618
+ setNumberValue(($9446cca9a3875146$export$cb6e0bb50bc19463)(maxValue, minValue, maxValue, clampStep));
1388
3619
  validation.commitValidation();
1389
3620
  }
1390
3621
  };
@@ -1394,7 +3625,7 @@ function $de67e98908f0c6ee$export$7f629e9dc1ecf37c(props) {
1394
3625
  validation.commitValidation();
1395
3626
  }
1396
3627
  };
1397
- 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), [
3628
+ let canIncrement = (React.useMemo)(()=>!isDisabled && !isReadOnly && (isNaN(parsedValue) || maxValue === undefined || isNaN(maxValue) || ($9446cca9a3875146$export$cb6e0bb50bc19463)(parsedValue, minValue, maxValue, clampStep) > parsedValue || $de67e98908f0c6ee$var$handleDecimalOperation('+', parsedValue, clampStep) <= maxValue), [
1398
3629
  isDisabled,
1399
3630
  isReadOnly,
1400
3631
  minValue,
@@ -1402,7 +3633,7 @@ function $de67e98908f0c6ee$export$7f629e9dc1ecf37c(props) {
1402
3633
  clampStep,
1403
3634
  parsedValue
1404
3635
  ]);
1405
- 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), [
3636
+ let canDecrement = (React.useMemo)(()=>!isDisabled && !isReadOnly && (isNaN(parsedValue) || minValue === undefined || isNaN(minValue) || ($9446cca9a3875146$export$cb6e0bb50bc19463)(parsedValue, minValue, maxValue, clampStep) < parsedValue || $de67e98908f0c6ee$var$handleDecimalOperation('-', parsedValue, clampStep) >= minValue), [
1406
3637
  isDisabled,
1407
3638
  isReadOnly,
1408
3639
  minValue,
@@ -1713,7 +3944,7 @@ function $parcel$interopDefault$1(a) {
1713
3944
  function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
1714
3945
  const _async = (React.useRef)(undefined);
1715
3946
  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;
1716
- const stringFormatter = (Text.$fca6afa0e843324b$export$f12b703ca79dfbb1)((($parcel$interopDefault$1($a99895ee3dc79e61$exports))), '@react-aria/spinbutton');
3947
+ const stringFormatter = ($fca6afa0e843324b$export$f12b703ca79dfbb1)((($parcel$interopDefault$1($a99895ee3dc79e61$exports))), '@react-aria/spinbutton');
1717
3948
  const clearAsync = ()=>clearTimeout(_async.current);
1718
3949
  (React.useEffect)(()=>{
1719
3950
  return ()=>clearAsync();
@@ -1783,7 +4014,7 @@ function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
1783
4014
  }, [
1784
4015
  ariaTextValue
1785
4016
  ]);
1786
- const onIncrementPressStart = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)((initialStepDelay)=>{
4017
+ const onIncrementPressStart = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)((initialStepDelay)=>{
1787
4018
  clearAsync();
1788
4019
  onIncrement === null || onIncrement === void 0 ? void 0 : onIncrement();
1789
4020
  // Start spinning after initial delay
@@ -1791,7 +4022,7 @@ function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
1791
4022
  if (maxValue === undefined || isNaN(maxValue) || value === undefined || isNaN(value) || value < maxValue) onIncrementPressStart(60);
1792
4023
  }, initialStepDelay);
1793
4024
  });
1794
- const onDecrementPressStart = (Text.$8ae05eaa5c114e9c$export$7f54fc3180508a52)((initialStepDelay)=>{
4025
+ const onDecrementPressStart = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)((initialStepDelay)=>{
1795
4026
  clearAsync();
1796
4027
  onDecrement === null || onDecrement === void 0 ? void 0 : onDecrement();
1797
4028
  // Start spinning after initial delay
@@ -1802,7 +4033,7 @@ function $d2e8511e6f209edf$export$e908e06f4b8e3402(props) {
1802
4033
  let cancelContextMenu = (e)=>{
1803
4034
  e.preventDefault();
1804
4035
  };
1805
- let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (Text.$03deb23ff14920c4$export$4eaf04e54aa8eed6)();
4036
+ let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = ($03deb23ff14920c4$export$4eaf04e54aa8eed6)();
1806
4037
  return {
1807
4038
  spinButtonProps: {
1808
4039
  role: 'spinbutton',
@@ -2178,9 +4409,9 @@ function $parcel$interopDefault(a) {
2178
4409
  function $81397a9303501bda$export$23f548e970bdf099(props, state, inputRef) {
2179
4410
  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;
2180
4411
  let { increment: increment, incrementToMax: incrementToMax, decrement: decrement, decrementToMin: decrementToMin, numberValue: numberValue, inputValue: inputValue, commit: commit, commitValidation: commitValidation } = state;
2181
- const stringFormatter = (Text.$fca6afa0e843324b$export$f12b703ca79dfbb1)((($parcel$interopDefault($280a227d7cb94b92$exports))), '@react-aria/numberfield');
2182
- let inputId = (Text.$bdb11010cef70236$export$f680877a34711e37)(id);
2183
- let { focusProps: focusProps } = (Text.$a1ea59d68270f0dd$export$f8168d8dd8fd66e6)({
4412
+ const stringFormatter = ($fca6afa0e843324b$export$f12b703ca79dfbb1)((($parcel$interopDefault($280a227d7cb94b92$exports))), '@react-aria/numberfield');
4413
+ let inputId = ($bdb11010cef70236$export$f680877a34711e37)(id);
4414
+ let { focusProps: focusProps } = ($a1ea59d68270f0dd$export$f8168d8dd8fd66e6)({
2184
4415
  onBlur () {
2185
4416
  // Set input value to normalized valid value
2186
4417
  commit();
@@ -2214,7 +4445,7 @@ function $81397a9303501bda$export$23f548e970bdf099(props, state, inputRef) {
2214
4445
  textValue: textValue
2215
4446
  });
2216
4447
  let [focusWithin, setFocusWithin] = (React.useState)(false);
2217
- let { focusWithinProps: focusWithinProps } = (Text.$9ab94262bd0047c7$export$420e68273165f4ec)({
4448
+ let { focusWithinProps: focusWithinProps } = ($9ab94262bd0047c7$export$420e68273165f4ec)({
2218
4449
  isDisabled: isDisabled,
2219
4450
  onFocusWithinChange: setFocusWithin
2220
4451
  });
@@ -2244,13 +4475,13 @@ function $81397a9303501bda$export$23f548e970bdf099(props, state, inputRef) {
2244
4475
  let hasDecimals = ((_intlOptions_maximumFractionDigits = intlOptions.maximumFractionDigits) !== null && _intlOptions_maximumFractionDigits !== void 0 ? _intlOptions_maximumFractionDigits : 0) > 0;
2245
4476
  let hasNegative = state.minValue === undefined || isNaN(state.minValue) || state.minValue < 0;
2246
4477
  let inputMode = 'numeric';
2247
- if ((Text.$c87311424ea30a05$export$186c6964ca17d99)()) {
4478
+ if (($c87311424ea30a05$export$186c6964ca17d99)()) {
2248
4479
  // iPhone doesn't have a minus sign in either numeric or decimal.
2249
4480
  // Note this is only for iPhone, not iPad, which always has both
2250
4481
  // minus and decimal in numeric.
2251
4482
  if (hasNegative) inputMode = 'text';
2252
4483
  else if (hasDecimals) inputMode = 'decimal';
2253
- } else if ((Text.$c87311424ea30a05$export$a11b0059900ceec8)()) {
4484
+ } else if (($c87311424ea30a05$export$a11b0059900ceec8)()) {
2254
4485
  // Android numeric has both a decimal point and minus key.
2255
4486
  // decimal does not have a minus key.
2256
4487
  if (hasNegative) inputMode = 'numeric';
@@ -2259,7 +4490,7 @@ function $81397a9303501bda$export$23f548e970bdf099(props, state, inputRef) {
2259
4490
  let onChange = (value)=>{
2260
4491
  if (state.validate(value)) state.setInputValue(value);
2261
4492
  };
2262
- let domProps = (Text.$65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props);
4493
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props);
2263
4494
  let onKeyDownEnter = (React.useCallback)((e)=>{
2264
4495
  if (e.nativeEvent.isComposing) return;
2265
4496
  if (e.key === 'Enter') {
@@ -2296,7 +4527,7 @@ function $81397a9303501bda$export$23f548e970bdf099(props, state, inputRef) {
2296
4527
  onBlur: onBlur,
2297
4528
  onFocus: onFocus,
2298
4529
  onFocusChange: onFocusChange,
2299
- onKeyDown: (React.useMemo)(()=>(Text.$ff5963eb1fccf552$export$e08e3b67e392101e)(onKeyDownEnter, onKeyDown), [
4530
+ onKeyDown: (React.useMemo)(()=>($ff5963eb1fccf552$export$e08e3b67e392101e)(onKeyDownEnter, onKeyDown), [
2300
4531
  onKeyDownEnter,
2301
4532
  onKeyDown
2302
4533
  ]),
@@ -2305,11 +4536,11 @@ function $81397a9303501bda$export$23f548e970bdf099(props, state, inputRef) {
2305
4536
  errorMessage: errorMessage
2306
4537
  }, state, inputRef);
2307
4538
  ($99facab73266f662$export$5add1d006293d136)(inputRef, state.defaultNumberValue, state.setNumberValue);
2308
- let inputProps = (Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(spinButtonProps, focusProps, textFieldProps, {
4539
+ let inputProps = ($3ef42575df84b30b$export$9d1611c77c2fe928)(spinButtonProps, focusProps, textFieldProps, {
2309
4540
  // override the spinbutton role, we can't focus a spin button with VO
2310
4541
  role: null,
2311
4542
  // ignore aria-roledescription on iOS so that required state will announce when it is present
2312
- 'aria-roledescription': !(Text.$c87311424ea30a05$export$fedb369cb70207f1)() ? stringFormatter.format('numberField') : null,
4543
+ 'aria-roledescription': !($c87311424ea30a05$export$fedb369cb70207f1)() ? stringFormatter.format('numberField') : null,
2313
4544
  'aria-valuemax': null,
2314
4545
  'aria-valuemin': null,
2315
4546
  'aria-valuenow': null,
@@ -2342,9 +4573,9 @@ function $81397a9303501bda$export$23f548e970bdf099(props, state, inputRef) {
2342
4573
  let fieldLabel = props['aria-label'] || (typeof props.label === 'string' ? props.label : '');
2343
4574
  let ariaLabelledby;
2344
4575
  if (!fieldLabel) ariaLabelledby = props.label != null ? labelProps.id : props['aria-labelledby'];
2345
- let incrementId = (Text.$bdb11010cef70236$export$f680877a34711e37)();
2346
- let decrementId = (Text.$bdb11010cef70236$export$f680877a34711e37)();
2347
- let incrementButtonProps = (Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(incButtonProps, {
4576
+ let incrementId = ($bdb11010cef70236$export$f680877a34711e37)();
4577
+ let decrementId = ($bdb11010cef70236$export$f680877a34711e37)();
4578
+ let incrementButtonProps = ($3ef42575df84b30b$export$9d1611c77c2fe928)(incButtonProps, {
2348
4579
  'aria-label': incrementAriaLabel || stringFormatter.format('increase', {
2349
4580
  fieldLabel: fieldLabel
2350
4581
  }).trim(),
@@ -2357,7 +4588,7 @@ function $81397a9303501bda$export$23f548e970bdf099(props, state, inputRef) {
2357
4588
  isDisabled: !state.canIncrement,
2358
4589
  onPressStart: onButtonPressStart
2359
4590
  });
2360
- let decrementButtonProps = (Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(decButtonProps, {
4591
+ let decrementButtonProps = ($3ef42575df84b30b$export$9d1611c77c2fe928)(decButtonProps, {
2361
4592
  'aria-label': decrementAriaLabel || stringFormatter.format('decrease', {
2362
4593
  fieldLabel: fieldLabel
2363
4594
  }).trim(),
@@ -2403,8 +4634,8 @@ function $81397a9303501bda$export$23f548e970bdf099(props, state, inputRef) {
2403
4634
 
2404
4635
 
2405
4636
  const $01b77f81d0f07f68$export$75b6ee27786ba447 = /*#__PURE__*/ (React.createContext)({});
2406
- const $01b77f81d0f07f68$export$b04be29aa201d4f5 = /*#__PURE__*/ (Text.$f39a9eba43920ace$export$86427a43e3e48ebb)(function Label(props, ref) {
2407
- [props, ref] = (Text.$64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $01b77f81d0f07f68$export$75b6ee27786ba447);
4637
+ const $01b77f81d0f07f68$export$b04be29aa201d4f5 = /*#__PURE__*/ ($f39a9eba43920ace$export$86427a43e3e48ebb)(function Label(props, ref) {
4638
+ [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $01b77f81d0f07f68$export$75b6ee27786ba447);
2408
4639
  let { elementType: ElementType = 'label', ...labelProps } = props;
2409
4640
  // @ts-ignore
2410
4641
  return /*#__PURE__*/ (React).createElement(ElementType, {
@@ -2433,6 +4664,30 @@ const $01b77f81d0f07f68$export$b04be29aa201d4f5 = /*#__PURE__*/ (Text.$f39a9eba4
2433
4664
 
2434
4665
  const $d2b4bc8c273e7be6$export$24d547caef80ccd1 = /*#__PURE__*/ (React.createContext)({});
2435
4666
 
4667
+ /*
4668
+ * Copyright 2022 Adobe. All rights reserved.
4669
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4670
+ * you may not use this file except in compliance with the License. You may obtain a copy
4671
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
4672
+ *
4673
+ * Unless required by applicable law or agreed to in writing, software distributed under
4674
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
4675
+ * OF ANY KIND, either express or implied. See the License for the specific language
4676
+ * governing permissions and limitations under the License.
4677
+ */
4678
+
4679
+ const $514c0188e459b4c0$export$9afb8bc826b033ea = /*#__PURE__*/ (React.createContext)({});
4680
+ const $514c0188e459b4c0$export$5f1af8db9871e1d6 = /*#__PURE__*/ (React.forwardRef)(function Text(props, ref) {
4681
+ [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $514c0188e459b4c0$export$9afb8bc826b033ea);
4682
+ let { elementType: ElementType = 'span', ...domProps } = props;
4683
+ // @ts-ignore
4684
+ return /*#__PURE__*/ (React).createElement(ElementType, {
4685
+ className: "react-aria-Text",
4686
+ ...domProps,
4687
+ ref: ref
4688
+ });
4689
+ });
4690
+
2436
4691
  /*
2437
4692
  * Copyright 2023 Adobe. All rights reserved.
2438
4693
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -2458,17 +4713,17 @@ const $ee014567cb39d3f0$export$f551688fc98f2e09 = /*#__PURE__*/ (React.forwardRe
2458
4713
  });
2459
4714
  const $ee014567cb39d3f0$var$FieldErrorInner = /*#__PURE__*/ (React.forwardRef)((props, ref)=>{
2460
4715
  let validation = (React.useContext)($ee014567cb39d3f0$export$ff05c3ac10437e03);
2461
- let domProps = (Text.$65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
4716
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
2462
4717
  global: true
2463
4718
  });
2464
- let renderProps = (Text.$64fa3d84918910a7$export$4d86445c2cf5e3)({
4719
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
2465
4720
  ...props,
2466
4721
  defaultClassName: 'react-aria-FieldError',
2467
4722
  defaultChildren: validation.validationErrors.length === 0 ? undefined : validation.validationErrors.join(' '),
2468
4723
  values: validation
2469
4724
  });
2470
4725
  if (renderProps.children == null) return null;
2471
- return /*#__PURE__*/ (React).createElement((Text.$514c0188e459b4c0$export$5f1af8db9871e1d6), {
4726
+ return /*#__PURE__*/ (React).createElement(($514c0188e459b4c0$export$5f1af8db9871e1d6), {
2472
4727
  slot: "errorMessage",
2473
4728
  ...domProps,
2474
4729
  ...renderProps,
@@ -2506,9 +4761,9 @@ const $d3e0e05bdfcf66bd$export$c24727297075ec6a = /*#__PURE__*/ (React.createCon
2506
4761
 
2507
4762
  const $a049562f99e7db0e$export$f9c6924e160136d1 = /*#__PURE__*/ (React.createContext)({});
2508
4763
  const $a049562f99e7db0e$export$eb2fcfdbd7ba97d4 = /*#__PURE__*/ (React.forwardRef)(function Group(props, ref) {
2509
- [props, ref] = (Text.$64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $a049562f99e7db0e$export$f9c6924e160136d1);
4764
+ [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $a049562f99e7db0e$export$f9c6924e160136d1);
2510
4765
  let { isDisabled: isDisabled, isInvalid: isInvalid, onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, ...otherProps } = props;
2511
- let { hoverProps: hoverProps, isHovered: isHovered } = (Text.$6179b936705e76d3$export$ae780daf29e6d456)({
4766
+ let { hoverProps: hoverProps, isHovered: isHovered } = ($6179b936705e76d3$export$ae780daf29e6d456)({
2512
4767
  onHoverStart: onHoverStart,
2513
4768
  onHoverChange: onHoverChange,
2514
4769
  onHoverEnd: onHoverEnd,
@@ -2519,7 +4774,7 @@ const $a049562f99e7db0e$export$eb2fcfdbd7ba97d4 = /*#__PURE__*/ (React.forwardRe
2519
4774
  });
2520
4775
  isDisabled !== null && isDisabled !== void 0 ? isDisabled : isDisabled = !!props['aria-disabled'] && props['aria-disabled'] !== 'false';
2521
4776
  isInvalid !== null && isInvalid !== void 0 ? isInvalid : isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';
2522
- let renderProps = (Text.$64fa3d84918910a7$export$4d86445c2cf5e3)({
4777
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
2523
4778
  ...props,
2524
4779
  values: {
2525
4780
  isHovered: isHovered,
@@ -2532,7 +4787,7 @@ const $a049562f99e7db0e$export$eb2fcfdbd7ba97d4 = /*#__PURE__*/ (React.forwardRe
2532
4787
  });
2533
4788
  var _props_role, _props_slot;
2534
4789
  return /*#__PURE__*/ (React).createElement("div", {
2535
- ...(Text.$3ef42575df84b30b$export$9d1611c77c2fe928)(otherProps, focusProps, hoverProps),
4790
+ ...($3ef42575df84b30b$export$9d1611c77c2fe928)(otherProps, focusProps, hoverProps),
2536
4791
  ...renderProps,
2537
4792
  ref: ref,
2538
4793
  role: (_props_role = props.role) !== null && _props_role !== void 0 ? _props_role : 'group',
@@ -2565,15 +4820,15 @@ let $3985021b0ad6602f$var$filterHoverProps = (props)=>{
2565
4820
  let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, ...otherProps } = props;
2566
4821
  return otherProps;
2567
4822
  };
2568
- const $3985021b0ad6602f$export$f5b8910cec6cf069 = /*#__PURE__*/ (Text.$f39a9eba43920ace$export$86427a43e3e48ebb)(function Input(props, ref) {
2569
- [props, ref] = (Text.$64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $3985021b0ad6602f$export$37fb8590cf2c088c);
2570
- let { hoverProps: hoverProps, isHovered: isHovered } = (Text.$6179b936705e76d3$export$ae780daf29e6d456)(props);
4823
+ const $3985021b0ad6602f$export$f5b8910cec6cf069 = /*#__PURE__*/ ($f39a9eba43920ace$export$86427a43e3e48ebb)(function Input(props, ref) {
4824
+ [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $3985021b0ad6602f$export$37fb8590cf2c088c);
4825
+ let { hoverProps: hoverProps, isHovered: isHovered } = ($6179b936705e76d3$export$ae780daf29e6d456)(props);
2571
4826
  let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = ($f7dceffc5ad7768b$export$4e328f61c538687f)({
2572
4827
  isTextInput: true,
2573
4828
  autoFocus: props.autoFocus
2574
4829
  });
2575
4830
  let isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';
2576
- let renderProps = (Text.$64fa3d84918910a7$export$4d86445c2cf5e3)({
4831
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
2577
4832
  ...props,
2578
4833
  values: {
2579
4834
  isHovered: isHovered,
@@ -2585,7 +4840,7 @@ const $3985021b0ad6602f$export$f5b8910cec6cf069 = /*#__PURE__*/ (Text.$f39a9eba4
2585
4840
  defaultClassName: 'react-aria-Input'
2586
4841
  });
2587
4842
  return /*#__PURE__*/ (React).createElement("input", {
2588
- ...(Text.$3ef42575df84b30b$export$9d1611c77c2fe928)($3985021b0ad6602f$var$filterHoverProps(props), focusProps, hoverProps),
4843
+ ...($3ef42575df84b30b$export$9d1611c77c2fe928)($3985021b0ad6602f$var$filterHoverProps(props), focusProps, hoverProps),
2589
4844
  ...renderProps,
2590
4845
  ref: ref,
2591
4846
  "data-focused": isFocused || undefined,
@@ -2621,24 +4876,24 @@ const $3985021b0ad6602f$export$f5b8910cec6cf069 = /*#__PURE__*/ (Text.$f39a9eba4
2621
4876
  const $b91743d66a0ed188$export$b414a48cf5dcbc11 = /*#__PURE__*/ (React.createContext)(null);
2622
4877
  const $b91743d66a0ed188$export$6cc906c6cff9bec5 = /*#__PURE__*/ (React.createContext)(null);
2623
4878
  const $b91743d66a0ed188$export$63c5fa0b2fdccd2e = /*#__PURE__*/ (React.forwardRef)(function NumberField(props, ref) {
2624
- [props, ref] = (Text.$64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $b91743d66a0ed188$export$b414a48cf5dcbc11);
2625
- let { validationBehavior: formValidationBehavior } = (Text.$64fa3d84918910a7$export$fabf2dc03a41866e)(($d3e0e05bdfcf66bd$export$c24727297075ec6a)) || {};
4879
+ [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $b91743d66a0ed188$export$b414a48cf5dcbc11);
4880
+ let { validationBehavior: formValidationBehavior } = ($64fa3d84918910a7$export$fabf2dc03a41866e)(($d3e0e05bdfcf66bd$export$c24727297075ec6a)) || {};
2626
4881
  var _props_validationBehavior, _ref;
2627
4882
  let validationBehavior = (_ref = (_props_validationBehavior = props.validationBehavior) !== null && _props_validationBehavior !== void 0 ? _props_validationBehavior : formValidationBehavior) !== null && _ref !== void 0 ? _ref : 'native';
2628
- let { locale: locale } = (Text.$18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
4883
+ let { locale: locale } = ($18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
2629
4884
  let state = ($de67e98908f0c6ee$export$7f629e9dc1ecf37c)({
2630
4885
  ...props,
2631
4886
  locale: locale,
2632
4887
  validationBehavior: validationBehavior
2633
4888
  });
2634
4889
  let inputRef = (React.useRef)(null);
2635
- let [labelRef, label] = (Text.$64fa3d84918910a7$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);
4890
+ let [labelRef, label] = ($64fa3d84918910a7$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);
2636
4891
  let { labelProps: labelProps, groupProps: groupProps, inputProps: inputProps, incrementButtonProps: incrementButtonProps, decrementButtonProps: decrementButtonProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, ...validation } = ($81397a9303501bda$export$23f548e970bdf099)({
2637
- ...(Text.$64fa3d84918910a7$export$ef03459518577ad4)(props),
4892
+ ...($64fa3d84918910a7$export$ef03459518577ad4)(props),
2638
4893
  label: label,
2639
4894
  validationBehavior: validationBehavior
2640
4895
  }, state, inputRef);
2641
- let renderProps = (Text.$64fa3d84918910a7$export$4d86445c2cf5e3)({
4896
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
2642
4897
  ...props,
2643
4898
  values: {
2644
4899
  state: state,
@@ -2648,11 +4903,11 @@ const $b91743d66a0ed188$export$63c5fa0b2fdccd2e = /*#__PURE__*/ (React.forwardRe
2648
4903
  },
2649
4904
  defaultClassName: 'react-aria-NumberField'
2650
4905
  });
2651
- let DOMProps = (Text.$65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
4906
+ let DOMProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
2652
4907
  global: true
2653
4908
  });
2654
4909
  delete DOMProps.id;
2655
- return /*#__PURE__*/ (React).createElement((Text.$64fa3d84918910a7$export$2881499e37b75b9a), {
4910
+ return /*#__PURE__*/ (React).createElement(($64fa3d84918910a7$export$2881499e37b75b9a), {
2656
4911
  values: [
2657
4912
  [
2658
4913
  $b91743d66a0ed188$export$6cc906c6cff9bec5,
@@ -2686,7 +4941,7 @@ const $b91743d66a0ed188$export$63c5fa0b2fdccd2e = /*#__PURE__*/ (React.forwardRe
2686
4941
  }
2687
4942
  ],
2688
4943
  [
2689
- (Text.$514c0188e459b4c0$export$9afb8bc826b033ea),
4944
+ ($514c0188e459b4c0$export$9afb8bc826b033ea),
2690
4945
  {
2691
4946
  slots: {
2692
4947
  description: descriptionProps,
@@ -2751,10 +5006,10 @@ const InputNumberRebuilt = React.forwardRef((props, ref) => {
2751
5006
  React.createElement($3985021b0ad6602f$export$f5b8910cec6cf069, Object.assign({ className: styles.input, placeholder: " " // used for CSS minilabel
2752
5007
  , ref: inputRef }, dataAttrs)),
2753
5008
  React.createElement($01b77f81d0f07f68$export$b04be29aa201d4f5, { className: styles.label }, placeholder)))),
2754
- 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))),
5009
+ description && (React.createElement($514c0188e459b4c0$export$5f1af8db9871e1d6, { className: styles.description, elementType: "div", slot: "description" }, stringDescription ? (React.createElement(Text.Text, { size: "small", variation: "subdued" }, description)) : (description))),
2755
5010
  error && (React.createElement($ee014567cb39d3f0$export$f551688fc98f2e09, { className: styles.fieldError },
2756
5011
  React.createElement(Icon.Icon, { color: "critical", name: "alert", size: "small" }),
2757
- React.createElement(Text$1.Text, { size: "small", variation: "error" }, error)))));
5012
+ React.createElement(Text.Text, { size: "small", variation: "error" }, error)))));
2758
5013
  });
2759
5014
  InputNumberRebuilt.displayName = "InputNumberRebuilt";
2760
5015