@eightshift/ui-components 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +27 -0
  2. package/dist/Checkbox-BLcVbhiO.js +178 -0
  3. package/dist/ColorSwatch-Cmlex_kT.js +66 -0
  4. package/dist/FieldError-wtMA4667.js +42 -0
  5. package/dist/FocusScope-1u9yyfIN.js +725 -0
  6. package/dist/Form-Cq3fu75_.js +5 -0
  7. package/dist/GridList-BZPXp3_O.js +1256 -0
  8. package/dist/Group-DyqpTRPe.js +49 -0
  9. package/dist/Input-jsbb4ugq.js +130 -0
  10. package/dist/Label-BPzS-sR7.js +17 -0
  11. package/dist/ListBox-w9gDaJkV.js +4423 -0
  12. package/dist/LiveAnnouncer-IsokfWQ5.js +73 -0
  13. package/dist/NumberFormatter-LzoKy975.js +160 -0
  14. package/dist/RSPContexts-CrNYmadY.js +14 -0
  15. package/dist/Select-49a62830.esm-C-RFtLiD.js +2541 -0
  16. package/dist/SelectionManager-mefd0ThJ.js +2155 -0
  17. package/dist/Separator-DHn0CwdK.js +325 -0
  18. package/dist/Slider-Pyh2V4bY.js +885 -0
  19. package/dist/Text-BM136LvS.js +17 -0
  20. package/dist/VisuallyHidden-BYRI1Lfo.js +51 -0
  21. package/dist/_commonjsHelpers-CUmg6egw.js +6 -0
  22. package/dist/ariaHideOutside-ByKBPHmX.js +113 -0
  23. package/dist/assets/style.css +1 -0
  24. package/dist/button-BkkdyHfJ.js +307 -0
  25. package/dist/components/animated-visibility/animated-visibility.js +7165 -0
  26. package/dist/components/base-control/base-control.js +97 -0
  27. package/dist/components/breakpoint-preview/breakpoint-preview.js +218 -0
  28. package/dist/components/button/button.js +10 -0
  29. package/dist/components/checkbox/checkbox.js +119 -0
  30. package/dist/components/color-pickers/color-picker.js +242 -0
  31. package/dist/components/color-pickers/color-swatch.js +62 -0
  32. package/dist/components/color-pickers/gradient-editor.js +516 -0
  33. package/dist/components/color-pickers/solid-color-picker.js +1633 -0
  34. package/dist/components/component-toggle/component-toggle.js +71 -0
  35. package/dist/components/container-panel/container-panel.js +39 -0
  36. package/dist/components/expandable/expandable.js +144 -0
  37. package/dist/components/input-field/input-field.js +224 -0
  38. package/dist/components/link-input/link-input.js +937 -0
  39. package/dist/components/list-box/list-box.js +152 -0
  40. package/dist/components/matrix-align/matrix-align.js +185 -0
  41. package/dist/components/menu/menu.js +1608 -0
  42. package/dist/components/notice/notice.js +119 -0
  43. package/dist/components/number-picker/number-picker.js +277 -0
  44. package/dist/components/popover/popover.js +9 -0
  45. package/dist/components/radio/radio.js +552 -0
  46. package/dist/components/repeater/repeater-item.js +127 -0
  47. package/dist/components/repeater/repeater.js +248 -0
  48. package/dist/components/responsive/responsive-legacy.js +326 -0
  49. package/dist/components/responsive/responsive.js +499 -0
  50. package/dist/components/responsive-preview/responsive-preview.js +119 -0
  51. package/dist/components/rich-label/rich-label.js +56 -0
  52. package/dist/components/select/async-multi-select.js +144 -0
  53. package/dist/components/select/async-single-select.js +126 -0
  54. package/dist/components/select/custom-select-default-components.js +38 -0
  55. package/dist/components/select/multi-select-components.js +8 -0
  56. package/dist/components/select/multi-select.js +134 -0
  57. package/dist/components/select/react-select-component-wrappers.js +90 -0
  58. package/dist/components/select/shared.js +45 -0
  59. package/dist/components/select/single-select.js +116 -0
  60. package/dist/components/select/styles.js +55 -0
  61. package/dist/components/slider/column-config-slider.js +225 -0
  62. package/dist/components/slider/slider.js +362 -0
  63. package/dist/components/slider/utils.js +45 -0
  64. package/dist/components/spacer/spacer.js +93 -0
  65. package/dist/components/tabs/tabs.js +626 -0
  66. package/dist/components/toggle/switch.js +140 -0
  67. package/dist/components/toggle/toggle.js +58 -0
  68. package/dist/components/toggle-button/toggle-button.js +206 -0
  69. package/dist/components/tooltip/tooltip.js +10 -0
  70. package/dist/context-jMy6xdVq.js +98 -0
  71. package/dist/default-i18n-BhE-OUmt.js +873 -0
  72. package/dist/filterDOMProps-DG2RfOUr.js +30 -0
  73. package/dist/focusSafely-C3K8zAKj.js +743 -0
  74. package/dist/hooks/use-cell-edit-mode.js +35 -0
  75. package/dist/icons/block-icon.js +42 -0
  76. package/dist/icons/generic-color-swatch.js +21 -0
  77. package/dist/icons/icons.js +3636 -0
  78. package/dist/index-Bfb9bWcb.js +28844 -0
  79. package/dist/index-a301f526.esm-Bioi4cGX.js +3576 -0
  80. package/dist/index.js +109 -0
  81. package/dist/intlStrings-CUhoK9EN.js +2484 -0
  82. package/dist/isScrollable-PcyglExV.js +10 -0
  83. package/dist/modifiers.esm-BuJQPI1X.js +31 -0
  84. package/dist/multi-select-components-CjVpCNko.js +3677 -0
  85. package/dist/number-rWqELA8W.js +39 -0
  86. package/dist/popover-Dx3vKXUX.js +1061 -0
  87. package/dist/react-select-async.esm-TFb_ZX6C.js +111 -0
  88. package/dist/react-select.esm-BjRWqf0E.js +15 -0
  89. package/dist/style.js +1 -0
  90. package/dist/textSelection-BosCCRVE.js +89 -0
  91. package/dist/tooltip-CkCndvTI.js +1094 -0
  92. package/dist/useButton-CuG5UzUw.js +74 -0
  93. package/dist/useEvent-DHv-yhOH.js +24 -0
  94. package/dist/useFocusRing-Cc-4eouh.js +41 -0
  95. package/dist/useFocusable-5q1Gek1J.js +81 -0
  96. package/dist/useFormReset-Buc9YJcv.js +23 -0
  97. package/dist/useFormValidationState-BAPPNXic.js +238 -0
  98. package/dist/useHasTabbableChild-D3uUNhJ0.js +37 -0
  99. package/dist/useLabel-CGlkoFG0.js +28 -0
  100. package/dist/useLabels-Dg62M_3P.js +25 -0
  101. package/dist/useListData-BelKu4kx.js +211 -0
  102. package/dist/useListState-Domq0blV.js +137 -0
  103. package/dist/useLocalizedStringFormatter-Prmz0h0A.js +130 -0
  104. package/dist/useNumberFieldState-BLU3uhSR.js +1253 -0
  105. package/dist/useNumberFormatter-BLc2xjZn.js +13 -0
  106. package/dist/usePress-BQgVor4T.js +698 -0
  107. package/dist/useToggle-C9ETOBaZ.js +58 -0
  108. package/dist/useToggleState-DJ_z5E2S.js +21 -0
  109. package/dist/utilities/classnames.js +16 -0
  110. package/dist/utilities/text-helpers.js +79 -0
  111. package/dist/utils-BsiH7-5Y.js +488 -0
  112. package/package.json +71 -0
