@eightshift/ui-components 5.0.0 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/Button-BpwTmkAe.js +185 -0
  2. package/dist/Collection-n5d0zIgb.js +2398 -0
  3. package/dist/Color-lVhk8V_G.js +2452 -0
  4. package/dist/ColorSwatch-DntWEAC3.js +64 -0
  5. package/dist/ComboBox-BJpTEATT.js +1915 -0
  6. package/dist/Dialog-O9uw63D7.js +2317 -0
  7. package/dist/FieldError-DHrSdE_Q.js +42 -0
  8. package/dist/FocusScope-BEPI2m7u.js +831 -0
  9. package/dist/Form-Cq3fu75_.js +5 -0
  10. package/dist/Group-DDPhPPTQ.js +48 -0
  11. package/dist/Heading-ba38ScjJ.js +16 -0
  12. package/dist/Hidden-rE6uR-lr.js +41 -0
  13. package/dist/Input-BmDS8Juy.js +133 -0
  14. package/dist/Label-JS_ob-kh.js +17 -0
  15. package/dist/List-CZMUbkFU.js +593 -0
  16. package/dist/ListBox-BTxlCGcc.js +664 -0
  17. package/dist/NumberFormatter-DA8u1Ot7.js +140 -0
  18. package/dist/OverlayArrow-5aDgmImj.js +637 -0
  19. package/dist/RSPContexts-2lR5GG9p.js +14 -0
  20. package/dist/Select-aab027f3.esm-BKIJGje-.js +2469 -0
  21. package/dist/Separator-CaTBkETC.js +332 -0
  22. package/dist/Slider-C-S1oEH9.js +853 -0
  23. package/dist/Text-BuJgePCv.js +16 -0
  24. package/dist/VisuallyHidden-BYi0pekx.js +48 -0
  25. package/dist/_commonjsHelpers-CUmg6egw.js +6 -0
  26. package/dist/assets/index.css +57 -0
  27. package/dist/assets/style-admin.css +5908 -0
  28. package/dist/assets/style-editor.css +5908 -0
  29. package/dist/assets/style.css +5914 -0
  30. package/dist/assets/wp-font-enhancements.css +8 -0
  31. package/dist/assets/wp-ui-enhancements.css +396 -0
  32. package/dist/components/animated-visibility/animated-visibility.js +105 -0
  33. package/dist/components/base-control/base-control.js +86 -0
  34. package/dist/components/breakpoint-preview/breakpoint-preview.js +161 -0
  35. package/dist/components/button/button.js +387 -0
  36. package/dist/components/checkbox/checkbox.js +323 -0
  37. package/dist/components/color-pickers/color-picker.js +272 -0
  38. package/dist/components/color-pickers/color-swatch.js +59 -0
  39. package/dist/components/color-pickers/gradient-editor.js +534 -0
  40. package/dist/components/color-pickers/solid-color-picker.js +1567 -0
  41. package/dist/components/component-toggle/component-toggle.js +161 -0
  42. package/dist/components/container-panel/container-panel.js +131 -0
  43. package/dist/components/draggable/draggable-context.js +5 -0
  44. package/dist/components/draggable/draggable-handle.js +46 -0
  45. package/dist/components/draggable/draggable.js +7320 -0
  46. package/dist/components/draggable-list/draggable-list-context.js +5 -0
  47. package/dist/components/draggable-list/draggable-list-item.js +77 -0
  48. package/dist/components/draggable-list/draggable-list.js +151 -0
  49. package/dist/components/expandable/expandable.js +342 -0
  50. package/dist/components/index.js +137 -0
  51. package/dist/components/input-field/input-field.js +231 -0
  52. package/dist/components/item-collection/item-collection.js +59 -0
  53. package/dist/components/layout/hstack.js +30 -0
  54. package/dist/components/layout/vstack.js +30 -0
  55. package/dist/components/link-input/link-input.js +284 -0
  56. package/dist/components/matrix-align/matrix-align.js +134 -0
  57. package/dist/components/menu/menu.js +285 -0
  58. package/dist/components/modal/modal.js +305 -0
  59. package/dist/components/notice/notice.js +123 -0
  60. package/dist/components/number-picker/number-picker.js +292 -0
  61. package/dist/components/option-select/option-select.js +264 -0
  62. package/dist/components/options-panel/options-panel.js +158 -0
  63. package/dist/components/placeholders/file-placeholder.js +42 -0
  64. package/dist/components/placeholders/image-placeholder.js +88 -0
  65. package/dist/components/placeholders/media-placeholder.js +63 -0
  66. package/dist/components/popover/popover.js +207 -0
  67. package/dist/components/radio/radio.js +582 -0
  68. package/dist/components/repeater/repeater-context.js +5 -0
  69. package/dist/components/repeater/repeater-item.js +119 -0
  70. package/dist/components/repeater/repeater.js +280 -0
  71. package/dist/components/responsive/mini-responsive.js +498 -0
  72. package/dist/components/responsive/responsive-legacy.js +343 -0
  73. package/dist/components/responsive/responsive.js +583 -0
  74. package/dist/components/responsive-preview/responsive-preview.js +123 -0
  75. package/dist/components/rich-label/rich-label.js +66 -0
  76. package/dist/components/select/async-multi-select.js +157 -0
  77. package/dist/components/select/async-single-select.js +137 -0
  78. package/dist/components/select/custom-select-default-components.js +38 -0
  79. package/dist/components/select/multi-select-components.js +8 -0
  80. package/dist/components/select/multi-select.js +151 -0
  81. package/dist/components/select/react-select-component-wrappers.js +90 -0
  82. package/dist/components/select/shared.js +26 -0
  83. package/dist/components/select/single-select.js +131 -0
  84. package/dist/components/select/styles.js +49 -0
  85. package/dist/components/select/v2/async-select.js +297 -0
  86. package/dist/components/select/v2/shared.js +24 -0
  87. package/dist/components/select/v2/single-select.js +1004 -0
  88. package/dist/components/slider/column-config-slider.js +210 -0
  89. package/dist/components/slider/slider.js +345 -0
  90. package/dist/components/slider/utils.js +94 -0
  91. package/dist/components/spacer/spacer.js +97 -0
  92. package/dist/components/tabs/tabs.js +703 -0
  93. package/dist/components/toggle/switch.js +156 -0
  94. package/dist/components/toggle/toggle.js +64 -0
  95. package/dist/components/toggle-button/toggle-button.js +343 -0
  96. package/dist/components/tooltip/tooltip.js +527 -0
  97. package/dist/context-BbYZoHvX.js +92 -0
  98. package/dist/default-i18n-CT_oS1Fy.js +922 -0
  99. package/dist/filterDOMProps-EDDcM64A.js +28 -0
  100. package/dist/icons/block-icon.js +42 -0
  101. package/dist/icons/generic-color-swatch.js +113 -0
  102. package/dist/icons/icons.js +30495 -0
  103. package/dist/icons/index.js +11 -0
  104. package/dist/icons/jsx-svg.js +50 -0
  105. package/dist/index-641ee5b8.esm-BPU8rMZr.js +3137 -0
  106. package/dist/index-BljRBEr_.js +44 -0
  107. package/dist/index-CFozsmNS.js +28321 -0
  108. package/dist/index.js +139 -0
  109. package/dist/lite-DVmmD_-j.js +7 -0
  110. package/dist/modifiers.esm-BuJQPI1X.js +31 -0
  111. package/dist/multi-select-components-Sp-JEFEX.js +3744 -0
  112. package/dist/number-GajL10e1.js +36 -0
  113. package/dist/react-jsx-parser.min-DZCiis5V.js +11753 -0
  114. package/dist/react-select-async.esm-D937XTWW.js +107 -0
  115. package/dist/react-select.esm-Ciai3aKf.js +15 -0
  116. package/dist/style-admin.js +1 -0
  117. package/dist/style-editor.js +1 -0
  118. package/dist/style.js +1 -0
  119. package/dist/textSelection-8DpK8fJl.js +46 -0
  120. package/dist/useButton-Bt3BffJm.js +50 -0
  121. package/dist/useEvent-ICdlokG-.js +23 -0
  122. package/dist/useFocusRing-Bv0UJQl8.js +107 -0
  123. package/dist/useFormReset-D2YaWRIA.js +22 -0
  124. package/dist/useFormValidation-Dy0PXJg5.js +224 -0
  125. package/dist/useHover-C2SkI1Fn.js +895 -0
  126. package/dist/useLabel-BPCd5c7-.js +27 -0
  127. package/dist/useLabels-B7-lUnAF.js +23 -0
  128. package/dist/useListState-DkyH7elT.js +168 -0
  129. package/dist/useLocalizedStringFormatter-C9GO0IDB.js +121 -0
  130. package/dist/useNumberField-CU1_u8ze.js +1215 -0
  131. package/dist/useNumberFormatter-CZ9QUnRt.js +13 -0
  132. package/dist/usePress-BrJylgPR.js +688 -0
  133. package/dist/useSingleSelectListState-C4sorv2p.js +38 -0
  134. package/dist/useToggle-CDa3YAZI.js +59 -0
  135. package/dist/useToggleState-ibcBUHnB.js +19 -0
  136. package/dist/utilities/array-helpers.js +56 -0
  137. package/dist/utilities/debounce-throttle.js +123 -0
  138. package/dist/utilities/es-dash.js +382 -0
  139. package/dist/utilities/index.js +27 -0
  140. package/dist/utilities/text-helpers.js +136 -0
  141. package/dist/utils-CZt7LCbO.js +403 -0
  142. package/dist/wp/wp-font-enhancements.js +1 -0
  143. package/dist/wp/wp-ui-enhancements.js +1 -0
  144. package/package.json +24 -24
