react-native-tapline 1.3.1 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/actions.d.ts +66 -1
  2. package/dist/actions.js +483 -51
  3. package/dist/actions.js.map +1 -1
  4. package/dist/checks.d.ts +43 -1
  5. package/dist/checks.js +17 -5
  6. package/dist/checks.js.map +1 -1
  7. package/dist/client.js +11 -1
  8. package/dist/client.js.map +1 -1
  9. package/dist/closest.d.ts +30 -0
  10. package/dist/closest.js +101 -0
  11. package/dist/closest.js.map +1 -0
  12. package/dist/commands.d.ts +9 -0
  13. package/dist/commands.js +135 -2
  14. package/dist/commands.js.map +1 -1
  15. package/dist/glass.d.ts +3 -0
  16. package/dist/glass.js +81 -0
  17. package/dist/glass.js.map +1 -0
  18. package/dist/glassclip.d.ts +18 -0
  19. package/dist/glassclip.js +69 -0
  20. package/dist/glassclip.js.map +1 -0
  21. package/dist/index.d.ts +5 -1
  22. package/dist/index.js +10 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/inspect.d.ts +7 -1
  25. package/dist/inspect.js +16 -3
  26. package/dist/inspect.js.map +1 -1
  27. package/dist/locale.d.ts +67 -0
  28. package/dist/locale.js +224 -0
  29. package/dist/locale.js.map +1 -0
  30. package/dist/logs.d.ts +2 -0
  31. package/dist/logs.js +7 -0
  32. package/dist/logs.js.map +1 -1
  33. package/dist/media.d.ts +71 -0
  34. package/dist/media.js +516 -0
  35. package/dist/media.js.map +1 -0
  36. package/dist/methods.js +6 -1
  37. package/dist/methods.js.map +1 -1
  38. package/dist/network.d.ts +20 -2
  39. package/dist/network.js +750 -3
  40. package/dist/network.js.map +1 -1
  41. package/dist/types.d.ts +8 -2
  42. package/dist/types.js.map +1 -1
  43. package/dist/uxcheck.d.ts +57 -0
  44. package/dist/uxcheck.js +222 -0
  45. package/dist/uxcheck.js.map +1 -0
  46. package/dist/wait.js +30 -3
  47. package/dist/wait.js.map +1 -1
  48. package/package.json +1 -1
package/dist/actions.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type Entry, type Snapshot } from './inspect';
2
2
  import { type ElementSource } from './source';
3
3
  import { type AuditType } from './checks';
4
+ import { type UxAction, type UxCheckName, type UxKind } from './uxcheck';
4
5
  import { type Fiber } from './fiber';
5
6
  import { type Frame, type LogEntry, type TaplineElement } from './types';
6
7
  export { tree } from './inspect';
