quirk-ui 0.0.4 → 0.0.6

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 (211) hide show
  1. package/dist/assets/index.css +1 -1
  2. package/dist/assets/index.css.d.ts +7 -0
  3. package/dist/assets/index10.css +1 -0
  4. package/dist/assets/index10.css.d.ts +6 -0
  5. package/dist/assets/index11.css +1 -0
  6. package/dist/assets/index11.css.d.ts +7 -0
  7. package/dist/assets/index12.css +1 -0
  8. package/dist/assets/index12.css.d.ts +13 -0
  9. package/dist/assets/index13.css +1 -0
  10. package/dist/assets/index13.css.d.ts +8 -0
  11. package/dist/assets/index14.css +1 -0
  12. package/dist/assets/index14.css.d.ts +13 -0
  13. package/dist/assets/index15.css +1 -0
  14. package/dist/assets/index15.css.d.ts +10 -0
  15. package/dist/assets/index16.css +1 -0
  16. package/dist/assets/index16.css.d.ts +8 -0
  17. package/dist/assets/index17.css +1 -0
  18. package/dist/assets/index17.css.d.ts +11 -0
  19. package/dist/assets/index18.css +1 -0
  20. package/dist/assets/index18.css.d.ts +31 -0
  21. package/dist/assets/index19.css +1 -0
  22. package/dist/assets/index19.css.d.ts +7 -0
  23. package/dist/assets/index2.css +1 -1
  24. package/dist/assets/index2.css.d.ts +9 -0
  25. package/dist/assets/index20.css +1 -0
  26. package/dist/assets/index20.css.d.ts +5 -0
  27. package/dist/assets/index21.css +1 -0
  28. package/dist/assets/index21.css.d.ts +8 -0
  29. package/dist/assets/index22.css +1 -0
  30. package/dist/assets/index22.css.d.ts +6 -0
  31. package/dist/assets/index23.css +1 -0
  32. package/dist/assets/index23.css.d.ts +7 -0
  33. package/dist/assets/index24.css +1 -0
  34. package/dist/assets/index24.css.d.ts +7 -0
  35. package/dist/assets/index25.css +1 -0
  36. package/dist/assets/index25.css.d.ts +9 -0
  37. package/dist/assets/index26.css +1 -0
  38. package/dist/assets/index26.css.d.ts +21 -0
  39. package/dist/assets/index27.css +1 -0
  40. package/dist/assets/index27.css.d.ts +9 -0
  41. package/dist/assets/index28.css +1 -0
  42. package/dist/assets/index28.css.d.ts +12 -0
  43. package/dist/assets/index3.css +1 -1
  44. package/dist/assets/index3.css.d.ts +8 -0
  45. package/dist/assets/index4.css +1 -1
  46. package/dist/assets/index4.css.d.ts +8 -0
  47. package/dist/assets/index5.css +1 -0
  48. package/dist/assets/index5.css.d.ts +21 -0
  49. package/dist/assets/index6.css +1 -0
  50. package/dist/assets/index6.css.d.ts +11 -0
  51. package/dist/assets/index7.css +1 -0
  52. package/dist/assets/index7.css.d.ts +6 -0
  53. package/dist/assets/index8.css +1 -0
  54. package/dist/assets/index8.css.d.ts +10 -0
  55. package/dist/assets/index9.css +1 -0
  56. package/dist/assets/index9.css.d.ts +7 -0
  57. package/dist/components/Box/Box.test.js +20 -0
  58. package/dist/components/Box/__mocks__/styles.module.css.js +20 -0
  59. package/dist/components/Box/index.js +89 -0
  60. package/dist/components/Button/Button.test.js +33 -0
  61. package/dist/components/Button/__mocks__/styles.module.css.js +9 -0
  62. package/dist/components/Button/index.js +17 -7
  63. package/dist/components/ButtonGroup/ButtonGroup.test.js +37 -0
  64. package/dist/components/ButtonGroup/__mocks__/styles.module.css.js +7 -0
  65. package/dist/components/ButtonGroup/index.js +26 -0
  66. package/dist/components/Calendar/Calendar.test.js +40 -0
  67. package/dist/components/Calendar/index.js +7 -0
  68. package/dist/components/Checkbox/Checkbox.test.js +37 -0
  69. package/dist/components/Checkbox/__mocks__/styles.module.css.js +8 -0
  70. package/dist/components/Checkbox/index.js +45 -0
  71. package/dist/components/Container/Container.test.js +25 -0
  72. package/dist/components/Container/__mocks__/styles.module.css.js +11 -0
  73. package/dist/components/Container/index.js +31 -0
  74. package/dist/components/DatePicker/DatePicker.test.js +42 -0
  75. package/dist/components/DatePicker/index.js +56 -0
  76. package/dist/components/Divider/Divider.test.js +21 -0
  77. package/dist/components/Divider/__mocks__/styles.module.css.js +8 -0
  78. package/dist/components/Divider/index.js +19 -0
  79. package/dist/components/Fieldset/Fieldset.test.js +12 -0
  80. package/dist/components/Fieldset/index.js +19 -0
  81. package/dist/components/FileUpload/FileUpload.test.js +33 -0
  82. package/dist/components/FileUpload/index.js +99 -0
  83. package/dist/components/FloatingActionButton/FloatingActionButton.test.js +36 -0
  84. package/dist/components/FloatingActionButton/__mocks__/styles.module.css.js +9 -0
  85. package/dist/components/FloatingActionButton/index.js +40 -0
  86. package/dist/components/Form/Form.test.js +20 -0
  87. package/dist/components/Form/index.js +29 -0
  88. package/dist/components/Grid/Grid.test.js +59 -0
  89. package/dist/components/Grid/index.js +32 -0
  90. package/dist/components/Heading/Heading.test.js +26 -0
  91. package/dist/components/Heading/__mocks__/styles.module.css.js +11 -0
  92. package/dist/components/Heading/index.js +20 -7
  93. package/dist/components/IconButton/IconButton.test.js +48 -0
  94. package/dist/components/IconButton/__mocks__/styles.module.css.js +12 -0
  95. package/dist/components/IconButton/index.js +39 -0
  96. package/dist/components/Input/Input.test.js +13 -0
  97. package/dist/components/Input/__mocks__/styles.module.css.js +9 -0
  98. package/dist/components/Input/index.js +45 -6
  99. package/dist/components/Label/Label.test.js +30 -0
  100. package/dist/components/Label/__mocks__/styles.module.css.js +16 -0
  101. package/dist/components/Label/index.js +94 -6
  102. package/dist/components/Link/Link.test.js +32 -0
  103. package/dist/components/Link/__mocks__/styles.module.css.js +8 -0
  104. package/dist/components/Link/index.js +5 -0
  105. package/dist/components/MultiSelect/MultiSelect.test.js +3144 -0
  106. package/dist/components/MultiSelect/index.js +45 -0
  107. package/dist/components/Radio/Radio.test.js +39 -0
  108. package/dist/components/Radio/__mocks__/styles.module.css.js +8 -0
  109. package/dist/components/Radio/index.js +37 -0
  110. package/dist/components/Range/Range.test.js +39 -0
  111. package/dist/components/Range/index.js +64 -0
  112. package/dist/components/Select/Select.test.js +48 -0
  113. package/dist/components/Select/index.js +43 -0
  114. package/dist/components/Spacer/Spacer.test.js +22 -0
  115. package/dist/components/Spacer/__mocks__/styles.module.css.js +12 -0
  116. package/dist/components/Spacer/index.js +29 -0
  117. package/dist/components/Stack/Stack.test.js +60 -0
  118. package/dist/components/Stack/__mocks__/styles.module.css.js +21 -0
  119. package/dist/components/Stack/index.js +65 -0
  120. package/dist/components/Switch/Switch.test.js +48 -0
  121. package/dist/components/Switch/index.js +57 -0
  122. package/dist/components/Table/Table.test.js +31 -0
  123. package/dist/components/Table/index.js +31 -0
  124. package/dist/components/Text/Text.test.js +65 -0
  125. package/dist/components/Text/__mocks__/styles.module.css.js +9 -0
  126. package/dist/components/Text/index.js +50 -0
  127. package/dist/components/Textarea/Textarea.test.js +37 -0
  128. package/dist/components/Textarea/index.js +47 -0
  129. package/dist/createLucideIcon-C8GTh_Qx.js +89 -0
  130. package/dist/index-BWTAh3RO.js +57529 -0
  131. package/dist/index-BtY6pil2.js +1621 -0
  132. package/dist/index-DhqFdMqD.js +1416 -0
  133. package/dist/lib/components/Box/Box.test.d.ts +0 -0
  134. package/dist/lib/components/Box/__mocks__/styles.module.css.d.ts +18 -0
  135. package/dist/lib/components/Box/index.d.ts +59 -0
  136. package/dist/lib/components/Button/Button.test.d.ts +0 -0
  137. package/dist/lib/components/Button/__mocks__/styles.module.css.d.ts +7 -0
  138. package/dist/lib/components/Button/index.d.ts +11 -1
  139. package/dist/lib/components/ButtonGroup/ButtonGroup.test.d.ts +0 -0
  140. package/dist/lib/components/ButtonGroup/__mocks__/styles.module.css.d.ts +5 -0
  141. package/dist/lib/components/ButtonGroup/index.d.ts +8 -0
  142. package/dist/lib/components/Calendar/Calendar.test.d.ts +0 -0
  143. package/dist/lib/components/Calendar/index.d.ts +6 -0
  144. package/dist/lib/components/Checkbox/Checkbox.test.d.ts +0 -0
  145. package/dist/lib/components/Checkbox/__mocks__/styles.module.css.d.ts +6 -0
  146. package/dist/lib/components/Checkbox/index.d.ts +10 -0
  147. package/dist/lib/components/Container/Container.test.d.ts +0 -0
  148. package/dist/lib/components/Container/__mocks__/styles.module.css.d.ts +9 -0
  149. package/dist/lib/components/Container/index.d.ts +20 -0
  150. package/dist/lib/components/DatePicker/DatePicker.test.d.ts +0 -0
  151. package/dist/lib/components/DatePicker/index.d.ts +13 -0
  152. package/dist/lib/components/Divider/Divider.test.d.ts +0 -0
  153. package/dist/lib/components/Divider/__mocks__/styles.module.css.d.ts +6 -0
  154. package/dist/lib/components/Divider/index.d.ts +12 -0
  155. package/dist/lib/components/Fieldset/Fieldset.test.d.ts +0 -0
  156. package/dist/lib/components/Fieldset/index.d.ts +7 -0
  157. package/dist/lib/components/FileUpload/FileUpload.test.d.ts +0 -0
  158. package/dist/lib/components/FileUpload/index.d.ts +13 -0
  159. package/dist/lib/components/FloatingActionButton/FloatingActionButton.test.d.ts +0 -0
  160. package/dist/lib/components/FloatingActionButton/__mocks__/styles.module.css.d.ts +7 -0
  161. package/dist/lib/components/FloatingActionButton/index.d.ts +18 -0
  162. package/dist/lib/components/Form/Form.test.d.ts +0 -0
  163. package/dist/lib/components/Form/index.d.ts +12 -0
  164. package/dist/lib/components/Grid/Grid.test.d.ts +0 -0
  165. package/dist/lib/components/Grid/index.d.ts +11 -0
  166. package/dist/lib/components/Heading/Heading.test.d.ts +0 -0
  167. package/dist/lib/components/Heading/__mocks__/styles.module.css.d.ts +9 -0
  168. package/dist/lib/components/Heading/index.d.ts +291 -1
  169. package/dist/lib/components/IconButton/IconButton.test.d.ts +0 -0
  170. package/dist/lib/components/IconButton/__mocks__/styles.module.css.d.ts +10 -0
  171. package/dist/lib/components/IconButton/index.d.ts +24 -0
  172. package/dist/lib/components/Input/Input.test.d.ts +0 -0
  173. package/dist/lib/components/Input/__mocks__/styles.module.css.d.ts +7 -0
  174. package/dist/lib/components/Input/index.d.ts +10 -1
  175. package/dist/lib/components/Label/Label.test.d.ts +0 -0
  176. package/dist/lib/components/Label/__mocks__/styles.module.css.d.ts +14 -0
  177. package/dist/lib/components/Label/index.d.ts +29 -1
  178. package/dist/lib/components/Link/Link.test.d.ts +0 -0
  179. package/dist/lib/components/Link/__mocks__/styles.module.css.d.ts +6 -0
  180. package/dist/lib/components/Link/index.d.ts +18 -0
  181. package/dist/lib/components/MultiSelect/MultiSelect.test.d.ts +0 -0
  182. package/dist/lib/components/MultiSelect/index.d.ts +17 -0
  183. package/dist/lib/components/Radio/Radio.test.d.ts +0 -0
  184. package/dist/lib/components/Radio/__mocks__/styles.module.css.d.ts +6 -0
  185. package/dist/lib/components/Radio/index.d.ts +12 -0
  186. package/dist/lib/components/Range/Range.test.d.ts +0 -0
  187. package/dist/lib/components/Range/index.d.ts +15 -0
  188. package/dist/lib/components/Select/Select.test.d.ts +0 -0
  189. package/dist/lib/components/Select/index.d.ts +18 -0
  190. package/dist/lib/components/Spacer/Spacer.test.d.ts +0 -0
  191. package/dist/lib/components/Spacer/__mocks__/styles.module.css.d.ts +10 -0
  192. package/dist/lib/components/Spacer/index.d.ts +20 -0
  193. package/dist/lib/components/Stack/Stack.test.d.ts +0 -0
  194. package/dist/lib/components/Stack/__mocks__/styles.module.css.d.ts +19 -0
  195. package/dist/lib/components/Stack/index.d.ts +42 -0
  196. package/dist/lib/components/Switch/Switch.test.d.ts +0 -0
  197. package/dist/lib/components/Switch/index.d.ts +18 -0
  198. package/dist/lib/components/Table/Table.test.d.ts +0 -0
  199. package/dist/lib/components/Table/index.d.ts +15 -0
  200. package/dist/lib/components/Text/Text.test.d.ts +0 -0
  201. package/dist/lib/components/Text/__mocks__/styles.module.css.d.ts +7 -0
  202. package/dist/lib/components/Text/index.d.ts +17 -0
  203. package/dist/lib/components/Textarea/Textarea.test.d.ts +0 -0
  204. package/dist/lib/components/Textarea/index.d.ts +13 -0
  205. package/dist/lib/main.d.ts +26 -1
  206. package/dist/lib/utils/renderRichText.d.ts +25 -0
  207. package/dist/magic-string.es-D4UQQyt0.js +859 -0
  208. package/dist/main.js +54 -6
  209. package/dist/trash-2-2Rn0a4s6.js +17 -0
  210. package/dist/utils/renderRichText.js +26 -0
  211. package/package.json +23 -6