@@ -0,0 +1,698 @@
1
+ import { $ as $03deb23ff14920c4$export$4eaf04e54aa8eed6, a as $14c0b72509d70225$export$b0d6fa1ab32e3295, b as $14c0b72509d70225$export$16a4697467175487 } from "./textSelection-BosCCRVE.js";
2
+ import React__default, { useContext, createContext, useState, useRef, useMemo, useEffect } from "react";
3
+ import { f as $8ae05eaa5c114e9c$export$7f54fc3180508a52, d as $3ef42575df84b30b$export$9d1611c77c2fe928, n as $ff5963eb1fccf552$export$e08e3b67e392101e } from "./utils-BsiH7-5Y.js";
4
+ import { n as $c87311424ea30a05$export$b7d78993b74f766d, o as $c87311424ea30a05$export$9ac100e40613ea10, p as $c87311424ea30a05$export$78551043582a6a98, q as $c87311424ea30a05$export$7bef049ce92e4224, m as $7215afc6de606d6b$export$de79e2c695e052f3, r as $6a7db85432448f7f$export$29bf1b5f2c56cf63, g as $431fbd86ca7dc216$export$b204af158042fbac, s as $6a7db85432448f7f$export$60278871457622de, f as $431fbd86ca7dc216$export$f21a1ffae260145a, l as $e7801be82b4b2a53$export$4debdb1a3f0fa79e } from "./focusSafely-C3K8zAKj.js";
5
+ const $ea8dcbcb9ea1b556$var$RouterContext = /* @__PURE__ */ createContext({
6
+ isNative: true,
7
+ open: $ea8dcbcb9ea1b556$var$openSyntheticLink,
8
+ useHref: (href) => href
9
+ });
10
+ function $ea8dcbcb9ea1b556$export$9a302a45f65d0572() {
11
+ return useContext($ea8dcbcb9ea1b556$var$RouterContext);
12
+ }
13
+ function $ea8dcbcb9ea1b556$export$95185d699e05d4d7(target, modifiers, setOpening = true) {
14
+ var _window_event_type, _window_event;
15
+ let { metaKey, ctrlKey, altKey, shiftKey } = modifiers;
16
+ if ($c87311424ea30a05$export$b7d78993b74f766d() && ((_window_event = window.event) === null || _window_event === void 0 ? void 0 : (_window_event_type = _window_event.type) === null || _window_event_type === void 0 ? void 0 : _window_event_type.startsWith("key")) && target.target === "_blank") {
17
+ if ($c87311424ea30a05$export$9ac100e40613ea10())
18
+ metaKey = true;
19
+ else
20
+ ctrlKey = true;
21
+ }
22
+ let event = $c87311424ea30a05$export$78551043582a6a98() && $c87311424ea30a05$export$9ac100e40613ea10() && !$c87311424ea30a05$export$7bef049ce92e4224() && true ? new KeyboardEvent("keydown", {
23
+ keyIdentifier: "Enter",
24
+ metaKey,
25
+ ctrlKey,
26
+ altKey,
27
+ shiftKey
28
+ }) : new MouseEvent("click", {
29
+ metaKey,
30
+ ctrlKey,
31
+ altKey,
32
+ shiftKey,
33
+ bubbles: true,
34
+ cancelable: true
35
+ });
36
+ $ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = setOpening;
37
+ $7215afc6de606d6b$export$de79e2c695e052f3(target);
38
+ target.dispatchEvent(event);
39
+ $ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = false;
40
+ }
41
+ $ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = false;
42
+ function $ea8dcbcb9ea1b556$var$getSyntheticLink(target, open) {
43
+ if (target instanceof HTMLAnchorElement)
44
+ open(target);
45
+ else if (target.hasAttribute("data-href")) {
46
+ let link = document.createElement("a");
47
+ link.href = target.getAttribute("data-href");
48
+ if (target.hasAttribute("data-target"))
49
+ link.target = target.getAttribute("data-target");
50
+ if (target.hasAttribute("data-rel"))
51
+ link.rel = target.getAttribute("data-rel");
52
+ if (target.hasAttribute("data-download"))
53
+ link.download = target.getAttribute("data-download");
54
+ if (target.hasAttribute("data-ping"))
55
+ link.ping = target.getAttribute("data-ping");
56
+ if (target.hasAttribute("data-referrer-policy"))
57
+ link.referrerPolicy = target.getAttribute("data-referrer-policy");
58
+ target.appendChild(link);
59
+ open(link);
60
+ target.removeChild(link);
61
+ }
62
+ }
63
+ function $ea8dcbcb9ea1b556$var$openSyntheticLink(target, modifiers) {
64
+ $ea8dcbcb9ea1b556$var$getSyntheticLink(target, (link) => $ea8dcbcb9ea1b556$export$95185d699e05d4d7(link, modifiers));
65
+ }
66
+ function $ea8dcbcb9ea1b556$export$51437d503373d223(props) {
67
+ return {
68
+ "data-href": props.href,
69
+ "data-target": props.target,
70
+ "data-rel": props.rel,
71
+ "data-download": props.download,
72
+ "data-ping": props.ping,
73
+ "data-referrer-policy": props.referrerPolicy
74
+ };
75
+ }
76
+ function $ea8dcbcb9ea1b556$export$7e924b3091a3bd18(props) {
77
+ let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();
78
+ return {
79
+ href: (props === null || props === void 0 ? void 0 : props.href) ? router.useHref(props === null || props === void 0 ? void 0 : props.href) : void 0,
80
+ target: props === null || props === void 0 ? void 0 : props.target,
81
+ rel: props === null || props === void 0 ? void 0 : props.rel,
82
+ download: props === null || props === void 0 ? void 0 : props.download,
83
+ ping: props === null || props === void 0 ? void 0 : props.ping,
84
+ referrerPolicy: props === null || props === void 0 ? void 0 : props.referrerPolicy
85
+ };
86
+ }
87
+ const $ae1eeba8b9eafd08$export$5165eccb35aaadb5 = React__default.createContext({
88
+ register: () => {
89
+ }
90
+ });
91
+ $ae1eeba8b9eafd08$export$5165eccb35aaadb5.displayName = "PressResponderContext";
92
+ function _class_apply_descriptor_get(receiver, descriptor) {
93
+ if (descriptor.get)
94
+ return descriptor.get.call(receiver);
95
+ return descriptor.value;
96
+ }
97
+ function _class_extract_field_descriptor(receiver, privateMap, action) {
98
+ if (!privateMap.has(receiver))
99
+ throw new TypeError("attempted to " + action + " private field on non-instance");
100
+ return privateMap.get(receiver);
101
+ }
102
+ function _class_private_field_get(receiver, privateMap) {
103
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
104
+ return _class_apply_descriptor_get(receiver, descriptor);
105
+ }
106
+ function _check_private_redeclaration(obj, privateCollection) {
107
+ if (privateCollection.has(obj)) {
108
+ throw new TypeError("Cannot initialize the same private elements twice on an object");
109
+ }
110
+ }
111
+ function _class_private_field_init(obj, privateMap, value) {
112
+ _check_private_redeclaration(obj, privateMap);
113
+ privateMap.set(obj, value);
114
+ }
115
+ function _class_apply_descriptor_set(receiver, descriptor, value) {
116
+ if (descriptor.set)
117
+ descriptor.set.call(receiver, value);
118
+ else {
119
+ if (!descriptor.writable) {
120
+ throw new TypeError("attempted to set read only private field");
121
+ }
122
+ descriptor.value = value;
123
+ }
124
+ }
125
+ function _class_private_field_set(receiver, privateMap, value) {
126
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
127
+ _class_apply_descriptor_set(receiver, descriptor, value);
128
+ return value;
129
+ }
130
+ function $f6c31cce2adf654f$var$usePressResponderContext(props) {
131
+ let context = useContext($ae1eeba8b9eafd08$export$5165eccb35aaadb5);
132
+ if (context) {
133
+ let { register, ...contextProps } = context;
134
+ props = $3ef42575df84b30b$export$9d1611c77c2fe928(contextProps, props);
135
+ register();
136
+ }
137
+ $e7801be82b4b2a53$export$4debdb1a3f0fa79e(context, props.ref);
138
+ return props;
139
+ }
140
+ var $f6c31cce2adf654f$var$_shouldStopPropagation = /* @__PURE__ */ new WeakMap();
141
+ class $f6c31cce2adf654f$var$PressEvent {
142
+ continuePropagation() {
143
+ _class_private_field_set(this, $f6c31cce2adf654f$var$_shouldStopPropagation, false);
144
+ }
145
+ get shouldStopPropagation() {
146
+ return _class_private_field_get(this, $f6c31cce2adf654f$var$_shouldStopPropagation);
147
+ }
148
+ constructor(type, pointerType, originalEvent) {
149
+ _class_private_field_init(this, $f6c31cce2adf654f$var$_shouldStopPropagation, {
150
+ writable: true,
151
+ value: void 0
152
+ });
153
+ _class_private_field_set(this, $f6c31cce2adf654f$var$_shouldStopPropagation, true);
154
+ this.type = type;
155
+ this.pointerType = pointerType;
156
+ this.target = originalEvent.currentTarget;
157
+ this.shiftKey = originalEvent.shiftKey;
158
+ this.metaKey = originalEvent.metaKey;
159
+ this.ctrlKey = originalEvent.ctrlKey;
160
+ this.altKey = originalEvent.altKey;
161
+ }
162
+ }
163
+ const $f6c31cce2adf654f$var$LINK_CLICKED = Symbol("linkClicked");
164
+ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
165
+ let {
166
+ onPress,
167
+ onPressChange,
168
+ onPressStart,
169
+ onPressEnd,
170
+ onPressUp,
171
+ isDisabled,
172
+ isPressed: isPressedProp,
173
+ preventFocusOnPress,
174
+ shouldCancelOnPointerExit,
175
+ allowTextSelectionOnPress,
176
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
177
+ ref: _,
178
+ ...domProps
179
+ } = $f6c31cce2adf654f$var$usePressResponderContext(props);
180
+ let [isPressed, setPressed] = useState(false);
181
+ let ref = useRef({
182
+ isPressed: false,
183
+ ignoreEmulatedMouseEvents: false,
184
+ ignoreClickAfterPress: false,
185
+ didFirePressStart: false,
186
+ isTriggeringEvent: false,
187
+ activePointerId: null,
188
+ target: null,
189
+ isOverTarget: false,
190
+ pointerType: null
191
+ });
192
+ let { addGlobalListener, removeAllGlobalListeners } = $03deb23ff14920c4$export$4eaf04e54aa8eed6();
193
+ let triggerPressStart = $8ae05eaa5c114e9c$export$7f54fc3180508a52((originalEvent, pointerType) => {
194
+ let state = ref.current;
195
+ if (isDisabled || state.didFirePressStart)
196
+ return false;
197
+ let shouldStopPropagation = true;
198
+ state.isTriggeringEvent = true;
199
+ if (onPressStart) {
200
+ let event = new $f6c31cce2adf654f$var$PressEvent("pressstart", pointerType, originalEvent);
201
+ onPressStart(event);
202
+ shouldStopPropagation = event.shouldStopPropagation;
203
+ }
204
+ if (onPressChange)
205
+ onPressChange(true);
206
+ state.isTriggeringEvent = false;
207
+ state.didFirePressStart = true;
208
+ setPressed(true);
209
+ return shouldStopPropagation;
210
+ });
211
+ let triggerPressEnd = $8ae05eaa5c114e9c$export$7f54fc3180508a52((originalEvent, pointerType, wasPressed = true) => {
212
+ let state = ref.current;
213
+ if (!state.didFirePressStart)
214
+ return false;
215
+ state.ignoreClickAfterPress = true;
216
+ state.didFirePressStart = false;
217
+ state.isTriggeringEvent = true;
218
+ let shouldStopPropagation = true;
219
+ if (onPressEnd) {
220
+ let event = new $f6c31cce2adf654f$var$PressEvent("pressend", pointerType, originalEvent);
221
+ onPressEnd(event);
222
+ shouldStopPropagation = event.shouldStopPropagation;
223
+ }
224
+ if (onPressChange)
225
+ onPressChange(false);
226
+ setPressed(false);
227
+ if (onPress && wasPressed && !isDisabled) {
228
+ let event = new $f6c31cce2adf654f$var$PressEvent("press", pointerType, originalEvent);
229
+ onPress(event);
230
+ shouldStopPropagation && (shouldStopPropagation = event.shouldStopPropagation);
231
+ }
232
+ state.isTriggeringEvent = false;
233
+ return shouldStopPropagation;
234
+ });
235
+ let triggerPressUp = $8ae05eaa5c114e9c$export$7f54fc3180508a52((originalEvent, pointerType) => {
236
+ let state = ref.current;
237
+ if (isDisabled)
238
+ return false;
239
+ if (onPressUp) {
240
+ state.isTriggeringEvent = true;
241
+ let event = new $f6c31cce2adf654f$var$PressEvent("pressup", pointerType, originalEvent);
242
+ onPressUp(event);
243
+ state.isTriggeringEvent = false;
244
+ return event.shouldStopPropagation;
245
+ }
246
+ return true;
247
+ });
248
+ let cancel = $8ae05eaa5c114e9c$export$7f54fc3180508a52((e) => {
249
+ let state = ref.current;
250
+ if (state.isPressed && state.target) {
251
+ if (state.isOverTarget && state.pointerType != null)
252
+ triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);
253
+ state.isPressed = false;
254
+ state.isOverTarget = false;
255
+ state.activePointerId = null;
256
+ state.pointerType = null;
257
+ removeAllGlobalListeners();
258
+ if (!allowTextSelectionOnPress)
259
+ $14c0b72509d70225$export$b0d6fa1ab32e3295(state.target);
260
+ }
261
+ });
262
+ let cancelOnPointerExit = $8ae05eaa5c114e9c$export$7f54fc3180508a52((e) => {
263
+ if (shouldCancelOnPointerExit)
264
+ cancel(e);
265
+ });
266
+ let pressProps = useMemo(() => {
267
+ let state = ref.current;
268
+ let pressProps2 = {
269
+ onKeyDown(e) {
270
+ if ($f6c31cce2adf654f$var$isValidKeyboardEvent(e.nativeEvent, e.currentTarget) && e.currentTarget.contains(e.target)) {
271
+ var _state_metaKeyEvents;
272
+ if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(e.target, e.key))
273
+ e.preventDefault();
274
+ let shouldStopPropagation = true;
275
+ if (!state.isPressed && !e.repeat) {
276
+ state.target = e.currentTarget;
277
+ state.isPressed = true;
278
+ shouldStopPropagation = triggerPressStart(e, "keyboard");
279
+ let originalTarget = e.currentTarget;
280
+ let pressUp = (e2) => {
281
+ if ($f6c31cce2adf654f$var$isValidKeyboardEvent(e2, originalTarget) && !e2.repeat && originalTarget.contains(e2.target) && state.target)
282
+ triggerPressUp($f6c31cce2adf654f$var$createEvent(state.target, e2), "keyboard");
283
+ };
284
+ addGlobalListener($431fbd86ca7dc216$export$b204af158042fbac(e.currentTarget), "keyup", $ff5963eb1fccf552$export$e08e3b67e392101e(pressUp, onKeyUp), true);
285
+ }
286
+ if (shouldStopPropagation)
287
+ e.stopPropagation();
288
+ if (e.metaKey && $c87311424ea30a05$export$9ac100e40613ea10())
289
+ (_state_metaKeyEvents = state.metaKeyEvents) === null || _state_metaKeyEvents === void 0 ? void 0 : _state_metaKeyEvents.set(e.key, e.nativeEvent);
290
+ } else if (e.key === "Meta")
291
+ state.metaKeyEvents = /* @__PURE__ */ new Map();
292
+ },
293
+ onClick(e) {
294
+ if (e && !e.currentTarget.contains(e.target))
295
+ return;
296
+ if (e && e.button === 0 && !state.isTriggeringEvent && !$ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening) {
297
+ let shouldStopPropagation = true;
298
+ if (isDisabled)
299
+ e.preventDefault();
300
+ if (!state.ignoreClickAfterPress && !state.ignoreEmulatedMouseEvents && !state.isPressed && (state.pointerType === "virtual" || $6a7db85432448f7f$export$60278871457622de(e.nativeEvent))) {
301
+ if (!isDisabled && !preventFocusOnPress)
302
+ $7215afc6de606d6b$export$de79e2c695e052f3(e.currentTarget);
303
+ let stopPressStart = triggerPressStart(e, "virtual");
304
+ let stopPressUp = triggerPressUp(e, "virtual");
305
+ let stopPressEnd = triggerPressEnd(e, "virtual");
306
+ shouldStopPropagation = stopPressStart && stopPressUp && stopPressEnd;
307
+ }
308
+ state.ignoreEmulatedMouseEvents = false;
309
+ state.ignoreClickAfterPress = false;
310
+ if (shouldStopPropagation)
311
+ e.stopPropagation();
312
+ }
313
+ }
314
+ };
315
+ let onKeyUp = (e) => {
316
+ var _state_metaKeyEvents;
317
+ if (state.isPressed && state.target && $f6c31cce2adf654f$var$isValidKeyboardEvent(e, state.target)) {
318
+ var _state_metaKeyEvents1;
319
+ if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(e.target, e.key))
320
+ e.preventDefault();
321
+ let target = e.target;
322
+ triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), "keyboard", state.target.contains(target));
323
+ removeAllGlobalListeners();
324
+ if (e.key !== "Enter" && $f6c31cce2adf654f$var$isHTMLAnchorLink(state.target) && state.target.contains(target) && !e[$f6c31cce2adf654f$var$LINK_CLICKED]) {
325
+ e[$f6c31cce2adf654f$var$LINK_CLICKED] = true;
326
+ $ea8dcbcb9ea1b556$export$95185d699e05d4d7(state.target, e, false);
327
+ }
328
+ state.isPressed = false;
329
+ (_state_metaKeyEvents1 = state.metaKeyEvents) === null || _state_metaKeyEvents1 === void 0 ? void 0 : _state_metaKeyEvents1.delete(e.key);
330
+ } else if (e.key === "Meta" && ((_state_metaKeyEvents = state.metaKeyEvents) === null || _state_metaKeyEvents === void 0 ? void 0 : _state_metaKeyEvents.size)) {
331
+ var _state_target;
332
+ let events = state.metaKeyEvents;
333
+ state.metaKeyEvents = void 0;
334
+ for (let event of events.values())
335
+ (_state_target = state.target) === null || _state_target === void 0 ? void 0 : _state_target.dispatchEvent(new KeyboardEvent("keyup", event));
336
+ }
337
+ };
338
+ if (typeof PointerEvent !== "undefined") {
339
+ pressProps2.onPointerDown = (e) => {
340
+ if (e.button !== 0 || !e.currentTarget.contains(e.target))
341
+ return;
342
+ if ($6a7db85432448f7f$export$29bf1b5f2c56cf63(e.nativeEvent)) {
343
+ state.pointerType = "virtual";
344
+ return;
345
+ }
346
+ if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget))
347
+ e.preventDefault();
348
+ state.pointerType = e.pointerType;
349
+ let shouldStopPropagation = true;
350
+ if (!state.isPressed) {
351
+ state.isPressed = true;
352
+ state.isOverTarget = true;
353
+ state.activePointerId = e.pointerId;
354
+ state.target = e.currentTarget;
355
+ if (!isDisabled && !preventFocusOnPress)
356
+ $7215afc6de606d6b$export$de79e2c695e052f3(e.currentTarget);
357
+ if (!allowTextSelectionOnPress)
358
+ $14c0b72509d70225$export$16a4697467175487(state.target);
359
+ shouldStopPropagation = triggerPressStart(e, state.pointerType);
360
+ addGlobalListener($431fbd86ca7dc216$export$b204af158042fbac(e.currentTarget), "pointermove", onPointerMove, false);
361
+ addGlobalListener($431fbd86ca7dc216$export$b204af158042fbac(e.currentTarget), "pointerup", onPointerUp, false);
362
+ addGlobalListener($431fbd86ca7dc216$export$b204af158042fbac(e.currentTarget), "pointercancel", onPointerCancel, false);
363
+ }
364
+ if (shouldStopPropagation)
365
+ e.stopPropagation();
366
+ };
367
+ pressProps2.onMouseDown = (e) => {
368
+ if (!e.currentTarget.contains(e.target))
369
+ return;
370
+ if (e.button === 0) {
371
+ if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget))
372
+ e.preventDefault();
373
+ e.stopPropagation();
374
+ }
375
+ };
376
+ pressProps2.onPointerUp = (e) => {
377
+ if (!e.currentTarget.contains(e.target) || state.pointerType === "virtual")
378
+ return;
379
+ if (e.button === 0 && $f6c31cce2adf654f$var$isOverTarget(e, e.currentTarget))
380
+ triggerPressUp(e, state.pointerType || e.pointerType);
381
+ };
382
+ let onPointerMove = (e) => {
383
+ if (e.pointerId !== state.activePointerId)
384
+ return;
385
+ if (state.target && $f6c31cce2adf654f$var$isOverTarget(e, state.target)) {
386
+ if (!state.isOverTarget && state.pointerType != null) {
387
+ state.isOverTarget = true;
388
+ triggerPressStart($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType);
389
+ }
390
+ } else if (state.target && state.isOverTarget && state.pointerType != null) {
391
+ state.isOverTarget = false;
392
+ triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);
393
+ cancelOnPointerExit(e);
394
+ }
395
+ };
396
+ let onPointerUp = (e) => {
397
+ if (e.pointerId === state.activePointerId && state.isPressed && e.button === 0 && state.target) {
398
+ if ($f6c31cce2adf654f$var$isOverTarget(e, state.target) && state.pointerType != null)
399
+ triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType);
400
+ else if (state.isOverTarget && state.pointerType != null)
401
+ triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);
402
+ state.isPressed = false;
403
+ state.isOverTarget = false;
404
+ state.activePointerId = null;
405
+ state.pointerType = null;
406
+ removeAllGlobalListeners();
407
+ if (!allowTextSelectionOnPress)
408
+ $14c0b72509d70225$export$b0d6fa1ab32e3295(state.target);
409
+ }
410
+ };
411
+ let onPointerCancel = (e) => {
412
+ cancel(e);
413
+ };
414
+ pressProps2.onDragStart = (e) => {
415
+ if (!e.currentTarget.contains(e.target))
416
+ return;
417
+ cancel(e);
418
+ };
419
+ } else {
420
+ pressProps2.onMouseDown = (e) => {
421
+ if (e.button !== 0 || !e.currentTarget.contains(e.target))
422
+ return;
423
+ if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget))
424
+ e.preventDefault();
425
+ if (state.ignoreEmulatedMouseEvents) {
426
+ e.stopPropagation();
427
+ return;
428
+ }
429
+ state.isPressed = true;
430
+ state.isOverTarget = true;
431
+ state.target = e.currentTarget;
432
+ state.pointerType = $6a7db85432448f7f$export$60278871457622de(e.nativeEvent) ? "virtual" : "mouse";
433
+ if (!isDisabled && !preventFocusOnPress)
434
+ $7215afc6de606d6b$export$de79e2c695e052f3(e.currentTarget);
435
+ let shouldStopPropagation = triggerPressStart(e, state.pointerType);
436
+ if (shouldStopPropagation)
437
+ e.stopPropagation();
438
+ addGlobalListener($431fbd86ca7dc216$export$b204af158042fbac(e.currentTarget), "mouseup", onMouseUp, false);
439
+ };
440
+ pressProps2.onMouseEnter = (e) => {
441
+ if (!e.currentTarget.contains(e.target))
442
+ return;
443
+ let shouldStopPropagation = true;
444
+ if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {
445
+ state.isOverTarget = true;
446
+ shouldStopPropagation = triggerPressStart(e, state.pointerType);
447
+ }
448
+ if (shouldStopPropagation)
449
+ e.stopPropagation();
450
+ };
451
+ pressProps2.onMouseLeave = (e) => {
452
+ if (!e.currentTarget.contains(e.target))
453
+ return;
454
+ let shouldStopPropagation = true;
455
+ if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {
456
+ state.isOverTarget = false;
457
+ shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);
458
+ cancelOnPointerExit(e);
459
+ }
460
+ if (shouldStopPropagation)
461
+ e.stopPropagation();
462
+ };
463
+ pressProps2.onMouseUp = (e) => {
464
+ if (!e.currentTarget.contains(e.target))
465
+ return;
466
+ if (!state.ignoreEmulatedMouseEvents && e.button === 0)
467
+ triggerPressUp(e, state.pointerType || "mouse");
468
+ };
469
+ let onMouseUp = (e) => {
470
+ if (e.button !== 0)
471
+ return;
472
+ state.isPressed = false;
473
+ removeAllGlobalListeners();
474
+ if (state.ignoreEmulatedMouseEvents) {
475
+ state.ignoreEmulatedMouseEvents = false;
476
+ return;
477
+ }
478
+ if (state.target && $f6c31cce2adf654f$var$isOverTarget(e, state.target) && state.pointerType != null)
479
+ triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType);
480
+ else if (state.target && state.isOverTarget && state.pointerType != null)
481
+ triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);
482
+ state.isOverTarget = false;
483
+ };
484
+ pressProps2.onTouchStart = (e) => {
485
+ if (!e.currentTarget.contains(e.target))
486
+ return;
487
+ let touch = $f6c31cce2adf654f$var$getTouchFromEvent(e.nativeEvent);
488
+ if (!touch)
489
+ return;
490
+ state.activePointerId = touch.identifier;
491
+ state.ignoreEmulatedMouseEvents = true;
492
+ state.isOverTarget = true;
493
+ state.isPressed = true;
494
+ state.target = e.currentTarget;
495
+ state.pointerType = "touch";
496
+ if (!isDisabled && !preventFocusOnPress)
497
+ $7215afc6de606d6b$export$de79e2c695e052f3(e.currentTarget);
498
+ if (!allowTextSelectionOnPress)
499
+ $14c0b72509d70225$export$16a4697467175487(state.target);
500
+ let shouldStopPropagation = triggerPressStart(e, state.pointerType);
501
+ if (shouldStopPropagation)
502
+ e.stopPropagation();
503
+ addGlobalListener($431fbd86ca7dc216$export$f21a1ffae260145a(e.currentTarget), "scroll", onScroll, true);
504
+ };
505
+ pressProps2.onTouchMove = (e) => {
506
+ if (!e.currentTarget.contains(e.target))
507
+ return;
508
+ if (!state.isPressed) {
509
+ e.stopPropagation();
510
+ return;
511
+ }
512
+ let touch = $f6c31cce2adf654f$var$getTouchById(e.nativeEvent, state.activePointerId);
513
+ let shouldStopPropagation = true;
514
+ if (touch && $f6c31cce2adf654f$var$isOverTarget(touch, e.currentTarget)) {
515
+ if (!state.isOverTarget && state.pointerType != null) {
516
+ state.isOverTarget = true;
517
+ shouldStopPropagation = triggerPressStart(e, state.pointerType);
518
+ }
519
+ } else if (state.isOverTarget && state.pointerType != null) {
520
+ state.isOverTarget = false;
521
+ shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);
522
+ cancelOnPointerExit(e);
523
+ }
524
+ if (shouldStopPropagation)
525
+ e.stopPropagation();
526
+ };
527
+ pressProps2.onTouchEnd = (e) => {
528
+ if (!e.currentTarget.contains(e.target))
529
+ return;
530
+ if (!state.isPressed) {
531
+ e.stopPropagation();
532
+ return;
533
+ }
534
+ let touch = $f6c31cce2adf654f$var$getTouchById(e.nativeEvent, state.activePointerId);
535
+ let shouldStopPropagation = true;
536
+ if (touch && $f6c31cce2adf654f$var$isOverTarget(touch, e.currentTarget) && state.pointerType != null) {
537
+ triggerPressUp(e, state.pointerType);
538
+ shouldStopPropagation = triggerPressEnd(e, state.pointerType);
539
+ } else if (state.isOverTarget && state.pointerType != null)
540
+ shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);
541
+ if (shouldStopPropagation)
542
+ e.stopPropagation();
543
+ state.isPressed = false;
544
+ state.activePointerId = null;
545
+ state.isOverTarget = false;
546
+ state.ignoreEmulatedMouseEvents = true;
547
+ if (state.target && !allowTextSelectionOnPress)
548
+ $14c0b72509d70225$export$b0d6fa1ab32e3295(state.target);
549
+ removeAllGlobalListeners();
550
+ };
551
+ pressProps2.onTouchCancel = (e) => {
552
+ if (!e.currentTarget.contains(e.target))
553
+ return;
554
+ e.stopPropagation();
555
+ if (state.isPressed)
556
+ cancel(e);
557
+ };
558
+ let onScroll = (e) => {
559
+ if (state.isPressed && e.target.contains(state.target))
560
+ cancel({
561
+ currentTarget: state.target,
562
+ shiftKey: false,
563
+ ctrlKey: false,
564
+ metaKey: false,
565
+ altKey: false
566
+ });
567
+ };
568
+ pressProps2.onDragStart = (e) => {
569
+ if (!e.currentTarget.contains(e.target))
570
+ return;
571
+ cancel(e);
572
+ };
573
+ }
574
+ return pressProps2;
575
+ }, [
576
+ addGlobalListener,
577
+ isDisabled,
578
+ preventFocusOnPress,
579
+ removeAllGlobalListeners,
580
+ allowTextSelectionOnPress,
581
+ cancel,
582
+ cancelOnPointerExit,
583
+ triggerPressEnd,
584
+ triggerPressStart,
585
+ triggerPressUp
586
+ ]);
587
+ useEffect(() => {
588
+ return () => {
589
+ var _ref_current_target;
590
+ if (!allowTextSelectionOnPress)
591
+ $14c0b72509d70225$export$b0d6fa1ab32e3295((_ref_current_target = ref.current.target) !== null && _ref_current_target !== void 0 ? _ref_current_target : void 0);
592
+ };
593
+ }, [
594
+ allowTextSelectionOnPress
595
+ ]);
596
+ return {
597
+ isPressed: isPressedProp || isPressed,
598
+ pressProps: $3ef42575df84b30b$export$9d1611c77c2fe928(domProps, pressProps)
599
+ };
600
+ }
601
+ function $f6c31cce2adf654f$var$isHTMLAnchorLink(target) {
602
+ return target.tagName === "A" && target.hasAttribute("href");
603
+ }
604
+ function $f6c31cce2adf654f$var$isValidKeyboardEvent(event, currentTarget) {
605
+ const { key, code } = event;
606
+ const element = currentTarget;
607
+ const role = element.getAttribute("role");
608
+ return (key === "Enter" || key === " " || key === "Spacebar" || code === "Space") && !(element instanceof $431fbd86ca7dc216$export$f21a1ffae260145a(element).HTMLInputElement && !$f6c31cce2adf654f$var$isValidInputKey(element, key) || element instanceof $431fbd86ca7dc216$export$f21a1ffae260145a(element).HTMLTextAreaElement || element.isContentEditable) && // Links should only trigger with Enter key
609
+ !((role === "link" || !role && $f6c31cce2adf654f$var$isHTMLAnchorLink(element)) && key !== "Enter");
610
+ }
611
+ function $f6c31cce2adf654f$var$getTouchFromEvent(event) {
612
+ const { targetTouches } = event;
613
+ if (targetTouches.length > 0)
614
+ return targetTouches[0];
615
+ return null;
616
+ }
617
+ function $f6c31cce2adf654f$var$getTouchById(event, pointerId) {
618
+ const changedTouches = event.changedTouches;
619
+ for (let i = 0; i < changedTouches.length; i++) {
620
+ const touch = changedTouches[i];
621
+ if (touch.identifier === pointerId)
622
+ return touch;
623
+ }
624
+ return null;
625
+ }
626
+ function $f6c31cce2adf654f$var$createEvent(target, e) {
627
+ return {
628
+ currentTarget: target,
629
+ shiftKey: e.shiftKey,
630
+ ctrlKey: e.ctrlKey,
631
+ metaKey: e.metaKey,
632
+ altKey: e.altKey
633
+ };
634
+ }
635
+ function $f6c31cce2adf654f$var$getPointClientRect(point) {
636
+ let offsetX = 0;
637
+ let offsetY = 0;
638
+ if (point.width !== void 0)
639
+ offsetX = point.width / 2;
640
+ else if (point.radiusX !== void 0)
641
+ offsetX = point.radiusX;
642
+ if (point.height !== void 0)
643
+ offsetY = point.height / 2;
644
+ else if (point.radiusY !== void 0)
645
+ offsetY = point.radiusY;
646
+ return {
647
+ top: point.clientY - offsetY,
648
+ right: point.clientX + offsetX,
649
+ bottom: point.clientY + offsetY,
650
+ left: point.clientX - offsetX
651
+ };
652
+ }
653
+ function $f6c31cce2adf654f$var$areRectanglesOverlapping(a, b) {
654
+ if (a.left > b.right || b.left > a.right)
655
+ return false;
656
+ if (a.top > b.bottom || b.top > a.bottom)
657
+ return false;
658
+ return true;
659
+ }
660
+ function $f6c31cce2adf654f$var$isOverTarget(point, target) {
661
+ let rect = target.getBoundingClientRect();
662
+ let pointRect = $f6c31cce2adf654f$var$getPointClientRect(point);
663
+ return $f6c31cce2adf654f$var$areRectanglesOverlapping(rect, pointRect);
664
+ }
665
+ function $f6c31cce2adf654f$var$shouldPreventDefault(target) {
666
+ return !(target instanceof HTMLElement) || !target.hasAttribute("draggable");
667
+ }
668
+ function $f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(target, key) {
669
+ if (target instanceof HTMLInputElement)
670
+ return !$f6c31cce2adf654f$var$isValidInputKey(target, key);
671
+ if (target instanceof HTMLButtonElement)
672
+ return target.type !== "submit" && target.type !== "reset";
673
+ if ($f6c31cce2adf654f$var$isHTMLAnchorLink(target))
674
+ return false;
675
+ return true;
676
+ }
677
+ const $f6c31cce2adf654f$var$nonTextInputTypes = /* @__PURE__ */ new Set([
678
+ "checkbox",
679
+ "radio",
680
+ "range",
681
+ "color",
682
+ "file",
683
+ "image",
684
+ "button",
685
+ "submit",
686
+ "reset"
687
+ ]);
688
+ function $f6c31cce2adf654f$var$isValidInputKey(target, key) {
689
+ return target.type === "checkbox" || target.type === "radio" ? key === " " : $f6c31cce2adf654f$var$nonTextInputTypes.has(target.type);
690
+ }
691
+ export {
692
+ $f6c31cce2adf654f$export$45712eceda6fad21 as $,
693
+ $ea8dcbcb9ea1b556$export$7e924b3091a3bd18 as a,
694
+ $ea8dcbcb9ea1b556$export$9a302a45f65d0572 as b,
695
+ $ea8dcbcb9ea1b556$export$95185d699e05d4d7 as c,
696
+ $ea8dcbcb9ea1b556$export$51437d503373d223 as d,
697
+ $ae1eeba8b9eafd08$export$5165eccb35aaadb5 as e
698
+ };