@ariakit/test 0.0.1 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/.eslintignore +6 -0
  2. package/CHANGELOG.md +26 -0
  3. package/act/package.json +7 -0
  4. package/blur/package.json +7 -0
  5. package/cjs/__chunks/3NIZQX5J.cjs +6 -0
  6. package/cjs/__chunks/3WW644T7.cjs +20 -0
  7. package/cjs/__chunks/4XKG4LDQ.cjs +57 -0
  8. package/cjs/__chunks/5W6DSYPH.cjs +10 -0
  9. package/cjs/__chunks/67NJSPQE.cjs +38 -0
  10. package/cjs/__chunks/6EKN2NLX.cjs +33 -0
  11. package/cjs/__chunks/7RUXTAPP.cjs +16 -0
  12. package/cjs/__chunks/AYRPODWR.cjs +1 -0
  13. package/cjs/__chunks/CIUADHPB.cjs +117 -0
  14. package/cjs/__chunks/DN7DXBEV.cjs +76 -0
  15. package/cjs/__chunks/HGTTGPFK.cjs +54 -0
  16. package/cjs/__chunks/HNTSACY7.cjs +26 -0
  17. package/cjs/__chunks/MQA5IB4L.cjs +6 -0
  18. package/cjs/__chunks/MRZIZFYG.cjs +28 -0
  19. package/cjs/__chunks/NT4G4PTA.cjs +110 -0
  20. package/cjs/__chunks/OZ7WVH2H.cjs +16 -0
  21. package/cjs/__chunks/SBXREEGO.cjs +12 -0
  22. package/cjs/__chunks/XMPFC5C3.cjs +45 -0
  23. package/cjs/__chunks/YZUJ47H3.cjs +220 -0
  24. package/cjs/__tests__/blur-test.d.ts +1 -0
  25. package/cjs/__tests__/use-all-events.d.ts +1 -0
  26. package/cjs/__utils.d.ts +8 -0
  27. package/cjs/act.cjs +7 -0
  28. package/cjs/act.d.ts +1 -0
  29. package/cjs/blur.cjs +9 -0
  30. package/cjs/blur.d.ts +2 -0
  31. package/cjs/click.cjs +16 -0
  32. package/cjs/click.d.ts +2 -0
  33. package/cjs/fire-event.cjs +6 -0
  34. package/cjs/fire-event.d.ts +2 -0
  35. package/cjs/focus.cjs +10 -0
  36. package/cjs/focus.d.ts +2 -0
  37. package/cjs/hover.cjs +10 -0
  38. package/cjs/hover.d.ts +1 -0
  39. package/cjs/index.cjs +120 -0
  40. package/cjs/index.d.ts +17 -0
  41. package/cjs/mock-get-client-rects.cjs +2 -0
  42. package/cjs/mock-get-client-rects.d.ts +1 -0
  43. package/cjs/mouse-down.cjs +12 -0
  44. package/cjs/mouse-down.d.ts +2 -0
  45. package/cjs/mouse-up.cjs +7 -0
  46. package/cjs/mouse-up.d.ts +1 -0
  47. package/cjs/press.cjs +14 -0
  48. package/cjs/press.d.ts +19 -0
  49. package/cjs/render.cjs +6 -0
  50. package/cjs/render.d.ts +4 -0
  51. package/cjs/screen.cjs +54 -0
  52. package/cjs/screen.d.ts +26 -0
  53. package/cjs/select.cjs +16 -0
  54. package/cjs/select.d.ts +1 -0
  55. package/cjs/sleep.cjs +8 -0
  56. package/cjs/sleep.d.ts +1 -0
  57. package/cjs/tap.cjs +17 -0
  58. package/cjs/tap.d.ts +1 -0
  59. package/cjs/tsconfig.build.tsbuildinfo +1 -0
  60. package/cjs/type.cjs +12 -0
  61. package/cjs/type.d.ts +3 -0
  62. package/cjs/wait-for.cjs +6 -0
  63. package/cjs/wait-for.d.ts +1 -0
  64. package/cjs/within.cjs +6 -0
  65. package/cjs/within.d.ts +1 -0
  66. package/click/package.json +7 -0
  67. package/esm/__chunks/3C72DPE2.js +54 -0
  68. package/esm/__chunks/4RXBOOIA.js +28 -0
  69. package/esm/__chunks/5JPM5LQX.js +6 -0
  70. package/esm/__chunks/5PINJ4MD.js +16 -0
  71. package/esm/__chunks/7UZH2HD4.js +117 -0
  72. package/esm/__chunks/B2UPDCBH.js +38 -0
  73. package/esm/__chunks/B4PLOQ7F.js +10 -0
  74. package/esm/__chunks/EFRHS5TP.js +76 -0
  75. package/esm/__chunks/GW7B4E2U.js +33 -0
  76. package/esm/__chunks/HCJFVOUB.js +26 -0
  77. package/esm/__chunks/OHA2FPAE.js +220 -0
  78. package/esm/__chunks/PNBZ5NXH.js +0 -0
  79. package/esm/__chunks/QA3ZS6S2.js +6 -0
  80. package/esm/__chunks/QZMWO6SS.js +12 -0
  81. package/esm/__chunks/RVXNT5Y5.js +57 -0
  82. package/esm/__chunks/VZYZVUSK.js +16 -0
  83. package/esm/__chunks/XJFAU7OI.js +45 -0
  84. package/esm/__chunks/XKB6RJJC.js +110 -0
  85. package/esm/__chunks/ZEO5Q6UD.js +20 -0
  86. package/esm/__tests__/blur-test.d.ts +1 -0
  87. package/esm/__tests__/use-all-events.d.ts +1 -0
  88. package/esm/__utils.d.ts +8 -0
  89. package/esm/act.d.ts +1 -0
  90. package/esm/act.js +7 -0
  91. package/esm/blur.d.ts +2 -0
  92. package/esm/blur.js +9 -0
  93. package/esm/click.d.ts +2 -0
  94. package/esm/click.js +16 -0
  95. package/esm/fire-event.d.ts +2 -0
  96. package/esm/fire-event.js +6 -0
  97. package/esm/focus.d.ts +2 -0
  98. package/esm/focus.js +10 -0
  99. package/esm/hover.d.ts +1 -0
  100. package/esm/hover.js +10 -0
  101. package/esm/index.d.ts +17 -0
  102. package/esm/index.js +120 -0
  103. package/esm/mock-get-client-rects.d.ts +1 -0
  104. package/esm/mock-get-client-rects.js +2 -0
  105. package/esm/mouse-down.d.ts +2 -0
  106. package/esm/mouse-down.js +12 -0
  107. package/esm/mouse-up.d.ts +1 -0
  108. package/esm/mouse-up.js +7 -0
  109. package/esm/press.d.ts +19 -0
  110. package/esm/press.js +14 -0
  111. package/esm/render.d.ts +4 -0
  112. package/esm/render.js +6 -0
  113. package/esm/screen.d.ts +26 -0
  114. package/esm/screen.js +54 -0
  115. package/esm/select.d.ts +1 -0
  116. package/esm/select.js +16 -0
  117. package/esm/sleep.d.ts +1 -0
  118. package/esm/sleep.js +8 -0
  119. package/esm/tap.d.ts +1 -0
  120. package/esm/tap.js +17 -0
  121. package/esm/tsconfig.build.tsbuildinfo +1 -0
  122. package/esm/type.d.ts +3 -0
  123. package/esm/type.js +12 -0
  124. package/esm/wait-for.d.ts +1 -0
  125. package/esm/wait-for.js +6 -0
  126. package/esm/within.d.ts +1 -0
  127. package/esm/within.js +6 -0
  128. package/fire-event/package.json +7 -0
  129. package/focus/package.json +7 -0
  130. package/hover/package.json +7 -0
  131. package/license +21 -0
  132. package/mock-get-client-rects/package.json +7 -0
  133. package/mouse-down/package.json +7 -0
  134. package/mouse-up/package.json +7 -0
  135. package/package.json +112 -6
  136. package/press/package.json +7 -0
  137. package/render/package.json +7 -0
  138. package/screen/package.json +7 -0
  139. package/select/package.json +7 -0
  140. package/sleep/package.json +7 -0
  141. package/tap/package.json +7 -0
  142. package/tsconfig.build.json +4 -0
  143. package/type/package.json +7 -0
  144. package/wait-for/package.json +7 -0
  145. package/within/package.json +7 -0