@@ -0,0 +1,3144 @@
1
+ import { jsx as _e } from "react/jsx-runtime";
2
+ import en from "react";
3
+ import { b as H, d as tn, i as nn, r as Ge, g as Pe, s as Ae, v as rn } from "../../index-BWTAh3RO.js";
4
+ import { MultiSelect as Xe } from "./index.js";
5
+ function a(e, t, n) {
6
+ return e.namespaceURI && e.namespaceURI !== "http://www.w3.org/1999/xhtml" || (t = Array.isArray(t) ? t : [
7
+ t
8
+ ], !t.includes(e.tagName.toLowerCase())) ? !1 : n ? Object.entries(n).every(([i, r]) => e[i] === r) : !0;
9
+ }
10
+ function E(e) {
11
+ var t;
12
+ if (on(e) && e.defaultView)
13
+ return e.defaultView;
14
+ if (!((t = e.ownerDocument) === null || t === void 0) && t.defaultView)
15
+ return e.ownerDocument.defaultView;
16
+ throw new Error(`Could not determine window of node. Node was ${sn(e)}`);
17
+ }
18
+ function on(e) {
19
+ return e.nodeType === 9;
20
+ }
21
+ function sn(e) {
22
+ return typeof e == "function" ? `function ${e.name}` : e === null ? "null" : String(e);
23
+ }
24
+ function bt(e, t) {
25
+ return new Promise((n, i) => {
26
+ const r = new t();
27
+ r.onerror = i, r.onabort = i, r.onload = () => {
28
+ n(String(r.result));
29
+ }, r.readAsText(e);
30
+ });
31
+ }
32
+ function $e(e, t) {
33
+ const n = {
34
+ ...t,
35
+ length: t.length,
36
+ item: (i) => n[i],
37
+ [Symbol.iterator]: function* () {
38
+ for (let r = 0; r < n.length; r++)
39
+ yield n[r];
40
+ }
41
+ };
42
+ return n.constructor = e.FileList, e.FileList && Object.setPrototypeOf(n, e.FileList.prototype), Object.freeze(n), n;
43
+ }
44
+ function A(e, t, n) {
45
+ return t in e ? Object.defineProperty(e, t, {
46
+ value: n,
47
+ enumerable: !0,
48
+ configurable: !0,
49
+ writable: !0
50
+ }) : e[t] = n, e;
51
+ }
52
+ class gt {
53
+ getAsFile() {
54
+ return this.file;
55
+ }
56
+ getAsString(t) {
57
+ typeof this.data == "string" && t(this.data);
58
+ }
59
+ /* istanbul ignore next */
60
+ webkitGetAsEntry() {
61
+ throw new Error("not implemented");
62
+ }
63
+ constructor(t, n) {
64
+ A(this, "kind", void 0), A(this, "type", void 0), A(this, "file", null), A(this, "data", void 0), typeof t == "string" ? (this.kind = "string", this.type = String(n), this.data = t) : (this.kind = "file", this.type = t.type, this.file = t);
65
+ }
66
+ }
67
+ class un extends Array {
68
+ add(...t) {
69
+ const n = new gt(t[0], t[1]);
70
+ return this.push(n), n;
71
+ }
72
+ clear() {
73
+ this.splice(0, this.length);
74
+ }
75
+ remove(t) {
76
+ this.splice(t, 1);
77
+ }
78
+ }
79
+ function pe(e, t) {
80
+ const [n, i] = e.split("/"), r = !i || i === "*";
81
+ return (o) => t ? o.type === (r ? n : e) : r ? o.type.startsWith(`${n}/`) : o.type === n;
82
+ }
83
+ function cn(e) {
84
+ return new class {
85
+ getData(n) {
86
+ var i;
87
+ const r = (i = this.items.find(pe(n, !0))) !== null && i !== void 0 ? i : this.items.find(pe(n, !1));
88
+ let o = "";
89
+ return r == null || r.getAsString((s) => {
90
+ o = s;
91
+ }), o;
92
+ }
93
+ setData(n, i) {
94
+ const r = this.items.findIndex(pe(n, !0)), o = new gt(i, n);
95
+ r >= 0 ? this.items.splice(r, 1, o) : this.items.push(o);
96
+ }
97
+ clearData(n) {
98
+ if (n) {
99
+ const i = this.items.findIndex(pe(n, !0));
100
+ i >= 0 && this.items.remove(i);
101
+ } else
102
+ this.items.clear();
103
+ }
104
+ get types() {
105
+ const n = [];
106
+ return this.files.length && n.push("Files"), this.items.forEach((i) => n.push(i.type)), Object.freeze(n), n;
107
+ }
108
+ /* istanbul ignore next */
109
+ setDragImage() {
110
+ }
111
+ constructor() {
112
+ A(this, "dropEffect", "none"), A(this, "effectAllowed", "uninitialized"), A(this, "items", new un()), A(this, "files", $e(e, []));
113
+ }
114
+ }();
115
+ }
116
+ function Be(e, t = []) {
117
+ const n = typeof e.DataTransfer > "u" ? cn(e) : (
118
+ /* istanbul ignore next */
119
+ new e.DataTransfer()
120
+ );
121
+ return Object.defineProperty(n, "files", {
122
+ get: () => $e(e, t)
123
+ }), n;
124
+ }
125
+ async function dn(e, t) {
126
+ return t.kind === "file" ? t.getAsFile() : new e.Blob([
127
+ await new Promise((n) => t.getAsString(n))
128
+ ], {
129
+ type: t.type
130
+ });
131
+ }
132
+ function vt(e, t, n) {
133
+ return t in e ? Object.defineProperty(e, t, {
134
+ value: n,
135
+ enumerable: !0,
136
+ configurable: !0,
137
+ writable: !0
138
+ }) : e[t] = n, e;
139
+ }
140
+ function yt(e, ...t) {
141
+ const n = Object.fromEntries(t.map((i) => [
142
+ typeof i == "string" ? "text/plain" : i.type,
143
+ Promise.resolve(i)
144
+ ]));
145
+ return typeof e.ClipboardItem < "u" ? new e.ClipboardItem(n) : new class {
146
+ get types() {
147
+ return Array.from(Object.keys(this.data));
148
+ }
149
+ async getType(r) {
150
+ const o = await this.data[r];
151
+ if (!o)
152
+ throw new Error(`${r} is not one of the available MIME types on this item.`);
153
+ return o instanceof e.Blob ? o : new e.Blob([
154
+ o
155
+ ], {
156
+ type: r
157
+ });
158
+ }
159
+ constructor(r) {
160
+ vt(this, "data", void 0), this.data = r;
161
+ }
162
+ }(n);
163
+ }
164
+ const W = Symbol("Manage ClipboardSub");
165
+ function We(e, t) {
166
+ return Object.assign(new class extends e.EventTarget {
167
+ async read() {
168
+ return Array.from(this.items);
169
+ }
170
+ async readText() {
171
+ let i = "";
172
+ for (const r of this.items) {
173
+ const o = r.types.includes("text/plain") ? "text/plain" : r.types.find((s) => s.startsWith("text/"));
174
+ o && (i += await r.getType(o).then((s) => bt(s, e.FileReader)));
175
+ }
176
+ return i;
177
+ }
178
+ async write(i) {
179
+ this.items = i;
180
+ }
181
+ async writeText(i) {
182
+ this.items = [
183
+ yt(e, i)
184
+ ];
185
+ }
186
+ constructor(...i) {
187
+ super(...i), vt(this, "items", []);
188
+ }
189
+ }(), {
190
+ [W]: t
191
+ });
192
+ }
193
+ function Fe(e) {
194
+ return !!(e != null && e[W]);
195
+ }
196
+ function ln(e) {
197
+ if (Fe(e.navigator.clipboard))
198
+ return e.navigator.clipboard[W];
199
+ const t = Object.getOwnPropertyDescriptor(e.navigator, "clipboard");
200
+ let n;
201
+ const i = {
202
+ resetClipboardStub: () => {
203
+ n = We(e, i);
204
+ },
205
+ detachClipboardStub: () => {
206
+ t ? Object.defineProperty(e.navigator, "clipboard", t) : Object.defineProperty(e.navigator, "clipboard", {
207
+ value: void 0,
208
+ configurable: !0
209
+ });
210
+ }
211
+ };
212
+ return n = We(e, i), Object.defineProperty(e.navigator, "clipboard", {
213
+ get: () => n,
214
+ configurable: !0
215
+ }), n[W];
216
+ }
217
+ function an(e) {
218
+ Fe(e.navigator.clipboard) && e.navigator.clipboard[W].resetClipboardStub();
219
+ }
220
+ function fn(e) {
221
+ Fe(e.navigator.clipboard) && e.navigator.clipboard[W].detachClipboardStub();
222
+ }
223
+ async function pn(e) {
224
+ const t = e.defaultView, n = t == null ? void 0 : t.navigator.clipboard, i = n && await n.read();
225
+ if (!i)
226
+ throw new Error("The Clipboard API is unavailable.");
227
+ const r = Be(t);
228
+ for (const o of i)
229
+ for (const s of o.types)
230
+ r.setData(s, await o.getType(s).then((u) => bt(u, t.FileReader)));
231
+ return r;
232
+ }
233
+ async function mt(e, t) {
234
+ const n = E(e), i = n.navigator.clipboard, r = [];
235
+ for (let s = 0; s < t.items.length; s++) {
236
+ const u = t.items[s], c = await dn(n, u);
237
+ r.push(yt(n, c));
238
+ }
239
+ if (!(i && await i.write(r).then(
240
+ () => !0,
241
+ // Can happen with other implementations that e.g. require permissions
242
+ /* istanbul ignore next */
243
+ () => !1
244
+ )))
245
+ throw new Error("The Clipboard API is unavailable.");
246
+ }
247
+ const we = globalThis;
248
+ typeof we.afterEach == "function" && we.afterEach(() => an(globalThis.window));
249
+ typeof we.afterAll == "function" && we.afterAll(() => fn(globalThis.window));
250
+ const Et = [
251
+ "input:not([type=hidden]):not([disabled])",
252
+ "button:not([disabled])",
253
+ "select:not([disabled])",
254
+ "textarea:not([disabled])",
255
+ '[contenteditable=""]',
256
+ '[contenteditable="true"]',
257
+ "a[href]",
258
+ "[tabindex]:not([disabled])"
259
+ ].join(", ");
260
+ function Ve(e) {
261
+ return e.matches(Et);
262
+ }
263
+ function hn(e) {
264
+ return new e.constructor(e.type, e);
265
+ }
266
+ function I(e) {
267
+ for (let n = e; n; n = n.parentElement)
268
+ if (a(n, [
269
+ "button",
270
+ "input",
271
+ "select",
272
+ "textarea",
273
+ "optgroup",
274
+ "option"
275
+ ])) {
276
+ if (n.hasAttribute("disabled"))
277
+ return !0;
278
+ } else if (a(n, "fieldset")) {
279
+ var t;
280
+ if (n.hasAttribute("disabled") && !(!((t = n.querySelector(":scope > legend")) === null || t === void 0) && t.contains(e)))
281
+ return !0;
282
+ } else if (n.tagName.includes("-") && n.constructor.formAssociated && n.hasAttribute("disabled"))
283
+ return !0;
284
+ return !1;
285
+ }
286
+ function fe(e) {
287
+ const t = e.activeElement;
288
+ return t != null && t.shadowRoot ? fe(t.shadowRoot) : I(t) ? e.ownerDocument ? (
289
+ /* istanbul ignore next */
290
+ e.ownerDocument.body
291
+ ) : e.body : t;
292
+ }
293
+ function Oe(e) {
294
+ var t;
295
+ return (t = fe(e)) !== null && t !== void 0 ? t : (
296
+ /* istanbul ignore next */
297
+ e.body
298
+ );
299
+ }
300
+ function bn(e, t) {
301
+ let n = e;
302
+ do {
303
+ if (t(n))
304
+ return n;
305
+ n = n.parentElement;
306
+ } while (n && n !== e.ownerDocument.body);
307
+ }
308
+ function R(e) {
309
+ return e.hasAttribute("contenteditable") && (e.getAttribute("contenteditable") == "true" || e.getAttribute("contenteditable") == "");
310
+ }
311
+ function de(e) {
312
+ const t = gn(e);
313
+ return t && (t.closest('[contenteditable=""]') || t.closest('[contenteditable="true"]'));
314
+ }
315
+ function gn(e) {
316
+ return e.nodeType === 1 ? e : e.parentElement;
317
+ }
318
+ var wt = /* @__PURE__ */ function(e) {
319
+ return e.button = "button", e.color = "color", e.file = "file", e.image = "image", e.reset = "reset", e.submit = "submit", e.checkbox = "checkbox", e.radio = "radio", e;
320
+ }(wt || {});
321
+ function kt(e) {
322
+ return a(e, "button") || a(e, "input") && e.type in wt;
323
+ }
324
+ function z(e) {
325
+ return Ct(e) && !e.readOnly || R(e);
326
+ }
327
+ var Tt = /* @__PURE__ */ function(e) {
328
+ return e.text = "text", e.date = "date", e["datetime-local"] = "datetime-local", e.email = "email", e.month = "month", e.number = "number", e.password = "password", e.search = "search", e.tel = "tel", e.time = "time", e.url = "url", e.week = "week", e;
329
+ }(Tt || {});
330
+ function Ct(e) {
331
+ return a(e, "textarea") || a(e, "input") && e.type in Tt;
332
+ }
333
+ function k(e) {
334
+ return St(e) && Ct(e);
335
+ }
336
+ function vn(e) {
337
+ return St(e) && kt(e);
338
+ }
339
+ function St(e) {
340
+ return e.nodeType === 1;
341
+ }
342
+ function yn(e) {
343
+ const t = e.ownerDocument.getSelection();
344
+ if (t != null && t.focusNode && k(e)) {
345
+ const i = de(t.focusNode);
346
+ if (i) {
347
+ if (!t.isCollapsed) {
348
+ var n;
349
+ const r = ((n = i.firstChild) === null || n === void 0 ? void 0 : n.nodeType) === 3 ? i.firstChild : i;
350
+ t.setBaseAndExtent(r, 0, r, 0);
351
+ }
352
+ } else
353
+ t.setBaseAndExtent(e, 0, e, 0);
354
+ }
355
+ }
356
+ function Y(e, t) {
357
+ return H().eventWrapper(e);
358
+ }
359
+ function O(e) {
360
+ const t = bn(e, Ve), n = fe(e.ownerDocument);
361
+ (t ?? e.ownerDocument.body) !== n && (Y(t ? () => t.focus() : () => n == null ? void 0 : n.blur()), yn(t ?? e.ownerDocument.body));
362
+ }
363
+ function mn(e) {
364
+ !Ve(e) || !(fe(e.ownerDocument) === e) || Y(() => e.blur());
365
+ }
366
+ const U = {};
367
+ U.click = (e, t, n) => {
368
+ const i = t.closest("button,input,label,select,textarea"), r = i && a(i, "label") && i.control;
369
+ if (r && r !== t)
370
+ return () => {
371
+ Ve(r) && (O(r), n.dispatchEvent(r, hn(e)));
372
+ };
373
+ if (a(t, "input", {
374
+ type: "file"
375
+ }))
376
+ return () => {
377
+ mn(t), t.dispatchEvent(new (E(t)).Event("fileDialog")), O(t);
378
+ };
379
+ };
380
+ const q = Symbol("Displayed value in UI"), S = Symbol("Displayed selection in UI"), ke = Symbol("Initial value to compare on blur");
381
+ function En(e) {
382
+ return typeof e == "object" && q in e;
383
+ }
384
+ function wn(e) {
385
+ return !!e && typeof e == "object" && S in e;
386
+ }
387
+ function kn(e, t) {
388
+ e[ke] === void 0 && (e[ke] = e.value), e[q] = t, e.value = Object.assign(new String(t), {
389
+ [q]: !0
390
+ });
391
+ }
392
+ function T(e) {
393
+ return e[q] === void 0 ? e.value : String(e[q]);
394
+ }
395
+ function Ke(e) {
396
+ e[q] = void 0;
397
+ }
398
+ function It(e) {
399
+ e[ke] = void 0;
400
+ }
401
+ function Tn(e) {
402
+ return e[ke];
403
+ }
404
+ function Cn(e, t) {
405
+ e[S] = t;
406
+ }
407
+ function Z(e, { focusOffset: t, anchorOffset: n = t }, i = "replace") {
408
+ const r = T(e).length, o = (f) => Math.max(0, Math.min(r, f)), s = i === "replace" || e[S] === void 0 ? o(n) : e[S].anchorOffset, u = o(t), c = Math.min(s, u), d = Math.max(s, u);
409
+ if (e[S] = {
410
+ anchorOffset: s,
411
+ focusOffset: u
412
+ }, e.selectionStart === c && e.selectionEnd === d)
413
+ return;
414
+ const l = Object.assign(new Number(c), {
415
+ [S]: !0
416
+ });
417
+ try {
418
+ e.setSelectionRange(l, d);
419
+ } catch {
420
+ }
421
+ }
422
+ function le(e) {
423
+ var t, n, i;
424
+ const r = (i = e[S]) !== null && i !== void 0 ? i : {
425
+ anchorOffset: (t = e.selectionStart) !== null && t !== void 0 ? t : 0,
426
+ focusOffset: (n = e.selectionEnd) !== null && n !== void 0 ? n : 0
427
+ };
428
+ return {
429
+ ...r,
430
+ startOffset: Math.min(r.anchorOffset, r.focusOffset),
431
+ endOffset: Math.max(r.anchorOffset, r.focusOffset)
432
+ };
433
+ }
434
+ function Sn(e) {
435
+ return !!e[S];
436
+ }
437
+ function ye(e) {
438
+ e[S] = void 0;
439
+ }
440
+ const Te = globalThis.parseInt;
441
+ function In(e) {
442
+ const t = e.replace(/\D/g, "");
443
+ if (t.length < 2)
444
+ return e;
445
+ const n = Te(t[0], 10), i = Te(t[1], 10);
446
+ if (n >= 3 || n === 2 && i >= 4) {
447
+ let r;
448
+ return n >= 3 ? r = 1 : r = 2, ze(t, r);
449
+ }
450
+ return e.length === 2 ? e : ze(t, 2);
451
+ }
452
+ function ze(e, t) {
453
+ const n = e.slice(0, t), i = Math.min(Te(n, 10), 23), r = e.slice(t), o = Te(r, 10), s = Math.min(o, 59);
454
+ return `${i.toString().padStart(2, "0")}:${s.toString().padStart(2, "0")}`;
455
+ }
456
+ function _t(e, t) {
457
+ const n = e.cloneNode();
458
+ return n.value = t, n.value === t;
459
+ }
460
+ var Pt = /* @__PURE__ */ function(e) {
461
+ return e.email = "email", e.password = "password", e.search = "search", e.telephone = "telephone", e.text = "text", e.url = "url", e;
462
+ }(Pt || {});
463
+ function _n(e) {
464
+ var t;
465
+ const n = (t = e.getAttribute("maxlength")) !== null && t !== void 0 ? t : "";
466
+ return /^\d+$/.test(n) && Number(n) >= 0 ? Number(n) : void 0;
467
+ }
468
+ function Pn(e) {
469
+ return a(e, "textarea") || a(e, "input") && e.type in Pt;
470
+ }
471
+ function At(e, t, n, i) {
472
+ if (me(e) && t + n >= 0 && t + n <= e.nodeValue.length)
473
+ return {
474
+ node: e,
475
+ offset: t + n
476
+ };
477
+ const r = Ye(e, t, n);
478
+ if (r) {
479
+ if (me(r))
480
+ return {
481
+ node: r,
482
+ offset: n > 0 ? Math.min(1, r.nodeValue.length) : Math.max(r.nodeValue.length - 1, 0)
483
+ };
484
+ if (a(r, "br")) {
485
+ const o = Ye(r, void 0, n);
486
+ return o ? me(o) ? {
487
+ node: o,
488
+ offset: n > 0 ? 0 : o.nodeValue.length
489
+ } : n < 0 && a(o, "br") ? {
490
+ node: r.parentNode,
491
+ offset: he(r)
492
+ } : {
493
+ node: o.parentNode,
494
+ offset: he(o) + (n > 0 ? 0 : 1)
495
+ } : n < 0 && i === "deleteContentBackward" ? {
496
+ node: r.parentNode,
497
+ offset: he(r)
498
+ } : void 0;
499
+ } else
500
+ return {
501
+ node: r.parentNode,
502
+ offset: he(r) + (n > 0 ? 1 : 0)
503
+ };
504
+ }
505
+ }
506
+ function Ye(e, t, n) {
507
+ const i = Number(t) + (n < 0 ? -1 : 0);
508
+ return t !== void 0 && Re(e) && i >= 0 && i < e.children.length && (e = e.children[i]), On(e, n === 1 ? "next" : "previous", An);
509
+ }
510
+ function An(e) {
511
+ if (me(e))
512
+ return !0;
513
+ if (Re(e)) {
514
+ if (a(e, [
515
+ "input",
516
+ "textarea"
517
+ ]))
518
+ return e.type !== "hidden";
519
+ if (a(e, "br"))
520
+ return !0;
521
+ }
522
+ return !1;
523
+ }
524
+ function he(e) {
525
+ let t = 0;
526
+ for (; e.previousSibling; )
527
+ t++, e = e.previousSibling;
528
+ return t;
529
+ }
530
+ function Re(e) {
531
+ return e.nodeType === 1;
532
+ }
533
+ function me(e) {
534
+ return e.nodeType === 3;
535
+ }
536
+ function On(e, t, n) {
537
+ for (; ; ) {
538
+ var i;
539
+ const r = e[`${t}Sibling`];
540
+ if (r) {
541
+ if (e = Un(r, t === "next" ? "first" : "last"), n(e))
542
+ return e;
543
+ } else if (e.parentNode && (!Re(e.parentNode) || !R(e.parentNode) && e.parentNode !== ((i = e.ownerDocument) === null || i === void 0 ? void 0 : i.body)))
544
+ e = e.parentNode;
545
+ else
546
+ break;
547
+ }
548
+ }
549
+ function Un(e, t) {
550
+ for (; e.hasChildNodes(); )
551
+ e = e[`${t}Child`];
552
+ return e;
553
+ }
554
+ const ae = Symbol("Track programmatic changes for React workaround");
555
+ function Dn(e) {
556
+ return Object.getOwnPropertyNames(e).some((t) => t.startsWith("__react")) && E(e).REACT_VERSION === 17;
557
+ }
558
+ function xn(e) {
559
+ Dn(e) && (e[ae] = {
560
+ previousValue: String(e.value),
561
+ tracked: []
562
+ });
563
+ }
564
+ function Nn(e, t) {
565
+ var n, i;
566
+ (i = e[ae]) === null || i === void 0 || (n = i.tracked) === null || n === void 0 || n.push(t), e[ae] || (Ke(e), Z(e, {
567
+ focusOffset: t.length
568
+ }));
569
+ }
570
+ function Mn(e, t) {
571
+ var n;
572
+ const i = e[ae];
573
+ if (e[ae] = void 0, !(!(i == null || (n = i.tracked) === null || n === void 0) && n.length))
574
+ return;
575
+ const r = i.tracked.length === 2 && i.tracked[0] === i.previousValue && i.tracked[1] === e.value;
576
+ r || Ke(e), Sn(e) && Z(e, {
577
+ focusOffset: r ? t : e.value.length
578
+ });
579
+ }
580
+ function Ot(e) {
581
+ const t = Ln(e);
582
+ if (t && k(t))
583
+ return {
584
+ type: "input",
585
+ selection: le(t)
586
+ };
587
+ const n = t == null ? void 0 : t.ownerDocument.getSelection();
588
+ return {
589
+ type: de(e) && (n == null ? void 0 : n.anchorNode) && de(n.anchorNode) ? "contenteditable" : "default",
590
+ selection: n
591
+ };
592
+ }
593
+ function Ln(e) {
594
+ return e.nodeType === 1 ? e : e.parentElement;
595
+ }
596
+ function $n(e) {
597
+ const t = Ot(e);
598
+ if (t.type === "input")
599
+ return t.selection;
600
+ if (t.type === "contenteditable") {
601
+ var n;
602
+ return (n = t.selection) === null || n === void 0 ? void 0 : n.getRangeAt(0);
603
+ }
604
+ }
605
+ function j({ focusNode: e, focusOffset: t, anchorNode: n = e, anchorOffset: i = t }) {
606
+ var r, o;
607
+ if (Ot(e).type === "input")
608
+ return Z(e, {
609
+ anchorOffset: i,
610
+ focusOffset: t
611
+ });
612
+ (o = n.ownerDocument) === null || o === void 0 || (r = o.getSelection()) === null || r === void 0 || r.setBaseAndExtent(n, i, e, t);
613
+ }
614
+ function Ut(e) {
615
+ return a(e, "input") && [
616
+ "date",
617
+ "time"
618
+ ].includes(e.type);
619
+ }
620
+ function J(e, t, n, i = "insertText") {
621
+ const r = $n(t);
622
+ r && (!Ut(t) && !e.dispatchUIEvent(t, "beforeinput", {
623
+ inputType: i,
624
+ data: n
625
+ }) || ("startContainer" in r ? Bn(e, t, r, n, i) : Fn(e, t, r, n, i)));
626
+ }
627
+ function Bn(e, t, n, i, r) {
628
+ let o = !1;
629
+ if (!n.collapsed)
630
+ o = !0, n.deleteContents();
631
+ else if ([
632
+ "deleteContentBackward",
633
+ "deleteContentForward"
634
+ ].includes(r)) {
635
+ const s = At(n.startContainer, n.startOffset, r === "deleteContentBackward" ? -1 : 1, r);
636
+ if (s) {
637
+ o = !0;
638
+ const u = n.cloneRange();
639
+ u.comparePoint(s.node, s.offset) < 0 ? u.setStart(s.node, s.offset) : u.setEnd(s.node, s.offset), u.deleteContents();
640
+ }
641
+ }
642
+ if (i)
643
+ if (n.endContainer.nodeType === 3) {
644
+ const s = n.endOffset;
645
+ n.endContainer.insertData(s, i), n.setStart(n.endContainer, s + i.length), n.setEnd(n.endContainer, s + i.length);
646
+ } else {
647
+ const s = t.ownerDocument.createTextNode(i);
648
+ n.insertNode(s), n.setStart(s, i.length), n.setEnd(s, i.length);
649
+ }
650
+ (o || i) && e.dispatchUIEvent(t, "input", {
651
+ inputType: r
652
+ });
653
+ }
654
+ function Fn(e, t, n, i, r) {
655
+ let o = i;
656
+ if (Pn(t)) {
657
+ const d = _n(t);
658
+ if (d !== void 0 && i.length > 0) {
659
+ const l = d - t.value.length;
660
+ if (l > 0)
661
+ o = i.substring(0, l);
662
+ else
663
+ return;
664
+ }
665
+ }
666
+ const { newValue: s, newOffset: u, oldValue: c } = Vn(o, t, n, r);
667
+ s === c && u === n.startOffset && u === n.endOffset || a(t, "input", {
668
+ type: "number"
669
+ }) && !Kn(s) || (kn(t, s), j({
670
+ focusNode: t,
671
+ anchorOffset: u,
672
+ focusOffset: u
673
+ }), Ut(t) ? _t(t, s) && (qe(e, t, u, {}), e.dispatchUIEvent(t, "change"), It(t)) : qe(e, t, u, {
674
+ data: i,
675
+ inputType: r
676
+ }));
677
+ }
678
+ function Vn(e, t, { startOffset: n, endOffset: i }, r) {
679
+ const o = T(t), s = Math.max(0, n === i && r === "deleteContentBackward" ? n - 1 : n), u = o.substring(0, s), c = Math.min(o.length, n === i && r === "deleteContentForward" ? n + 1 : i), d = o.substring(c, o.length);
680
+ let l = `${u}${e}${d}`, f = s + e.length;
681
+ if (a(t, "input", {
682
+ type: "time"
683
+ })) {
684
+ const p = In(l);
685
+ p !== "" && _t(t, p) && (l = p, f = p.length);
686
+ }
687
+ return {
688
+ oldValue: o,
689
+ newValue: l,
690
+ newOffset: f
691
+ };
692
+ }
693
+ function qe(e, t, n, i) {
694
+ e.dispatchUIEvent(t, "input", i), Mn(t, n);
695
+ }
696
+ function Kn(e) {
697
+ var t, n;
698
+ const i = e.split("e", 2);
699
+ return !(/[^\d.\-e]/.test(e) || Number((t = e.match(/-/g)) === null || t === void 0 ? void 0 : t.length) > 2 || Number((n = e.match(/\./g)) === null || n === void 0 ? void 0 : n.length) > 1 || i[1] && !/^-?\d*$/.test(i[1]));
700
+ }
701
+ U.cut = (e, t, n) => () => {
702
+ z(t) && J(n, t, "", "deleteByCut");
703
+ };
704
+ function Rn(e) {
705
+ return e ? R(e) ? e.textContent : T(e) : null;
706
+ }
707
+ function jn(e) {
708
+ const t = E(e);
709
+ for (let n = e; n != null && n.ownerDocument; n = n.parentElement) {
710
+ const { display: i, visibility: r } = t.getComputedStyle(n);
711
+ if (i === "none" || r === "hidden")
712
+ return !1;
713
+ }
714
+ return !0;
715
+ }
716
+ function Hn(e, t) {
717
+ const n = e.ownerDocument, i = n.querySelectorAll(Et), r = Array.from(i).filter((c) => c === e || !(Number(c.getAttribute("tabindex")) < 0 || I(c)));
718
+ Number(e.getAttribute("tabindex")) >= 0 && r.sort((c, d) => {
719
+ const l = Number(c.getAttribute("tabindex")), f = Number(d.getAttribute("tabindex"));
720
+ return l === f ? 0 : l === 0 ? 1 : f === 0 ? -1 : l - f;
721
+ });
722
+ const o = {};
723
+ let s = [
724
+ n.body
725
+ ];
726
+ const u = a(e, "input", {
727
+ type: "radio"
728
+ }) ? e.name : void 0;
729
+ r.forEach((c) => {
730
+ const d = c;
731
+ if (a(d, "input", {
732
+ type: "radio"
733
+ }) && d.name) {
734
+ if (d === e) {
735
+ s.push(d);
736
+ return;
737
+ } else if (d.name === u)
738
+ return;
739
+ if (d.checked) {
740
+ s = s.filter((l) => !a(l, "input", {
741
+ type: "radio",
742
+ name: d.name
743
+ })), s.push(d), o[d.name] = d;
744
+ return;
745
+ }
746
+ if (typeof o[d.name] < "u")
747
+ return;
748
+ }
749
+ s.push(d);
750
+ });
751
+ for (let c = s.findIndex((d) => d === e); ; )
752
+ if (c += t ? -1 : 1, c === s.length ? c = 0 : c === -1 && (c = s.length - 1), s[c] === e || s[c] === n.body || jn(s[c]))
753
+ return s[c];
754
+ }
755
+ function Je(e, t) {
756
+ if (k(e)) {
757
+ const n = le(e);
758
+ j({
759
+ focusNode: e,
760
+ focusOffset: n.startOffset === n.endOffset ? n.focusOffset + t : t < 0 ? n.startOffset : n.endOffset
761
+ });
762
+ } else {
763
+ const n = e.ownerDocument.getSelection();
764
+ if (!(n != null && n.focusNode))
765
+ return;
766
+ if (n.isCollapsed) {
767
+ const i = At(n.focusNode, n.focusOffset, t);
768
+ i && j({
769
+ focusNode: i.node,
770
+ focusOffset: i.offset
771
+ });
772
+ } else
773
+ n[t < 0 ? "collapseToStart" : "collapseToEnd"]();
774
+ }
775
+ }
776
+ function Dt(e) {
777
+ if (k(e))
778
+ return j({
779
+ focusNode: e,
780
+ anchorOffset: 0,
781
+ focusOffset: T(e).length
782
+ });
783
+ var t;
784
+ const n = (t = de(e)) !== null && t !== void 0 ? t : e.ownerDocument.body;
785
+ j({
786
+ focusNode: n,
787
+ anchorOffset: 0,
788
+ focusOffset: n.childNodes.length
789
+ });
790
+ }
791
+ function Gn(e) {
792
+ if (k(e))
793
+ return le(e).startOffset === 0 && le(e).endOffset === T(e).length;
794
+ var t;
795
+ const n = (t = de(e)) !== null && t !== void 0 ? t : e.ownerDocument.body, i = e.ownerDocument.getSelection();
796
+ return (i == null ? void 0 : i.anchorNode) === n && i.focusNode === n && i.anchorOffset === 0 && i.focusOffset === n.childNodes.length;
797
+ }
798
+ function oe(e, t, n) {
799
+ var i;
800
+ if (k(e))
801
+ return j({
802
+ focusNode: e,
803
+ anchorOffset: t,
804
+ focusOffset: n
805
+ });
806
+ if (R(e) && ((i = e.firstChild) === null || i === void 0 ? void 0 : i.nodeType) === 3)
807
+ return j({
808
+ focusNode: e.firstChild,
809
+ anchorOffset: t,
810
+ focusOffset: n
811
+ });
812
+ throw new Error("Not implemented. The result of this interaction is unreliable.");
813
+ }
814
+ function be(e, t, n) {
815
+ const i = E(t), r = Array.from(t.ownerDocument.querySelectorAll(t.name ? `input[type="radio"][name="${i.CSS.escape(t.name)}"]` : 'input[type="radio"][name=""], input[type="radio"]:not([name])'));
816
+ for (let o = r.findIndex((s) => s === t) + n; ; o += n) {
817
+ if (r[o] || (o = n > 0 ? 0 : r.length - 1), r[o] === t)
818
+ return;
819
+ if (!I(r[o])) {
820
+ O(r[o]), e.dispatchUIEvent(r[o], "click");
821
+ return;
822
+ }
823
+ }
824
+ }
825
+ U.keydown = (e, t, n) => {
826
+ var i, r;
827
+ return (r = (i = Qe[e.key]) === null || i === void 0 ? void 0 : i.call(Qe, e, t, n)) !== null && r !== void 0 ? r : Xn(e, t, n);
828
+ };
829
+ const Qe = {
830
+ ArrowDown: (e, t, n) => {
831
+ if (a(t, "input", {
832
+ type: "radio"
833
+ }))
834
+ return () => be(n, t, 1);
835
+ },
836
+ ArrowLeft: (e, t, n) => a(t, "input", {
837
+ type: "radio"
838
+ }) ? () => be(n, t, -1) : () => Je(t, -1),
839
+ ArrowRight: (e, t, n) => a(t, "input", {
840
+ type: "radio"
841
+ }) ? () => be(n, t, 1) : () => Je(t, 1),
842
+ ArrowUp: (e, t, n) => {
843
+ if (a(t, "input", {
844
+ type: "radio"
845
+ }))
846
+ return () => be(n, t, -1);
847
+ },
848
+ Backspace: (e, t, n) => {
849
+ if (z(t))
850
+ return () => {
851
+ J(n, t, "", "deleteContentBackward");
852
+ };
853
+ },
854
+ Delete: (e, t, n) => {
855
+ if (z(t))
856
+ return () => {
857
+ J(n, t, "", "deleteContentForward");
858
+ };
859
+ },
860
+ End: (e, t) => {
861
+ if (a(t, [
862
+ "input",
863
+ "textarea"
864
+ ]) || R(t))
865
+ return () => {
866
+ var n, i;
867
+ const r = (i = (n = Rn(t)) === null || n === void 0 ? void 0 : n.length) !== null && i !== void 0 ? i : (
868
+ /* istanbul ignore next */
869
+ 0
870
+ );
871
+ oe(t, r, r);
872
+ };
873
+ },
874
+ Home: (e, t) => {
875
+ if (a(t, [
876
+ "input",
877
+ "textarea"
878
+ ]) || R(t))
879
+ return () => {
880
+ oe(t, 0, 0);
881
+ };
882
+ },
883
+ PageDown: (e, t) => {
884
+ if (a(t, [
885
+ "input"
886
+ ]))
887
+ return () => {
888
+ const n = T(t).length;
889
+ oe(t, n, n);
890
+ };
891
+ },
892
+ PageUp: (e, t) => {
893
+ if (a(t, [
894
+ "input"
895
+ ]))
896
+ return () => {
897
+ oe(t, 0, 0);
898
+ };
899
+ },
900
+ Tab: (e, t, n) => () => {
901
+ const i = Hn(t, n.system.keyboard.modifiers.Shift);
902
+ O(i), k(i) && Z(i, {
903
+ anchorOffset: 0,
904
+ focusOffset: i.value.length
905
+ });
906
+ }
907
+ }, Xn = (e, t, n) => {
908
+ if (e.code === "KeyA" && n.system.keyboard.modifiers.Control)
909
+ return () => Dt(t);
910
+ };
911
+ U.keypress = (e, t, n) => {
912
+ if (e.key === "Enter") {
913
+ if (a(t, "button") || a(t, "input") && Wn.includes(t.type) || a(t, "a") && t.href)
914
+ return () => {
915
+ n.dispatchUIEvent(t, "click");
916
+ };
917
+ if (a(t, "input")) {
918
+ const i = t.form, r = i == null ? void 0 : i.querySelector('input[type="submit"], button:not([type]), button[type="submit"]');
919
+ return r ? () => n.dispatchUIEvent(r, "click") : i && zn.includes(t.type) && i.querySelectorAll("input").length === 1 ? () => n.dispatchUIEvent(i, "submit") : void 0;
920
+ }
921
+ }
922
+ if (z(t)) {
923
+ const i = e.key === "Enter" ? R(t) && !n.system.keyboard.modifiers.Shift ? "insertParagraph" : "insertLineBreak" : "insertText", r = e.key === "Enter" ? `
924
+ ` : e.key;
925
+ return () => J(n, t, r, i);
926
+ }
927
+ };
928
+ const Wn = [
929
+ "button",
930
+ "color",
931
+ "file",
932
+ "image",
933
+ "reset",
934
+ "submit"
935
+ ], zn = [
936
+ "email",
937
+ "month",
938
+ "password",
939
+ "search",
940
+ "tel",
941
+ "text",
942
+ "url",
943
+ "week"
944
+ ];
945
+ U.keyup = (e, t, n) => {
946
+ var i;
947
+ return (i = Ze[e.key]) === null || i === void 0 ? void 0 : i.call(Ze, e, t, n);
948
+ };
949
+ const Ze = {
950
+ " ": (e, t, n) => {
951
+ if (kt(t))
952
+ return () => n.dispatchUIEvent(t, "click");
953
+ }
954
+ };
955
+ U.paste = (e, t, n) => {
956
+ if (z(t))
957
+ return () => {
958
+ var i;
959
+ const r = (i = e.clipboardData) === null || i === void 0 ? void 0 : i.getData("text");
960
+ r && J(n, t, r, "insertFromPaste");
961
+ };
962
+ };
963
+ const xt = {
964
+ auxclick: {
965
+ EventType: "PointerEvent",
966
+ defaultInit: {
967
+ bubbles: !0,
968
+ cancelable: !0,
969
+ composed: !0
970
+ }
971
+ },
972
+ beforeinput: {
973
+ EventType: "InputEvent",
974
+ defaultInit: {
975
+ bubbles: !0,
976
+ cancelable: !0,
977
+ composed: !0
978
+ }
979
+ },
980
+ blur: {
981
+ EventType: "FocusEvent",
982
+ defaultInit: {
983
+ bubbles: !1,
984
+ cancelable: !1,
985
+ composed: !0
986
+ }
987
+ },
988
+ click: {
989
+ EventType: "PointerEvent",
990
+ defaultInit: {
991
+ bubbles: !0,
992
+ cancelable: !0,
993
+ composed: !0
994
+ }
995
+ },
996
+ contextmenu: {
997
+ EventType: "PointerEvent",
998
+ defaultInit: {
999
+ bubbles: !0,
1000
+ cancelable: !0,
1001
+ composed: !0
1002
+ }
1003
+ },
1004
+ copy: {
1005
+ EventType: "ClipboardEvent",
1006
+ defaultInit: {
1007
+ bubbles: !0,
1008
+ cancelable: !0,
1009
+ composed: !0
1010
+ }
1011
+ },
1012
+ change: {
1013
+ EventType: "Event",
1014
+ defaultInit: {
1015
+ bubbles: !0,
1016
+ cancelable: !1
1017
+ }
1018
+ },
1019
+ cut: {
1020
+ EventType: "ClipboardEvent",
1021
+ defaultInit: {
1022
+ bubbles: !0,
1023
+ cancelable: !0,
1024
+ composed: !0
1025
+ }
1026
+ },
1027
+ dblclick: {
1028
+ EventType: "MouseEvent",
1029
+ defaultInit: {
1030
+ bubbles: !0,
1031
+ cancelable: !0,
1032
+ composed: !0
1033
+ }
1034
+ },
1035
+ focus: {
1036
+ EventType: "FocusEvent",
1037
+ defaultInit: {
1038
+ bubbles: !1,
1039
+ cancelable: !1,
1040
+ composed: !0
1041
+ }
1042
+ },
1043
+ focusin: {
1044
+ EventType: "FocusEvent",
1045
+ defaultInit: {
1046
+ bubbles: !0,
1047
+ cancelable: !1,
1048
+ composed: !0
1049
+ }
1050
+ },
1051
+ focusout: {
1052
+ EventType: "FocusEvent",
1053
+ defaultInit: {
1054
+ bubbles: !0,
1055
+ cancelable: !1,
1056
+ composed: !0
1057
+ }
1058
+ },
1059
+ keydown: {
1060
+ EventType: "KeyboardEvent",
1061
+ defaultInit: {
1062
+ bubbles: !0,
1063
+ cancelable: !0,
1064
+ composed: !0
1065
+ }
1066
+ },
1067
+ keypress: {
1068
+ EventType: "KeyboardEvent",
1069
+ defaultInit: {
1070
+ bubbles: !0,
1071
+ cancelable: !0,
1072
+ composed: !0
1073
+ }
1074
+ },
1075
+ keyup: {
1076
+ EventType: "KeyboardEvent",
1077
+ defaultInit: {
1078
+ bubbles: !0,
1079
+ cancelable: !0,
1080
+ composed: !0
1081
+ }
1082
+ },
1083
+ paste: {
1084
+ EventType: "ClipboardEvent",
1085
+ defaultInit: {
1086
+ bubbles: !0,
1087
+ cancelable: !0,
1088
+ composed: !0
1089
+ }
1090
+ },
1091
+ input: {
1092
+ EventType: "InputEvent",
1093
+ defaultInit: {
1094
+ bubbles: !0,
1095
+ cancelable: !1,
1096
+ composed: !0
1097
+ }
1098
+ },
1099
+ mousedown: {
1100
+ EventType: "MouseEvent",
1101
+ defaultInit: {
1102
+ bubbles: !0,
1103
+ cancelable: !0,
1104
+ composed: !0
1105
+ }
1106
+ },
1107
+ mouseenter: {
1108
+ EventType: "MouseEvent",
1109
+ defaultInit: {
1110
+ bubbles: !1,
1111
+ cancelable: !1,
1112
+ composed: !0
1113
+ }
1114
+ },
1115
+ mouseleave: {
1116
+ EventType: "MouseEvent",
1117
+ defaultInit: {
1118
+ bubbles: !1,
1119
+ cancelable: !1,
1120
+ composed: !0
1121
+ }
1122
+ },
1123
+ mousemove: {
1124
+ EventType: "MouseEvent",
1125
+ defaultInit: {
1126
+ bubbles: !0,
1127
+ cancelable: !0,
1128
+ composed: !0
1129
+ }
1130
+ },
1131
+ mouseout: {
1132
+ EventType: "MouseEvent",
1133
+ defaultInit: {
1134
+ bubbles: !0,
1135
+ cancelable: !0,
1136
+ composed: !0
1137
+ }
1138
+ },
1139
+ mouseover: {
1140
+ EventType: "MouseEvent",
1141
+ defaultInit: {
1142
+ bubbles: !0,
1143
+ cancelable: !0,
1144
+ composed: !0
1145
+ }
1146
+ },
1147
+ mouseup: {
1148
+ EventType: "MouseEvent",
1149
+ defaultInit: {
1150
+ bubbles: !0,
1151
+ cancelable: !0,
1152
+ composed: !0
1153
+ }
1154
+ },
1155
+ pointerover: {
1156
+ EventType: "PointerEvent",
1157
+ defaultInit: {
1158
+ bubbles: !0,
1159
+ cancelable: !0,
1160
+ composed: !0
1161
+ }
1162
+ },
1163
+ pointerenter: {
1164
+ EventType: "PointerEvent",
1165
+ defaultInit: {
1166
+ bubbles: !1,
1167
+ cancelable: !1
1168
+ }
1169
+ },
1170
+ pointerdown: {
1171
+ EventType: "PointerEvent",
1172
+ defaultInit: {
1173
+ bubbles: !0,
1174
+ cancelable: !0,
1175
+ composed: !0
1176
+ }
1177
+ },
1178
+ pointermove: {
1179
+ EventType: "PointerEvent",
1180
+ defaultInit: {
1181
+ bubbles: !0,
1182
+ cancelable: !0,
1183
+ composed: !0
1184
+ }
1185
+ },
1186
+ pointerup: {
1187
+ EventType: "PointerEvent",
1188
+ defaultInit: {
1189
+ bubbles: !0,
1190
+ cancelable: !0,
1191
+ composed: !0
1192
+ }
1193
+ },
1194
+ pointercancel: {
1195
+ EventType: "PointerEvent",
1196
+ defaultInit: {
1197
+ bubbles: !0,
1198
+ cancelable: !1,
1199
+ composed: !0
1200
+ }
1201
+ },
1202
+ pointerout: {
1203
+ EventType: "PointerEvent",
1204
+ defaultInit: {
1205
+ bubbles: !0,
1206
+ cancelable: !0,
1207
+ composed: !0
1208
+ }
1209
+ },
1210
+ pointerleave: {
1211
+ EventType: "PointerEvent",
1212
+ defaultInit: {
1213
+ bubbles: !1,
1214
+ cancelable: !1
1215
+ }
1216
+ },
1217
+ submit: {
1218
+ EventType: "Event",
1219
+ defaultInit: {
1220
+ bubbles: !0,
1221
+ cancelable: !0
1222
+ }
1223
+ }
1224
+ };
1225
+ function Nt(e) {
1226
+ return xt[e].EventType;
1227
+ }
1228
+ const Yn = [
1229
+ "MouseEvent",
1230
+ "PointerEvent"
1231
+ ];
1232
+ function qn(e) {
1233
+ return Yn.includes(Nt(e));
1234
+ }
1235
+ function Jn(e) {
1236
+ return Nt(e) === "KeyboardEvent";
1237
+ }
1238
+ const Qn = {
1239
+ ClipboardEvent: [
1240
+ ei
1241
+ ],
1242
+ Event: [],
1243
+ FocusEvent: [
1244
+ re,
1245
+ ti
1246
+ ],
1247
+ InputEvent: [
1248
+ re,
1249
+ ni
1250
+ ],
1251
+ MouseEvent: [
1252
+ re,
1253
+ Ue,
1254
+ et
1255
+ ],
1256
+ PointerEvent: [
1257
+ re,
1258
+ Ue,
1259
+ et,
1260
+ ri
1261
+ ],
1262
+ KeyboardEvent: [
1263
+ re,
1264
+ Ue,
1265
+ ii
1266
+ ]
1267
+ };
1268
+ function Mt(e, t, n) {
1269
+ const i = E(t), { EventType: r, defaultInit: o } = xt[e], s = new (Zn(i))[r](e, o);
1270
+ return Qn[r].forEach((u) => u(s, n ?? {})), s;
1271
+ }
1272
+ function Zn(e) {
1273
+ var t;
1274
+ const n = (t = e.Event) !== null && t !== void 0 ? t : class {
1275
+ };
1276
+ var i;
1277
+ const r = (i = e.AnimationEvent) !== null && i !== void 0 ? i : class extends n {
1278
+ };
1279
+ var o;
1280
+ const s = (o = e.ClipboardEvent) !== null && o !== void 0 ? o : class extends n {
1281
+ };
1282
+ var u;
1283
+ const c = (u = e.PopStateEvent) !== null && u !== void 0 ? u : class extends n {
1284
+ };
1285
+ var d;
1286
+ const l = (d = e.ProgressEvent) !== null && d !== void 0 ? d : class extends n {
1287
+ };
1288
+ var f;
1289
+ const p = (f = e.TransitionEvent) !== null && f !== void 0 ? f : class extends n {
1290
+ };
1291
+ var h;
1292
+ const g = (h = e.UIEvent) !== null && h !== void 0 ? h : class extends n {
1293
+ };
1294
+ var _;
1295
+ const ee = (_ = e.CompositionEvent) !== null && _ !== void 0 ? _ : class extends g {
1296
+ };
1297
+ var x;
1298
+ const te = (x = e.FocusEvent) !== null && x !== void 0 ? x : class extends g {
1299
+ };
1300
+ var N;
1301
+ const ne = (N = e.InputEvent) !== null && N !== void 0 ? N : class extends g {
1302
+ };
1303
+ var M;
1304
+ const ie = (M = e.KeyboardEvent) !== null && M !== void 0 ? M : class extends g {
1305
+ };
1306
+ var L;
1307
+ const $ = (L = e.MouseEvent) !== null && L !== void 0 ? L : class extends g {
1308
+ };
1309
+ var B;
1310
+ const Jt = (B = e.DragEvent) !== null && B !== void 0 ? B : class extends $ {
1311
+ };
1312
+ var Se;
1313
+ const Qt = (Se = e.PointerEvent) !== null && Se !== void 0 ? Se : class extends $ {
1314
+ };
1315
+ var Ie;
1316
+ const Zt = (Ie = e.TouchEvent) !== null && Ie !== void 0 ? Ie : class extends g {
1317
+ };
1318
+ return {
1319
+ Event: n,
1320
+ AnimationEvent: r,
1321
+ ClipboardEvent: s,
1322
+ PopStateEvent: c,
1323
+ ProgressEvent: l,
1324
+ TransitionEvent: p,
1325
+ UIEvent: g,
1326
+ CompositionEvent: ee,
1327
+ FocusEvent: te,
1328
+ InputEvent: ne,
1329
+ KeyboardEvent: ie,
1330
+ MouseEvent: $,
1331
+ DragEvent: Jt,
1332
+ PointerEvent: Qt,
1333
+ TouchEvent: Zt
1334
+ };
1335
+ }
1336
+ function D(e, t) {
1337
+ for (const [n, i] of Object.entries(t))
1338
+ Object.defineProperty(e, n, {
1339
+ get: () => i ?? null
1340
+ });
1341
+ }
1342
+ function b(e) {
1343
+ return Number(e ?? 0);
1344
+ }
1345
+ function ei(e, { clipboardData: t }) {
1346
+ D(e, {
1347
+ clipboardData: t
1348
+ });
1349
+ }
1350
+ function ti(e, { relatedTarget: t }) {
1351
+ D(e, {
1352
+ relatedTarget: t
1353
+ });
1354
+ }
1355
+ function ni(e, { data: t, inputType: n, isComposing: i }) {
1356
+ D(e, {
1357
+ data: t,
1358
+ isComposing: !!i,
1359
+ inputType: String(n)
1360
+ });
1361
+ }
1362
+ function re(e, { view: t, detail: n }) {
1363
+ D(e, {
1364
+ view: t,
1365
+ detail: b(n ?? 0)
1366
+ });
1367
+ }
1368
+ function Ue(e, { altKey: t, ctrlKey: n, metaKey: i, shiftKey: r, modifierAltGraph: o, modifierCapsLock: s, modifierFn: u, modifierFnLock: c, modifierNumLock: d, modifierScrollLock: l, modifierSymbol: f, modifierSymbolLock: p }) {
1369
+ D(e, {
1370
+ altKey: !!t,
1371
+ ctrlKey: !!n,
1372
+ metaKey: !!i,
1373
+ shiftKey: !!r,
1374
+ getModifierState(h) {
1375
+ return !!{
1376
+ Alt: t,
1377
+ AltGraph: o,
1378
+ CapsLock: s,
1379
+ Control: n,
1380
+ Fn: u,
1381
+ FnLock: c,
1382
+ Meta: i,
1383
+ NumLock: d,
1384
+ ScrollLock: l,
1385
+ Shift: r,
1386
+ Symbol: f,
1387
+ SymbolLock: p
1388
+ }[h];
1389
+ }
1390
+ });
1391
+ }
1392
+ function ii(e, { key: t, code: n, location: i, repeat: r, isComposing: o, charCode: s }) {
1393
+ D(e, {
1394
+ key: String(t),
1395
+ code: String(n),
1396
+ location: b(i),
1397
+ repeat: !!r,
1398
+ isComposing: !!o,
1399
+ charCode: s
1400
+ });
1401
+ }
1402
+ function et(e, { x: t, y: n, screenX: i, screenY: r, clientX: o = t, clientY: s = n, button: u, buttons: c, relatedTarget: d, offsetX: l, offsetY: f, pageX: p, pageY: h }) {
1403
+ D(e, {
1404
+ screenX: b(i),
1405
+ screenY: b(r),
1406
+ clientX: b(o),
1407
+ x: b(o),
1408
+ clientY: b(s),
1409
+ y: b(s),
1410
+ button: b(u),
1411
+ buttons: b(c),
1412
+ relatedTarget: d,
1413
+ offsetX: b(l),
1414
+ offsetY: b(f),
1415
+ pageX: b(p),
1416
+ pageY: b(h)
1417
+ });
1418
+ }
1419
+ function ri(e, { pointerId: t, width: n, height: i, pressure: r, tangentialPressure: o, tiltX: s, tiltY: u, twist: c, pointerType: d, isPrimary: l }) {
1420
+ D(e, {
1421
+ pointerId: b(t),
1422
+ width: b(n ?? 1),
1423
+ height: b(i ?? 1),
1424
+ pressure: b(r),
1425
+ tangentialPressure: b(o),
1426
+ tiltX: b(s),
1427
+ tiltY: b(u),
1428
+ twist: b(c),
1429
+ pointerType: String(d),
1430
+ isPrimary: !!l
1431
+ });
1432
+ }
1433
+ function oi(e, t, n, i = !1) {
1434
+ (qn(t) || Jn(t)) && (n = {
1435
+ ...n,
1436
+ ...this.system.getUIEventModifiers()
1437
+ });
1438
+ const r = Mt(t, e, n);
1439
+ return Lt.call(this, e, r, i);
1440
+ }
1441
+ function Lt(e, t, n = !1) {
1442
+ var i;
1443
+ const r = t.type, o = n ? () => {
1444
+ } : (i = U[r]) === null || i === void 0 ? void 0 : i.call(U, t, e, this);
1445
+ if (o) {
1446
+ t.preventDefault();
1447
+ let s = !1;
1448
+ return Object.defineProperty(t, "defaultPrevented", {
1449
+ get: () => s
1450
+ }), Object.defineProperty(t, "preventDefault", {
1451
+ value: () => {
1452
+ s = t.cancelable;
1453
+ }
1454
+ }), Y(() => e.dispatchEvent(t)), s || o(), !s;
1455
+ }
1456
+ return Y(() => e.dispatchEvent(t));
1457
+ }
1458
+ function K(e, t, n) {
1459
+ const i = Mt(t, e, n);
1460
+ Y(() => e.dispatchEvent(i));
1461
+ }
1462
+ const tt = Symbol("patched focus/blur methods");
1463
+ function $t(e) {
1464
+ if (e.prototype[tt])
1465
+ return;
1466
+ const { focus: t, blur: n } = e.prototype;
1467
+ Object.defineProperties(e.prototype, {
1468
+ focus: {
1469
+ configurable: !0,
1470
+ get: () => r
1471
+ },
1472
+ blur: {
1473
+ configurable: !0,
1474
+ get: () => o
1475
+ },
1476
+ [tt]: {
1477
+ configurable: !0,
1478
+ get: () => ({
1479
+ focus: t,
1480
+ blur: n
1481
+ })
1482
+ }
1483
+ });
1484
+ let i;
1485
+ function r(s) {
1486
+ if (this.ownerDocument.visibilityState !== "hidden")
1487
+ return t.call(this, s);
1488
+ const u = nt(this.ownerDocument);
1489
+ if (u === this)
1490
+ return;
1491
+ const c = Symbol("focus call");
1492
+ i = c, u && (n.call(u), K(u, "blur", {
1493
+ relatedTarget: this
1494
+ }), K(u, "focusout", {
1495
+ relatedTarget: i === c ? this : null
1496
+ })), i === c && (t.call(this, s), K(this, "focus", {
1497
+ relatedTarget: u
1498
+ })), i === c && K(this, "focusin", {
1499
+ relatedTarget: u
1500
+ });
1501
+ }
1502
+ function o() {
1503
+ if (this.ownerDocument.visibilityState !== "hidden")
1504
+ return n.call(this);
1505
+ const s = nt(this.ownerDocument);
1506
+ if (s !== this)
1507
+ return;
1508
+ i = Symbol("blur call"), n.call(this), K(s, "blur", {
1509
+ relatedTarget: null
1510
+ }), K(s, "focusout", {
1511
+ relatedTarget: null
1512
+ });
1513
+ }
1514
+ }
1515
+ function nt(e) {
1516
+ const t = fe(e);
1517
+ return (t == null ? void 0 : t.tagName) === "BODY" ? null : t;
1518
+ }
1519
+ const De = Symbol("Interceptor for programmatical calls");
1520
+ function G(e, t, n) {
1521
+ const i = Object.getOwnPropertyDescriptor(e.constructor.prototype, t), r = Object.getOwnPropertyDescriptor(e, t), o = i != null && i.set ? "set" : "value";
1522
+ if (typeof (i == null ? void 0 : i[o]) != "function" || i[o][De])
1523
+ throw new Error(`Element ${e.tagName} does not implement "${String(t)}".`);
1524
+ function s(...u) {
1525
+ const { applyNative: c = !1, realArgs: d, then: l } = n.call(this, ...u), f = (!c && r || i)[o];
1526
+ o === "set" ? f.call(this, d) : f.call(this, ...d), l == null || l();
1527
+ }
1528
+ s[De] = De, Object.defineProperty(e, t, {
1529
+ ...r ?? i,
1530
+ [o]: s
1531
+ });
1532
+ }
1533
+ function si(e) {
1534
+ G(e, "value", function(n) {
1535
+ const i = En(n);
1536
+ return i && xn(this), {
1537
+ applyNative: !!i,
1538
+ realArgs: ui(this, n),
1539
+ then: i ? void 0 : () => Nn(this, String(n))
1540
+ };
1541
+ });
1542
+ }
1543
+ function ui(e, t) {
1544
+ return a(e, "input", {
1545
+ type: "number"
1546
+ }) && String(t) !== "" && !Number.isNaN(Number(t)) ? String(Number(t)) : String(t);
1547
+ }
1548
+ function ci(e) {
1549
+ G(e, "setSelectionRange", function(n, ...i) {
1550
+ const r = wn(n);
1551
+ return {
1552
+ applyNative: !!r,
1553
+ realArgs: [
1554
+ Number(n),
1555
+ ...i
1556
+ ],
1557
+ then: () => r ? void 0 : ye(e)
1558
+ };
1559
+ }), G(e, "selectionStart", function(n) {
1560
+ return {
1561
+ realArgs: n,
1562
+ then: () => ye(e)
1563
+ };
1564
+ }), G(e, "selectionEnd", function(n) {
1565
+ return {
1566
+ realArgs: n,
1567
+ then: () => ye(e)
1568
+ };
1569
+ }), G(e, "select", function() {
1570
+ return {
1571
+ realArgs: [],
1572
+ then: () => Cn(e, {
1573
+ anchorOffset: 0,
1574
+ focusOffset: T(e).length
1575
+ })
1576
+ };
1577
+ });
1578
+ }
1579
+ function di(e) {
1580
+ G(e, "setRangeText", function(...n) {
1581
+ return {
1582
+ realArgs: n,
1583
+ then: () => {
1584
+ Ke(e), ye(e);
1585
+ }
1586
+ };
1587
+ });
1588
+ }
1589
+ const X = Symbol("Node prepared with document state workarounds");
1590
+ function Bt(e) {
1591
+ e[X] || (e.addEventListener("focus", (t) => {
1592
+ const n = t.target;
1593
+ it(n);
1594
+ }, {
1595
+ capture: !0,
1596
+ passive: !0
1597
+ }), e.activeElement && it(e.activeElement), e.addEventListener("blur", (t) => {
1598
+ const n = t.target, i = Tn(n);
1599
+ i !== void 0 && (n.value !== i && K(n, "change"), It(n));
1600
+ }, {
1601
+ capture: !0,
1602
+ passive: !0
1603
+ }), e[X] = X);
1604
+ }
1605
+ function it(e) {
1606
+ e[X] || (a(e, [
1607
+ "input",
1608
+ "textarea"
1609
+ ]) && (si(e), ci(e), di(e)), e[X] = X);
1610
+ }
1611
+ function li(e) {
1612
+ return ai(e) ? e : e.ownerDocument;
1613
+ }
1614
+ function ai(e) {
1615
+ return e.nodeType === 9;
1616
+ }
1617
+ var m = /* @__PURE__ */ function(e) {
1618
+ return e[e.Trigger = 2] = "Trigger", e[e.Call = 1] = "Call", e;
1619
+ }({});
1620
+ function se(e, t) {
1621
+ e.levelRefs[t] = {};
1622
+ }
1623
+ function ge(e, t) {
1624
+ return e.levelRefs[t];
1625
+ }
1626
+ function Q(e) {
1627
+ const t = e.delay;
1628
+ if (typeof t == "number")
1629
+ return Promise.all([
1630
+ new Promise((n) => globalThis.setTimeout(() => n(), t)),
1631
+ e.advanceTimers(t)
1632
+ ]);
1633
+ }
1634
+ var Ee = /* @__PURE__ */ function(e) {
1635
+ return e[e.EachTrigger = 4] = "EachTrigger", e[e.EachApiCall = 2] = "EachApiCall", e[e.EachTarget = 1] = "EachTarget", e[e.Never = 0] = "Never", e;
1636
+ }({});
1637
+ function F(e, t, n) {
1638
+ return t in e ? Object.defineProperty(e, t, {
1639
+ value: n,
1640
+ enumerable: !0,
1641
+ configurable: !0,
1642
+ writable: !0
1643
+ }) : e[t] = n, e;
1644
+ }
1645
+ var w = /* @__PURE__ */ function(e) {
1646
+ return e[e.STANDARD = 0] = "STANDARD", e[e.LEFT = 1] = "LEFT", e[e.RIGHT = 2] = "RIGHT", e[e.NUMPAD = 3] = "NUMPAD", e;
1647
+ }({});
1648
+ const fi = [
1649
+ "Alt",
1650
+ "AltGraph",
1651
+ "Control",
1652
+ "Fn",
1653
+ "Meta",
1654
+ "Shift",
1655
+ "Symbol"
1656
+ ];
1657
+ function rt(e) {
1658
+ return fi.includes(e);
1659
+ }
1660
+ const pi = [
1661
+ "CapsLock",
1662
+ "FnLock",
1663
+ "NumLock",
1664
+ "ScrollLock",
1665
+ "SymbolLock"
1666
+ ];
1667
+ function ot(e) {
1668
+ return pi.includes(e);
1669
+ }
1670
+ class hi {
1671
+ isKeyPressed(t) {
1672
+ return this.pressed.has(String(t.code));
1673
+ }
1674
+ getPressedKeys() {
1675
+ return this.pressed.values().map((t) => t.keyDef);
1676
+ }
1677
+ /** Press a key */
1678
+ async keydown(t, n) {
1679
+ const i = String(n.key), r = String(n.code), o = Oe(t.config.document);
1680
+ this.setKeydownTarget(o), this.pressed.add(r, n), rt(i) && (this.modifiers[i] = !0);
1681
+ const s = t.dispatchUIEvent(o, "keydown", {
1682
+ key: i,
1683
+ code: r
1684
+ });
1685
+ ot(i) && !this.modifiers[i] && (this.modifiers[i] = !0, this.modifierLockStart[i] = !0), s && this.pressed.setUnprevented(r), s && this.hasKeyPress(i) && t.dispatchUIEvent(Oe(t.config.document), "keypress", {
1686
+ key: i,
1687
+ code: r,
1688
+ charCode: n.key === "Enter" ? 13 : String(n.key).charCodeAt(0)
1689
+ });
1690
+ }
1691
+ /** Release a key */
1692
+ async keyup(t, n) {
1693
+ const i = String(n.key), r = String(n.code), o = this.pressed.isUnprevented(r);
1694
+ this.pressed.delete(r), rt(i) && !this.pressed.values().find((s) => s.keyDef.key === i) && (this.modifiers[i] = !1), t.dispatchUIEvent(Oe(t.config.document), "keyup", {
1695
+ key: i,
1696
+ code: r
1697
+ }, !o), ot(i) && this.modifiers[i] && (this.modifierLockStart[i] ? this.modifierLockStart[i] = !1 : this.modifiers[i] = !1);
1698
+ }
1699
+ setKeydownTarget(t) {
1700
+ t !== this.lastKeydownTarget && (this.carryChar = ""), this.lastKeydownTarget = t;
1701
+ }
1702
+ hasKeyPress(t) {
1703
+ return (t.length === 1 || t === "Enter") && !this.modifiers.Control && !this.modifiers.Alt;
1704
+ }
1705
+ constructor(t) {
1706
+ F(this, "system", void 0), F(this, "modifiers", {
1707
+ Alt: !1,
1708
+ AltGraph: !1,
1709
+ CapsLock: !1,
1710
+ Control: !1,
1711
+ Fn: !1,
1712
+ FnLock: !1,
1713
+ Meta: !1,
1714
+ NumLock: !1,
1715
+ ScrollLock: !1,
1716
+ Shift: !1,
1717
+ Symbol: !1,
1718
+ SymbolLock: !1
1719
+ }), F(this, "pressed", new class {
1720
+ add(n, i) {
1721
+ var r, o, s;
1722
+ (s = (r = this.registry)[o = n]) !== null && s !== void 0 || (r[o] = {
1723
+ keyDef: i,
1724
+ unpreventedDefault: !1
1725
+ });
1726
+ }
1727
+ has(n) {
1728
+ return !!this.registry[n];
1729
+ }
1730
+ setUnprevented(n) {
1731
+ const i = this.registry[n];
1732
+ i && (i.unpreventedDefault = !0);
1733
+ }
1734
+ isUnprevented(n) {
1735
+ var i;
1736
+ return !!(!((i = this.registry[n]) === null || i === void 0) && i.unpreventedDefault);
1737
+ }
1738
+ delete(n) {
1739
+ delete this.registry[n];
1740
+ }
1741
+ values() {
1742
+ return Object.values(this.registry);
1743
+ }
1744
+ constructor() {
1745
+ F(this, "registry", {});
1746
+ }
1747
+ }()), F(this, "carryChar", ""), F(this, "lastKeydownTarget", void 0), F(this, "modifierLockStart", {}), this.system = t;
1748
+ }
1749
+ }
1750
+ const bi = [
1751
+ // alphanumeric block - writing system
1752
+ ..."0123456789".split("").map((e) => ({
1753
+ code: `Digit${e}`,
1754
+ key: e
1755
+ })),
1756
+ ...")!@#$%^&*(".split("").map((e, t) => ({
1757
+ code: `Digit${t}`,
1758
+ key: e,
1759
+ shiftKey: !0
1760
+ })),
1761
+ ..."abcdefghijklmnopqrstuvwxyz".split("").map((e) => ({
1762
+ code: `Key${e.toUpperCase()}`,
1763
+ key: e
1764
+ })),
1765
+ ..."ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("").map((e) => ({
1766
+ code: `Key${e}`,
1767
+ key: e,
1768
+ shiftKey: !0
1769
+ })),
1770
+ {
1771
+ code: "BracketLeft",
1772
+ key: "["
1773
+ },
1774
+ {
1775
+ code: "BracketLeft",
1776
+ key: "{",
1777
+ shiftKey: !0
1778
+ },
1779
+ {
1780
+ code: "BracketRight",
1781
+ key: "]"
1782
+ },
1783
+ {
1784
+ code: "BracketRight",
1785
+ key: "}",
1786
+ shiftKey: !0
1787
+ },
1788
+ // alphanumeric block - functional
1789
+ {
1790
+ code: "Space",
1791
+ key: " "
1792
+ },
1793
+ {
1794
+ code: "AltLeft",
1795
+ key: "Alt",
1796
+ location: w.LEFT
1797
+ },
1798
+ {
1799
+ code: "AltRight",
1800
+ key: "Alt",
1801
+ location: w.RIGHT
1802
+ },
1803
+ {
1804
+ code: "ShiftLeft",
1805
+ key: "Shift",
1806
+ location: w.LEFT
1807
+ },
1808
+ {
1809
+ code: "ShiftRight",
1810
+ key: "Shift",
1811
+ location: w.RIGHT
1812
+ },
1813
+ {
1814
+ code: "ControlLeft",
1815
+ key: "Control",
1816
+ location: w.LEFT
1817
+ },
1818
+ {
1819
+ code: "ControlRight",
1820
+ key: "Control",
1821
+ location: w.RIGHT
1822
+ },
1823
+ {
1824
+ code: "MetaLeft",
1825
+ key: "Meta",
1826
+ location: w.LEFT
1827
+ },
1828
+ {
1829
+ code: "MetaRight",
1830
+ key: "Meta",
1831
+ location: w.RIGHT
1832
+ },
1833
+ {
1834
+ code: "OSLeft",
1835
+ key: "OS",
1836
+ location: w.LEFT
1837
+ },
1838
+ {
1839
+ code: "OSRight",
1840
+ key: "OS",
1841
+ location: w.RIGHT
1842
+ },
1843
+ {
1844
+ code: "ContextMenu",
1845
+ key: "ContextMenu"
1846
+ },
1847
+ {
1848
+ code: "Tab",
1849
+ key: "Tab"
1850
+ },
1851
+ {
1852
+ code: "CapsLock",
1853
+ key: "CapsLock"
1854
+ },
1855
+ {
1856
+ code: "Backspace",
1857
+ key: "Backspace"
1858
+ },
1859
+ {
1860
+ code: "Enter",
1861
+ key: "Enter"
1862
+ },
1863
+ // function
1864
+ {
1865
+ code: "Escape",
1866
+ key: "Escape"
1867
+ },
1868
+ // arrows
1869
+ {
1870
+ code: "ArrowUp",
1871
+ key: "ArrowUp"
1872
+ },
1873
+ {
1874
+ code: "ArrowDown",
1875
+ key: "ArrowDown"
1876
+ },
1877
+ {
1878
+ code: "ArrowLeft",
1879
+ key: "ArrowLeft"
1880
+ },
1881
+ {
1882
+ code: "ArrowRight",
1883
+ key: "ArrowRight"
1884
+ },
1885
+ // control pad
1886
+ {
1887
+ code: "Home",
1888
+ key: "Home"
1889
+ },
1890
+ {
1891
+ code: "End",
1892
+ key: "End"
1893
+ },
1894
+ {
1895
+ code: "Delete",
1896
+ key: "Delete"
1897
+ },
1898
+ {
1899
+ code: "PageUp",
1900
+ key: "PageUp"
1901
+ },
1902
+ {
1903
+ code: "PageDown",
1904
+ key: "PageDown"
1905
+ },
1906
+ // Special keys that are not part of a default US-layout but included for specific behavior
1907
+ {
1908
+ code: "Fn",
1909
+ key: "Fn"
1910
+ },
1911
+ {
1912
+ code: "Symbol",
1913
+ key: "Symbol"
1914
+ },
1915
+ {
1916
+ code: "AltRight",
1917
+ key: "AltGraph"
1918
+ }
1919
+ ], gi = [
1920
+ {
1921
+ name: "MouseLeft",
1922
+ pointerType: "mouse",
1923
+ button: "primary"
1924
+ },
1925
+ {
1926
+ name: "MouseRight",
1927
+ pointerType: "mouse",
1928
+ button: "secondary"
1929
+ },
1930
+ {
1931
+ name: "MouseMiddle",
1932
+ pointerType: "mouse",
1933
+ button: "auxiliary"
1934
+ },
1935
+ {
1936
+ name: "TouchA",
1937
+ pointerType: "touch"
1938
+ },
1939
+ {
1940
+ name: "TouchB",
1941
+ pointerType: "touch"
1942
+ },
1943
+ {
1944
+ name: "TouchC",
1945
+ pointerType: "touch"
1946
+ }
1947
+ ];
1948
+ function vi(e, t, n) {
1949
+ return t in e ? Object.defineProperty(e, t, {
1950
+ value: n,
1951
+ enumerable: !0,
1952
+ configurable: !0,
1953
+ writable: !0
1954
+ }) : e[t] = n, e;
1955
+ }
1956
+ class Ft {
1957
+ getButtons() {
1958
+ let t = 0;
1959
+ for (const n of Object.keys(this.pressed))
1960
+ t |= 2 ** Number(n);
1961
+ return t;
1962
+ }
1963
+ down(t) {
1964
+ const n = Ne(t.button);
1965
+ if (n in this.pressed) {
1966
+ this.pressed[n].push(t);
1967
+ return;
1968
+ }
1969
+ return this.pressed[n] = [
1970
+ t
1971
+ ], n;
1972
+ }
1973
+ up(t) {
1974
+ const n = Ne(t.button);
1975
+ if (n in this.pressed && (this.pressed[n] = this.pressed[n].filter((i) => i.name !== t.name), this.pressed[n].length === 0))
1976
+ return delete this.pressed[n], n;
1977
+ }
1978
+ constructor() {
1979
+ vi(this, "pressed", {});
1980
+ }
1981
+ }
1982
+ const st = {
1983
+ primary: 0,
1984
+ secondary: 1,
1985
+ auxiliary: 2,
1986
+ back: 3,
1987
+ X1: 3,
1988
+ forward: 4,
1989
+ X2: 4
1990
+ };
1991
+ function Ne(e = 0) {
1992
+ return e in st ? st[e] : Number(e);
1993
+ }
1994
+ const ut = {
1995
+ 1: 2,
1996
+ 2: 1
1997
+ };
1998
+ function Me(e) {
1999
+ return e = Ne(e), e in ut ? ut[e] : e;
2000
+ }
2001
+ function yi(e, t, n) {
2002
+ return t in e ? Object.defineProperty(e, t, {
2003
+ value: n,
2004
+ enumerable: !0,
2005
+ configurable: !0,
2006
+ writable: !0
2007
+ }) : e[t] = n, e;
2008
+ }
2009
+ class mi {
2010
+ get countPressed() {
2011
+ return this.pressedKeys.size;
2012
+ }
2013
+ isPressed(t) {
2014
+ return this.pressedKeys.has(t.name);
2015
+ }
2016
+ addPressed(t) {
2017
+ return this.pressedKeys.add(t.name);
2018
+ }
2019
+ removePressed(t) {
2020
+ return this.pressedKeys.delete(t.name);
2021
+ }
2022
+ constructor() {
2023
+ yi(this, "pressedKeys", /* @__PURE__ */ new Set());
2024
+ }
2025
+ }
2026
+ function ce(e, t) {
2027
+ const n = [];
2028
+ for (let o = e; o; o = o.parentElement)
2029
+ n.push(o);
2030
+ const i = [];
2031
+ for (let o = t; o; o = o.parentElement)
2032
+ i.push(o);
2033
+ let r = 0;
2034
+ for (; !(r >= n.length || r >= i.length || n[n.length - 1 - r] !== i[i.length - 1 - r]); r++)
2035
+ ;
2036
+ return [
2037
+ n.slice(0, n.length - r),
2038
+ i.slice(0, i.length - r),
2039
+ i.slice(i.length - r)
2040
+ ];
2041
+ }
2042
+ function Le({ target: e, node: t, offset: n }) {
2043
+ return k(e) ? {
2044
+ node: e,
2045
+ offset: n ?? T(e).length
2046
+ } : t ? {
2047
+ node: t,
2048
+ offset: n ?? (t.nodeType === 3 ? t.nodeValue.length : t.childNodes.length)
2049
+ } : Vt(e, n);
2050
+ }
2051
+ function Vt(e, t, n = !0) {
2052
+ let i = t === void 0 ? e.childNodes.length - 1 : 0;
2053
+ const r = t === void 0 ? -1 : 1;
2054
+ for (; t === void 0 ? i >= (n ? Math.max(e.childNodes.length - 1, 0) : 0) : i <= e.childNodes.length; ) {
2055
+ if (t && i === e.childNodes.length)
2056
+ throw new Error("The given offset is out of bounds.");
2057
+ const o = e.childNodes.item(i), s = String(o.textContent);
2058
+ if (s.length)
2059
+ if (t !== void 0 && s.length < t)
2060
+ t -= s.length;
2061
+ else {
2062
+ if (o.nodeType === 1)
2063
+ return Vt(o, t, !1);
2064
+ if (o.nodeType === 3)
2065
+ return {
2066
+ node: o,
2067
+ offset: t ?? o.nodeValue.length
2068
+ };
2069
+ }
2070
+ i += r;
2071
+ }
2072
+ return {
2073
+ node: e,
2074
+ offset: e.childNodes.length
2075
+ };
2076
+ }
2077
+ function Ei({ document: e, target: t, clickCount: n, node: i, offset: r }) {
2078
+ if (vn(t))
2079
+ return;
2080
+ const o = k(t), s = String(o ? T(t) : t.textContent), [u, c] = i ? (
2081
+ // which elements might be considered in the same line of text.
2082
+ // TODO: support expanding initial range on multiple clicks if node is given
2083
+ [
2084
+ r,
2085
+ r
2086
+ ]
2087
+ ) : wi(s, r, n);
2088
+ if (o)
2089
+ return Z(t, {
2090
+ anchorOffset: u ?? s.length,
2091
+ focusOffset: c ?? s.length
2092
+ }), {
2093
+ node: t,
2094
+ start: u ?? 0,
2095
+ end: c ?? s.length
2096
+ };
2097
+ {
2098
+ const { node: d, offset: l } = Le({
2099
+ target: t,
2100
+ node: i,
2101
+ offset: u
2102
+ }), { node: f, offset: p } = Le({
2103
+ target: t,
2104
+ node: i,
2105
+ offset: c
2106
+ }), h = t.ownerDocument.createRange();
2107
+ try {
2108
+ h.setStart(d, l), h.setEnd(f, p);
2109
+ } catch {
2110
+ throw new Error("The given offset is out of bounds.");
2111
+ }
2112
+ const g = e.getSelection();
2113
+ return g == null || g.removeAllRanges(), g == null || g.addRange(h.cloneRange()), h;
2114
+ }
2115
+ }
2116
+ function wi(e, t, n) {
2117
+ if (n % 3 === 1 || e.length === 0)
2118
+ return [
2119
+ t,
2120
+ t
2121
+ ];
2122
+ const i = t ?? e.length;
2123
+ return n % 3 === 2 ? [
2124
+ i - e.substr(0, t).match(/(\w+|\s+|\W)?$/)[0].length,
2125
+ t === void 0 ? t : t + e.substr(t).match(/^(\w+|\s+|\W)?/)[0].length
2126
+ ] : [
2127
+ i - e.substr(0, t).match(/[^\r\n]*$/)[0].length,
2128
+ t === void 0 ? t : t + e.substr(t).match(/^[^\r\n]*/)[0].length
2129
+ ];
2130
+ }
2131
+ function ki(e, { document: t, target: n, node: i, offset: r }) {
2132
+ const o = Le({
2133
+ target: n,
2134
+ node: i,
2135
+ offset: r
2136
+ });
2137
+ if ("node" in e) {
2138
+ if (o.node === e.node) {
2139
+ const s = o.offset < e.start ? e.end : e.start, u = o.offset > e.end || o.offset < e.start ? o.offset : e.end;
2140
+ Z(e.node, {
2141
+ anchorOffset: s,
2142
+ focusOffset: u
2143
+ });
2144
+ }
2145
+ } else {
2146
+ const s = e.cloneRange(), u = s.comparePoint(o.node, o.offset);
2147
+ u < 0 ? s.setStart(o.node, o.offset) : u > 0 && s.setEnd(o.node, o.offset);
2148
+ const c = t.getSelection();
2149
+ c == null || c.removeAllRanges(), c == null || c.addRange(s.cloneRange());
2150
+ }
2151
+ }
2152
+ function Kt(e, t) {
2153
+ var n, i, r, o, s, u, c, d, l, f, p, h, g, _, ee, x, te, N, ne, M, ie, L, $, B;
2154
+ return e.target !== t.target || ((n = e.coords) === null || n === void 0 ? void 0 : n.x) !== ((i = t.coords) === null || i === void 0 ? void 0 : i.x) || ((r = e.coords) === null || r === void 0 ? void 0 : r.y) !== ((o = t.coords) === null || o === void 0 ? void 0 : o.y) || ((s = e.coords) === null || s === void 0 ? void 0 : s.clientX) !== ((u = t.coords) === null || u === void 0 ? void 0 : u.clientX) || ((c = e.coords) === null || c === void 0 ? void 0 : c.clientY) !== ((d = t.coords) === null || d === void 0 ? void 0 : d.clientY) || ((l = e.coords) === null || l === void 0 ? void 0 : l.offsetX) !== ((f = t.coords) === null || f === void 0 ? void 0 : f.offsetX) || ((p = e.coords) === null || p === void 0 ? void 0 : p.offsetY) !== ((h = t.coords) === null || h === void 0 ? void 0 : h.offsetY) || ((g = e.coords) === null || g === void 0 ? void 0 : g.pageX) !== ((_ = t.coords) === null || _ === void 0 ? void 0 : _.pageX) || ((ee = e.coords) === null || ee === void 0 ? void 0 : ee.pageY) !== ((x = t.coords) === null || x === void 0 ? void 0 : x.pageY) || ((te = e.coords) === null || te === void 0 ? void 0 : te.screenX) !== ((N = t.coords) === null || N === void 0 ? void 0 : N.screenX) || ((ne = e.coords) === null || ne === void 0 ? void 0 : ne.screenY) !== ((M = t.coords) === null || M === void 0 ? void 0 : M.screenY) || ((ie = e.caret) === null || ie === void 0 ? void 0 : ie.node) !== ((L = t.caret) === null || L === void 0 ? void 0 : L.node) || (($ = e.caret) === null || $ === void 0 ? void 0 : $.offset) !== ((B = t.caret) === null || B === void 0 ? void 0 : B.offset);
2155
+ }
2156
+ function V(e, t, n) {
2157
+ return t in e ? Object.defineProperty(e, t, {
2158
+ value: n,
2159
+ enumerable: !0,
2160
+ configurable: !0,
2161
+ writable: !0
2162
+ }) : e[t] = n, e;
2163
+ }
2164
+ class Ti {
2165
+ move(t, n, i) {
2166
+ const r = this.position, o = this.getTarget(t);
2167
+ if (this.position = n, !Kt(r, n))
2168
+ return;
2169
+ const s = this.getTarget(t), u = this.getEventInit("mousemove"), [c, d] = ce(o, s);
2170
+ return {
2171
+ leave: () => {
2172
+ o !== s && (t.dispatchUIEvent(o, "mouseout", u), c.forEach((l) => t.dispatchUIEvent(l, "mouseleave", u)));
2173
+ },
2174
+ enter: () => {
2175
+ o !== s && (t.dispatchUIEvent(s, "mouseover", u), d.forEach((l) => t.dispatchUIEvent(l, "mouseenter", u)));
2176
+ },
2177
+ move: () => {
2178
+ i || (t.dispatchUIEvent(s, "mousemove", u), this.modifySelecting(t));
2179
+ }
2180
+ };
2181
+ }
2182
+ down(t, n, i) {
2183
+ const r = this.buttons.down(n);
2184
+ if (r === void 0)
2185
+ return;
2186
+ const o = this.getTarget(t);
2187
+ this.buttonDownTarget[r] = o;
2188
+ const s = this.getEventInit("mousedown", n.button), u = I(o);
2189
+ !i && (u || t.dispatchUIEvent(o, "mousedown", s)) && (this.startSelecting(t, s.detail), O(o)), !u && Me(n.button) === 2 && t.dispatchUIEvent(o, "contextmenu", this.getEventInit("contextmenu", n.button));
2190
+ }
2191
+ up(t, n, i) {
2192
+ const r = this.buttons.up(n);
2193
+ if (r === void 0)
2194
+ return;
2195
+ const o = this.getTarget(t);
2196
+ if (!I(o)) {
2197
+ if (!i) {
2198
+ const u = this.getEventInit("mouseup", n.button);
2199
+ t.dispatchUIEvent(o, "mouseup", u), this.endSelecting();
2200
+ }
2201
+ const s = ce(this.buttonDownTarget[r], o)[2][0];
2202
+ if (s) {
2203
+ const u = this.getEventInit("click", n.button);
2204
+ u.detail && (t.dispatchUIEvent(s, u.button === 0 ? "click" : "auxclick", u), u.button === 0 && u.detail === 2 && t.dispatchUIEvent(s, "dblclick", {
2205
+ ...this.getEventInit("dblclick", n.button),
2206
+ detail: u.detail
2207
+ }));
2208
+ }
2209
+ }
2210
+ }
2211
+ resetClickCount() {
2212
+ this.clickCount.reset();
2213
+ }
2214
+ getEventInit(t, n) {
2215
+ const i = {
2216
+ ...this.position.coords
2217
+ };
2218
+ return i.button = Me(n), i.buttons = this.buttons.getButtons(), t === "mousedown" ? i.detail = this.clickCount.getOnDown(i.button) : t === "mouseup" ? i.detail = this.clickCount.getOnUp(i.button) : (t === "click" || t === "auxclick") && (i.detail = this.clickCount.incOnClick(i.button)), i;
2219
+ }
2220
+ getTarget(t) {
2221
+ var n;
2222
+ return (n = this.position.target) !== null && n !== void 0 ? n : t.config.document.body;
2223
+ }
2224
+ startSelecting(t, n) {
2225
+ var i, r;
2226
+ this.selecting = Ei({
2227
+ document: t.config.document,
2228
+ target: this.getTarget(t),
2229
+ node: (i = this.position.caret) === null || i === void 0 ? void 0 : i.node,
2230
+ offset: (r = this.position.caret) === null || r === void 0 ? void 0 : r.offset,
2231
+ clickCount: n
2232
+ });
2233
+ }
2234
+ modifySelecting(t) {
2235
+ var n, i;
2236
+ this.selecting && ki(this.selecting, {
2237
+ document: t.config.document,
2238
+ target: this.getTarget(t),
2239
+ node: (n = this.position.caret) === null || n === void 0 ? void 0 : n.node,
2240
+ offset: (i = this.position.caret) === null || i === void 0 ? void 0 : i.offset
2241
+ });
2242
+ }
2243
+ endSelecting() {
2244
+ this.selecting = void 0;
2245
+ }
2246
+ constructor() {
2247
+ V(this, "position", {}), V(this, "buttons", new Ft()), V(this, "selecting", void 0), V(this, "buttonDownTarget", {}), V(this, "clickCount", new class {
2248
+ incOnClick(t) {
2249
+ const n = this.down[t] === void 0 ? void 0 : Number(this.down[t]) + 1;
2250
+ return this.count = this.count[t] === void 0 ? {} : {
2251
+ [t]: Number(this.count[t]) + 1
2252
+ }, n;
2253
+ }
2254
+ getOnDown(t) {
2255
+ var n;
2256
+ this.down = {
2257
+ [t]: (n = this.count[t]) !== null && n !== void 0 ? n : 0
2258
+ };
2259
+ var i;
2260
+ return this.count = {
2261
+ [t]: (i = this.count[t]) !== null && i !== void 0 ? i : 0
2262
+ }, Number(this.count[t]) + 1;
2263
+ }
2264
+ getOnUp(t) {
2265
+ return this.down[t] === void 0 ? void 0 : Number(this.down[t]) + 1;
2266
+ }
2267
+ reset() {
2268
+ this.count = {};
2269
+ }
2270
+ constructor() {
2271
+ V(this, "down", {}), V(this, "count", {});
2272
+ }
2273
+ }());
2274
+ }
2275
+ }
2276
+ function Ce(e, t) {
2277
+ var n;
2278
+ return ((n = Rt(e, t)) === null || n === void 0 ? void 0 : n.pointerEvents) !== "none";
2279
+ }
2280
+ function Ci(e) {
2281
+ const t = E(e);
2282
+ for (let n = e, i = []; n != null && n.ownerDocument; n = n.parentElement) {
2283
+ i.push(n);
2284
+ const r = t.getComputedStyle(n).pointerEvents;
2285
+ if (r && ![
2286
+ "inherit",
2287
+ "unset"
2288
+ ].includes(r))
2289
+ return {
2290
+ pointerEvents: r,
2291
+ tree: i
2292
+ };
2293
+ }
2294
+ }
2295
+ const ct = Symbol("Last check for pointer-events");
2296
+ function Rt(e, t) {
2297
+ const n = t[ct];
2298
+ if (!(e.config.pointerEventsCheck !== Ee.Never && (!n || dt(e.config.pointerEventsCheck, Ee.EachApiCall) && n[m.Call] !== ge(e, m.Call) || dt(e.config.pointerEventsCheck, Ee.EachTrigger) && n[m.Trigger] !== ge(e, m.Trigger))))
2299
+ return n == null ? void 0 : n.result;
2300
+ const r = Ci(t);
2301
+ return t[ct] = {
2302
+ [m.Call]: ge(e, m.Call),
2303
+ [m.Trigger]: ge(e, m.Trigger),
2304
+ result: r
2305
+ }, r;
2306
+ }
2307
+ function ue(e, t) {
2308
+ const n = Rt(e, t);
2309
+ if ((n == null ? void 0 : n.pointerEvents) === "none")
2310
+ throw new Error([
2311
+ `Unable to perform pointer interaction as the element ${n.tree.length > 1 ? "inherits" : "has"} \`pointer-events: none\`:`,
2312
+ "",
2313
+ Si(n.tree)
2314
+ ].join(`
2315
+ `));
2316
+ }
2317
+ function Si(e) {
2318
+ return e.reverse().map((t, n) => [
2319
+ "".padEnd(n),
2320
+ t.tagName,
2321
+ t.id && `#${t.id}`,
2322
+ t.hasAttribute("data-testid") && `(testId=${t.getAttribute("data-testid")})`,
2323
+ Ii(t),
2324
+ e.length > 1 && n === 0 && " <-- This element declared `pointer-events: none`",
2325
+ e.length > 1 && n === e.length - 1 && " <-- Asserted pointer events here"
2326
+ ].filter(Boolean).join("")).join(`
2327
+ `);
2328
+ }
2329
+ function Ii(e) {
2330
+ var t;
2331
+ let n;
2332
+ if (e.hasAttribute("aria-label"))
2333
+ n = e.getAttribute("aria-label");
2334
+ else if (e.hasAttribute("aria-labelledby")) {
2335
+ var i, r;
2336
+ n = (r = e.ownerDocument.getElementById(e.getAttribute("aria-labelledby"))) === null || r === void 0 || (i = r.textContent) === null || i === void 0 ? void 0 : i.trim();
2337
+ } else if (a(e, [
2338
+ "button",
2339
+ "input",
2340
+ "meter",
2341
+ "output",
2342
+ "progress",
2343
+ "select",
2344
+ "textarea"
2345
+ ]) && (!((t = e.labels) === null || t === void 0) && t.length))
2346
+ n = Array.from(e.labels).map((s) => {
2347
+ var u;
2348
+ return (u = s.textContent) === null || u === void 0 ? void 0 : u.trim();
2349
+ }).join("|");
2350
+ else if (a(e, "button")) {
2351
+ var o;
2352
+ n = (o = e.textContent) === null || o === void 0 ? void 0 : o.trim();
2353
+ }
2354
+ return n = n == null ? void 0 : n.replace(/\n/g, " "), Number(n == null ? void 0 : n.length) > 30 && (n = `${n == null ? void 0 : n.substring(0, 29)}…`), n ? `(label=${n})` : "";
2355
+ }
2356
+ function dt(e, t) {
2357
+ return (e & t) > 0;
2358
+ }
2359
+ function C(e, t, n) {
2360
+ return t in e ? Object.defineProperty(e, t, {
2361
+ value: n,
2362
+ enumerable: !0,
2363
+ configurable: !0,
2364
+ writable: !0
2365
+ }) : e[t] = n, e;
2366
+ }
2367
+ class _i {
2368
+ init(t) {
2369
+ const n = this.getTarget(t), [, i] = ce(null, n), r = this.getEventInit();
2370
+ return ue(t, n), t.dispatchUIEvent(n, "pointerover", r), i.forEach((o) => t.dispatchUIEvent(o, "pointerenter", r)), this;
2371
+ }
2372
+ move(t, n) {
2373
+ const i = this.position, r = this.getTarget(t);
2374
+ if (this.position = n, !Kt(i, n))
2375
+ return;
2376
+ const o = this.getTarget(t), s = this.getEventInit(-1), [u, c] = ce(r, o);
2377
+ return {
2378
+ leave: () => {
2379
+ Ce(t, r) && r !== o && (t.dispatchUIEvent(r, "pointerout", s), u.forEach((d) => t.dispatchUIEvent(d, "pointerleave", s)));
2380
+ },
2381
+ enter: () => {
2382
+ ue(t, o), r !== o && (t.dispatchUIEvent(o, "pointerover", s), c.forEach((d) => t.dispatchUIEvent(d, "pointerenter", s)));
2383
+ },
2384
+ move: () => {
2385
+ t.dispatchUIEvent(o, "pointermove", s);
2386
+ }
2387
+ };
2388
+ }
2389
+ down(t, n = 0) {
2390
+ if (this.isDown)
2391
+ return;
2392
+ const i = this.getTarget(t);
2393
+ ue(t, i), this.isDown = !0, this.isPrevented = !t.dispatchUIEvent(i, "pointerdown", this.getEventInit(n));
2394
+ }
2395
+ up(t, n = 0) {
2396
+ if (!this.isDown)
2397
+ return;
2398
+ const i = this.getTarget(t);
2399
+ ue(t, i), this.isPrevented = !1, this.isDown = !1, t.dispatchUIEvent(i, "pointerup", this.getEventInit(n));
2400
+ }
2401
+ release(t) {
2402
+ const n = this.getTarget(t), [i] = ce(n, null), r = this.getEventInit();
2403
+ Ce(t, n) && (t.dispatchUIEvent(n, "pointerout", r), i.forEach((o) => t.dispatchUIEvent(o, "pointerleave", r))), this.isCancelled = !0;
2404
+ }
2405
+ getTarget(t) {
2406
+ var n;
2407
+ return (n = this.position.target) !== null && n !== void 0 ? n : t.config.document.body;
2408
+ }
2409
+ getEventInit(t) {
2410
+ return {
2411
+ ...this.position.coords,
2412
+ pointerId: this.pointerId,
2413
+ pointerType: this.pointerType,
2414
+ isPrimary: this.isPrimary,
2415
+ button: Me(t),
2416
+ buttons: this.buttons.getButtons()
2417
+ };
2418
+ }
2419
+ constructor({ pointerId: t, pointerType: n, isPrimary: i }, r) {
2420
+ C(this, "pointerId", void 0), C(this, "pointerType", void 0), C(this, "isPrimary", void 0), C(this, "buttons", void 0), C(this, "isMultitouch", !1), C(this, "isCancelled", !1), C(this, "isDown", !1), C(this, "isPrevented", !1), C(this, "position", {}), this.pointerId = t, this.pointerType = n, this.isPrimary = i, this.isMultitouch = !i, this.buttons = r;
2421
+ }
2422
+ }
2423
+ function P(e, t, n) {
2424
+ return t in e ? Object.defineProperty(e, t, {
2425
+ value: n,
2426
+ enumerable: !0,
2427
+ configurable: !0,
2428
+ writable: !0
2429
+ }) : e[t] = n, e;
2430
+ }
2431
+ class Pi {
2432
+ isKeyPressed(t) {
2433
+ return this.devices.get(t.pointerType).isPressed(t);
2434
+ }
2435
+ async press(t, n, i) {
2436
+ this.devices.get(n.pointerType).addPressed(n), this.buttons.down(n);
2437
+ const r = this.getPointerName(n), o = n.pointerType === "touch" ? this.pointers.new(r, n.pointerType, this.buttons) : this.pointers.get(r);
2438
+ o.position = i, o.pointerType !== "touch" && (this.mouse.position = i), o.pointerType === "touch" && o.init(t), o.down(t, n.button), o.pointerType !== "touch" && this.mouse.down(t, n, o.isPrevented);
2439
+ }
2440
+ async move(t, n, i) {
2441
+ const r = this.pointers.get(n), o = r.move(t, i), s = r.pointerType === "touch" ? void 0 : this.mouse.move(t, i, r.isPrevented);
2442
+ o == null || o.leave(), s == null || s.leave(), o == null || o.enter(), s == null || s.enter(), o == null || o.move(), s == null || s.move();
2443
+ }
2444
+ async release(t, n, i) {
2445
+ const r = this.devices.get(n.pointerType);
2446
+ r.removePressed(n), this.buttons.up(n);
2447
+ const o = this.pointers.get(this.getPointerName(n)), s = o.isPrevented;
2448
+ if (o.position = i, o.pointerType !== "touch" && (this.mouse.position = i), r.countPressed === 0 && o.up(t, n.button), o.pointerType === "touch" && o.release(t), o.pointerType === "touch" && !o.isMultitouch) {
2449
+ const u = this.mouse.move(t, i, s);
2450
+ u == null || u.leave(), u == null || u.enter(), u == null || u.move(), this.mouse.down(t, n, s);
2451
+ }
2452
+ if (!o.isMultitouch) {
2453
+ const u = this.mouse.move(t, i, s);
2454
+ u == null || u.leave(), u == null || u.enter(), u == null || u.move(), this.mouse.up(t, n, s);
2455
+ }
2456
+ }
2457
+ getPointerName(t) {
2458
+ return t.pointerType === "touch" ? t.name : t.pointerType;
2459
+ }
2460
+ getPreviousPosition(t) {
2461
+ return this.pointers.has(t) ? this.pointers.get(t).position : void 0;
2462
+ }
2463
+ resetClickCount() {
2464
+ this.mouse.resetClickCount();
2465
+ }
2466
+ getMouseTarget(t) {
2467
+ var n;
2468
+ return (n = this.mouse.position.target) !== null && n !== void 0 ? n : t.config.document.body;
2469
+ }
2470
+ setMousePosition(t) {
2471
+ this.mouse.position = t, this.pointers.get("mouse").position = t;
2472
+ }
2473
+ constructor(t) {
2474
+ P(this, "system", void 0), P(this, "mouse", void 0), P(this, "buttons", void 0), P(this, "devices", new class {
2475
+ get(n) {
2476
+ var i, r, o;
2477
+ return (o = (i = this.registry)[r = n]) !== null && o !== void 0 ? o : i[r] = new mi();
2478
+ }
2479
+ constructor() {
2480
+ P(this, "registry", {});
2481
+ }
2482
+ }()), P(this, "pointers", new class {
2483
+ new(n, i, r) {
2484
+ const o = i !== "touch" || !Object.values(this.registry).some((s) => s.pointerType === "touch" && !s.isCancelled);
2485
+ return o || Object.values(this.registry).forEach((s) => {
2486
+ s.pointerType === i && !s.isCancelled && (s.isMultitouch = !0);
2487
+ }), this.registry[n] = new _i({
2488
+ pointerId: this.nextId++,
2489
+ pointerType: i,
2490
+ isPrimary: o
2491
+ }, r), this.registry[n];
2492
+ }
2493
+ get(n) {
2494
+ if (!this.has(n))
2495
+ throw new Error(`Trying to access pointer "${n}" which does not exist.`);
2496
+ return this.registry[n];
2497
+ }
2498
+ has(n) {
2499
+ return n in this.registry;
2500
+ }
2501
+ constructor() {
2502
+ P(this, "registry", {}), P(this, "nextId", 1);
2503
+ }
2504
+ }()), this.system = t, this.buttons = new Ft(), this.mouse = new Ti(), this.pointers.new("mouse", "mouse", this.buttons);
2505
+ }
2506
+ }
2507
+ function lt(e, t, n) {
2508
+ return t in e ? Object.defineProperty(e, t, {
2509
+ value: n,
2510
+ enumerable: !0,
2511
+ configurable: !0,
2512
+ writable: !0
2513
+ }) : e[t] = n, e;
2514
+ }
2515
+ class jt {
2516
+ getUIEventModifiers() {
2517
+ return {
2518
+ altKey: this.keyboard.modifiers.Alt,
2519
+ ctrlKey: this.keyboard.modifiers.Control,
2520
+ metaKey: this.keyboard.modifiers.Meta,
2521
+ shiftKey: this.keyboard.modifiers.Shift,
2522
+ modifierAltGraph: this.keyboard.modifiers.AltGraph,
2523
+ modifierCapsLock: this.keyboard.modifiers.CapsLock,
2524
+ modifierFn: this.keyboard.modifiers.Fn,
2525
+ modifierFnLock: this.keyboard.modifiers.FnLock,
2526
+ modifierNumLock: this.keyboard.modifiers.NumLock,
2527
+ modifierScrollLock: this.keyboard.modifiers.ScrollLock,
2528
+ modifierSymbol: this.keyboard.modifiers.Symbol,
2529
+ modifierSymbolLock: this.keyboard.modifiers.SymbolLock
2530
+ };
2531
+ }
2532
+ constructor() {
2533
+ lt(this, "keyboard", new hi(this)), lt(this, "pointer", new Pi(this));
2534
+ }
2535
+ }
2536
+ async function Ai(e) {
2537
+ const t = [];
2538
+ return this.config.skipHover || t.push({
2539
+ target: e
2540
+ }), t.push({
2541
+ keys: "[MouseLeft]",
2542
+ target: e
2543
+ }), this.pointer(t);
2544
+ }
2545
+ async function Oi(e) {
2546
+ return this.pointer([
2547
+ {
2548
+ target: e
2549
+ },
2550
+ "[MouseLeft][MouseLeft]"
2551
+ ]);
2552
+ }
2553
+ async function Ui(e) {
2554
+ return this.pointer([
2555
+ {
2556
+ target: e
2557
+ },
2558
+ "[MouseLeft][MouseLeft][MouseLeft]"
2559
+ ]);
2560
+ }
2561
+ async function Di(e) {
2562
+ return this.pointer({
2563
+ target: e
2564
+ });
2565
+ }
2566
+ async function xi(e) {
2567
+ return ue(this, this.system.pointer.getMouseTarget(this)), this.pointer({
2568
+ target: e.ownerDocument.body
2569
+ });
2570
+ }
2571
+ async function Ni({ shift: e } = {}) {
2572
+ return this.keyboard(e === !0 ? "{Shift>}{Tab}{/Shift}" : e === !1 ? "[/ShiftLeft][/ShiftRight]{Tab}" : "{Tab}");
2573
+ }
2574
+ var je = /* @__PURE__ */ function(e) {
2575
+ return e["{"] = "}", e["["] = "]", e;
2576
+ }(je || {});
2577
+ function Ht(e, t) {
2578
+ let n = 0;
2579
+ const i = e[n] in je ? e[n] : "";
2580
+ n += i.length;
2581
+ const o = new RegExp(`^\\${i}{2}`).test(e) ? "" : i;
2582
+ return {
2583
+ type: o,
2584
+ ...o === "" ? Mi(e, n, t) : Li(e, n, o, t)
2585
+ };
2586
+ }
2587
+ function Mi(e, t, n) {
2588
+ const i = e[t];
2589
+ return Gt(i, e, t, n), t += i.length, {
2590
+ consumedLength: t,
2591
+ descriptor: i,
2592
+ releasePrevious: !1,
2593
+ releaseSelf: !0,
2594
+ repeat: 1
2595
+ };
2596
+ }
2597
+ function Li(e, t, n, i) {
2598
+ var r, o;
2599
+ const s = e[t] === "/" ? "/" : "";
2600
+ t += s.length;
2601
+ const u = n === "{" && e[t] === "\\";
2602
+ t += Number(u);
2603
+ const c = u ? e[t] : (r = e.slice(t).match(n === "{" ? /^\w+|^[^}>/]/ : /^\w+/)) === null || r === void 0 ? void 0 : r[0];
2604
+ Gt(c, e, t, i), t += c.length;
2605
+ var d;
2606
+ const l = (d = (o = e.slice(t).match(/^>\d+/)) === null || o === void 0 ? void 0 : o[0]) !== null && d !== void 0 ? d : "";
2607
+ t += l.length;
2608
+ const f = e[t] === "/" || !l && e[t] === ">" ? e[t] : "";
2609
+ t += f.length;
2610
+ const p = je[n], h = e[t] === p ? p : "";
2611
+ if (!h)
2612
+ throw new Error(Xt([
2613
+ !l && "repeat modifier",
2614
+ !f && "release modifier",
2615
+ `"${p}"`
2616
+ ].filter(Boolean).join(" or "), e[t], e, i));
2617
+ return t += h.length, {
2618
+ consumedLength: t,
2619
+ descriptor: c,
2620
+ releasePrevious: !!s,
2621
+ repeat: l ? Math.max(Number(l.substr(1)), 1) : 1,
2622
+ releaseSelf: $i(f, l)
2623
+ };
2624
+ }
2625
+ function Gt(e, t, n, i) {
2626
+ if (!e)
2627
+ throw new Error(Xt("key descriptor", t[n], t, i));
2628
+ }
2629
+ function $i(e, t) {
2630
+ if (e)
2631
+ return e === "/";
2632
+ if (t)
2633
+ return !1;
2634
+ }
2635
+ function Xt(e, t, n, i) {
2636
+ return `Expected ${e} but found "${t ?? ""}" in "${n}"
2637
+ See ${i === "pointer" ? "https://testing-library.com/docs/user-event/pointer#pressing-a-button-or-touching-the-screen" : "https://testing-library.com/docs/user-event/keyboard"}
2638
+ for more information about how userEvent parses your input.`;
2639
+ }
2640
+ function Bi(e, t) {
2641
+ const n = [];
2642
+ do {
2643
+ const { type: r, descriptor: o, consumedLength: s, releasePrevious: u, releaseSelf: c = !0, repeat: d } = Ht(t, "keyboard");
2644
+ var i;
2645
+ const l = (i = e.find((f) => {
2646
+ if (r === "[") {
2647
+ var p;
2648
+ return ((p = f.code) === null || p === void 0 ? void 0 : p.toLowerCase()) === o.toLowerCase();
2649
+ } else if (r === "{") {
2650
+ var h;
2651
+ return ((h = f.key) === null || h === void 0 ? void 0 : h.toLowerCase()) === o.toLowerCase();
2652
+ }
2653
+ return f.key === o;
2654
+ })) !== null && i !== void 0 ? i : {
2655
+ key: "Unknown",
2656
+ code: "Unknown",
2657
+ [r === "[" ? "code" : "key"]: o
2658
+ };
2659
+ n.push({
2660
+ keyDef: l,
2661
+ releasePrevious: u,
2662
+ releaseSelf: c,
2663
+ repeat: d
2664
+ }), t = t.slice(s);
2665
+ } while (t);
2666
+ return n;
2667
+ }
2668
+ async function Fi(e) {
2669
+ const t = Bi(this.config.keyboardMap, e);
2670
+ for (let n = 0; n < t.length; n++)
2671
+ await Q(this.config), await Vi(this, t[n]);
2672
+ }
2673
+ async function Vi(e, { keyDef: t, releasePrevious: n, releaseSelf: i, repeat: r }) {
2674
+ const { system: o } = e;
2675
+ if (o.keyboard.isKeyPressed(t) && await o.keyboard.keyup(e, t), !n) {
2676
+ for (let s = 1; s <= r; s++)
2677
+ await o.keyboard.keydown(e, t), s < r && await Q(e.config);
2678
+ i && await o.keyboard.keyup(e, t);
2679
+ }
2680
+ }
2681
+ async function Ki(e) {
2682
+ for (const t of e.system.keyboard.getPressedKeys())
2683
+ await e.system.keyboard.keyup(e, t);
2684
+ }
2685
+ function Wt(e) {
2686
+ const t = k(e) ? {
2687
+ "text/plain": Ri(e)
2688
+ } : {
2689
+ "text/plain": String(e.ownerDocument.getSelection())
2690
+ }, n = Be(E(e));
2691
+ for (const i in t)
2692
+ t[i] && n.setData(i, t[i]);
2693
+ return n;
2694
+ }
2695
+ function Ri(e) {
2696
+ const t = le(e);
2697
+ return T(e).substring(t.startOffset, t.endOffset);
2698
+ }
2699
+ async function ji() {
2700
+ const e = this.config.document;
2701
+ var t;
2702
+ const n = (t = e.activeElement) !== null && t !== void 0 ? t : (
2703
+ /* istanbul ignore next */
2704
+ e.body
2705
+ ), i = Wt(n);
2706
+ if (i.items.length !== 0)
2707
+ return this.dispatchUIEvent(n, "copy", {
2708
+ clipboardData: i
2709
+ }) && this.config.writeToClipboard && await mt(e, i), i;
2710
+ }
2711
+ async function Hi() {
2712
+ const e = this.config.document;
2713
+ var t;
2714
+ const n = (t = e.activeElement) !== null && t !== void 0 ? t : (
2715
+ /* istanbul ignore next */
2716
+ e.body
2717
+ ), i = Wt(n);
2718
+ if (i.items.length !== 0)
2719
+ return this.dispatchUIEvent(n, "cut", {
2720
+ clipboardData: i
2721
+ }) && this.config.writeToClipboard && await mt(n.ownerDocument, i), i;
2722
+ }
2723
+ async function Gi(e) {
2724
+ const t = this.config.document;
2725
+ var n;
2726
+ const i = (n = t.activeElement) !== null && n !== void 0 ? n : (
2727
+ /* istanbul ignore next */
2728
+ t.body
2729
+ );
2730
+ var r;
2731
+ const o = (r = typeof e == "string" ? Xi(t, e) : e) !== null && r !== void 0 ? r : await pn(t).catch(() => {
2732
+ throw new Error("`userEvent.paste()` without `clipboardData` requires the `ClipboardAPI` to be available.");
2733
+ });
2734
+ this.dispatchUIEvent(i, "paste", {
2735
+ clipboardData: o
2736
+ });
2737
+ }
2738
+ function Xi(e, t) {
2739
+ const n = Be(E(e));
2740
+ return n.setData("text", t), n;
2741
+ }
2742
+ function at(e, t) {
2743
+ const n = [];
2744
+ do {
2745
+ const { descriptor: i, consumedLength: r, releasePrevious: o, releaseSelf: s = !0 } = Ht(t, "pointer"), u = e.find((c) => c.name === i);
2746
+ u && n.push({
2747
+ keyDef: u,
2748
+ releasePrevious: o,
2749
+ releaseSelf: s
2750
+ }), t = t.slice(r);
2751
+ } while (t);
2752
+ return n;
2753
+ }
2754
+ async function Wi(e) {
2755
+ const { pointerMap: t } = this.config, n = [];
2756
+ (Array.isArray(e) ? e : [
2757
+ e
2758
+ ]).forEach((i) => {
2759
+ typeof i == "string" ? n.push(...at(t, i)) : "keys" in i ? n.push(...at(t, i.keys).map((r) => ({
2760
+ ...i,
2761
+ ...r
2762
+ }))) : n.push(i);
2763
+ });
2764
+ for (let i = 0; i < n.length; i++)
2765
+ await Q(this.config), await zi(this, n[i]);
2766
+ this.system.pointer.resetClickCount();
2767
+ }
2768
+ async function zi(e, t) {
2769
+ var n, i;
2770
+ const r = "pointerName" in t && t.pointerName ? t.pointerName : "keyDef" in t ? e.system.pointer.getPointerName(t.keyDef) : "mouse", o = e.system.pointer.getPreviousPosition(r);
2771
+ var s, u, c, d;
2772
+ const l = {
2773
+ target: (s = t.target) !== null && s !== void 0 ? s : Yi(e, o),
2774
+ coords: (u = t.coords) !== null && u !== void 0 ? u : o == null ? void 0 : o.coords,
2775
+ caret: {
2776
+ node: (c = t.node) !== null && c !== void 0 ? c : ft(t) || o == null || (n = o.caret) === null || n === void 0 ? void 0 : n.node,
2777
+ offset: (d = t.offset) !== null && d !== void 0 ? d : ft(t) || o == null || (i = o.caret) === null || i === void 0 ? void 0 : i.offset
2778
+ }
2779
+ };
2780
+ "keyDef" in t ? (e.system.pointer.isKeyPressed(t.keyDef) && (se(e, m.Trigger), await e.system.pointer.release(e, t.keyDef, l)), t.releasePrevious || (se(e, m.Trigger), await e.system.pointer.press(e, t.keyDef, l), t.releaseSelf && (se(e, m.Trigger), await e.system.pointer.release(e, t.keyDef, l)))) : (se(e, m.Trigger), await e.system.pointer.move(e, r, l));
2781
+ }
2782
+ function ft(e) {
2783
+ var t, n;
2784
+ return !!((n = (t = e.target) !== null && t !== void 0 ? t : e.node) !== null && n !== void 0 ? n : e.offset !== void 0);
2785
+ }
2786
+ function Yi(e, t) {
2787
+ if (!t)
2788
+ throw new Error("This pointer has no previous position. Provide a target property!");
2789
+ var n;
2790
+ return (n = t.target) !== null && n !== void 0 ? n : e.config.document.body;
2791
+ }
2792
+ async function qi(e) {
2793
+ if (!z(e) || I(e))
2794
+ throw new Error("clear()` is only supported on editable elements.");
2795
+ if (O(e), e.ownerDocument.activeElement !== e)
2796
+ throw new Error("The element to be cleared could not be focused.");
2797
+ if (Dt(e), !Gn(e))
2798
+ throw new Error("The element content to be cleared could not be selected.");
2799
+ J(this, e, "", "deleteContentBackward");
2800
+ }
2801
+ async function Ji(e, t) {
2802
+ return zt.call(this, !0, e, t);
2803
+ }
2804
+ async function Qi(e, t) {
2805
+ return zt.call(this, !1, e, t);
2806
+ }
2807
+ async function zt(e, t, n) {
2808
+ if (!e && !t.multiple)
2809
+ throw H().getElementError("Unable to deselect an option in a non-multiple select. Use selectOptions to change the selection instead.", t);
2810
+ const i = Array.isArray(n) ? n : [
2811
+ n
2812
+ ], r = Array.from(t.querySelectorAll('option, [role="option"]')), o = i.map((u) => {
2813
+ if (typeof u != "string" && r.includes(u))
2814
+ return u;
2815
+ {
2816
+ const c = r.find((d) => d.value === u || d.innerHTML === u);
2817
+ if (c)
2818
+ return c;
2819
+ throw H().getElementError(`Value "${String(u)}" not found in options`, t);
2820
+ }
2821
+ }).filter((u) => !I(u));
2822
+ if (I(t) || !o.length) return;
2823
+ const s = (u) => {
2824
+ u.selected = e, this.dispatchUIEvent(t, "input", {
2825
+ bubbles: !0,
2826
+ cancelable: !1,
2827
+ composed: !0
2828
+ }), this.dispatchUIEvent(t, "change");
2829
+ };
2830
+ if (a(t, "select"))
2831
+ if (t.multiple)
2832
+ for (const u of o) {
2833
+ const c = this.config.pointerEventsCheck === 0 ? !0 : Ce(this, u);
2834
+ c && (this.dispatchUIEvent(u, "pointerover"), this.dispatchUIEvent(t, "pointerenter"), this.dispatchUIEvent(u, "mouseover"), this.dispatchUIEvent(t, "mouseenter"), this.dispatchUIEvent(u, "pointermove"), this.dispatchUIEvent(u, "mousemove"), this.dispatchUIEvent(u, "pointerdown"), this.dispatchUIEvent(u, "mousedown")), O(t), c && (this.dispatchUIEvent(u, "pointerup"), this.dispatchUIEvent(u, "mouseup")), s(u), c && this.dispatchUIEvent(u, "click"), await Q(this.config);
2835
+ }
2836
+ else if (o.length === 1) {
2837
+ const u = this.config.pointerEventsCheck === 0 ? !0 : Ce(this, t);
2838
+ u ? await this.click(t) : O(t), s(o[0]), u && (this.dispatchUIEvent(t, "pointerover"), this.dispatchUIEvent(t, "pointerenter"), this.dispatchUIEvent(t, "mouseover"), this.dispatchUIEvent(t, "mouseenter"), this.dispatchUIEvent(t, "pointerup"), this.dispatchUIEvent(t, "mouseup"), this.dispatchUIEvent(t, "click")), await Q(this.config);
2839
+ } else
2840
+ throw H().getElementError("Cannot select multiple options on a non-multiple select", t);
2841
+ else if (t.getAttribute("role") === "listbox")
2842
+ for (const u of o)
2843
+ await this.click(u), await this.unhover(u);
2844
+ else
2845
+ throw H().getElementError("Cannot select options on elements that are neither select nor listbox elements", t);
2846
+ }
2847
+ async function Zi(e, t, { skipClick: n = this.config.skipClick, skipAutoClose: i = this.config.skipAutoClose, initialSelectionStart: r, initialSelectionEnd: o } = {}) {
2848
+ e.disabled || (n || await this.click(e), r !== void 0 && oe(e, r, o ?? r), await this.keyboard(t), i || await Ki(this));
2849
+ }
2850
+ const pt = Symbol("files and value properties are mocked");
2851
+ function xe(e, t, n) {
2852
+ n ? Object.defineProperty(e, t, n) : delete e[t];
2853
+ }
2854
+ function er(e, t) {
2855
+ var n;
2856
+ (n = e[pt]) === null || n === void 0 || n.restore();
2857
+ const i = Object.getOwnPropertyDescriptor(e, "type"), r = Object.getOwnPropertyDescriptor(e, "value"), o = Object.getOwnPropertyDescriptor(e, "files");
2858
+ function s() {
2859
+ xe(e, "type", i), xe(e, "value", r), xe(e, "files", o);
2860
+ }
2861
+ e[pt] = {
2862
+ restore: s
2863
+ }, Object.defineProperties(e, {
2864
+ files: {
2865
+ configurable: !0,
2866
+ get: () => t
2867
+ },
2868
+ value: {
2869
+ configurable: !0,
2870
+ get: () => t.length ? `C:\\fakepath\\${t[0].name}` : "",
2871
+ set(u) {
2872
+ if (u === "")
2873
+ s();
2874
+ else {
2875
+ var c;
2876
+ r == null || (c = r.set) === null || c === void 0 || c.call(e, u);
2877
+ }
2878
+ }
2879
+ },
2880
+ type: {
2881
+ configurable: !0,
2882
+ get: () => "file",
2883
+ set(u) {
2884
+ u !== "file" && (s(), e.type = u);
2885
+ }
2886
+ }
2887
+ });
2888
+ }
2889
+ async function tr(e, t) {
2890
+ const n = a(e, "label") ? e.control : e;
2891
+ if (!n || !a(n, "input", {
2892
+ type: "file"
2893
+ }))
2894
+ throw new TypeError(`The ${n === e ? "given" : "associated"} ${n == null ? void 0 : n.tagName} element does not accept file uploads`);
2895
+ if (I(e)) return;
2896
+ const i = (Array.isArray(t) ? t : [
2897
+ t
2898
+ ]).filter((o) => !this.config.applyAccept || nr(o, n.accept)).slice(0, n.multiple ? void 0 : 1), r = () => {
2899
+ var o;
2900
+ i.length === ((o = n.files) === null || o === void 0 ? void 0 : o.length) && i.every((s, u) => {
2901
+ var c;
2902
+ return s === ((c = n.files) === null || c === void 0 ? void 0 : c.item(u));
2903
+ }) || (er(n, $e(E(e), i)), this.dispatchUIEvent(n, "input"), this.dispatchUIEvent(n, "change"));
2904
+ };
2905
+ n.addEventListener("fileDialog", r), await this.click(e), n.removeEventListener("fileDialog", r);
2906
+ }
2907
+ function ve(e) {
2908
+ return e.toLowerCase().replace(/(\.|\/)jpg\b/g, "$1jpeg");
2909
+ }
2910
+ function nr(e, t) {
2911
+ if (!t)
2912
+ return !0;
2913
+ const n = [
2914
+ "audio/*",
2915
+ "image/*",
2916
+ "video/*"
2917
+ ];
2918
+ return ve(t).trim().split(/\s*,\s*/).some((i) => i.startsWith(".") ? ve(e.name).endsWith(i) : n.includes(i) ? ve(e.type).startsWith(i.replace("*", "")) : ve(e.type) === i);
2919
+ }
2920
+ const ht = {
2921
+ click: Ai,
2922
+ dblClick: Oi,
2923
+ tripleClick: Ui,
2924
+ hover: Di,
2925
+ unhover: xi,
2926
+ tab: Ni,
2927
+ keyboard: Fi,
2928
+ copy: ji,
2929
+ cut: Hi,
2930
+ paste: Gi,
2931
+ pointer: Wi,
2932
+ clear: qi,
2933
+ deselectOptions: Qi,
2934
+ selectOptions: Ji,
2935
+ type: Zi,
2936
+ upload: tr
2937
+ };
2938
+ function ir(e) {
2939
+ return H().asyncWrapper(e);
2940
+ }
2941
+ const Yt = {
2942
+ applyAccept: !0,
2943
+ autoModify: !0,
2944
+ delay: 0,
2945
+ document: globalThis.document,
2946
+ keyboardMap: bi,
2947
+ pointerMap: gi,
2948
+ pointerEventsCheck: Ee.EachApiCall,
2949
+ skipAutoClose: !1,
2950
+ skipClick: !1,
2951
+ skipHover: !1,
2952
+ writeToClipboard: !1,
2953
+ advanceTimers: () => Promise.resolve()
2954
+ }, rr = {
2955
+ ...Yt,
2956
+ writeToClipboard: !0
2957
+ };
2958
+ function qt(e = {}, t = rr, n) {
2959
+ const i = cr(e, n, t);
2960
+ return {
2961
+ ...t,
2962
+ ...e,
2963
+ document: i
2964
+ };
2965
+ }
2966
+ function or(e = {}) {
2967
+ const t = qt(e);
2968
+ Bt(t.document), $t(E(t.document).HTMLElement);
2969
+ var n;
2970
+ const i = (n = t.document.defaultView) !== null && n !== void 0 ? n : (
2971
+ /* istanbul ignore next */
2972
+ globalThis.window
2973
+ );
2974
+ return ln(i), He(t).api;
2975
+ }
2976
+ function v({ keyboardState: e, pointerState: t, ...n } = {}, i) {
2977
+ const r = qt(n, Yt, i);
2978
+ Bt(r.document), $t(E(r.document).HTMLElement);
2979
+ var o;
2980
+ const s = (o = t ?? e) !== null && o !== void 0 ? o : new jt();
2981
+ return {
2982
+ api: He(r, s).api,
2983
+ system: s
2984
+ };
2985
+ }
2986
+ function sr(e) {
2987
+ return He({
2988
+ ...this.config,
2989
+ ...e
2990
+ }, this.system).api;
2991
+ }
2992
+ function ur(e, t) {
2993
+ function n(...i) {
2994
+ return se(e, m.Call), ir(() => t.apply(e, i).then(async (r) => (await Q(e.config), r)));
2995
+ }
2996
+ return Object.defineProperty(n, "name", {
2997
+ get: () => t.name
2998
+ }), n;
2999
+ }
3000
+ function He(e, t = new jt()) {
3001
+ const n = {};
3002
+ return Object.assign(n, {
3003
+ config: e,
3004
+ dispatchEvent: Lt.bind(n),
3005
+ dispatchUIEvent: oi.bind(n),
3006
+ system: t,
3007
+ levelRefs: {},
3008
+ ...ht
3009
+ }), {
3010
+ instance: n,
3011
+ api: {
3012
+ ...Object.fromEntries(Object.entries(ht).map(([i, r]) => [
3013
+ i,
3014
+ ur(n, r)
3015
+ ])),
3016
+ setup: sr.bind(n)
3017
+ }
3018
+ };
3019
+ }
3020
+ function cr(e, t, n) {
3021
+ var i, r;
3022
+ return (r = (i = e.document) !== null && i !== void 0 ? i : t && li(t)) !== null && r !== void 0 ? r : n.document;
3023
+ }
3024
+ function dr(e) {
3025
+ return v().api.clear(e);
3026
+ }
3027
+ function lr(e, t = {}) {
3028
+ return v(t, e).api.click(e);
3029
+ }
3030
+ function ar(e = {}) {
3031
+ return v(e).api.copy();
3032
+ }
3033
+ function fr(e = {}) {
3034
+ return v(e).api.cut();
3035
+ }
3036
+ function pr(e, t = {}) {
3037
+ return v(t).api.dblClick(e);
3038
+ }
3039
+ function hr(e, t, n = {}) {
3040
+ return v(n).api.deselectOptions(e, t);
3041
+ }
3042
+ function br(e, t = {}) {
3043
+ return v(t).api.hover(e);
3044
+ }
3045
+ async function gr(e, t = {}) {
3046
+ const { api: n, system: i } = v(t);
3047
+ return n.keyboard(e).then(() => i);
3048
+ }
3049
+ async function vr(e, t = {}) {
3050
+ const { api: n, system: i } = v(t);
3051
+ return n.pointer(e).then(() => i);
3052
+ }
3053
+ function yr(e, t) {
3054
+ return v(t).api.paste(e);
3055
+ }
3056
+ function mr(e, t, n = {}) {
3057
+ return v(n).api.selectOptions(e, t);
3058
+ }
3059
+ function Er(e, t = {}) {
3060
+ return v(t).api.tripleClick(e);
3061
+ }
3062
+ function wr(e, t, n = {}) {
3063
+ return v(n, e).api.type(e, t, n);
3064
+ }
3065
+ function kr(e, t = {}) {
3066
+ const { api: n, system: i } = v(t);
3067
+ return i.pointer.setMousePosition({
3068
+ target: e
3069
+ }), n.unhover(e);
3070
+ }
3071
+ function Tr(e, t, n = {}) {
3072
+ return v(n).api.upload(e, t);
3073
+ }
3074
+ function Cr(e = {}) {
3075
+ return v().api.tab(e);
3076
+ }
3077
+ const Sr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3078
+ __proto__: null,
3079
+ clear: dr,
3080
+ click: lr,
3081
+ copy: ar,
3082
+ cut: fr,
3083
+ dblClick: pr,
3084
+ deselectOptions: hr,
3085
+ hover: br,
3086
+ keyboard: gr,
3087
+ paste: yr,
3088
+ pointer: vr,
3089
+ selectOptions: mr,
3090
+ tab: Cr,
3091
+ tripleClick: Er,
3092
+ type: wr,
3093
+ unhover: kr,
3094
+ upload: Tr
3095
+ }, Symbol.toStringTag, { value: "Module" })), Ir = {
3096
+ ...Sr,
3097
+ setup: or
3098
+ };
3099
+ tn("Select", () => {
3100
+ const e = [
3101
+ { label: "Option A", value: "a" },
3102
+ { label: "Option B", value: "b" },
3103
+ { label: "Option C", value: "c" }
3104
+ ];
3105
+ nn("renders label and options", () => {
3106
+ Ge(
3107
+ /* @__PURE__ */ _e(
3108
+ Xe,
3109
+ {
3110
+ id: "select1",
3111
+ name: "test",
3112
+ label: "Options",
3113
+ value: [],
3114
+ onChange: () => {
3115
+ },
3116
+ options: e
3117
+ }
3118
+ )
3119
+ ), Pe(Ae.getByLabelText("Options")).toBeInTheDocument(), e.forEach(
3120
+ ({ label: t }) => Pe(Ae.getByRole("option", { name: t })).toBeInTheDocument()
3121
+ );
3122
+ }), test("calls onChange handler", async () => {
3123
+ const t = Ir.setup(), n = rn.fn();
3124
+ function i() {
3125
+ const [o, s] = en.useState([]);
3126
+ return /* @__PURE__ */ _e(
3127
+ Xe,
3128
+ {
3129
+ id: "select2",
3130
+ name: "test",
3131
+ label: "Options",
3132
+ options: e,
3133
+ value: o,
3134
+ onChange: (u) => {
3135
+ s(u), n(u);
3136
+ }
3137
+ }
3138
+ );
3139
+ }
3140
+ Ge(/* @__PURE__ */ _e(i, {}));
3141
+ const r = Ae.getByLabelText("Options");
3142
+ await t.selectOptions(r, ["a", "b"]), Pe(n).toHaveBeenCalledWith(["a", "b"]);
3143
+ });
3144
+ });