@@ -60,7 +61,7 @@ export declare function labelOf(info: {
60
61
  /** What the caller means to do; a point target then picks only an element that does it. */
61
62
  type ActionHint = 'press' | 'longPress' | 'toggle' | 'scroll' | 'type';
62
63
  /** Resolve a protocol target to exactly one element, or throw not_found / ambiguous. */
63
- export declare function resolveTarget(raw: unknown, hint?: ActionHint): Promise<Resolved>;
64
+ export declare function resolveTarget(raw: unknown, hint?: ActionHint, glassOnly?: boolean): Promise<Resolved>;
64
65
  /** The nearest listed element at or above a host fiber, for naming what covers a target. */
65
66
  export declare function describeHit(snapshot: Snapshot, hit: Fiber, actor?: Entry): string;
66
67
  /** `back`: what the back button or gesture does, on the focused screen; with a sheet open, closes the sheet. */
@@ -69,19 +70,34 @@ export declare function back(rawParams: unknown): Promise<{
69
70
  closed?: 'sheet';
70
71
  dryRun?: true;
71
72
  } & SettleOutcome>;
73
+ /** What happened to a double tap's second tap, and how long after the first it came. */
74
+ export type PressSecond = {
75
+ done: true;
76
+ afterMs: number;
77
+ } | {
78
+ done: false;
79
+ reason: string;
80
+ afterMs: number;
81
+ };
72
82
  /**
73
83
  * What `press` and `longPress` answer: the element, `closedKeyboard: true` when the keyboard was
74
84
  * closed first, and `forced` (the reason word) when `force` let through what the checks refuse.
85
+ * `scrolled` says the element was off screen and was scrolled into view first (§16.2); on a dry run,
86
+ * `scrolls` says it would be and `point` is where the touch is expected after the scroll.
75
87
  */
76
88
  export type PressResult = {
77
89
  element: TaplineElement;
78
90
  closedKeyboard?: true;
79
91
  forced?: string;
80
92
  dryRun?: true;
93
+ scrolled?: true;
94
+ scrolls?: true;
81
95
  point?: {
82
96
  x: number;
83
97
  y: number;
84
98
  };
99
+ /** With `again`: the second tap of a double tap. */
100
+ second?: PressSecond;
85
101
  } & SettleOutcome;
86
102
  export declare function press(params: unknown): Promise<PressResult>;
87
103
  export declare function longPress(params: unknown): Promise<PressResult>;
@@ -112,6 +128,12 @@ export declare function typeText(rawParams: unknown): Promise<{
112
128
  closedKeyboard?: true;
113
129
  forced?: string;
114
130
  dryRun?: true;
131
+ scrolled?: true;
132
+ scrolls?: true;
133
+ point?: {
134
+ x: number;
135
+ y: number;
136
+ };
115
137
  } & SettleOutcome>;
116
138
  /** What `scroll` answers; `target`, `reached` and `unchanged` only with `to: "target"`. */
117
139
  export type ScrollResult = {
@@ -132,6 +154,28 @@ export type ScrollResult = {
132
154
  dryRun?: true;
133
155
  } & SettleOutcome;
134
156
  export declare function scroll(rawParams: unknown): Promise<ScrollResult>;
157
+ interface ScrollState {
158
+ /** The real content offset; negative at rest when the system adds an inset. */
159
+ offset: {
160
+ x: number;
161
+ y: number;
162
+ };
163
+ /** The furthest offset a scrollTo can reach. */
164
+ max: {
165
+ x: number;
166
+ y: number;
167
+ };
168
+ visible: {
169
+ x: number;
170
+ y: number;
171
+ };
172
+ }
173
+ /**
174
+ * The scroll view's real offset, from where its content container sits inside it. On the new
175
+ * architecture `measureInWindow` includes the content offset, so scroll frame minus content frame
176
+ * is the offset. Null when either can't be measured (old architecture, nothing laid out).
177
+ */
178
+ export declare function measureScrollState(entry: Entry): Promise<ScrollState | null>;
135
179
  export declare function toggle(rawParams: unknown): Promise<{
136
180
  element: TaplineElement;
137
181
  value: boolean;
@@ -139,6 +183,8 @@ export declare function toggle(rawParams: unknown): Promise<{
139
183
  unchanged?: true;
140
184
  forced?: string;
141
185
  dryRun?: true;
186
+ scrolled?: true;
187
+ scrolls?: true;
142
188
  point?: {
143
189
  x: number;
144
190
  y: number;
@@ -178,6 +224,25 @@ export declare function audit(rawParams: unknown): Promise<{
178
224
  issues: AuditIssue[];
179
225
  checked: AuditType[];
180
226
  }>;
227
+ export interface UxIssue {
228
+ kind: UxKind;
229
+ element: TaplineElement | null;
230
+ where?: AuditWhere;
231
+ problem: string;
232
+ basis: string;
233
+ at?: {
234
+ file: string;
235
+ line: number;
236
+ direct: boolean;
237
+ };
238
+ }
239
+ /** `ux_check {wayBack?, earlier?}` (AGENT-TOOLS 1.12 §17.3): the screen against the usability basics. */
240
+ export declare function uxCheck(rawParams: unknown): Promise<{
241
+ issues: UxIssue[];
242
+ checked: UxCheckName[];
243
+ choices: number;
244
+ actions: UxAction[];
245
+ }>;
181
246
  export declare function getLogs(rawParams: unknown): Promise<{
182
247
  entries: LogEntry[];
183
248
  }>;