@@ -0,0 +1,895 @@
1
+ import React__default, { useRef, useCallback, useEffect, useState, useContext, useMemo } from "react";
2
+ import { k as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c, f as $8ae05eaa5c114e9c$export$7f54fc3180508a52, n as $b5e257d569688ac6$export$535bd6ca7f90a273, l as $df56164dff5785e2$export$4338b53315abf666, d as $3ef42575df84b30b$export$9d1611c77c2fe928 } from "./utils-CZt7LCbO.js";
3
+ const $431fbd86ca7dc216$export$b204af158042fbac = (el) => {
4
+ var _el_ownerDocument;
5
+ return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;
6
+ };
7
+ const $431fbd86ca7dc216$export$f21a1ffae260145a = (el) => {
8
+ if (el && "window" in el && el.window === el) return el;
9
+ const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);
10
+ return doc.defaultView || window;
11
+ };
12
+ function $431fbd86ca7dc216$var$isNode(value) {
13
+ return value !== null && typeof value === "object" && "nodeType" in value && typeof value.nodeType === "number";
14
+ }
15
+ function $431fbd86ca7dc216$export$af51f0f06c0f328a(node) {
16
+ return $431fbd86ca7dc216$var$isNode(node) && node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && "host" in node;
17
+ }
18
+ let $f4e2df6bd15f8569$var$_shadowDOM = false;
19
+ function $f4e2df6bd15f8569$export$98658e8c59125e6a() {
20
+ return $f4e2df6bd15f8569$var$_shadowDOM;
21
+ }
22
+ function $d4ee10de306f2510$export$4282f70798064fe0(node, otherNode) {
23
+ if (!$f4e2df6bd15f8569$export$98658e8c59125e6a()) return otherNode && node ? node.contains(otherNode) : false;
24
+ if (!node || !otherNode) return false;
25
+ let currentNode = otherNode;
26
+ while (currentNode !== null) {
27
+ if (currentNode === node) return true;
28
+ if (currentNode.tagName === "SLOT" && currentNode.assignedSlot)
29
+ currentNode = currentNode.assignedSlot.parentNode;
30
+ else if ($431fbd86ca7dc216$export$af51f0f06c0f328a(currentNode))
31
+ currentNode = currentNode.host;
32
+ else currentNode = currentNode.parentNode;
33
+ }
34
+ return false;
35
+ }
36
+ const $d4ee10de306f2510$export$cd4e5573fbe2b576 = (doc = document) => {
37
+ var _activeElement_shadowRoot;
38
+ if (!$f4e2df6bd15f8569$export$98658e8c59125e6a()) return doc.activeElement;
39
+ let activeElement = doc.activeElement;
40
+ while (activeElement && "shadowRoot" in activeElement && ((_activeElement_shadowRoot = activeElement.shadowRoot) === null || _activeElement_shadowRoot === void 0 ? void 0 : _activeElement_shadowRoot.activeElement)) activeElement = activeElement.shadowRoot.activeElement;
41
+ return activeElement;
42
+ };
43
+ function $d4ee10de306f2510$export$e58f029f0fbfdb29(event) {
44
+ if ($f4e2df6bd15f8569$export$98658e8c59125e6a() && event.target.shadowRoot) {
45
+ if (event.composedPath) return event.composedPath()[0];
46
+ }
47
+ return event.target;
48
+ }
49
+ function $7215afc6de606d6b$export$de79e2c695e052f3(element) {
50
+ if ($7215afc6de606d6b$var$supportsPreventScroll()) element.focus({
51
+ preventScroll: true
52
+ });
53
+ else {
54
+ let scrollableElements = $7215afc6de606d6b$var$getScrollableElements(element);
55
+ element.focus();
56
+ $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements);
57
+ }
58
+ }
59
+ let $7215afc6de606d6b$var$supportsPreventScrollCached = null;
60
+ function $7215afc6de606d6b$var$supportsPreventScroll() {
61
+ if ($7215afc6de606d6b$var$supportsPreventScrollCached == null) {
62
+ $7215afc6de606d6b$var$supportsPreventScrollCached = false;
63
+ try {
64
+ let focusElem = document.createElement("div");
65
+ focusElem.focus({
66
+ get preventScroll() {
67
+ $7215afc6de606d6b$var$supportsPreventScrollCached = true;
68
+ return true;
69
+ }
70
+ });
71
+ } catch {
72
+ }
73
+ }
74
+ return $7215afc6de606d6b$var$supportsPreventScrollCached;
75
+ }
76
+ function $7215afc6de606d6b$var$getScrollableElements(element) {
77
+ let parent = element.parentNode;
78
+ let scrollableElements = [];
79
+ let rootScrollingElement = document.scrollingElement || document.documentElement;
80
+ while (parent instanceof HTMLElement && parent !== rootScrollingElement) {
81
+ if (parent.offsetHeight < parent.scrollHeight || parent.offsetWidth < parent.scrollWidth) scrollableElements.push({
82
+ element: parent,
83
+ scrollTop: parent.scrollTop,
84
+ scrollLeft: parent.scrollLeft
85
+ });
86
+ parent = parent.parentNode;
87
+ }
88
+ if (rootScrollingElement instanceof HTMLElement) scrollableElements.push({
89
+ element: rootScrollingElement,
90
+ scrollTop: rootScrollingElement.scrollTop,
91
+ scrollLeft: rootScrollingElement.scrollLeft
92
+ });
93
+ return scrollableElements;
94
+ }
95
+ function $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements) {
96
+ for (let { element, scrollTop, scrollLeft } of scrollableElements) {
97
+ element.scrollTop = scrollTop;
98
+ element.scrollLeft = scrollLeft;
99
+ }
100
+ }
101
+ function $c87311424ea30a05$var$testUserAgent(re) {
102
+ var _window_navigator_userAgentData;
103
+ if (typeof window === "undefined" || window.navigator == null) return false;
104
+ return ((_window_navigator_userAgentData = window.navigator["userAgentData"]) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands.some((brand) => re.test(brand.brand))) || re.test(window.navigator.userAgent);
105
+ }
106
+ function $c87311424ea30a05$var$testPlatform(re) {
107
+ var _window_navigator_userAgentData;
108
+ 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;
109
+ }
110
+ function $c87311424ea30a05$var$cached(fn) {
111
+ if (process.env.NODE_ENV === "test") return fn;
112
+ let res = null;
113
+ return () => {
114
+ if (res == null) res = fn();
115
+ return res;
116
+ };
117
+ }
118
+ const $c87311424ea30a05$export$9ac100e40613ea10 = $c87311424ea30a05$var$cached(function() {
119
+ return $c87311424ea30a05$var$testPlatform(/^Mac/i);
120
+ });
121
+ const $c87311424ea30a05$export$186c6964ca17d99 = $c87311424ea30a05$var$cached(function() {
122
+ return $c87311424ea30a05$var$testPlatform(/^iPhone/i);
123
+ });
124
+ const $c87311424ea30a05$export$7bef049ce92e4224 = $c87311424ea30a05$var$cached(function() {
125
+ return $c87311424ea30a05$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.
126
+ $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;
127
+ });
128
+ const $c87311424ea30a05$export$fedb369cb70207f1 = $c87311424ea30a05$var$cached(function() {
129
+ return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();
130
+ });
131
+ const $c87311424ea30a05$export$e1865c3bedcd822b = $c87311424ea30a05$var$cached(function() {
132
+ return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();
133
+ });
134
+ const $c87311424ea30a05$export$78551043582a6a98 = $c87311424ea30a05$var$cached(function() {
135
+ return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();
136
+ });
137
+ const $c87311424ea30a05$export$6446a186d09e379e = $c87311424ea30a05$var$cached(function() {
138
+ return $c87311424ea30a05$var$testUserAgent(/Chrome/i);
139
+ });
140
+ const $c87311424ea30a05$export$a11b0059900ceec8 = $c87311424ea30a05$var$cached(function() {
141
+ return $c87311424ea30a05$var$testUserAgent(/Android/i);
142
+ });
143
+ const $c87311424ea30a05$export$b7d78993b74f766d = $c87311424ea30a05$var$cached(function() {
144
+ return $c87311424ea30a05$var$testUserAgent(/Firefox/i);
145
+ });
146
+ let $bbed8b41f857bcc0$var$transitionsByElement = /* @__PURE__ */ new Map();
147
+ let $bbed8b41f857bcc0$var$transitionCallbacks = /* @__PURE__ */ new Set();
148
+ function $bbed8b41f857bcc0$var$setupGlobalEvents() {
149
+ if (typeof window === "undefined") return;
150
+ function isTransitionEvent(event) {
151
+ return "propertyName" in event;
152
+ }
153
+ let onTransitionStart = (e) => {
154
+ if (!isTransitionEvent(e) || !e.target) return;
155
+ let transitions = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);
156
+ if (!transitions) {
157
+ transitions = /* @__PURE__ */ new Set();
158
+ $bbed8b41f857bcc0$var$transitionsByElement.set(e.target, transitions);
159
+ e.target.addEventListener("transitioncancel", onTransitionEnd, {
160
+ once: true
161
+ });
162
+ }
163
+ transitions.add(e.propertyName);
164
+ };
165
+ let onTransitionEnd = (e) => {
166
+ if (!isTransitionEvent(e) || !e.target) return;
167
+ let properties = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);
168
+ if (!properties) return;
169
+ properties.delete(e.propertyName);
170
+ if (properties.size === 0) {
171
+ e.target.removeEventListener("transitioncancel", onTransitionEnd);
172
+ $bbed8b41f857bcc0$var$transitionsByElement.delete(e.target);
173
+ }
174
+ if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) {
175
+ for (let cb of $bbed8b41f857bcc0$var$transitionCallbacks) cb();
176
+ $bbed8b41f857bcc0$var$transitionCallbacks.clear();
177
+ }
178
+ };
179
+ document.body.addEventListener("transitionrun", onTransitionStart);
180
+ document.body.addEventListener("transitionend", onTransitionEnd);
181
+ }
182
+ if (typeof document !== "undefined") {
183
+ if (document.readyState !== "loading") $bbed8b41f857bcc0$var$setupGlobalEvents();
184
+ else document.addEventListener("DOMContentLoaded", $bbed8b41f857bcc0$var$setupGlobalEvents);
185
+ }
186
+ function $bbed8b41f857bcc0$var$cleanupDetachedElements() {
187
+ for (const [eventTarget] of $bbed8b41f857bcc0$var$transitionsByElement)
188
+ if ("isConnected" in eventTarget && !eventTarget.isConnected) $bbed8b41f857bcc0$var$transitionsByElement.delete(eventTarget);
189
+ }
190
+ function $bbed8b41f857bcc0$export$24490316f764c430(fn) {
191
+ requestAnimationFrame(() => {
192
+ $bbed8b41f857bcc0$var$cleanupDetachedElements();
193
+ if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) fn();
194
+ else $bbed8b41f857bcc0$var$transitionCallbacks.add(fn);
195
+ });
196
+ }
197
+ function $03deb23ff14920c4$export$4eaf04e54aa8eed6() {
198
+ let globalListeners = useRef(/* @__PURE__ */ new Map());
199
+ let addGlobalListener = useCallback((eventTarget, type, listener, options) => {
200
+ let fn = (options === null || options === void 0 ? void 0 : options.once) ? (...args) => {
201
+ globalListeners.current.delete(listener);
202
+ listener(...args);
203
+ } : listener;
204
+ globalListeners.current.set(listener, {
205
+ type,
206
+ eventTarget,
207
+ fn,
208
+ options
209
+ });
210
+ eventTarget.addEventListener(type, fn, options);
211
+ }, []);
212
+ let removeGlobalListener = useCallback((eventTarget, type, listener, options) => {
213
+ var _globalListeners_current_get;
214
+ let fn = ((_globalListeners_current_get = globalListeners.current.get(listener)) === null || _globalListeners_current_get === void 0 ? void 0 : _globalListeners_current_get.fn) || listener;
215
+ eventTarget.removeEventListener(type, fn, options);
216
+ globalListeners.current.delete(listener);
217
+ }, []);
218
+ let removeAllGlobalListeners = useCallback(() => {
219
+ globalListeners.current.forEach((value, key) => {
220
+ removeGlobalListener(value.eventTarget, value.type, key, value.options);
221
+ });
222
+ }, [
223
+ removeGlobalListener
224
+ ]);
225
+ useEffect(() => {
226
+ return removeAllGlobalListeners;
227
+ }, [
228
+ removeAllGlobalListeners
229
+ ]);
230
+ return {
231
+ addGlobalListener,
232
+ removeGlobalListener,
233
+ removeAllGlobalListeners
234
+ };
235
+ }
236
+ function $e7801be82b4b2a53$export$4debdb1a3f0fa79e(context, ref) {
237
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
238
+ if (context && context.ref && ref) {
239
+ context.ref.current = ref.current;
240
+ return () => {
241
+ if (context.ref) context.ref.current = null;
242
+ };
243
+ }
244
+ });
245
+ }
246
+ function $6a7db85432448f7f$export$60278871457622de(event) {
247
+ if (event.mozInputSource === 0 && event.isTrusted) return true;
248
+ if ($c87311424ea30a05$export$a11b0059900ceec8() && event.pointerType) return event.type === "click" && event.buttons === 1;
249
+ return event.detail === 0 && !event.pointerType;
250
+ }
251
+ function $6a7db85432448f7f$export$29bf1b5f2c56cf63(event) {
252
+ return !$c87311424ea30a05$export$a11b0059900ceec8() && event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "mouse";
253
+ }
254
+ const $b4b717babfbb907b$var$focusableElements = [
255
+ "input:not([disabled]):not([type=hidden])",
256
+ "select:not([disabled])",
257
+ "textarea:not([disabled])",
258
+ "button:not([disabled])",
259
+ "a[href]",
260
+ "area[href]",
261
+ "summary",
262
+ "iframe",
263
+ "object",
264
+ "embed",
265
+ "audio[controls]",
266
+ "video[controls]",
267
+ '[contenteditable]:not([contenteditable^="false"])'
268
+ ];
269
+ const $b4b717babfbb907b$var$FOCUSABLE_ELEMENT_SELECTOR = $b4b717babfbb907b$var$focusableElements.join(":not([hidden]),") + ",[tabindex]:not([disabled]):not([hidden])";
270
+ $b4b717babfbb907b$var$focusableElements.push('[tabindex]:not([tabindex="-1"]):not([disabled])');
271
+ const $b4b717babfbb907b$var$TABBABLE_ELEMENT_SELECTOR = $b4b717babfbb907b$var$focusableElements.join(':not([hidden]):not([tabindex="-1"]),');
272
+ function $b4b717babfbb907b$export$4c063cf1350e6fed(element) {
273
+ return element.matches($b4b717babfbb907b$var$FOCUSABLE_ELEMENT_SELECTOR);
274
+ }
275
+ function $b4b717babfbb907b$export$bebd5a1431fec25d(element) {
276
+ return element.matches($b4b717babfbb907b$var$TABBABLE_ELEMENT_SELECTOR);
277
+ }
278
+ function $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange) {
279
+ let [stateValue, setStateValue] = useState(value || defaultValue);
280
+ let isControlledRef = useRef(value !== void 0);
281
+ let isControlled = value !== void 0;
282
+ useEffect(() => {
283
+ let wasControlled = isControlledRef.current;
284
+ if (wasControlled !== isControlled && process.env.NODE_ENV !== "production") console.warn(`WARN: A component changed from ${wasControlled ? "controlled" : "uncontrolled"} to ${isControlled ? "controlled" : "uncontrolled"}.`);
285
+ isControlledRef.current = isControlled;
286
+ }, [
287
+ isControlled
288
+ ]);
289
+ let currentValue = isControlled ? value : stateValue;
290
+ let setValue = useCallback((value2, ...args) => {
291
+ let onChangeCaller = (value3, ...onChangeArgs) => {
292
+ if (onChange) {
293
+ if (!Object.is(currentValue, value3)) onChange(value3, ...onChangeArgs);
294
+ }
295
+ if (!isControlled)
296
+ currentValue = value3;
297
+ };
298
+ if (typeof value2 === "function") {
299
+ 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");
300
+ let updateFunction = (oldValue, ...functionArgs) => {
301
+ let interceptedValue = value2(isControlled ? currentValue : oldValue, ...functionArgs);
302
+ onChangeCaller(interceptedValue, ...args);
303
+ if (!isControlled) return interceptedValue;
304
+ return oldValue;
305
+ };
306
+ setStateValue(updateFunction);
307
+ } else {
308
+ if (!isControlled) setStateValue(value2);
309
+ onChangeCaller(value2, ...args);
310
+ }
311
+ }, [
312
+ isControlled,
313
+ currentValue,
314
+ onChange
315
+ ]);
316
+ return [
317
+ currentValue,
318
+ setValue
319
+ ];
320
+ }
321
+ function $8a9cb279dc87e130$export$525bc4921d56d4a(nativeEvent) {
322
+ let event = nativeEvent;
323
+ event.nativeEvent = nativeEvent;
324
+ event.isDefaultPrevented = () => event.defaultPrevented;
325
+ event.isPropagationStopped = () => event.cancelBubble;
326
+ event.persist = () => {
327
+ };
328
+ return event;
329
+ }
330
+ function $8a9cb279dc87e130$export$c2b7abe5d61ec696(event, target) {
331
+ Object.defineProperty(event, "target", {
332
+ value: target
333
+ });
334
+ Object.defineProperty(event, "currentTarget", {
335
+ value: target
336
+ });
337
+ }
338
+ function $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {
339
+ let stateRef = useRef({
340
+ isFocused: false,
341
+ observer: null
342
+ });
343
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
344
+ const state = stateRef.current;
345
+ return () => {
346
+ if (state.observer) {
347
+ state.observer.disconnect();
348
+ state.observer = null;
349
+ }
350
+ };
351
+ }, []);
352
+ let dispatchBlur = $8ae05eaa5c114e9c$export$7f54fc3180508a52((e) => {
353
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
354
+ });
355
+ return useCallback((e) => {
356
+ if (e.target instanceof HTMLButtonElement || e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement) {
357
+ stateRef.current.isFocused = true;
358
+ let target = e.target;
359
+ let onBlurHandler = (e2) => {
360
+ stateRef.current.isFocused = false;
361
+ if (target.disabled) {
362
+ let event = $8a9cb279dc87e130$export$525bc4921d56d4a(e2);
363
+ dispatchBlur(event);
364
+ }
365
+ if (stateRef.current.observer) {
366
+ stateRef.current.observer.disconnect();
367
+ stateRef.current.observer = null;
368
+ }
369
+ };
370
+ target.addEventListener("focusout", onBlurHandler, {
371
+ once: true
372
+ });
373
+ stateRef.current.observer = new MutationObserver(() => {
374
+ if (stateRef.current.isFocused && target.disabled) {
375
+ var _stateRef_current_observer;
376
+ (_stateRef_current_observer = stateRef.current.observer) === null || _stateRef_current_observer === void 0 ? void 0 : _stateRef_current_observer.disconnect();
377
+ let relatedTargetEl = target === document.activeElement ? null : document.activeElement;
378
+ target.dispatchEvent(new FocusEvent("blur", {
379
+ relatedTarget: relatedTargetEl
380
+ }));
381
+ target.dispatchEvent(new FocusEvent("focusout", {
382
+ bubbles: true,
383
+ relatedTarget: relatedTargetEl
384
+ }));
385
+ }
386
+ });
387
+ stateRef.current.observer.observe(target, {
388
+ attributes: true,
389
+ attributeFilter: [
390
+ "disabled"
391
+ ]
392
+ });
393
+ }
394
+ }, [
395
+ dispatchBlur
396
+ ]);
397
+ }
398
+ let $8a9cb279dc87e130$export$fda7da73ab5d4c48 = false;
399
+ function $8a9cb279dc87e130$export$cabe61c495ee3649(target) {
400
+ while (target && !$b4b717babfbb907b$export$4c063cf1350e6fed(target)) target = target.parentElement;
401
+ let window2 = $431fbd86ca7dc216$export$f21a1ffae260145a(target);
402
+ let activeElement = window2.document.activeElement;
403
+ if (!activeElement || activeElement === target) return;
404
+ $8a9cb279dc87e130$export$fda7da73ab5d4c48 = true;
405
+ let isRefocusing = false;
406
+ let onBlur = (e) => {
407
+ if (e.target === activeElement || isRefocusing) e.stopImmediatePropagation();
408
+ };
409
+ let onFocusOut = (e) => {
410
+ if (e.target === activeElement || isRefocusing) {
411
+ e.stopImmediatePropagation();
412
+ if (!target && !isRefocusing) {
413
+ isRefocusing = true;
414
+ $7215afc6de606d6b$export$de79e2c695e052f3(activeElement);
415
+ cleanup();
416
+ }
417
+ }
418
+ };
419
+ let onFocus = (e) => {
420
+ if (e.target === target || isRefocusing) e.stopImmediatePropagation();
421
+ };
422
+ let onFocusIn = (e) => {
423
+ if (e.target === target || isRefocusing) {
424
+ e.stopImmediatePropagation();
425
+ if (!isRefocusing) {
426
+ isRefocusing = true;
427
+ $7215afc6de606d6b$export$de79e2c695e052f3(activeElement);
428
+ cleanup();
429
+ }
430
+ }
431
+ };
432
+ window2.addEventListener("blur", onBlur, true);
433
+ window2.addEventListener("focusout", onFocusOut, true);
434
+ window2.addEventListener("focusin", onFocusIn, true);
435
+ window2.addEventListener("focus", onFocus, true);
436
+ let cleanup = () => {
437
+ cancelAnimationFrame(raf);
438
+ window2.removeEventListener("blur", onBlur, true);
439
+ window2.removeEventListener("focusout", onFocusOut, true);
440
+ window2.removeEventListener("focusin", onFocusIn, true);
441
+ window2.removeEventListener("focus", onFocus, true);
442
+ $8a9cb279dc87e130$export$fda7da73ab5d4c48 = false;
443
+ isRefocusing = false;
444
+ };
445
+ let raf = requestAnimationFrame(cleanup);
446
+ return cleanup;
447
+ }
448
+ let $507fabe10e71c6fb$var$currentModality = null;
449
+ let $507fabe10e71c6fb$var$changeHandlers = /* @__PURE__ */ new Set();
450
+ let $507fabe10e71c6fb$export$d90243b58daecda7 = /* @__PURE__ */ new Map();
451
+ let $507fabe10e71c6fb$var$hasEventBeforeFocus = false;
452
+ let $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;
453
+ const $507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS = {
454
+ Tab: true,
455
+ Escape: true
456
+ };
457
+ function $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {
458
+ for (let handler of $507fabe10e71c6fb$var$changeHandlers) handler(modality, e);
459
+ }
460
+ function $507fabe10e71c6fb$var$isValidKey(e) {
461
+ return !(e.metaKey || !$c87311424ea30a05$export$9ac100e40613ea10() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
462
+ }
463
+ function $507fabe10e71c6fb$var$handleKeyboardEvent(e) {
464
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = true;
465
+ if ($507fabe10e71c6fb$var$isValidKey(e)) {
466
+ $507fabe10e71c6fb$var$currentModality = "keyboard";
467
+ $507fabe10e71c6fb$var$triggerChangeHandlers("keyboard", e);
468
+ }
469
+ }
470
+ function $507fabe10e71c6fb$var$handlePointerEvent(e) {
471
+ $507fabe10e71c6fb$var$currentModality = "pointer";
472
+ if (e.type === "mousedown" || e.type === "pointerdown") {
473
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = true;
474
+ $507fabe10e71c6fb$var$triggerChangeHandlers("pointer", e);
475
+ }
476
+ }
477
+ function $507fabe10e71c6fb$var$handleClickEvent(e) {
478
+ if ($6a7db85432448f7f$export$60278871457622de(e)) {
479
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = true;
480
+ $507fabe10e71c6fb$var$currentModality = "virtual";
481
+ }
482
+ }
483
+ function $507fabe10e71c6fb$var$handleFocusEvent(e) {
484
+ if (e.target === window || e.target === document || $8a9cb279dc87e130$export$fda7da73ab5d4c48 || !e.isTrusted) return;
485
+ if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {
486
+ $507fabe10e71c6fb$var$currentModality = "virtual";
487
+ $507fabe10e71c6fb$var$triggerChangeHandlers("virtual", e);
488
+ }
489
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = false;
490
+ $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;
491
+ }
492
+ function $507fabe10e71c6fb$var$handleWindowBlur() {
493
+ if ($8a9cb279dc87e130$export$fda7da73ab5d4c48) return;
494
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = false;
495
+ $507fabe10e71c6fb$var$hasBlurredWindowRecently = true;
496
+ }
497
+ function $507fabe10e71c6fb$var$setupGlobalFocusEvents(element) {
498
+ if (typeof window === "undefined" || typeof document === "undefined" || $507fabe10e71c6fb$export$d90243b58daecda7.get($431fbd86ca7dc216$export$f21a1ffae260145a(element))) return;
499
+ const windowObject = $431fbd86ca7dc216$export$f21a1ffae260145a(element);
500
+ const documentObject = $431fbd86ca7dc216$export$b204af158042fbac(element);
501
+ let focus = windowObject.HTMLElement.prototype.focus;
502
+ windowObject.HTMLElement.prototype.focus = function() {
503
+ $507fabe10e71c6fb$var$hasEventBeforeFocus = true;
504
+ focus.apply(this, arguments);
505
+ };
506
+ documentObject.addEventListener("keydown", $507fabe10e71c6fb$var$handleKeyboardEvent, true);
507
+ documentObject.addEventListener("keyup", $507fabe10e71c6fb$var$handleKeyboardEvent, true);
508
+ documentObject.addEventListener("click", $507fabe10e71c6fb$var$handleClickEvent, true);
509
+ windowObject.addEventListener("focus", $507fabe10e71c6fb$var$handleFocusEvent, true);
510
+ windowObject.addEventListener("blur", $507fabe10e71c6fb$var$handleWindowBlur, false);
511
+ if (typeof PointerEvent !== "undefined") {
512
+ documentObject.addEventListener("pointerdown", $507fabe10e71c6fb$var$handlePointerEvent, true);
513
+ documentObject.addEventListener("pointermove", $507fabe10e71c6fb$var$handlePointerEvent, true);
514
+ documentObject.addEventListener("pointerup", $507fabe10e71c6fb$var$handlePointerEvent, true);
515
+ } else if (process.env.NODE_ENV === "test") {
516
+ documentObject.addEventListener("mousedown", $507fabe10e71c6fb$var$handlePointerEvent, true);
517
+ documentObject.addEventListener("mousemove", $507fabe10e71c6fb$var$handlePointerEvent, true);
518
+ documentObject.addEventListener("mouseup", $507fabe10e71c6fb$var$handlePointerEvent, true);
519
+ }
520
+ windowObject.addEventListener("beforeunload", () => {
521
+ $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element);
522
+ }, {
523
+ once: true
524
+ });
525
+ $507fabe10e71c6fb$export$d90243b58daecda7.set(windowObject, {
526
+ focus
527
+ });
528
+ }
529
+ const $507fabe10e71c6fb$var$tearDownWindowFocusTracking = (element, loadListener) => {
530
+ const windowObject = $431fbd86ca7dc216$export$f21a1ffae260145a(element);
531
+ const documentObject = $431fbd86ca7dc216$export$b204af158042fbac(element);
532
+ if (loadListener) documentObject.removeEventListener("DOMContentLoaded", loadListener);
533
+ if (!$507fabe10e71c6fb$export$d90243b58daecda7.has(windowObject)) return;
534
+ windowObject.HTMLElement.prototype.focus = $507fabe10e71c6fb$export$d90243b58daecda7.get(windowObject).focus;
535
+ documentObject.removeEventListener("keydown", $507fabe10e71c6fb$var$handleKeyboardEvent, true);
536
+ documentObject.removeEventListener("keyup", $507fabe10e71c6fb$var$handleKeyboardEvent, true);
537
+ documentObject.removeEventListener("click", $507fabe10e71c6fb$var$handleClickEvent, true);
538
+ windowObject.removeEventListener("focus", $507fabe10e71c6fb$var$handleFocusEvent, true);
539
+ windowObject.removeEventListener("blur", $507fabe10e71c6fb$var$handleWindowBlur, false);
540
+ if (typeof PointerEvent !== "undefined") {
541
+ documentObject.removeEventListener("pointerdown", $507fabe10e71c6fb$var$handlePointerEvent, true);
542
+ documentObject.removeEventListener("pointermove", $507fabe10e71c6fb$var$handlePointerEvent, true);
543
+ documentObject.removeEventListener("pointerup", $507fabe10e71c6fb$var$handlePointerEvent, true);
544
+ } else if (process.env.NODE_ENV === "test") {
545
+ documentObject.removeEventListener("mousedown", $507fabe10e71c6fb$var$handlePointerEvent, true);
546
+ documentObject.removeEventListener("mousemove", $507fabe10e71c6fb$var$handlePointerEvent, true);
547
+ documentObject.removeEventListener("mouseup", $507fabe10e71c6fb$var$handlePointerEvent, true);
548
+ }
549
+ $507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);
550
+ };
551
+ function $507fabe10e71c6fb$export$2f1888112f558a7d(element) {
552
+ const documentObject = $431fbd86ca7dc216$export$b204af158042fbac(element);
553
+ let loadListener;
554
+ if (documentObject.readyState !== "loading") $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);
555
+ else {
556
+ loadListener = () => {
557
+ $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);
558
+ };
559
+ documentObject.addEventListener("DOMContentLoaded", loadListener);
560
+ }
561
+ return () => $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element, loadListener);
562
+ }
563
+ if (typeof document !== "undefined") $507fabe10e71c6fb$export$2f1888112f558a7d();
564
+ function $507fabe10e71c6fb$export$b9b3dfddab17db27() {
565
+ return $507fabe10e71c6fb$var$currentModality !== "pointer";
566
+ }
567
+ function $507fabe10e71c6fb$export$630ff653c5ada6a9() {
568
+ return $507fabe10e71c6fb$var$currentModality;
569
+ }
570
+ function $507fabe10e71c6fb$export$8397ddfc504fdb9a(modality) {
571
+ $507fabe10e71c6fb$var$currentModality = modality;
572
+ $507fabe10e71c6fb$var$triggerChangeHandlers(modality, null);
573
+ }
574
+ function $507fabe10e71c6fb$export$98e20ec92f614cfe() {
575
+ $507fabe10e71c6fb$var$setupGlobalFocusEvents();
576
+ let [modality, setModality] = useState($507fabe10e71c6fb$var$currentModality);
577
+ useEffect(() => {
578
+ let handler = () => {
579
+ setModality($507fabe10e71c6fb$var$currentModality);
580
+ };
581
+ $507fabe10e71c6fb$var$changeHandlers.add(handler);
582
+ return () => {
583
+ $507fabe10e71c6fb$var$changeHandlers.delete(handler);
584
+ };
585
+ }, []);
586
+ return $b5e257d569688ac6$export$535bd6ca7f90a273() ? null : modality;
587
+ }
588
+ const $507fabe10e71c6fb$var$nonTextInputTypes = /* @__PURE__ */ new Set([
589
+ "checkbox",
590
+ "radio",
591
+ "range",
592
+ "color",
593
+ "file",
594
+ "image",
595
+ "button",
596
+ "submit",
597
+ "reset"
598
+ ]);
599
+ function $507fabe10e71c6fb$var$isKeyboardFocusEvent(isTextInput, modality, e) {
600
+ let document1 = $431fbd86ca7dc216$export$b204af158042fbac(e === null || e === void 0 ? void 0 : e.target);
601
+ const IHTMLInputElement = typeof window !== "undefined" ? $431fbd86ca7dc216$export$f21a1ffae260145a(e === null || e === void 0 ? void 0 : e.target).HTMLInputElement : HTMLInputElement;
602
+ const IHTMLTextAreaElement = typeof window !== "undefined" ? $431fbd86ca7dc216$export$f21a1ffae260145a(e === null || e === void 0 ? void 0 : e.target).HTMLTextAreaElement : HTMLTextAreaElement;
603
+ const IHTMLElement = typeof window !== "undefined" ? $431fbd86ca7dc216$export$f21a1ffae260145a(e === null || e === void 0 ? void 0 : e.target).HTMLElement : HTMLElement;
604
+ const IKeyboardEvent = typeof window !== "undefined" ? $431fbd86ca7dc216$export$f21a1ffae260145a(e === null || e === void 0 ? void 0 : e.target).KeyboardEvent : KeyboardEvent;
605
+ isTextInput = isTextInput || document1.activeElement instanceof IHTMLInputElement && !$507fabe10e71c6fb$var$nonTextInputTypes.has(document1.activeElement.type) || document1.activeElement instanceof IHTMLTextAreaElement || document1.activeElement instanceof IHTMLElement && document1.activeElement.isContentEditable;
606
+ return !(isTextInput && modality === "keyboard" && e instanceof IKeyboardEvent && !$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);
607
+ }
608
+ function $507fabe10e71c6fb$export$ec71b4b83ac08ec3(fn, deps, opts) {
609
+ $507fabe10e71c6fb$var$setupGlobalFocusEvents();
610
+ useEffect(() => {
611
+ let handler = (modality, e) => {
612
+ if (!$507fabe10e71c6fb$var$isKeyboardFocusEvent(!!(opts === null || opts === void 0 ? void 0 : opts.isTextInput), modality, e)) return;
613
+ fn($507fabe10e71c6fb$export$b9b3dfddab17db27());
614
+ };
615
+ $507fabe10e71c6fb$var$changeHandlers.add(handler);
616
+ return () => {
617
+ $507fabe10e71c6fb$var$changeHandlers.delete(handler);
618
+ };
619
+ }, deps);
620
+ }
621
+ function $3ad3f6e1647bc98d$export$80f3e147d781571c(element) {
622
+ const ownerDocument = $431fbd86ca7dc216$export$b204af158042fbac(element);
623
+ const activeElement = $d4ee10de306f2510$export$cd4e5573fbe2b576(ownerDocument);
624
+ if ($507fabe10e71c6fb$export$630ff653c5ada6a9() === "virtual") {
625
+ let lastFocusedElement = activeElement;
626
+ $bbed8b41f857bcc0$export$24490316f764c430(() => {
627
+ if ($d4ee10de306f2510$export$cd4e5573fbe2b576(ownerDocument) === lastFocusedElement && element.isConnected) $7215afc6de606d6b$export$de79e2c695e052f3(element);
628
+ });
629
+ } else $7215afc6de606d6b$export$de79e2c695e052f3(element);
630
+ }
631
+ function $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {
632
+ let { isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange } = props;
633
+ const onBlur = useCallback((e) => {
634
+ if (e.target === e.currentTarget) {
635
+ if (onBlurProp) onBlurProp(e);
636
+ if (onFocusChange) onFocusChange(false);
637
+ return true;
638
+ }
639
+ }, [
640
+ onBlurProp,
641
+ onFocusChange
642
+ ]);
643
+ const onSyntheticFocus = $8a9cb279dc87e130$export$715c682d09d639cc(onBlur);
644
+ const onFocus = useCallback((e) => {
645
+ const ownerDocument = $431fbd86ca7dc216$export$b204af158042fbac(e.target);
646
+ const activeElement = ownerDocument ? $d4ee10de306f2510$export$cd4e5573fbe2b576(ownerDocument) : $d4ee10de306f2510$export$cd4e5573fbe2b576();
647
+ if (e.target === e.currentTarget && activeElement === $d4ee10de306f2510$export$e58f029f0fbfdb29(e.nativeEvent)) {
648
+ if (onFocusProp) onFocusProp(e);
649
+ if (onFocusChange) onFocusChange(true);
650
+ onSyntheticFocus(e);
651
+ }
652
+ }, [
653
+ onFocusChange,
654
+ onFocusProp,
655
+ onSyntheticFocus
656
+ ]);
657
+ return {
658
+ focusProps: {
659
+ onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : void 0,
660
+ onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : void 0
661
+ }
662
+ };
663
+ }
664
+ function $93925083ecbb358c$export$48d1ea6320830260(handler) {
665
+ if (!handler) return void 0;
666
+ let shouldStopPropagation = true;
667
+ return (e) => {
668
+ let event = {
669
+ ...e,
670
+ preventDefault() {
671
+ e.preventDefault();
672
+ },
673
+ isDefaultPrevented() {
674
+ return e.isDefaultPrevented();
675
+ },
676
+ stopPropagation() {
677
+ 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.");
678
+ else shouldStopPropagation = true;
679
+ },
680
+ continuePropagation() {
681
+ shouldStopPropagation = false;
682
+ },
683
+ isPropagationStopped() {
684
+ return shouldStopPropagation;
685
+ }
686
+ };
687
+ handler(event);
688
+ if (shouldStopPropagation) e.stopPropagation();
689
+ };
690
+ }
691
+ function $46d819fcbaf35654$export$8f71654801c2f7cd(props) {
692
+ return {
693
+ keyboardProps: props.isDisabled ? {} : {
694
+ onKeyDown: $93925083ecbb358c$export$48d1ea6320830260(props.onKeyDown),
695
+ onKeyUp: $93925083ecbb358c$export$48d1ea6320830260(props.onKeyUp)
696
+ }
697
+ };
698
+ }
699
+ let $f645667febf57a63$export$f9762fab77588ecb = /* @__PURE__ */ React__default.createContext(null);
700
+ function $f645667febf57a63$var$useFocusableContext(ref) {
701
+ let context = useContext($f645667febf57a63$export$f9762fab77588ecb) || {};
702
+ $e7801be82b4b2a53$export$4debdb1a3f0fa79e(context, ref);
703
+ let { ref: _, ...otherProps } = context;
704
+ return otherProps;
705
+ }
706
+ const $f645667febf57a63$export$13f3202a3e5ddd5 = /* @__PURE__ */ React__default.forwardRef(function FocusableProvider(props, ref) {
707
+ let { children, ...otherProps } = props;
708
+ let objRef = $df56164dff5785e2$export$4338b53315abf666(ref);
709
+ let context = {
710
+ ...otherProps,
711
+ ref: objRef
712
+ };
713
+ return /* @__PURE__ */ React__default.createElement($f645667febf57a63$export$f9762fab77588ecb.Provider, {
714
+ value: context
715
+ }, children);
716
+ });
717
+ function $f645667febf57a63$export$4c014de7c8940b4c(props, domRef) {
718
+ let { focusProps } = $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props);
719
+ let { keyboardProps } = $46d819fcbaf35654$export$8f71654801c2f7cd(props);
720
+ let interactions = $3ef42575df84b30b$export$9d1611c77c2fe928(focusProps, keyboardProps);
721
+ let domProps = $f645667febf57a63$var$useFocusableContext(domRef);
722
+ let interactionProps = props.isDisabled ? {} : domProps;
723
+ let autoFocusRef = useRef(props.autoFocus);
724
+ useEffect(() => {
725
+ if (autoFocusRef.current && domRef.current) $3ad3f6e1647bc98d$export$80f3e147d781571c(domRef.current);
726
+ autoFocusRef.current = false;
727
+ }, [
728
+ domRef
729
+ ]);
730
+ let tabIndex = props.excludeFromTabOrder ? -1 : 0;
731
+ if (props.isDisabled) tabIndex = void 0;
732
+ return {
733
+ focusableProps: $3ef42575df84b30b$export$9d1611c77c2fe928({
734
+ ...interactions,
735
+ tabIndex
736
+ }, interactionProps)
737
+ };
738
+ }
739
+ let $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;
740
+ let $6179b936705e76d3$var$hoverCount = 0;
741
+ function $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {
742
+ $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;
743
+ setTimeout(() => {
744
+ $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;
745
+ }, 50);
746
+ }
747
+ function $6179b936705e76d3$var$handleGlobalPointerEvent(e) {
748
+ if (e.pointerType === "touch") $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();
749
+ }
750
+ function $6179b936705e76d3$var$setupGlobalTouchEvents() {
751
+ if (typeof document === "undefined") return;
752
+ if (typeof PointerEvent !== "undefined") document.addEventListener("pointerup", $6179b936705e76d3$var$handleGlobalPointerEvent);
753
+ else if (process.env.NODE_ENV === "test") document.addEventListener("touchend", $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);
754
+ $6179b936705e76d3$var$hoverCount++;
755
+ return () => {
756
+ $6179b936705e76d3$var$hoverCount--;
757
+ if ($6179b936705e76d3$var$hoverCount > 0) return;
758
+ if (typeof PointerEvent !== "undefined") document.removeEventListener("pointerup", $6179b936705e76d3$var$handleGlobalPointerEvent);
759
+ else if (process.env.NODE_ENV === "test") document.removeEventListener("touchend", $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);
760
+ };
761
+ }
762
+ function $6179b936705e76d3$export$ae780daf29e6d456(props) {
763
+ let { onHoverStart, onHoverChange, onHoverEnd, isDisabled } = props;
764
+ let [isHovered, setHovered] = useState(false);
765
+ let state = useRef({
766
+ isHovered: false,
767
+ ignoreEmulatedMouseEvents: false,
768
+ pointerType: "",
769
+ target: null
770
+ }).current;
771
+ useEffect($6179b936705e76d3$var$setupGlobalTouchEvents, []);
772
+ let { addGlobalListener, removeAllGlobalListeners } = $03deb23ff14920c4$export$4eaf04e54aa8eed6();
773
+ let { hoverProps, triggerHoverEnd } = useMemo(() => {
774
+ let triggerHoverStart = (event, pointerType) => {
775
+ state.pointerType = pointerType;
776
+ if (isDisabled || pointerType === "touch" || state.isHovered || !event.currentTarget.contains(event.target)) return;
777
+ state.isHovered = true;
778
+ let target = event.currentTarget;
779
+ state.target = target;
780
+ addGlobalListener($431fbd86ca7dc216$export$b204af158042fbac(event.target), "pointerover", (e) => {
781
+ if (state.isHovered && state.target && !$d4ee10de306f2510$export$4282f70798064fe0(state.target, e.target)) triggerHoverEnd2(e, e.pointerType);
782
+ }, {
783
+ capture: true
784
+ });
785
+ if (onHoverStart) onHoverStart({
786
+ type: "hoverstart",
787
+ target,
788
+ pointerType
789
+ });
790
+ if (onHoverChange) onHoverChange(true);
791
+ setHovered(true);
792
+ };
793
+ let triggerHoverEnd2 = (event, pointerType) => {
794
+ let target = state.target;
795
+ state.pointerType = "";
796
+ state.target = null;
797
+ if (pointerType === "touch" || !state.isHovered || !target) return;
798
+ state.isHovered = false;
799
+ removeAllGlobalListeners();
800
+ if (onHoverEnd) onHoverEnd({
801
+ type: "hoverend",
802
+ target,
803
+ pointerType
804
+ });
805
+ if (onHoverChange) onHoverChange(false);
806
+ setHovered(false);
807
+ };
808
+ let hoverProps2 = {};
809
+ if (typeof PointerEvent !== "undefined") {
810
+ hoverProps2.onPointerEnter = (e) => {
811
+ if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === "mouse") return;
812
+ triggerHoverStart(e, e.pointerType);
813
+ };
814
+ hoverProps2.onPointerLeave = (e) => {
815
+ if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd2(e, e.pointerType);
816
+ };
817
+ } else if (process.env.NODE_ENV === "test") {
818
+ hoverProps2.onTouchStart = () => {
819
+ state.ignoreEmulatedMouseEvents = true;
820
+ };
821
+ hoverProps2.onMouseEnter = (e) => {
822
+ if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, "mouse");
823
+ state.ignoreEmulatedMouseEvents = false;
824
+ };
825
+ hoverProps2.onMouseLeave = (e) => {
826
+ if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd2(e, "mouse");
827
+ };
828
+ }
829
+ return {
830
+ hoverProps: hoverProps2,
831
+ triggerHoverEnd: triggerHoverEnd2
832
+ };
833
+ }, [
834
+ onHoverStart,
835
+ onHoverChange,
836
+ onHoverEnd,
837
+ isDisabled,
838
+ state,
839
+ addGlobalListener,
840
+ removeAllGlobalListeners
841
+ ]);
842
+ useEffect(() => {
843
+ if (isDisabled) triggerHoverEnd({
844
+ currentTarget: state.target
845
+ }, state.pointerType);
846
+ }, [
847
+ isDisabled
848
+ ]);
849
+ return {
850
+ hoverProps,
851
+ isHovered
852
+ };
853
+ }
854
+ export {
855
+ $6179b936705e76d3$export$ae780daf29e6d456 as $,
856
+ $46d819fcbaf35654$export$8f71654801c2f7cd as A,
857
+ $c87311424ea30a05$export$9ac100e40613ea10 as B,
858
+ $c87311424ea30a05$export$78551043582a6a98 as C,
859
+ $c87311424ea30a05$export$b7d78993b74f766d as D,
860
+ $c87311424ea30a05$export$7bef049ce92e4224 as E,
861
+ $6a7db85432448f7f$export$29bf1b5f2c56cf63 as F,
862
+ $8a9cb279dc87e130$export$cabe61c495ee3649 as G,
863
+ $6a7db85432448f7f$export$60278871457622de as H,
864
+ $e7801be82b4b2a53$export$4debdb1a3f0fa79e as I,
865
+ $f645667febf57a63$export$f9762fab77588ecb as J,
866
+ $c87311424ea30a05$export$e1865c3bedcd822b as K,
867
+ $c87311424ea30a05$export$186c6964ca17d99 as L,
868
+ $507fabe10e71c6fb$export$98e20ec92f614cfe as M,
869
+ $f645667febf57a63$export$4c014de7c8940b4c as a,
870
+ $458b0a5536c1a7cf$export$40bfa8c7b0832715 as b,
871
+ $c87311424ea30a05$export$fedb369cb70207f1 as c,
872
+ $431fbd86ca7dc216$export$b204af158042fbac as d,
873
+ $bbed8b41f857bcc0$export$24490316f764c430 as e,
874
+ $431fbd86ca7dc216$export$f21a1ffae260145a as f,
875
+ $03deb23ff14920c4$export$4eaf04e54aa8eed6 as g,
876
+ $8a9cb279dc87e130$export$715c682d09d639cc as h,
877
+ $d4ee10de306f2510$export$cd4e5573fbe2b576 as i,
878
+ $d4ee10de306f2510$export$e58f029f0fbfdb29 as j,
879
+ $d4ee10de306f2510$export$4282f70798064fe0 as k,
880
+ $8a9cb279dc87e130$export$c2b7abe5d61ec696 as l,
881
+ $8a9cb279dc87e130$export$525bc4921d56d4a as m,
882
+ $507fabe10e71c6fb$export$b9b3dfddab17db27 as n,
883
+ $507fabe10e71c6fb$export$ec71b4b83ac08ec3 as o,
884
+ $a1ea59d68270f0dd$export$f8168d8dd8fd66e6 as p,
885
+ $507fabe10e71c6fb$export$8397ddfc504fdb9a as q,
886
+ $f4e2df6bd15f8569$export$98658e8c59125e6a as r,
887
+ $b4b717babfbb907b$export$bebd5a1431fec25d as s,
888
+ $b4b717babfbb907b$export$4c063cf1350e6fed as t,
889
+ $3ad3f6e1647bc98d$export$80f3e147d781571c as u,
890
+ $c87311424ea30a05$export$a11b0059900ceec8 as v,
891
+ $c87311424ea30a05$export$6446a186d09e379e as w,
892
+ $507fabe10e71c6fb$export$630ff653c5ada6a9 as x,
893
+ $f645667febf57a63$export$13f3202a3e5ddd5 as y,
894
+ $7215afc6de606d6b$export$de79e2c695e052f3 as z
895
+ };