package/.eslintignore ADDED
@@ -0,0 +1,6 @@
1
+ cjs
2
+ esm
3
+ ts
4
+ umd
5
+ coverage
6
+ node_modules
package/CHANGELOG.md ADDED
@@ -0,0 +1,26 @@
1
+ # @ariakit/test
2
+
3
+ ## 0.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies: `@ariakit/core@0.1.1`.
8
+
9
+ ## 0.1.0
10
+
11
+ ### Minor Changes
12
+
13
+ - Updated package names to include the `@ariakit` scope, providing a more distinct and specific namespace for our packages.
14
+
15
+ Additionally, we've made a change to the versioning system, moving from `v2.0.0-beta.x` to `v0.x.x`. This alteration means that although the library is still in beta, we can release breaking changes in minor versions without disrupting projects that don't set exact versions in their `package.json`.
16
+
17
+ ```diff
18
+ - npm i ariakit
19
+ + npm i @ariakit/react
20
+ ```
21
+
22
+ ### Patch Changes
23
+
24
+ - Packages are now ESM by default (commonjs modules are still available with the `.cjs` extension).
25
+
26
+ - Updated dependencies: `@ariakit/core@0.1.0`.
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@ariakit/test/act",
3
+ "private": true,
4
+ "sideEffects": false,
5
+ "main": "../cjs/act",
6
+ "module": "../esm/act"
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@ariakit/test/blur",
3
+ "private": true,
4
+ "sideEffects": false,
5
+ "main": "../cjs/blur",
6
+ "module": "../esm/blur"
7
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/wait-for.ts
2
+ var _react = require('@testing-library/react');
3
+
4
+
5
+
6
+ exports.waitFor = _react.waitFor;
@@ -0,0 +1,20 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/__utils.ts
2
+ var _react = require('@testing-library/react');
3
+ var isBrowser = typeof navigator !== "undefined" && !navigator.userAgent.includes("jsdom") && !("happyDOM" in window);
4
+ var noopAct = (callback) => callback();
5
+ var act = isBrowser ? noopAct : _react.act;
6
+ function queuedMicrotasks() {
7
+ return act(() => Promise.resolve());
8
+ }
9
+ function nextFrame() {
10
+ return act(
11
+ () => new Promise((resolve) => requestAnimationFrame(() => resolve()))
12
+ );
13
+ }
14
+
15
+
16
+
17
+
18
+
19
+
20
+ exports.isBrowser = isBrowser; exports.act = act; exports.queuedMicrotasks = queuedMicrotasks; exports.nextFrame = nextFrame;
@@ -0,0 +1,57 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _67NJSPQEcjs = require('./67NJSPQE.cjs');
4
+
5
+
6
+ var _7RUXTAPPcjs = require('./7RUXTAPP.cjs');
7
+
8
+
9
+ var _3WW644T7cjs = require('./3WW644T7.cjs');
10
+
11
+ // src/hover.ts
12
+ function isPointerEventsEnabled(element) {
13
+ return getComputedStyle(element).pointerEvents !== "none";
14
+ }
15
+ async function hover(element, options) {
16
+ const document = element.ownerDocument;
17
+ const { lastHovered } = document;
18
+ const { disabled } = element;
19
+ const pointerEventsEnabled = isPointerEventsEnabled(element);
20
+ if (lastHovered && lastHovered !== element) {
21
+ _67NJSPQEcjs.fireEvent.pointerMove(lastHovered, options);
22
+ _67NJSPQEcjs.fireEvent.mouseMove(lastHovered, options);
23
+ if (isPointerEventsEnabled(lastHovered)) {
24
+ const isElementWithinLastHovered = lastHovered.contains(element);
25
+ const relatedTarget = pointerEventsEnabled ? element : null;
26
+ const leaveOptions = { ...options, relatedTarget };
27
+ _67NJSPQEcjs.fireEvent.pointerOut(lastHovered, leaveOptions);
28
+ if (!isElementWithinLastHovered) {
29
+ _67NJSPQEcjs.fireEvent.pointerLeave(lastHovered, leaveOptions);
30
+ }
31
+ _67NJSPQEcjs.fireEvent.mouseOut(lastHovered, leaveOptions);
32
+ if (!isElementWithinLastHovered) {
33
+ _67NJSPQEcjs.fireEvent.mouseLeave(lastHovered, leaveOptions);
34
+ }
35
+ }
36
+ }
37
+ await _7RUXTAPPcjs.sleep.call(void 0, );
38
+ if (pointerEventsEnabled) {
39
+ const enterOptions = lastHovered ? { relatedTarget: lastHovered, ...options } : options;
40
+ _67NJSPQEcjs.fireEvent.pointerOver(element, enterOptions);
41
+ _67NJSPQEcjs.fireEvent.pointerEnter(element, enterOptions);
42
+ if (!disabled) {
43
+ _67NJSPQEcjs.fireEvent.mouseOver(element, enterOptions);
44
+ _67NJSPQEcjs.fireEvent.mouseEnter(element, enterOptions);
45
+ }
46
+ }
47
+ _67NJSPQEcjs.fireEvent.pointerMove(element, options);
48
+ if (!disabled) {
49
+ _67NJSPQEcjs.fireEvent.mouseMove(element, options);
50
+ }
51
+ document.lastHovered = element;
52
+ await _3WW644T7cjs.queuedMicrotasks.call(void 0, );
53
+ }
54
+
55
+
56
+
57
+ exports.hover = hover;
@@ -0,0 +1,10 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/render.ts
2
+ var _react = require('react');
3
+ var _react3 = require('@testing-library/react');
4
+ function customRender(ui, options) {
5
+ return _react3.render.call(void 0, ui, { wrapper: _react.StrictMode, ...options });
6
+ }
7
+
8
+
9
+
10
+ exports.customRender = customRender;
@@ -0,0 +1,38 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/fire-event.ts
2
+ var _dom = require('@testing-library/dom');
3
+ var pointerEvents = [
4
+ "mouseMove",
5
+ "mouseOver",
6
+ "mouseEnter",
7
+ "mouseOut",
8
+ "mouseLeave",
9
+ "mouseDown",
10
+ "mouseUp",
11
+ "pointerMove",
12
+ "pointerOver",
13
+ "pointerEnter",
14
+ "pointerOut",
15
+ "pointerLeave",
16
+ "pointerDown",
17
+ "pointerUp",
18
+ "click"
19
+ ];
20
+ for (const event of pointerEvents) {
21
+ const baseFireEvent = _dom.fireEvent[event];
22
+ _dom.fireEvent[event] = (element, options) => {
23
+ if (element instanceof Element) {
24
+ const style = getComputedStyle(element);
25
+ if (style.pointerEvents === "none") {
26
+ if (element.parentElement) {
27
+ return _dom.fireEvent[event](element.parentElement, options);
28
+ }
29
+ return true;
30
+ }
31
+ }
32
+ return baseFireEvent(element, options);
33
+ };
34
+ }
35
+
36
+
37
+
38
+ exports.fireEvent = _dom.fireEvent;
@@ -0,0 +1,33 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _67NJSPQEcjs = require('./67NJSPQE.cjs');
4
+
5
+
6
+ var _3WW644T7cjs = require('./3WW644T7.cjs');
7
+
8
+ // src/blur.ts
9
+ var _dom = require('@ariakit/core/utils/dom');
10
+ function blur(element) {
11
+ if (element == null) {
12
+ element = document.activeElement;
13
+ }
14
+ if (!element)
15
+ return;
16
+ if (element.tagName === "BODY")
17
+ return;
18
+ if (_dom.getActiveElement.call(void 0, element) !== element)
19
+ return;
20
+ if (element.dirty) {
21
+ _67NJSPQEcjs.fireEvent.change(element);
22
+ element.dirty = false;
23
+ }
24
+ _3WW644T7cjs.act.call(void 0, () => {
25
+ if (element instanceof HTMLElement || element instanceof SVGElement) {
26
+ element.blur();
27
+ }
28
+ });
29
+ }
30
+
31
+
32
+
33
+ exports.blur = blur;
@@ -0,0 +1,16 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+ var _3WW644T7cjs = require('./3WW644T7.cjs');
6
+
7
+ // src/sleep.ts
8
+ var defaultMs = _3WW644T7cjs.isBrowser ? 150 : 10;
9
+ async function sleep(ms = defaultMs) {
10
+ await _3WW644T7cjs.nextFrame.call(void 0, );
11
+ await _3WW644T7cjs.act.call(void 0, () => new Promise((resolve) => setTimeout(resolve, ms)));
12
+ }
13
+
14
+
15
+
16
+ exports.sleep = sleep;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,117 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _OZ7WVH2Hcjs = require('./OZ7WVH2H.cjs');
4
+
5
+
6
+ var _XMPFC5C3cjs = require('./XMPFC5C3.cjs');
7
+
8
+
9
+ var _4XKG4LDQcjs = require('./4XKG4LDQ.cjs');
10
+
11
+
12
+ var _MRZIZFYGcjs = require('./MRZIZFYG.cjs');
13
+
14
+
15
+ var _67NJSPQEcjs = require('./67NJSPQE.cjs');
16
+
17
+
18
+ var _7RUXTAPPcjs = require('./7RUXTAPP.cjs');
19
+
20
+ // src/click.ts
21
+ var _dom = require('@ariakit/core/utils/dom');
22
+ var _focus = require('@ariakit/core/utils/focus');
23
+ function getClosestLabel(element) {
24
+ if (!_focus.isFocusable.call(void 0, element)) {
25
+ return _dom.closest.call(void 0, element, "label");
26
+ }
27
+ return null;
28
+ }
29
+ function getInputFromLabel(element) {
30
+ const input = element.htmlFor ? _optionalChain([element, 'access', _ => _.ownerDocument, 'optionalAccess', _2 => _2.getElementById, 'call', _3 => _3(element.htmlFor)]) : element.querySelector("input,textarea,select");
31
+ return input;
32
+ }
33
+ function clickLabel(element, options) {
34
+ const input = getInputFromLabel(element);
35
+ const isInputDisabled = Boolean(_optionalChain([input, 'optionalAccess', _4 => _4.disabled]));
36
+ if (input) {
37
+ input.disabled = true;
38
+ }
39
+ const defaultAllowed = _67NJSPQEcjs.fireEvent.click(element, options);
40
+ if (input) {
41
+ input.disabled = isInputDisabled;
42
+ if (defaultAllowed && _focus.isFocusable.call(void 0, input)) {
43
+ _MRZIZFYGcjs.focus.call(void 0, input);
44
+ _67NJSPQEcjs.fireEvent.click(input);
45
+ }
46
+ }
47
+ }
48
+ function setSelected(element, selected) {
49
+ element.setAttribute("selected", selected ? "selected" : "");
50
+ element.selected = selected;
51
+ }
52
+ function clickOption(element, eventOptions) {
53
+ const select = _dom.closest.call(void 0, element, "select");
54
+ if (!select) {
55
+ _67NJSPQEcjs.fireEvent.click(element, eventOptions);
56
+ return;
57
+ }
58
+ if (select.multiple) {
59
+ const options = Array.from(select.options);
60
+ const resetOptions = () => options.forEach((option) => {
61
+ setSelected(option, false);
62
+ });
63
+ const selectRange = (a, b) => {
64
+ const from = Math.min(a, b);
65
+ const to = Math.max(a, b) + 1;
66
+ const selectedOptions = options.slice(from, to);
67
+ selectedOptions.forEach((option) => {
68
+ setSelected(option, true);
69
+ });
70
+ };
71
+ if (_optionalChain([eventOptions, 'optionalAccess', _5 => _5.shiftKey])) {
72
+ const elementIndex = options.indexOf(element);
73
+ const referenceOption = select.lastOptionSelectedNotByShiftKey;
74
+ const referenceOptionIndex = referenceOption ? options.indexOf(referenceOption) : -1;
75
+ resetOptions();
76
+ selectRange(elementIndex, referenceOptionIndex);
77
+ setSelected(element, true);
78
+ } else {
79
+ select.lastOptionSelectedNotByShiftKey = element;
80
+ if (_optionalChain([eventOptions, 'optionalAccess', _6 => _6.ctrlKey])) {
81
+ setSelected(element, !element.selected);
82
+ } else {
83
+ resetOptions();
84
+ setSelected(element, true);
85
+ }
86
+ }
87
+ } else {
88
+ setSelected(element, true);
89
+ }
90
+ _67NJSPQEcjs.fireEvent.input(select);
91
+ _67NJSPQEcjs.fireEvent.change(select);
92
+ _67NJSPQEcjs.fireEvent.click(element, eventOptions);
93
+ }
94
+ async function click(element, options, tap = false) {
95
+ await _4XKG4LDQcjs.hover.call(void 0, element, options);
96
+ _XMPFC5C3cjs.mouseDown.call(void 0, element, options);
97
+ if (!tap) {
98
+ await _7RUXTAPPcjs.sleep.call(void 0, );
99
+ }
100
+ _OZ7WVH2Hcjs.mouseUp.call(void 0, element, options);
101
+ const { disabled } = element;
102
+ if (disabled)
103
+ return;
104
+ const label = getClosestLabel(element);
105
+ if (label) {
106
+ clickLabel(label, { detail: 1, ...options });
107
+ } else if (element instanceof HTMLOptionElement) {
108
+ clickOption(element, { detail: 1, ...options });
109
+ } else {
110
+ _67NJSPQEcjs.fireEvent.click(element, { detail: 1, ...options });
111
+ }
112
+ await _7RUXTAPPcjs.sleep.call(void 0, );
113
+ }
114
+
115
+
116
+
117
+ exports.click = click;
@@ -0,0 +1,76 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _OZ7WVH2Hcjs = require('./OZ7WVH2H.cjs');
4
+
5
+
6
+ var _XMPFC5C3cjs = require('./XMPFC5C3.cjs');
7
+
8
+
9
+ var _4XKG4LDQcjs = require('./4XKG4LDQ.cjs');
10
+
11
+
12
+ var _67NJSPQEcjs = require('./67NJSPQE.cjs');
13
+
14
+
15
+ var _7RUXTAPPcjs = require('./7RUXTAPP.cjs');
16
+
17
+ // src/select.ts
18
+ async function select(text, element = document.body, options) {
19
+ const document2 = element.ownerDocument;
20
+ await _4XKG4LDQcjs.hover.call(void 0, element, options);
21
+ _XMPFC5C3cjs.mouseDown.call(void 0, element, options);
22
+ element.dispatchEvent(
23
+ new Event("selectstart", {
24
+ bubbles: true,
25
+ cancelable: true,
26
+ composed: false
27
+ })
28
+ );
29
+ const startIndex = _nullishCoalesce(_optionalChain([element, 'access', _ => _.textContent, 'optionalAccess', _2 => _2.indexOf, 'call', _3 => _3(text)]), () => ( -1));
30
+ const selection = document2.getSelection();
31
+ const range = document2.createRange();
32
+ for (let i = 1; i <= text.length; i++) {
33
+ const iterator = document2.createNodeIterator(element, NodeFilter.SHOW_TEXT);
34
+ const textSlice = text.slice(0, i);
35
+ const endIndex = startIndex + textSlice.length;
36
+ let index = startIndex;
37
+ let node = null;
38
+ let charCount = 0;
39
+ let startContainer = null;
40
+ let startOffset = -1;
41
+ let endContainer = null;
42
+ let endOffset = -1;
43
+ while (index >= 0 && index < endIndex && charCount < endIndex && (node = iterator.nextNode())) {
44
+ const textContent = node.textContent;
45
+ if (!textContent)
46
+ continue;
47
+ charCount += textContent.length;
48
+ if (index > charCount)
49
+ continue;
50
+ if (!startContainer) {
51
+ startContainer = node;
52
+ startOffset = index - charCount + textContent.length;
53
+ }
54
+ endContainer = node;
55
+ endOffset = endIndex - charCount + textContent.length;
56
+ index++;
57
+ }
58
+ if (!startContainer || !endContainer)
59
+ continue;
60
+ await _4XKG4LDQcjs.hover.call(void 0, element, options);
61
+ range.setStart(startContainer, startOffset);
62
+ range.setEnd(endContainer, endOffset);
63
+ _optionalChain([selection, 'optionalAccess', _4 => _4.removeAllRanges, 'call', _5 => _5()]);
64
+ _optionalChain([selection, 'optionalAccess', _6 => _6.addRange, 'call', _7 => _7(range)]);
65
+ }
66
+ await _7RUXTAPPcjs.sleep.call(void 0, );
67
+ _OZ7WVH2Hcjs.mouseUp.call(void 0, element, options);
68
+ _67NJSPQEcjs.fireEvent.click(element, { detail: 1, ...options });
69
+ _optionalChain([selection, 'optionalAccess', _8 => _8.removeAllRanges, 'call', _9 => _9()]);
70
+ _optionalChain([selection, 'optionalAccess', _10 => _10.addRange, 'call', _11 => _11(range)]);
71
+ await _7RUXTAPPcjs.sleep.call(void 0, );
72
+ }
73
+
74
+
75
+
76
+ exports.select = select;
@@ -0,0 +1,54 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/screen.ts
2
+ var _react = require('@testing-library/react');
3
+ var getByText = _react.screen.getByText;
4
+ var getByLabelText = _react.screen.getByLabelText;
5
+ var getByRole = _react.screen.getByRole;
6
+ var getByPlaceholderText = _react.screen.getByPlaceholderText;
7
+ var queryByText = _react.screen.queryByText;
8
+ var queryByLabelText = _react.screen.queryByLabelText;
9
+ var queryByRole = _react.screen.queryByRole;
10
+ var queryByPlaceholderText = _react.screen.queryByPlaceholderText;
11
+ var findByText = _react.screen.findByText;
12
+ var findByLabelText = _react.screen.findByLabelText;
13
+ var findByRole = _react.screen.findByRole;
14
+ var findByPlaceholderText = _react.screen.findByPlaceholderText;
15
+ var getAllByText = _react.screen.getAllByText;
16
+ var getAllByLabelText = _react.screen.getAllByLabelText;
17
+ var getAllByRole = _react.screen.getAllByRole;
18
+ var getAllByPlaceholderText = _react.screen.getAllByPlaceholderText;
19
+ var queryAllByText = _react.screen.queryAllByText;
20
+ var queryAllByLabelText = _react.screen.queryAllByLabelText;
21
+ var queryAllByRole = _react.screen.queryAllByRole;
22
+ var queryAllByPlaceholderText = _react.screen.queryAllByPlaceholderText;
23
+ var findAllByText = _react.screen.findAllByText;
24
+ var findAllByLabelText = _react.screen.findAllByLabelText;
25
+ var findAllByRole = _react.screen.findAllByRole;
26
+ var findAllByPlaceholderText = _react.screen.findAllByPlaceholderText;
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+ exports.screen = _react.screen; exports.getByText = getByText; exports.getByLabelText = getByLabelText; exports.getByRole = getByRole; exports.getByPlaceholderText = getByPlaceholderText; exports.queryByText = queryByText; exports.queryByLabelText = queryByLabelText; exports.queryByRole = queryByRole; exports.queryByPlaceholderText = queryByPlaceholderText; exports.findByText = findByText; exports.findByLabelText = findByLabelText; exports.findByRole = findByRole; exports.findByPlaceholderText = findByPlaceholderText; exports.getAllByText = getAllByText; exports.getAllByLabelText = getAllByLabelText; exports.getAllByRole = getAllByRole; exports.getAllByPlaceholderText = getAllByPlaceholderText; exports.queryAllByText = queryAllByText; exports.queryAllByLabelText = queryAllByLabelText; exports.queryAllByRole = queryAllByRole; exports.queryAllByPlaceholderText = queryAllByPlaceholderText; exports.findAllByText = findAllByText; exports.findAllByLabelText = findAllByLabelText; exports.findAllByRole = findAllByRole; exports.findAllByPlaceholderText = findAllByPlaceholderText;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _3WW644T7cjs = require('./3WW644T7.cjs');
4
+
5
+ // src/mock-get-client-rects.ts
6
+ if (!_3WW644T7cjs.isBrowser && typeof window !== "undefined") {
7
+ window.Element.prototype.getClientRects = function getClientRects() {
8
+ const isHidden = (element) => {
9
+ if (element.parentElement && isHidden(element.parentElement)) {
10
+ return true;
11
+ }
12
+ if (!(element instanceof HTMLElement)) {
13
+ return false;
14
+ }
15
+ if (element.hidden) {
16
+ return true;
17
+ }
18
+ const style = getComputedStyle(element);
19
+ return style.display === "none" || style.visibility === "hidden";
20
+ };
21
+ if (isHidden(this)) {
22
+ return [];
23
+ }
24
+ return [{ width: 1, height: 1 }];
25
+ };
26
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/within.ts
2
+ var _react = require('@testing-library/react');
3
+
4
+
5
+
6
+ exports.within = _react.within;
@@ -0,0 +1,28 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _67NJSPQEcjs = require('./67NJSPQE.cjs');
4
+
5
+
6
+ var _3WW644T7cjs = require('./3WW644T7.cjs');
7
+
8
+ // src/focus.ts
9
+ var _dom = require('@ariakit/core/utils/dom');
10
+ var _focus = require('@ariakit/core/utils/focus');
11
+ function focus(element) {
12
+ if (_dom.getActiveElement.call(void 0, element) === element)
13
+ return;
14
+ if (!_focus.isFocusable.call(void 0, element))
15
+ return;
16
+ const activeElement = _dom.getActiveElement.call(void 0, element);
17
+ if (_optionalChain([activeElement, 'optionalAccess', _ => _.dirty])) {
18
+ _67NJSPQEcjs.fireEvent.change(activeElement);
19
+ activeElement.dirty = false;
20
+ }
21
+ _3WW644T7cjs.act.call(void 0, () => {
22
+ element.focus();
23
+ });
24
+ }
25
+
26
+
27
+
28
+ exports.focus = focus;
@@ -0,0 +1,110 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
+
3
+ var _MRZIZFYGcjs = require('./MRZIZFYG.cjs');
4
+
5
+
6
+ var _67NJSPQEcjs = require('./67NJSPQE.cjs');
7
+
8
+
9
+ var _7RUXTAPPcjs = require('./7RUXTAPP.cjs');
10
+
11
+
12
+ var _3WW644T7cjs = require('./3WW644T7.cjs');
13
+
14
+ // src/type.ts
15
+ var _dom = require('@ariakit/core/utils/dom');
16
+ var _focus = require('@ariakit/core/utils/focus');
17
+ function getKeyFromChar(key) {
18
+ if (key === "\x7F")
19
+ return "Delete";
20
+ if (key === "\b")
21
+ return "Backspace";
22
+ if (key === "\n")
23
+ return "Enter";
24
+ if (key === " ")
25
+ return "Tab";
26
+ return key;
27
+ }
28
+ function workAroundEmailInput(element) {
29
+ const input = element;
30
+ if (input.tagName !== "INPUT" || input.type !== "email")
31
+ return () => {
32
+ };
33
+ input.type = "text";
34
+ return () => {
35
+ input.type = "email";
36
+ };
37
+ }
38
+ async function type(text, element, options = {}) {
39
+ if (element == null) {
40
+ element = document.activeElement;
41
+ }
42
+ if (!element || !_focus.isFocusable.call(void 0, element))
43
+ return;
44
+ _MRZIZFYGcjs.focus.call(void 0, element);
45
+ element.dirty = true;
46
+ const restoreEmailInput = workAroundEmailInput(element);
47
+ for (const char of text) {
48
+ const key = getKeyFromChar(char);
49
+ let value = "";
50
+ let inputType = "insertText";
51
+ let defaultAllowed = _67NJSPQEcjs.fireEvent.keyDown(element, { key, ...options });
52
+ await _3WW644T7cjs.queuedMicrotasks.call(void 0, );
53
+ element = _dom.getActiveElement.call(void 0, element) || element;
54
+ if (_dom.isTextField.call(void 0, element)) {
55
+ const input = element;
56
+ const [start, end] = [_nullishCoalesce(input.selectionStart, () => ( 0)), _nullishCoalesce(input.selectionEnd, () => ( 0))];
57
+ const collapsed = start === end;
58
+ let nextCaretPosition = start;
59
+ if (char === "\x7F") {
60
+ const firstPart = input.value.slice(0, start);
61
+ const secondPart = input.value.slice(collapsed ? end + 1 : end);
62
+ value = `${firstPart}${secondPart}`;
63
+ inputType = "deleteContentForward";
64
+ } else if (char === "\b") {
65
+ nextCaretPosition = collapsed ? Math.max(start - 1, 0) : start;
66
+ const firstPart = input.value.slice(0, nextCaretPosition);
67
+ const lastPart = input.value.slice(end, input.value.length);
68
+ value = `${firstPart}${lastPart}`;
69
+ inputType = "deleteContentBackward";
70
+ } else {
71
+ const firstPart = input.value.slice(0, start);
72
+ const lastPart = input.value.slice(end, input.value.length);
73
+ nextCaretPosition = start + 1;
74
+ value = `${firstPart}${char}${lastPart}`;
75
+ }
76
+ if (defaultAllowed && !input.readOnly) {
77
+ if (inputType === "insertText") {
78
+ defaultAllowed = _67NJSPQEcjs.fireEvent.keyPress(input, {
79
+ key,
80
+ charCode: key.charCodeAt(0),
81
+ ...options
82
+ });
83
+ }
84
+ if (defaultAllowed) {
85
+ _67NJSPQEcjs.fireEvent.input(input, {
86
+ data: char,
87
+ target: {
88
+ value,
89
+ selectionStart: nextCaretPosition,
90
+ selectionEnd: nextCaretPosition
91
+ },
92
+ inputType,
93
+ ...options
94
+ });
95
+ if (input.selectionStart !== nextCaretPosition) {
96
+ input.setSelectionRange(nextCaretPosition, nextCaretPosition);
97
+ }
98
+ }
99
+ }
100
+ }
101
+ await _7RUXTAPPcjs.sleep.call(void 0, );
102
+ _67NJSPQEcjs.fireEvent.keyUp(element, { key, ...options });
103
+ await _7RUXTAPPcjs.sleep.call(void 0, );
104
+ }
105
+ restoreEmailInput();
106
+ }
107
+
108
+
109
+
110
+ exports.type = type;