@buoy-gg/focus-inspector 7.0.40 → 7.0.41

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 (32) hide show
  1. package/README.md +4 -0
  2. package/lib/commonjs/detect/detectors.js +21 -3
  3. package/lib/commonjs/detect/detectors.js.map +1 -1
  4. package/lib/commonjs/observe/keyEventObserver.web.js +37 -0
  5. package/lib/commonjs/observe/keyEventObserver.web.js.map +1 -0
  6. package/lib/commonjs/observe/rawEventEmitter.web.js +13 -0
  7. package/lib/commonjs/observe/rawEventEmitter.web.js.map +1 -0
  8. package/lib/commonjs/scan/focusableScanner.js +8 -3
  9. package/lib/commonjs/scan/focusableScanner.js.map +1 -1
  10. package/lib/commonjs/sync/focusInspectorSyncAdapter.js +11 -4
  11. package/lib/commonjs/sync/focusInspectorSyncAdapter.js.map +1 -1
  12. package/lib/module/detect/detectors.js +21 -3
  13. package/lib/module/detect/detectors.js.map +1 -1
  14. package/lib/module/observe/keyEventObserver.web.js +30 -0
  15. package/lib/module/observe/keyEventObserver.web.js.map +1 -0
  16. package/lib/module/observe/rawEventEmitter.web.js +4 -0
  17. package/lib/module/observe/rawEventEmitter.web.js.map +1 -0
  18. package/lib/module/scan/focusableScanner.js +8 -3
  19. package/lib/module/scan/focusableScanner.js.map +1 -1
  20. package/lib/module/sync/focusInspectorSyncAdapter.js +13 -6
  21. package/lib/module/sync/focusInspectorSyncAdapter.js.map +1 -1
  22. package/lib/typescript/detect/detectors.d.ts +1 -1
  23. package/lib/typescript/detect/detectors.d.ts.map +1 -1
  24. package/lib/typescript/observe/keyEventObserver.web.d.ts +6 -0
  25. package/lib/typescript/observe/keyEventObserver.web.d.ts.map +1 -0
  26. package/lib/typescript/observe/rawEventEmitter.web.d.ts +3 -0
  27. package/lib/typescript/observe/rawEventEmitter.web.d.ts.map +1 -0
  28. package/lib/typescript/scan/focusableScanner.d.ts +0 -24
  29. package/lib/typescript/scan/focusableScanner.d.ts.map +1 -1
  30. package/lib/typescript/sync/focusInspectorSyncAdapter.d.ts.map +1 -1
  31. package/lib/web/index.mjs +2 -0
  32. package/package.json +39 -5
package/README.md CHANGED
@@ -59,3 +59,7 @@ Verify your routes, layouts, and TV fork version, including a comparison with ca
59
59
  React Native connections require `@buoy-gg/external-sync`. Follow the [Desktop connection guide](https://buoy.gg/buoy/latest/docs/desktop), sign in to Desktop separately, and confirm the selected device. [MCP](https://buoy.gg/buoy/latest/docs/mcp) also needs a process account and Pro access.
60
60
 
61
61
  Device data can travel over your LAN to the configured broker. Account validation makes network requests. See [Telemetry](https://buoy.gg/buoy/latest/docs/telemetry) for data-flow details.
62
+
63
+ ## Web support (unreleased)
64
+
65
+ Browser capture measures DOM focusable elements and observes real focus and keyboard events. It uses the existing sync adapter for remote inspection. The browser build is available in this checkout and has not been published yet. See the [web setup guide](https://buoy.gg/buoy/latest/docs/web-preview) for registration, dependencies, and browser boundaries.
@@ -340,12 +340,30 @@ function isAdjacent(a, b) {
340
340
  * renders. A direction with no entry is UNKNOWN (dim), which is a different
341
341
  * statement from a dead end (pressed, went nowhere).
342
342
  */
343
- function observedEdges(tag, transitions) {
344
- const edges = {};
343
+ function observedEdges(tag, transitions, probes = []) {
344
+ // A press that moved nothing leaves a probe but no transition. Without the
345
+ // probes, a direction that was pressed three times and went nowhere still
346
+ // read "unknown" while the dead-end flag below it said the opposite.
347
+ const seen = [];
345
348
  for (const transition of transitions) {
346
349
  if (transition.fromTag !== tag || transition.direction === null) continue;
347
- edges[transition.direction] = transition.toTag;
350
+ seen.push({
351
+ at: transition.at,
352
+ direction: transition.direction,
353
+ to: transition.toTag
354
+ });
355
+ }
356
+ for (const probe of probes) {
357
+ if (probe.tag !== tag || !probe.resolved || probe.movedTo !== null) continue;
358
+ seen.push({
359
+ at: probe.at,
360
+ direction: probe.direction,
361
+ to: null
362
+ });
348
363
  }
364
+ seen.sort((a, b) => a.at - b.at);
365
+ const edges = {};
366
+ for (const observation of seen) edges[observation.direction] = observation.to;
349
367
  return edges;
350
368
  }
351
369
  //# sourceMappingURL=detectors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DIRECTIONS","exports","DEAD_END_ATTEMPTS","COVERAGE_MIN_PROBES","keyOf","tag","direction","detectDeadEnds","probes","nodes","minAttempts","since","trailing","Map","probe","resolved","at","key","movedTo","set","get","byTag","node","nativeTag","flags","forEach","attempts","tagPart","directionPart","split","Number","push","atEdge","isAtEdge","sort","a","b","frame","centerX","x","width","centerY","y","height","other","guide","otherFrame","otherX","otherY","unionBox","frames","length","left","Infinity","top","right","bottom","Math","min","max","isBeyond","box","point","TRAP_MIN_BLOCKED","detectTraps","deadEnds","groups","flag","containerTag","guideAncestorTag","group","tags","Set","directions","add","traps","size","members","container","Array","from","map","filter","escapable","reachableOutside","hasOutside","some","has","center","trapped","undefined","trap","up","down","d","guideTrapTag","detectInvisibleStops","transitions","transition","toTag","reason","existing","count","values","detectFlags","lostCount","invisibleStops","computeCoverage","visited","visitedSet","reachableCandidates","unvisited","meaningful","edgeTargets","suspectedUnreachable","isAdjacent","focusables","ADJACENCY_GAP","fa","fb","horizontalOverlap","verticalOverlap","gap","observedEdges","edges","fromTag"],"sourceRoot":"../../../src","sources":["detect/detectors.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DIRECTIONS","exports","DEAD_END_ATTEMPTS","COVERAGE_MIN_PROBES","keyOf","tag","direction","detectDeadEnds","probes","nodes","minAttempts","since","trailing","Map","probe","resolved","at","key","movedTo","set","get","byTag","node","nativeTag","flags","forEach","attempts","tagPart","directionPart","split","Number","push","atEdge","isAtEdge","sort","a","b","frame","centerX","x","width","centerY","y","height","other","guide","otherFrame","otherX","otherY","unionBox","frames","length","left","Infinity","top","right","bottom","Math","min","max","isBeyond","box","point","TRAP_MIN_BLOCKED","detectTraps","deadEnds","groups","flag","containerTag","guideAncestorTag","group","tags","Set","directions","add","traps","size","members","container","Array","from","map","filter","escapable","reachableOutside","hasOutside","some","has","center","trapped","undefined","trap","up","down","d","guideTrapTag","detectInvisibleStops","transitions","transition","toTag","reason","existing","count","values","detectFlags","lostCount","invisibleStops","computeCoverage","visited","visitedSet","reachableCandidates","unvisited","meaningful","edgeTargets","suspectedUnreachable","isAdjacent","focusables","ADJACENCY_GAP","fa","fb","horizontalOverlap","verticalOverlap","gap","observedEdges","seen","fromTag","to","edges","observation"],"sourceRoot":"../../../src","sources":["detect/detectors.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.attachKeyObserver = attachKeyObserver;
7
+ exports.detachKeyObserver = detachKeyObserver;
8
+ exports.isKeyObserverListening = isKeyObserverListening;
9
+ exports.platformOS = exports.isTV = void 0;
10
+ var _focusStore = require("../store/focusStore");
11
+ const isTV = exports.isTV = false;
12
+ const platformOS = exports.platformOS = 'web';
13
+ let listening = false;
14
+ const directions = {
15
+ ArrowUp: 'up',
16
+ ArrowDown: 'down',
17
+ ArrowLeft: 'left',
18
+ ArrowRight: 'right'
19
+ };
20
+ function key(event) {
21
+ const direction = directions[event.key];
22
+ if (direction) (0, _focusStore.recordKey)(direction);
23
+ }
24
+ function attachKeyObserver() {
25
+ if (listening || typeof document === 'undefined') return;
26
+ listening = true;
27
+ document.addEventListener('keydown', key, true);
28
+ }
29
+ function detachKeyObserver() {
30
+ if (!listening) return;
31
+ listening = false;
32
+ document.removeEventListener('keydown', key, true);
33
+ }
34
+ function isKeyObserverListening() {
35
+ return listening;
36
+ }
37
+ //# sourceMappingURL=keyEventObserver.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_focusStore","require","isTV","exports","platformOS","listening","directions","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","key","event","direction","recordKey","attachKeyObserver","document","addEventListener","detachKeyObserver","removeEventListener","isKeyObserverListening"],"sourceRoot":"../../../src","sources":["observe/keyEventObserver.web.ts"],"mappings":";;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACO,MAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG,KAAK;AAClB,MAAME,UAAU,GAAAD,OAAA,CAAAC,UAAA,GAAG,KAAK;AAC/B,IAAIC,SAAS,GAAG,KAAK;AACrB,MAAMC,UAA0C,GAAG;EAAEC,OAAO,EAAE,IAAI;EAAEC,SAAS,EAAE,MAAM;EAAEC,SAAS,EAAE,MAAM;EAAEC,UAAU,EAAE;AAAQ,CAAC;AAC/H,SAASC,GAAGA,CAACC,KAAoB,EAAE;EAAE,MAAMC,SAAS,GAAGP,UAAU,CAACM,KAAK,CAACD,GAAG,CAAC;EAAE,IAAIE,SAAS,EAAE,IAAAC,qBAAS,EAACD,SAAS,CAAC;AAAE;AAC5G,SAASE,iBAAiBA,CAAA,EAAG;EAAE,IAAIV,SAAS,IAAI,OAAOW,QAAQ,KAAK,WAAW,EAAE;EAAQX,SAAS,GAAG,IAAI;EAAEW,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEN,GAAG,EAAE,IAAI,CAAC;AAAE;AAC5J,SAASO,iBAAiBA,CAAA,EAAG;EAAE,IAAI,CAACb,SAAS,EAAE;EAAQA,SAAS,GAAG,KAAK;EAAEW,QAAQ,CAACG,mBAAmB,CAAC,SAAS,EAAER,GAAG,EAAE,IAAI,CAAC;AAAE;AAC9H,SAASS,sBAAsBA,CAAA,EAAG;EAAE,OAAOf,SAAS;AAAE","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "resolveRawEventEmitter", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _utils.resolveDOMEventEmitter;
10
+ }
11
+ });
12
+ var _utils = require("@buoy-gg/shared-ui/utils");
13
+ //# sourceMappingURL=rawEventEmitter.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utils","require"],"sourceRoot":"../../../src","sources":["observe/rawEventEmitter.web.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.requestFocusForTag = requestFocusForTag;
7
7
  exports.scanFocusables = scanFocusables;
8
+ var _utils = require("@buoy-gg/shared-ui/utils");
8
9
  var _reactNative = require("react-native");
9
10
  /**
10
11
  * focusableScanner — a read-only fiber walk that inventories everything on
@@ -107,6 +108,8 @@ function getOwningComponentName(fiber) {
107
108
  }
108
109
  /** The Fabric / Paper / RN-CLI-dev instance triad — always check all three. */
109
110
  function getPublicInstance(stateNode) {
111
+ const dom = (0, _utils.getDOMPublicInstance)(stateNode);
112
+ if (dom) return dom;
110
113
  if (!stateNode) return null;
111
114
  const node = stateNode;
112
115
  if (node.canonical?.publicInstance) return node.canonical.publicInstance;
@@ -117,6 +120,8 @@ function getPublicInstance(stateNode) {
117
120
  return null;
118
121
  }
119
122
  function getNativeTag(stateNode) {
123
+ const dom = (0, _utils.getDOMNodeHandle)(stateNode);
124
+ if (dom !== null) return dom;
120
125
  if (stateNode == null) return null;
121
126
  const n = stateNode;
122
127
  if (typeof n.__nativeTag === "number") return n.__nativeTag;
@@ -323,7 +328,7 @@ function collectCandidates() {
323
328
 
324
329
  // A composite Pressable and its host View both match; the host is the one
325
330
  // that carries the native tag focus events report, so dedupe on the tag.
326
- const isCandidate = isGuide || flag === true || hasPreferred || !!nextFocus || pressable && flag !== false;
331
+ const isCandidate = isGuide || flag === true || hasPreferred || !!nextFocus || pressable && flag !== false || (0, _utils.isDOMElement)(fiber.stateNode) && fiber.stateNode.matches('a[href],button,input,select,textarea,[tabindex],[contenteditable="true"]') && !fiber.stateNode.matches(':disabled,[inert], [tabindex="-1"]');
327
332
  if (!isCandidate) return context;
328
333
  const host = findHostInstance(fiber);
329
334
  const nativeTag = host?.nativeTag ?? null;
@@ -357,13 +362,13 @@ function collectCandidates() {
357
362
  if (!componentName || INTERNAL_NAMES.has(componentName) || typeof fiber.type === "string") {
358
363
  name = getOwningComponentName(fiber) ?? componentName ?? "Unknown";
359
364
  }
360
- const label = props.accessibilityLabel || undefined;
365
+ const label = props.accessibilityLabel || props["aria-label"] || undefined;
361
366
  const text = getVisibleText(props) ?? (pressable ? collectDescendantText(fiber, 6) : undefined);
362
367
  const node = {
363
368
  nativeTag,
364
369
  name: isGuide ? GUIDE_NAME : name,
365
370
  owner: getOwningComponentName(fiber) ?? undefined,
366
- testID: props.testID || undefined,
371
+ testID: props.testID || props["data-testid"] || undefined,
367
372
  label,
368
373
  text,
369
374
  focusProps: {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","OffscreenComponent","INTERNAL_NAMES","Set","GUIDE_NAME","getReactDevToolsHook","global","__REACT_DEVTOOLS_GLOBAL_HOOK__","getAllFiberRoots","hook","roots","renderers","forEach","_r","rendererId","set","getFiberRoots","root","push","length","legacy","isHiddenOffscreen","fiber","tag","memoizedState","isInactiveScreen","activityState","memoizedProps","isPageFocused","getProps","pendingProps","getComponentName","type","displayName","name","getOwningComponentName","cur","_debugOwner","return","depth","has","getPublicInstance","stateNode","node","canonical","publicInstance","measure","measureInWindow","getNativeTag","n","__nativeTag","_nativeTag","nativeTag","findHostInstance","selfInstance","instance","stack","child","guard","f","pop","sibling","focusableFlag","props","isTVSelectable","focusable","tvFocusable","undefined","nextFocusFlags","up","nextFocusUp","down","nextFocusDown","left","nextFocusLeft","right","nextFocusRight","getVisibleText","pick","value","trim","slice","Number","isFinite","String","children","title","label","collectDescendantText","maxDepth","parts","visit","onPress","text","includes","joined","join","measureInstance","Promise","resolve","settled","done","rect","setTimeout","x","y","width","height","_x","_y","pageX","pageY","instancesByTag","Map","walk","context","seen","entry","current","add","childContext","collectCandidates","out","seenTags","guideTag","componentName","isGuide","flag","pressable","onLongPress","hasPreferred","hasTVPreferredFocus","nextFocus","isCandidate","host","nextContext","existing","find","c","focusProps","testID","guide","readGuide","accessibilityLabel","owner","guideAncestorTag","autoFocus","hasDestinations","Array","isArray","destinations","enabled","trap","trapFocusUp","trapFocusDown","trapFocusLeft","trapFocusRight","round3","Math","round","MAX_NODES","scanFocusables","clear","candidates","all","map","candidate","frame","window","Dimensions","get","screenW","screenH","nodes","cx","cy","onScreen","sort","a","b","ay","by","abs","screen","scannedAt","Date","now","requestFocusForTag","ok","reason","requestTVFocus","e","message"],"sourceRoot":"../../../src","sources":["scan/focusableScanner.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","_reactNative","OffscreenComponent","INTERNAL_NAMES","Set","GUIDE_NAME","getReactDevToolsHook","global","__REACT_DEVTOOLS_GLOBAL_HOOK__","getAllFiberRoots","hook","roots","renderers","forEach","_r","rendererId","set","getFiberRoots","root","push","length","legacy","isHiddenOffscreen","fiber","tag","memoizedState","isInactiveScreen","activityState","memoizedProps","isPageFocused","getProps","pendingProps","getComponentName","type","displayName","name","getOwningComponentName","cur","_debugOwner","return","depth","has","getPublicInstance","stateNode","dom","getDOMPublicInstance","node","canonical","publicInstance","measure","measureInWindow","getNativeTag","getDOMNodeHandle","n","__nativeTag","_nativeTag","nativeTag","findHostInstance","selfInstance","instance","stack","child","guard","f","pop","sibling","focusableFlag","props","isTVSelectable","focusable","tvFocusable","undefined","nextFocusFlags","up","nextFocusUp","down","nextFocusDown","left","nextFocusLeft","right","nextFocusRight","getVisibleText","pick","value","trim","slice","Number","isFinite","String","children","title","label","collectDescendantText","maxDepth","parts","visit","onPress","text","includes","joined","join","measureInstance","Promise","resolve","settled","done","rect","setTimeout","x","y","width","height","_x","_y","pageX","pageY","instancesByTag","Map","walk","context","seen","entry","current","add","childContext","collectCandidates","out","seenTags","guideTag","componentName","isGuide","flag","pressable","onLongPress","hasPreferred","hasTVPreferredFocus","nextFocus","isCandidate","isDOMElement","matches","host","nextContext","existing","find","c","focusProps","testID","guide","readGuide","accessibilityLabel","owner","guideAncestorTag","autoFocus","hasDestinations","Array","isArray","destinations","enabled","trap","trapFocusUp","trapFocusDown","trapFocusLeft","trapFocusRight","round3","Math","round","MAX_NODES","scanFocusables","clear","candidates","all","map","candidate","frame","window","Dimensions","get","screenW","screenH","nodes","cx","cy","onScreen","sort","a","b","ay","by","abs","screen","scannedAt","Date","now","requestFocusForTag","ok","reason","requestTVFocus","e","message"],"sourceRoot":"../../../src","sources":["scan/focusableScanner.ts"],"mappings":"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","ignoreList":[]}
@@ -132,7 +132,7 @@ function buildSnapshot() {
132
132
  const transitions = fittingTransitions(state.transitions, Math.max(64 * 1024, MAX_SNAPSHOT_BYTES - focusablesBytes));
133
133
  const flagged = flags.deadEnds.filter(flag => !flag.atEdge).length + flags.traps.length + flags.invisibleStops.length + (flags.lostCount > 0 ? 1 : 0);
134
134
  return {
135
- supported: _keyEventObserver.isTV,
135
+ supported: _keyEventObserver.isTV || _keyEventObserver.platformOS === "web",
136
136
  platform: _keyEventObserver.platformOS,
137
137
  observer: observer.status,
138
138
  observerReason: observer.reason,
@@ -143,7 +143,7 @@ function buildSnapshot() {
143
143
  tag: state.currentTag,
144
144
  node: byTag.get(state.currentTag) ?? null,
145
145
  since: state.currentSince ?? Date.now(),
146
- edges: (0, _detectors.observedEdges)(state.currentTag, state.transitions)
146
+ edges: (0, _detectors.observedEdges)(state.currentTag, state.transitions, state.probes)
147
147
  },
148
148
  transitions,
149
149
  focusables: nodes,
@@ -168,7 +168,10 @@ const focusInspectorSyncAdapter = exports.focusInspectorSyncAdapter = {
168
168
  subscribe(onChange) {
169
169
  subscriberCount += 1;
170
170
  if (subscriberCount === 1) {
171
- // Observers are already attached (module load). Only the scan is gated.
171
+ if (_keyEventObserver.platformOS === "web") {
172
+ (0, _focusEventObserver.attachFocusObserver)();
173
+ (0, _keyEventObserver.attachKeyObserver)();
174
+ }
172
175
  void runScan();
173
176
  }
174
177
  const unsubscribeStore = (0, _focusStore.subscribe)(() => {
@@ -200,6 +203,10 @@ const focusInspectorSyncAdapter = exports.focusInspectorSyncAdapter = {
200
203
  clearTimeout(rescanTimer);
201
204
  rescanTimer = null;
202
205
  }
206
+ if (_keyEventObserver.platformOS === "web") {
207
+ (0, _focusEventObserver.detachFocusObserver)();
208
+ (0, _keyEventObserver.detachKeyObserver)();
209
+ }
203
210
  // The observers stay attached on purpose — see the note at the top.
204
211
  // Detaching here would make the tool forget where focus is every time
205
212
  // the panel is closed, and re-open blind.
@@ -236,7 +243,7 @@ const focusInspectorSyncAdapter = exports.focusInspectorSyncAdapter = {
236
243
  ok: false,
237
244
  reason: "nativeTag is required."
238
245
  };
239
- if (!_keyEventObserver.isTV) return {
246
+ if (!_keyEventObserver.isTV && _keyEventObserver.platformOS !== "web") return {
240
247
  ok: false,
241
248
  reason: "Not a TV build — there is no focus engine."
242
249
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_sharedUi","require","_focusStore","_focusEventObserver","_keyEventObserver","_focusableScanner","_detectors","MAX_SNAPSHOT_BYTES","RESCAN_DEBOUNCE_MS","isTV","attachFocusObserver","attachKeyObserver","lastScan","scanning","rescanTimer","subscriberCount","nodesByTag","map","Map","node","nodes","set","nativeTag","runScan","scanFocusables","notifyChange","scheduleRescanIfStranger","currentTag","getState","has","setTimeout","fittingTransitions","transitions","budget","out","bytes","i","length","size","approxJsonSize","push","reverse","buildSnapshot","state","observer","getFocusObserverStatus","flags","detectFlags","probes","lostCount","scannedAt","coverage","computeCoverage","visited","byTag","focusablesBytes","Math","max","flagged","deadEnds","filter","flag","atEdge","traps","invisibleStops","supported","platform","platformOS","status","observerReason","reason","keysListening","isKeyObserverListening","tracking","presence","current","tag","get","since","currentSince","Date","now","edges","observedEdges","focusables","screen","stats","transitionCount","capturedAt","focusInspectorSyncAdapter","exports","version","getSnapshot","subscribe","onChange","unsubscribeStore","subscribeStore","retries","pollTimer","poll","clearTimeout","actions","rescan","scan","ok","clearHistory","setTracking","params","enabled","focusElement","requestFocusForTag"],"sourceRoot":"../../../src","sources":["sync/focusInspectorSyncAdapter.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_sharedUi","require","_focusStore","_focusEventObserver","_keyEventObserver","_focusableScanner","_detectors","MAX_SNAPSHOT_BYTES","RESCAN_DEBOUNCE_MS","isTV","attachFocusObserver","attachKeyObserver","lastScan","scanning","rescanTimer","subscriberCount","nodesByTag","map","Map","node","nodes","set","nativeTag","runScan","scanFocusables","notifyChange","scheduleRescanIfStranger","currentTag","getState","has","setTimeout","fittingTransitions","transitions","budget","out","bytes","i","length","size","approxJsonSize","push","reverse","buildSnapshot","state","observer","getFocusObserverStatus","flags","detectFlags","probes","lostCount","scannedAt","coverage","computeCoverage","visited","byTag","focusablesBytes","Math","max","flagged","deadEnds","filter","flag","atEdge","traps","invisibleStops","supported","platformOS","platform","status","observerReason","reason","keysListening","isKeyObserverListening","tracking","presence","current","tag","get","since","currentSince","Date","now","edges","observedEdges","focusables","screen","stats","transitionCount","capturedAt","focusInspectorSyncAdapter","exports","version","getSnapshot","subscribe","onChange","unsubscribeStore","subscribeStore","retries","pollTimer","poll","clearTimeout","detachFocusObserver","detachKeyObserver","actions","rescan","scan","ok","clearHistory","setTracking","params","enabled","focusElement","requestFocusForTag"],"sourceRoot":"../../../src","sources":["sync/focusInspectorSyncAdapter.ts"],"mappings":"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","ignoreList":[]}
@@ -330,12 +330,30 @@ function isAdjacent(a, b) {
330
330
  * renders. A direction with no entry is UNKNOWN (dim), which is a different
331
331
  * statement from a dead end (pressed, went nowhere).
332
332
  */
333
- export function observedEdges(tag, transitions) {
334
- const edges = {};
333
+ export function observedEdges(tag, transitions, probes = []) {
334
+ // A press that moved nothing leaves a probe but no transition. Without the
335
+ // probes, a direction that was pressed three times and went nowhere still
336
+ // read "unknown" while the dead-end flag below it said the opposite.
337
+ const seen = [];
335
338
  for (const transition of transitions) {
336
339
  if (transition.fromTag !== tag || transition.direction === null) continue;
337
- edges[transition.direction] = transition.toTag;
340
+ seen.push({
341
+ at: transition.at,
342
+ direction: transition.direction,
343
+ to: transition.toTag
344
+ });
345
+ }
346
+ for (const probe of probes) {
347
+ if (probe.tag !== tag || !probe.resolved || probe.movedTo !== null) continue;
348
+ seen.push({
349
+ at: probe.at,
350
+ direction: probe.direction,
351
+ to: null
352
+ });
338
353
  }
354
+ seen.sort((a, b) => a.at - b.at);
355
+ const edges = {};
356
+ for (const observation of seen) edges[observation.direction] = observation.to;
339
357
  return edges;
340
358
  }
341
359
  //# sourceMappingURL=detectors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DIRECTIONS","DEAD_END_ATTEMPTS","COVERAGE_MIN_PROBES","keyOf","tag","direction","detectDeadEnds","probes","nodes","minAttempts","since","trailing","Map","probe","resolved","at","key","movedTo","set","get","byTag","node","nativeTag","flags","forEach","attempts","tagPart","directionPart","split","Number","push","atEdge","isAtEdge","sort","a","b","frame","centerX","x","width","centerY","y","height","other","guide","otherFrame","otherX","otherY","unionBox","frames","length","left","Infinity","top","right","bottom","Math","min","max","isBeyond","box","point","TRAP_MIN_BLOCKED","detectTraps","deadEnds","groups","flag","containerTag","guideAncestorTag","group","tags","Set","directions","add","traps","size","members","container","Array","from","map","filter","escapable","reachableOutside","hasOutside","some","has","center","trapped","undefined","trap","up","down","d","guideTrapTag","detectInvisibleStops","transitions","transition","toTag","reason","existing","count","values","detectFlags","lostCount","invisibleStops","computeCoverage","visited","visitedSet","reachableCandidates","unvisited","meaningful","edgeTargets","suspectedUnreachable","isAdjacent","focusables","ADJACENCY_GAP","fa","fb","horizontalOverlap","verticalOverlap","gap","observedEdges","edges","fromTag"],"sourceRoot":"../../../src","sources":["detect/detectors.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DIRECTIONS","DEAD_END_ATTEMPTS","COVERAGE_MIN_PROBES","keyOf","tag","direction","detectDeadEnds","probes","nodes","minAttempts","since","trailing","Map","probe","resolved","at","key","movedTo","set","get","byTag","node","nativeTag","flags","forEach","attempts","tagPart","directionPart","split","Number","push","atEdge","isAtEdge","sort","a","b","frame","centerX","x","width","centerY","y","height","other","guide","otherFrame","otherX","otherY","unionBox","frames","length","left","Infinity","top","right","bottom","Math","min","max","isBeyond","box","point","TRAP_MIN_BLOCKED","detectTraps","deadEnds","groups","flag","containerTag","guideAncestorTag","group","tags","Set","directions","add","traps","size","members","container","Array","from","map","filter","escapable","reachableOutside","hasOutside","some","has","center","trapped","undefined","trap","up","down","d","guideTrapTag","detectInvisibleStops","transitions","transition","toTag","reason","existing","count","values","detectFlags","lostCount","invisibleStops","computeCoverage","visited","visitedSet","reachableCandidates","unvisited","meaningful","edgeTargets","suspectedUnreachable","isAdjacent","focusables","ADJACENCY_GAP","fa","fb","horizontalOverlap","verticalOverlap","gap","observedEdges","seen","fromTag","to","edges","observation"],"sourceRoot":"../../../src","sources":["detect/detectors.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,OAAO,MAAMA,UAA4B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;;AAE3E;AACA,OAAO,MAAMC,iBAAiB,GAAG,CAAC;;AAElC;AACA,OAAO,MAAMC,mBAAmB,GAAG,EAAE;AA0DrC,SAASC,KAAKA,CAACC,GAAW,EAAEC,SAAyB,EAAU;EAC7D,OAAO,GAAGD,GAAG,IAAIC,SAAS,EAAE;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAC5BC,MAAoB,EACpBC,KAAsB,EACtBC,WAAmB,GAAGR,iBAAiB,EACvCS,KAAK,GAAG,CAAC,EACM;EACf,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAAiB,CAAC;EAC1C,KAAK,MAAMC,KAAK,IAAIN,MAAM,EAAE;IAC1B,IAAI,CAACM,KAAK,CAACC,QAAQ,IAAID,KAAK,CAACT,GAAG,KAAK,IAAI,EAAE;IAC3C,IAAIS,KAAK,CAACE,EAAE,GAAGL,KAAK,EAAE;IACtB,MAAMM,GAAG,GAAGb,KAAK,CAACU,KAAK,CAACT,GAAG,EAAES,KAAK,CAACR,SAAS,CAAC;IAC7C,IAAIQ,KAAK,CAACI,OAAO,KAAK,IAAI,EAAEN,QAAQ,CAACO,GAAG,CAACF,GAAG,EAAE,CAACL,QAAQ,CAACQ,GAAG,CAACH,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KACvEL,QAAQ,CAACO,GAAG,CAACF,GAAG,EAAE,CAAC,CAAC;EAC3B;EAEA,MAAMI,KAAK,GAAG,IAAIR,GAAG,CAAwB,CAAC;EAC9C,KAAK,MAAMS,IAAI,IAAIb,KAAK,EAAEY,KAAK,CAACF,GAAG,CAACG,IAAI,CAACC,SAAS,EAAED,IAAI,CAAC;EAEzD,MAAME,KAAoB,GAAG,EAAE;EAC/BZ,QAAQ,CAACa,OAAO,CAAC,CAACC,QAAQ,EAAET,GAAG,KAAK;IAClC,IAAIS,QAAQ,GAAGhB,WAAW,EAAE;IAC5B,MAAM,CAACiB,OAAO,EAAEC,aAAa,CAAC,GAAGX,GAAG,CAACY,KAAK,CAAC,GAAG,CAAC;IAC/C,MAAMxB,GAAG,GAAGyB,MAAM,CAACH,OAAO,CAAC;IAC3B,MAAMrB,SAAS,GAAGsB,aAA+B;IACjDJ,KAAK,CAACO,IAAI,CAAC;MACT1B,GAAG;MACHC,SAAS;MACToB,QAAQ;MACRM,MAAM,EAAEC,QAAQ,CAACZ,KAAK,CAACD,GAAG,CAACf,GAAG,CAAC,EAAEC,SAAS,EAAEG,KAAK;IACnD,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOe,KAAK,CAACU,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACV,QAAQ,GAAGS,CAAC,CAACT,QAAQ,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASO,QAAQA,CACfX,IAA+B,EAC/BhB,SAAyB,EACzBG,KAAsB,EACb;EACT,MAAM4B,KAAK,GAAGf,IAAI,EAAEe,KAAK;EACzB,IAAI,CAACA,KAAK,EAAE,OAAO,KAAK;EACxB,MAAMC,OAAO,GAAGD,KAAK,CAACE,CAAC,GAAGF,KAAK,CAACG,KAAK,GAAG,CAAC;EACzC,MAAMC,OAAO,GAAGJ,KAAK,CAACK,CAAC,GAAGL,KAAK,CAACM,MAAM,GAAG,CAAC;EAE1C,KAAK,MAAMC,KAAK,IAAInC,KAAK,EAAE;IACzB,IAAImC,KAAK,CAACrB,SAAS,KAAKD,IAAI,CAACC,SAAS,EAAE;IACxC;IACA;IACA,IAAIqB,KAAK,CAACC,KAAK,EAAE;IACjB,MAAMC,UAAU,GAAGF,KAAK,CAACP,KAAK;IAC9B,IAAI,CAACS,UAAU,EAAE;IACjB,MAAMC,MAAM,GAAGD,UAAU,CAACP,CAAC,GAAGO,UAAU,CAACN,KAAK,GAAG,CAAC;IAClD,MAAMQ,MAAM,GAAGF,UAAU,CAACJ,CAAC,GAAGI,UAAU,CAACH,MAAM,GAAG,CAAC;IACnD,QAAQrC,SAAS;MACf,KAAK,IAAI;QACP,IAAI0C,MAAM,GAAGX,KAAK,CAACK,CAAC,EAAE,OAAO,KAAK;QAClC;MACF,KAAK,MAAM;QACT,IAAIM,MAAM,GAAGX,KAAK,CAACK,CAAC,GAAGL,KAAK,CAACM,MAAM,EAAE,OAAO,KAAK;QACjD;MACF,KAAK,MAAM;QACT,IAAII,MAAM,GAAGV,KAAK,CAACE,CAAC,EAAE,OAAO,KAAK;QAClC;MACF,KAAK,OAAO;QACV,IAAIQ,MAAM,GAAGV,KAAK,CAACE,CAAC,GAAGF,KAAK,CAACG,KAAK,EAAE,OAAO,KAAK;QAChD;IACJ;EACF;EACA,OAAO,IAAI;AACb;AASA,SAASS,QAAQA,CAACC,MAAa,EAAc;EAC3C,IAAIA,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EACpC,IAAIC,IAAI,GAAGC,QAAQ;EACnB,IAAIC,GAAG,GAAGD,QAAQ;EAClB,IAAIE,KAAK,GAAG,CAACF,QAAQ;EACrB,IAAIG,MAAM,GAAG,CAACH,QAAQ;EACtB,KAAK,MAAMhB,KAAK,IAAIa,MAAM,EAAE;IAC1BE,IAAI,GAAGK,IAAI,CAACC,GAAG,CAACN,IAAI,EAAEf,KAAK,CAACE,CAAC,CAAC;IAC9Be,GAAG,GAAGG,IAAI,CAACC,GAAG,CAACJ,GAAG,EAAEjB,KAAK,CAACK,CAAC,CAAC;IAC5Ba,KAAK,GAAGE,IAAI,CAACE,GAAG,CAACJ,KAAK,EAAElB,KAAK,CAACE,CAAC,GAAGF,KAAK,CAACG,KAAK,CAAC;IAC9CgB,MAAM,GAAGC,IAAI,CAACE,GAAG,CAACH,MAAM,EAAEnB,KAAK,CAACK,CAAC,GAAGL,KAAK,CAACM,MAAM,CAAC;EACnD;EACA,OAAO;IAAEJ,CAAC,EAAEa,IAAI;IAAEV,CAAC,EAAEY,GAAG;IAAEd,KAAK,EAAEe,KAAK,GAAGH,IAAI;IAAET,MAAM,EAAEa,MAAM,GAAGF;EAAI,CAAC;AACvE;AAEA,SAASM,QAAQA,CAACC,GAAQ,EAAEC,KAA+B,EAAExD,SAAyB,EAAW;EAC/F,QAAQA,SAAS;IACf,KAAK,IAAI;MACP,OAAOwD,KAAK,CAACpB,CAAC,GAAGmB,GAAG,CAACnB,CAAC;IACxB,KAAK,MAAM;MACT,OAAOoB,KAAK,CAACpB,CAAC,GAAGmB,GAAG,CAACnB,CAAC,GAAGmB,GAAG,CAAClB,MAAM;IACrC,KAAK,MAAM;MACT,OAAOmB,KAAK,CAACvB,CAAC,GAAGsB,GAAG,CAACtB,CAAC;IACxB,KAAK,OAAO;MACV,OAAOuB,KAAK,CAACvB,CAAC,GAAGsB,GAAG,CAACtB,CAAC,GAAGsB,GAAG,CAACrB,KAAK;IACpC;MACE,OAAO,KAAK;EAChB;AACF;;AAEA;AACA,MAAMuB,gBAAgB,GAAG,CAAC;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,QAAuB,EAAExD,KAAsB,EAAc;EACvF,MAAMY,KAAK,GAAG,IAAIR,GAAG,CAAwB,CAAC;EAC9C,KAAK,MAAMS,IAAI,IAAIb,KAAK,EAAEY,KAAK,CAACF,GAAG,CAACG,IAAI,CAACC,SAAS,EAAED,IAAI,CAAC;EAOzD,MAAM4C,MAAM,GAAG,IAAIrD,GAAG,CAAgB,CAAC;EAEvC,KAAK,MAAMsD,IAAI,IAAIF,QAAQ,EAAE;IAC3B,MAAM3C,IAAI,GAAGD,KAAK,CAACD,GAAG,CAAC+C,IAAI,CAAC9D,GAAG,CAAC;IAChC,MAAM+D,YAAY,GAAG9C,IAAI,EAAE+C,gBAAgB,IAAIF,IAAI,CAAC9D,GAAG;IACvD,MAAMiE,KAAK,GAAGJ,MAAM,CAAC9C,GAAG,CAACgD,YAAY,CAAC,IAAI;MACxCA,YAAY;MACZG,IAAI,EAAE,IAAIC,GAAG,CAAS,CAAC;MACvBC,UAAU,EAAE,IAAID,GAAG,CAAiB;IACtC,CAAC;IACDF,KAAK,CAACC,IAAI,CAACG,GAAG,CAACP,IAAI,CAAC9D,GAAG,CAAC;IACxBiE,KAAK,CAACG,UAAU,CAACC,GAAG,CAACP,IAAI,CAAC7D,SAAS,CAAC;IACpC4D,MAAM,CAAC/C,GAAG,CAACiD,YAAY,EAAEE,KAAK,CAAC;EACjC;EAEA,MAAMK,KAAiB,GAAG,EAAE;EAC5BT,MAAM,CAACzC,OAAO,CAAE6C,KAAK,IAAK;IACxB,IAAIA,KAAK,CAACG,UAAU,CAACG,IAAI,GAAGb,gBAAgB,EAAE;;IAE9C;IACA;IACA,MAAMc,OAAO,GAAG,IAAIL,GAAG,CAACF,KAAK,CAACC,IAAI,CAAC;IACnC,KAAK,MAAMjD,IAAI,IAAIb,KAAK,EAAE;MACxB,IAAIa,IAAI,CAAC+C,gBAAgB,KAAKC,KAAK,CAACF,YAAY,EAAES,OAAO,CAACH,GAAG,CAACpD,IAAI,CAACC,SAAS,CAAC;IAC/E;IACAsD,OAAO,CAACH,GAAG,CAACJ,KAAK,CAACF,YAAY,CAAC;IAE/B,MAAMU,SAAS,GAAGzD,KAAK,CAACD,GAAG,CAACkD,KAAK,CAACF,YAAY,CAAC;IAC/C,MAAMP,GAAG,GACPiB,SAAS,EAAEjC,KAAK,IAAIiC,SAAS,CAACzC,KAAK,GAC/ByC,SAAS,CAACzC,KAAK,GACfY,QAAQ,CACN8B,KAAK,CAACC,IAAI,CAACH,OAAO,CAAC,CAChBI,GAAG,CAAE5E,GAAG,IAAKgB,KAAK,CAACD,GAAG,CAACf,GAAG,CAAC,EAAEgC,KAAK,CAAC,CACnC6C,MAAM,CAAE7C,KAAK,IAAmB,CAAC,CAACA,KAAK,CAC5C,CAAC;IACP,IAAI,CAACwB,GAAG,EAAE;IAEV,IAAIsB,SAAS,GAAG,CAAC;IACjB,IAAIC,gBAAgB,GAAG,CAAC;IACxB,KAAK,MAAM9E,SAAS,IAAIL,UAAU,EAAE;MAClC,MAAMoF,UAAU,GAAG5E,KAAK,CAAC6E,IAAI,CAAEhE,IAAI,IAAK;QACtC,IAAIA,IAAI,CAACuB,KAAK,IAAIgC,OAAO,CAACU,GAAG,CAACjE,IAAI,CAACC,SAAS,CAAC,IAAI,CAACD,IAAI,CAACe,KAAK,EAAE,OAAO,KAAK;QAC1E,MAAMmD,MAAM,GAAG;UACbjD,CAAC,EAAEjB,IAAI,CAACe,KAAK,CAACE,CAAC,GAAGjB,IAAI,CAACe,KAAK,CAACG,KAAK,GAAG,CAAC;UACtCE,CAAC,EAAEpB,IAAI,CAACe,KAAK,CAACK,CAAC,GAAGpB,IAAI,CAACe,KAAK,CAACM,MAAM,GAAG;QACxC,CAAC;QACD,OAAOiB,QAAQ,CAACC,GAAG,EAAE2B,MAAM,EAAElF,SAAS,CAAC;MACzC,CAAC,CAAC;MACF,IAAI,CAAC+E,UAAU,EAAE;MACjBD,gBAAgB,IAAI,CAAC;MACrB,IAAI,CAACd,KAAK,CAACG,UAAU,CAACc,GAAG,CAACjF,SAAS,CAAC,EAAE6E,SAAS,IAAI,CAAC;IACtD;IACA;IACA,IAAIC,gBAAgB,KAAK,CAAC,IAAID,SAAS,GAAG,CAAC,EAAE;IAE7C,MAAMtC,KAAK,GAAGiC,SAAS,EAAEjC,KAAK;IAC9B,MAAM4C,OAAO,GACX5C,KAAK,KAAK6C,SAAS,KAClB7C,KAAK,CAAC8C,IAAI,CAACC,EAAE,IAAI/C,KAAK,CAAC8C,IAAI,CAACE,IAAI,IAAIhD,KAAK,CAAC8C,IAAI,CAACvC,IAAI,IAAIP,KAAK,CAAC8C,IAAI,CAACpC,KAAK,CAAC;IAC3EoB,KAAK,CAAC5C,IAAI,CAAC;MACTwC,IAAI,EAAEQ,KAAK,CAACC,IAAI,CAACV,KAAK,CAACC,IAAI,CAAC,CAACrC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;MAClDgC,YAAY,EAAEE,KAAK,CAACF,YAAY;MAChCK,UAAU,EAAExE,UAAU,CAACiF,MAAM,CAAEY,CAAC,IAAKxB,KAAK,CAACG,UAAU,CAACc,GAAG,CAACO,CAAC,CAAC,CAAC;MAC7DC,YAAY,EAAEN,OAAO,GAAGnB,KAAK,CAACF,YAAY,GAAGsB;IAC/C,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOf,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASqB,oBAAoBA,CAClCC,WAA8B,EAC9BxF,KAAsB,EACtBE,KAAK,GAAG,CAAC,EACY;EACrB,MAAMU,KAAK,GAAG,IAAIR,GAAG,CAAwB,CAAC;EAC9C,KAAK,MAAMS,IAAI,IAAIb,KAAK,EAAEY,KAAK,CAACF,GAAG,CAACG,IAAI,CAACC,SAAS,EAAED,IAAI,CAAC;EAEzD,MAAME,KAAK,GAAG,IAAIX,GAAG,CAA4B,CAAC;EAClD,KAAK,MAAMqF,UAAU,IAAID,WAAW,EAAE;IACpC,MAAM5F,GAAG,GAAG6F,UAAU,CAACC,KAAK;IAC5B,IAAI9F,GAAG,KAAK,IAAI,EAAE;IAClB;IACA;IACA;IACA;IACA,IAAI6F,UAAU,CAAClF,EAAE,GAAGL,KAAK,EAAE;IAC3B,MAAMW,IAAI,GAAGD,KAAK,CAACD,GAAG,CAACf,GAAG,CAAC;IAC3B,MAAM+F,MAA0C,GAAG,CAAC9E,IAAI;IACpD;IACA;IACAb,KAAK,CAAC0C,MAAM,GAAG,CAAC,GACd,SAAS,GACT,IAAI,GACN7B,IAAI,CAACuB,KAAK,GACR,OAAO,GACP,IAAI;IACV,IAAI,CAACuD,MAAM,EAAE;IACb,MAAMC,QAAQ,GAAG7E,KAAK,CAACJ,GAAG,CAACf,GAAG,CAAC;IAC/B,IAAIgG,QAAQ,EAAE;MACZA,QAAQ,CAACC,KAAK,IAAI,CAAC;MACnBD,QAAQ,CAACrF,EAAE,GAAGkF,UAAU,CAAClF,EAAE;IAC7B,CAAC,MAAM;MACLQ,KAAK,CAACL,GAAG,CAACd,GAAG,EAAE;QAAEA,GAAG;QAAE+F,MAAM;QAAEpF,EAAE,EAAEkF,UAAU,CAAClF,EAAE;QAAEsF,KAAK,EAAE;MAAE,CAAC,CAAC;IAC9D;EACF;EACA,OAAOvB,KAAK,CAACC,IAAI,CAACxD,KAAK,CAAC+E,MAAM,CAAC,CAAC,CAAC,CAACrE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACpB,EAAE,GAAGmB,CAAC,CAACnB,EAAE,CAAC;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASwF,WAAWA,CACzBP,WAA8B,EAC9BzF,MAAoB,EACpBC,KAAsB,EACtBgG,SAAiB,EACjB9F,KAAK,GAAG,CAAC,EACG;EACZ,MAAMsD,QAAQ,GAAG1D,cAAc,CAACC,MAAM,EAAEC,KAAK,EAAEP,iBAAiB,EAAES,KAAK,CAAC;EACxE,OAAO;IACLsD,QAAQ;IACRU,KAAK,EAAEX,WAAW,CAACC,QAAQ,EAAExD,KAAK,CAAC;IACnCiG,cAAc,EAAEV,oBAAoB,CAACC,WAAW,EAAExF,KAAK,EAAEE,KAAK,CAAC;IAC/D8F;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAC7BlG,KAAsB,EACtBmG,OAAiB,EACjBX,WAA8B,EAC9BzF,MAAoB,EACJ;EAChB,MAAMqG,UAAU,GAAG,IAAIrC,GAAG,CAACoC,OAAO,CAAC;EACnC;EACA;EACA,MAAME,mBAAmB,GAAGrG,KAAK,CAACyE,MAAM,CAAE5D,IAAI,IAAK,CAACA,IAAI,CAACuB,KAAK,CAAC;EAC/D,MAAMkE,SAAS,GAAGD,mBAAmB,CAClC5B,MAAM,CAAE5D,IAAI,IAAK,CAACuF,UAAU,CAACtB,GAAG,CAACjE,IAAI,CAACC,SAAS,CAAC,CAAC,CACjD0D,GAAG,CAAE3D,IAAI,IAAKA,IAAI,CAACC,SAAS,CAAC;EAEhC,MAAMyF,UAAU,GAAGxG,MAAM,CAAC2C,MAAM,IAAIhD,mBAAmB;EACvD,MAAM8G,WAAW,GAAG,IAAIzC,GAAG,CAAS,CAAC;EACrC,KAAK,MAAM0B,UAAU,IAAID,WAAW,EAAE;IACpC,IAAIC,UAAU,CAACC,KAAK,KAAK,IAAI,EAAEc,WAAW,CAACvC,GAAG,CAACwB,UAAU,CAACC,KAAK,CAAC;EAClE;EAEA,MAAM9E,KAAK,GAAG,IAAIR,GAAG,CAAwB,CAAC;EAC9C,KAAK,MAAMS,IAAI,IAAIb,KAAK,EAAEY,KAAK,CAACF,GAAG,CAACG,IAAI,CAACC,SAAS,EAAED,IAAI,CAAC;EAEzD,MAAM4F,oBAAoB,GAAGF,UAAU,GACnCD,SAAS,CAAC7B,MAAM,CAAE7E,GAAG,IAAK;IACxB,IAAI4G,WAAW,CAAC1B,GAAG,CAAClF,GAAG,CAAC,EAAE,OAAO,KAAK;IACtC,MAAMiB,IAAI,GAAGD,KAAK,CAACD,GAAG,CAACf,GAAG,CAAC;IAC3B,IAAI,CAACiB,IAAI,EAAEe,KAAK,EAAE,OAAO,KAAK;IAC9B;IACA;IACA,OAAOyE,mBAAmB,CAACxB,IAAI,CAC5B1C,KAAK,IACJA,KAAK,CAACrB,SAAS,KAAKlB,GAAG,IAAIwG,UAAU,CAACtB,GAAG,CAAC3C,KAAK,CAACrB,SAAS,CAAC,IAAI4F,UAAU,CAAC7F,IAAI,EAAEsB,KAAK,CACxF,CAAC;EACH,CAAC,CAAC,GACF,EAAE;EAEN,OAAO;IACLwE,UAAU,EAAEN,mBAAmB,CAAC3D,MAAM;IACtCyD,OAAO,EAAEE,mBAAmB,CAAC5B,MAAM,CAAE5D,IAAI,IAAKuF,UAAU,CAACtB,GAAG,CAACjE,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC4B,MAAM;IACpF4D,SAAS;IACTG,oBAAoB;IACpBF;EACF,CAAC;AACH;;AAEA;AACA,MAAMK,aAAa,GAAG,IAAI;AAE1B,SAASF,UAAUA,CAAChF,CAAgB,EAAEC,CAAgB,EAAW;EAC/D,MAAMkF,EAAE,GAAGnF,CAAC,CAACE,KAAK;EAClB,MAAMkF,EAAE,GAAGnF,CAAC,CAACC,KAAK;EAClB,IAAI,CAACiF,EAAE,IAAI,CAACC,EAAE,EAAE,OAAO,KAAK;EAC5B,MAAMC,iBAAiB,GAAGF,EAAE,CAAC/E,CAAC,GAAGgF,EAAE,CAAChF,CAAC,GAAGgF,EAAE,CAAC/E,KAAK,IAAI+E,EAAE,CAAChF,CAAC,GAAG+E,EAAE,CAAC/E,CAAC,GAAG+E,EAAE,CAAC9E,KAAK;EAC1E,MAAMiF,eAAe,GAAGH,EAAE,CAAC5E,CAAC,GAAG6E,EAAE,CAAC7E,CAAC,GAAG6E,EAAE,CAAC5E,MAAM,IAAI4E,EAAE,CAAC7E,CAAC,GAAG4E,EAAE,CAAC5E,CAAC,GAAG4E,EAAE,CAAC3E,MAAM;EAC1E,IAAI6E,iBAAiB,EAAE;IACrB,MAAME,GAAG,GAAGjE,IAAI,CAACE,GAAG,CAAC2D,EAAE,CAAC5E,CAAC,IAAI6E,EAAE,CAAC7E,CAAC,GAAG6E,EAAE,CAAC5E,MAAM,CAAC,EAAE4E,EAAE,CAAC7E,CAAC,IAAI4E,EAAE,CAAC5E,CAAC,GAAG4E,EAAE,CAAC3E,MAAM,CAAC,CAAC;IAC1E,IAAI+E,GAAG,IAAIL,aAAa,EAAE,OAAO,IAAI;EACvC;EACA,IAAII,eAAe,EAAE;IACnB,MAAMC,GAAG,GAAGjE,IAAI,CAACE,GAAG,CAAC2D,EAAE,CAAC/E,CAAC,IAAIgF,EAAE,CAAChF,CAAC,GAAGgF,EAAE,CAAC/E,KAAK,CAAC,EAAE+E,EAAE,CAAChF,CAAC,IAAI+E,EAAE,CAAC/E,CAAC,GAAG+E,EAAE,CAAC9E,KAAK,CAAC,CAAC;IACxE,IAAIkF,GAAG,IAAIL,aAAa,EAAE,OAAO,IAAI;EACvC;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,aAAaA,CAC3BtH,GAAW,EACX4F,WAA8B,EAC9BzF,MAAoB,GAAG,EAAE,EACuB;EAChD;EACA;EACA;EACA,MAAMoH,IAAyE,GAAG,EAAE;EACpF,KAAK,MAAM1B,UAAU,IAAID,WAAW,EAAE;IACpC,IAAIC,UAAU,CAAC2B,OAAO,KAAKxH,GAAG,IAAI6F,UAAU,CAAC5F,SAAS,KAAK,IAAI,EAAE;IACjEsH,IAAI,CAAC7F,IAAI,CAAC;MAAEf,EAAE,EAAEkF,UAAU,CAAClF,EAAE;MAAEV,SAAS,EAAE4F,UAAU,CAAC5F,SAAS;MAAEwH,EAAE,EAAE5B,UAAU,CAACC;IAAM,CAAC,CAAC;EACzF;EACA,KAAK,MAAMrF,KAAK,IAAIN,MAAM,EAAE;IAC1B,IAAIM,KAAK,CAACT,GAAG,KAAKA,GAAG,IAAI,CAACS,KAAK,CAACC,QAAQ,IAAID,KAAK,CAACI,OAAO,KAAK,IAAI,EAAE;IACpE0G,IAAI,CAAC7F,IAAI,CAAC;MAAEf,EAAE,EAAEF,KAAK,CAACE,EAAE;MAAEV,SAAS,EAAEQ,KAAK,CAACR,SAAS;MAAEwH,EAAE,EAAE;IAAK,CAAC,CAAC;EACnE;EACAF,IAAI,CAAC1F,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACnB,EAAE,GAAGoB,CAAC,CAACpB,EAAE,CAAC;EAChC,MAAM+G,KAAqD,GAAG,CAAC,CAAC;EAChE,KAAK,MAAMC,WAAW,IAAIJ,IAAI,EAAEG,KAAK,CAACC,WAAW,CAAC1H,SAAS,CAAC,GAAG0H,WAAW,CAACF,EAAE;EAC7E,OAAOC,KAAK;AACd","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ import { recordKey } from '../store/focusStore';
4
+ export const isTV = false;
5
+ export const platformOS = 'web';
6
+ let listening = false;
7
+ const directions = {
8
+ ArrowUp: 'up',
9
+ ArrowDown: 'down',
10
+ ArrowLeft: 'left',
11
+ ArrowRight: 'right'
12
+ };
13
+ function key(event) {
14
+ const direction = directions[event.key];
15
+ if (direction) recordKey(direction);
16
+ }
17
+ export function attachKeyObserver() {
18
+ if (listening || typeof document === 'undefined') return;
19
+ listening = true;
20
+ document.addEventListener('keydown', key, true);
21
+ }
22
+ export function detachKeyObserver() {
23
+ if (!listening) return;
24
+ listening = false;
25
+ document.removeEventListener('keydown', key, true);
26
+ }
27
+ export function isKeyObserverListening() {
28
+ return listening;
29
+ }
30
+ //# sourceMappingURL=keyEventObserver.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["recordKey","isTV","platformOS","listening","directions","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","key","event","direction","attachKeyObserver","document","addEventListener","detachKeyObserver","removeEventListener","isKeyObserverListening"],"sourceRoot":"../../../src","sources":["observe/keyEventObserver.web.ts"],"mappings":";;AAAA,SAASA,SAAS,QAA6B,qBAAqB;AACpE,OAAO,MAAMC,IAAI,GAAG,KAAK;AACzB,OAAO,MAAMC,UAAU,GAAG,KAAK;AAC/B,IAAIC,SAAS,GAAG,KAAK;AACrB,MAAMC,UAA0C,GAAG;EAAEC,OAAO,EAAE,IAAI;EAAEC,SAAS,EAAE,MAAM;EAAEC,SAAS,EAAE,MAAM;EAAEC,UAAU,EAAE;AAAQ,CAAC;AAC/H,SAASC,GAAGA,CAACC,KAAoB,EAAE;EAAE,MAAMC,SAAS,GAAGP,UAAU,CAACM,KAAK,CAACD,GAAG,CAAC;EAAE,IAAIE,SAAS,EAAEX,SAAS,CAACW,SAAS,CAAC;AAAE;AACnH,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAAE,IAAIT,SAAS,IAAI,OAAOU,QAAQ,KAAK,WAAW,EAAE;EAAQV,SAAS,GAAG,IAAI;EAAEU,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEL,GAAG,EAAE,IAAI,CAAC;AAAE;AACnK,OAAO,SAASM,iBAAiBA,CAAA,EAAG;EAAE,IAAI,CAACZ,SAAS,EAAE;EAAQA,SAAS,GAAG,KAAK;EAAEU,QAAQ,CAACG,mBAAmB,CAAC,SAAS,EAAEP,GAAG,EAAE,IAAI,CAAC;AAAE;AACrI,OAAO,SAASQ,sBAAsBA,CAAA,EAAG;EAAE,OAAOd,SAAS;AAAE","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { resolveDOMEventEmitter as resolveRawEventEmitter } from '@buoy-gg/shared-ui/utils';
4
+ //# sourceMappingURL=rawEventEmitter.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resolveDOMEventEmitter","resolveRawEventEmitter"],"sourceRoot":"../../../src","sources":["observe/rawEventEmitter.web.ts"],"mappings":";;AAAA,SAASA,sBAAsB,IAAIC,sBAAsB,QAAQ,0BAA0B","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { getDOMNodeHandle, getDOMPublicInstance, isDOMElement } from "@buoy-gg/shared-ui/utils";
3
4
  /**
4
5
  * focusableScanner — a read-only fiber walk that inventories everything on
5
6
  * screen the TV focus engine could land on.
@@ -102,6 +103,8 @@ function getOwningComponentName(fiber) {
102
103
  }
103
104
  /** The Fabric / Paper / RN-CLI-dev instance triad — always check all three. */
104
105
  function getPublicInstance(stateNode) {
106
+ const dom = getDOMPublicInstance(stateNode);
107
+ if (dom) return dom;
105
108
  if (!stateNode) return null;
106
109
  const node = stateNode;
107
110
  if (node.canonical?.publicInstance) return node.canonical.publicInstance;
@@ -112,6 +115,8 @@ function getPublicInstance(stateNode) {
112
115
  return null;
113
116
  }
114
117
  function getNativeTag(stateNode) {
118
+ const dom = getDOMNodeHandle(stateNode);
119
+ if (dom !== null) return dom;
115
120
  if (stateNode == null) return null;
116
121
  const n = stateNode;
117
122
  if (typeof n.__nativeTag === "number") return n.__nativeTag;
@@ -318,7 +323,7 @@ function collectCandidates() {
318
323
 
319
324
  // A composite Pressable and its host View both match; the host is the one
320
325
  // that carries the native tag focus events report, so dedupe on the tag.
321
- const isCandidate = isGuide || flag === true || hasPreferred || !!nextFocus || pressable && flag !== false;
326
+ const isCandidate = isGuide || flag === true || hasPreferred || !!nextFocus || pressable && flag !== false || isDOMElement(fiber.stateNode) && fiber.stateNode.matches('a[href],button,input,select,textarea,[tabindex],[contenteditable="true"]') && !fiber.stateNode.matches(':disabled,[inert], [tabindex="-1"]');
322
327
  if (!isCandidate) return context;
323
328
  const host = findHostInstance(fiber);
324
329
  const nativeTag = host?.nativeTag ?? null;
@@ -352,13 +357,13 @@ function collectCandidates() {
352
357
  if (!componentName || INTERNAL_NAMES.has(componentName) || typeof fiber.type === "string") {
353
358
  name = getOwningComponentName(fiber) ?? componentName ?? "Unknown";
354
359
  }
355
- const label = props.accessibilityLabel || undefined;
360
+ const label = props.accessibilityLabel || props["aria-label"] || undefined;
356
361
  const text = getVisibleText(props) ?? (pressable ? collectDescendantText(fiber, 6) : undefined);
357
362
  const node = {
358
363
  nativeTag,
359
364
  name: isGuide ? GUIDE_NAME : name,
360
365
  owner: getOwningComponentName(fiber) ?? undefined,
361
- testID: props.testID || undefined,
366
+ testID: props.testID || props["data-testid"] || undefined,
362
367
  label,
363
368
  text,
364
369
  focusProps: {
@@ -1 +1 @@
1
- {"version":3,"names":["Dimensions","OffscreenComponent","INTERNAL_NAMES","Set","GUIDE_NAME","getReactDevToolsHook","global","__REACT_DEVTOOLS_GLOBAL_HOOK__","getAllFiberRoots","hook","roots","renderers","forEach","_r","rendererId","set","getFiberRoots","root","push","length","legacy","isHiddenOffscreen","fiber","tag","memoizedState","isInactiveScreen","activityState","memoizedProps","isPageFocused","getProps","pendingProps","getComponentName","type","displayName","name","getOwningComponentName","cur","_debugOwner","return","depth","has","getPublicInstance","stateNode","node","canonical","publicInstance","measure","measureInWindow","getNativeTag","n","__nativeTag","_nativeTag","nativeTag","findHostInstance","selfInstance","instance","stack","child","guard","f","pop","sibling","focusableFlag","props","isTVSelectable","focusable","tvFocusable","undefined","nextFocusFlags","up","nextFocusUp","down","nextFocusDown","left","nextFocusLeft","right","nextFocusRight","getVisibleText","pick","value","trim","slice","Number","isFinite","String","children","title","label","collectDescendantText","maxDepth","parts","visit","onPress","text","includes","joined","join","measureInstance","Promise","resolve","settled","done","rect","setTimeout","x","y","width","height","_x","_y","pageX","pageY","instancesByTag","Map","walk","context","seen","entry","current","add","childContext","collectCandidates","out","seenTags","guideTag","componentName","isGuide","flag","pressable","onLongPress","hasPreferred","hasTVPreferredFocus","nextFocus","isCandidate","host","nextContext","existing","find","c","focusProps","testID","guide","readGuide","accessibilityLabel","owner","guideAncestorTag","autoFocus","hasDestinations","Array","isArray","destinations","enabled","trap","trapFocusUp","trapFocusDown","trapFocusLeft","trapFocusRight","round3","Math","round","MAX_NODES","scanFocusables","clear","candidates","all","map","candidate","frame","window","get","screenW","screenH","nodes","cx","cy","onScreen","sort","a","b","ay","by","abs","screen","scannedAt","Date","now","requestFocusForTag","ok","reason","requestTVFocus","e","message"],"sourceRoot":"../../../src","sources":["scan/focusableScanner.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getDOMNodeHandle","getDOMPublicInstance","isDOMElement","Dimensions","OffscreenComponent","INTERNAL_NAMES","Set","GUIDE_NAME","getReactDevToolsHook","global","__REACT_DEVTOOLS_GLOBAL_HOOK__","getAllFiberRoots","hook","roots","renderers","forEach","_r","rendererId","set","getFiberRoots","root","push","length","legacy","isHiddenOffscreen","fiber","tag","memoizedState","isInactiveScreen","activityState","memoizedProps","isPageFocused","getProps","pendingProps","getComponentName","type","displayName","name","getOwningComponentName","cur","_debugOwner","return","depth","has","getPublicInstance","stateNode","dom","node","canonical","publicInstance","measure","measureInWindow","getNativeTag","n","__nativeTag","_nativeTag","nativeTag","findHostInstance","selfInstance","instance","stack","child","guard","f","pop","sibling","focusableFlag","props","isTVSelectable","focusable","tvFocusable","undefined","nextFocusFlags","up","nextFocusUp","down","nextFocusDown","left","nextFocusLeft","right","nextFocusRight","getVisibleText","pick","value","trim","slice","Number","isFinite","String","children","title","label","collectDescendantText","maxDepth","parts","visit","onPress","text","includes","joined","join","measureInstance","Promise","resolve","settled","done","rect","setTimeout","x","y","width","height","_x","_y","pageX","pageY","instancesByTag","Map","walk","context","seen","entry","current","add","childContext","collectCandidates","out","seenTags","guideTag","componentName","isGuide","flag","pressable","onLongPress","hasPreferred","hasTVPreferredFocus","nextFocus","isCandidate","matches","host","nextContext","existing","find","c","focusProps","testID","guide","readGuide","accessibilityLabel","owner","guideAncestorTag","autoFocus","hasDestinations","Array","isArray","destinations","enabled","trap","trapFocusUp","trapFocusDown","trapFocusLeft","trapFocusRight","round3","Math","round","MAX_NODES","scanFocusables","clear","candidates","all","map","candidate","frame","window","get","screenW","screenH","nodes","cx","cy","onScreen","sort","a","b","ay","by","abs","screen","scannedAt","Date","now","requestFocusForTag","ok","reason","requestTVFocus","e","message"],"sourceRoot":"../../../src","sources":["scan/focusableScanner.ts"],"mappings":"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","ignoreList":[]}
@@ -35,8 +35,8 @@
35
35
 
36
36
  import { approxJsonSize } from "@buoy-gg/shared-ui";
37
37
  import { clearHistory, getState, setTracking, subscribe as subscribeStore, notifyChange } from "../store/focusStore";
38
- import { attachFocusObserver, getFocusObserverStatus } from "../observe/focusEventObserver";
39
- import { attachKeyObserver, isKeyObserverListening, isTV, platformOS } from "../observe/keyEventObserver";
38
+ import { attachFocusObserver, detachFocusObserver, getFocusObserverStatus } from "../observe/focusEventObserver";
39
+ import { attachKeyObserver, detachKeyObserver, isKeyObserverListening, isTV, platformOS } from "../observe/keyEventObserver";
40
40
  import { requestFocusForTag, scanFocusables } from "../scan/focusableScanner";
41
41
  import { computeCoverage, detectFlags, observedEdges } from "../detect/detectors";
42
42
 
@@ -129,7 +129,7 @@ function buildSnapshot() {
129
129
  const transitions = fittingTransitions(state.transitions, Math.max(64 * 1024, MAX_SNAPSHOT_BYTES - focusablesBytes));
130
130
  const flagged = flags.deadEnds.filter(flag => !flag.atEdge).length + flags.traps.length + flags.invisibleStops.length + (flags.lostCount > 0 ? 1 : 0);
131
131
  return {
132
- supported: isTV,
132
+ supported: isTV || platformOS === "web",
133
133
  platform: platformOS,
134
134
  observer: observer.status,
135
135
  observerReason: observer.reason,
@@ -140,7 +140,7 @@ function buildSnapshot() {
140
140
  tag: state.currentTag,
141
141
  node: byTag.get(state.currentTag) ?? null,
142
142
  since: state.currentSince ?? Date.now(),
143
- edges: observedEdges(state.currentTag, state.transitions)
143
+ edges: observedEdges(state.currentTag, state.transitions, state.probes)
144
144
  },
145
145
  transitions,
146
146
  focusables: nodes,
@@ -165,7 +165,10 @@ export const focusInspectorSyncAdapter = {
165
165
  subscribe(onChange) {
166
166
  subscriberCount += 1;
167
167
  if (subscriberCount === 1) {
168
- // Observers are already attached (module load). Only the scan is gated.
168
+ if (platformOS === "web") {
169
+ attachFocusObserver();
170
+ attachKeyObserver();
171
+ }
169
172
  void runScan();
170
173
  }
171
174
  const unsubscribeStore = subscribeStore(() => {
@@ -197,6 +200,10 @@ export const focusInspectorSyncAdapter = {
197
200
  clearTimeout(rescanTimer);
198
201
  rescanTimer = null;
199
202
  }
203
+ if (platformOS === "web") {
204
+ detachFocusObserver();
205
+ detachKeyObserver();
206
+ }
200
207
  // The observers stay attached on purpose — see the note at the top.
201
208
  // Detaching here would make the tool forget where focus is every time
202
209
  // the panel is closed, and re-open blind.
@@ -233,7 +240,7 @@ export const focusInspectorSyncAdapter = {
233
240
  ok: false,
234
241
  reason: "nativeTag is required."
235
242
  };
236
- if (!isTV) return {
243
+ if (!isTV && platformOS !== "web") return {
237
244
  ok: false,
238
245
  reason: "Not a TV build — there is no focus engine."
239
246
  };
@@ -1 +1 @@
1
- {"version":3,"names":["approxJsonSize","clearHistory","getState","setTracking","subscribe","subscribeStore","notifyChange","attachFocusObserver","getFocusObserverStatus","attachKeyObserver","isKeyObserverListening","isTV","platformOS","requestFocusForTag","scanFocusables","computeCoverage","detectFlags","observedEdges","MAX_SNAPSHOT_BYTES","RESCAN_DEBOUNCE_MS","lastScan","scanning","rescanTimer","subscriberCount","nodesByTag","map","Map","node","nodes","set","nativeTag","runScan","scheduleRescanIfStranger","currentTag","has","setTimeout","fittingTransitions","transitions","budget","out","bytes","i","length","size","push","reverse","buildSnapshot","state","observer","flags","probes","lostCount","scannedAt","coverage","visited","byTag","focusablesBytes","Math","max","flagged","deadEnds","filter","flag","atEdge","traps","invisibleStops","supported","platform","status","observerReason","reason","keysListening","tracking","presence","current","tag","get","since","currentSince","Date","now","edges","focusables","screen","stats","transitionCount","capturedAt","focusInspectorSyncAdapter","version","getSnapshot","onChange","unsubscribeStore","retries","pollTimer","poll","clearTimeout","actions","rescan","scan","ok","params","enabled","focusElement"],"sourceRoot":"../../../src","sources":["sync/focusInspectorSyncAdapter.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["approxJsonSize","clearHistory","getState","setTracking","subscribe","subscribeStore","notifyChange","attachFocusObserver","detachFocusObserver","getFocusObserverStatus","attachKeyObserver","detachKeyObserver","isKeyObserverListening","isTV","platformOS","requestFocusForTag","scanFocusables","computeCoverage","detectFlags","observedEdges","MAX_SNAPSHOT_BYTES","RESCAN_DEBOUNCE_MS","lastScan","scanning","rescanTimer","subscriberCount","nodesByTag","map","Map","node","nodes","set","nativeTag","runScan","scheduleRescanIfStranger","currentTag","has","setTimeout","fittingTransitions","transitions","budget","out","bytes","i","length","size","push","reverse","buildSnapshot","state","observer","flags","probes","lostCount","scannedAt","coverage","visited","byTag","focusablesBytes","Math","max","flagged","deadEnds","filter","flag","atEdge","traps","invisibleStops","supported","platform","status","observerReason","reason","keysListening","tracking","presence","current","tag","get","since","currentSince","Date","now","edges","focusables","screen","stats","transitionCount","capturedAt","focusInspectorSyncAdapter","version","getSnapshot","onChange","unsubscribeStore","retries","pollTimer","poll","clearTimeout","actions","rescan","scan","ok","params","enabled","focusElement"],"sourceRoot":"../../../src","sources":["sync/focusInspectorSyncAdapter.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,cAAc,QAAQ,oBAAoB;AAEnD,SACEC,YAAY,EACZC,QAAQ,EACRC,WAAW,EACXC,SAAS,IAAIC,cAAc,EAC3BC,YAAY,QAIP,qBAAqB;AAC5B,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,sBAAsB,QAEjB,+BAA+B;AACtC,SACEC,iBAAiB,EACjBC,iBAAiB,EACjBC,sBAAsB,EACtBC,IAAI,EACJC,UAAU,QACL,6BAA6B;AACpC,SACEC,kBAAkB,EAClBC,cAAc,QAGT,0BAA0B;AACjC,SAASC,eAAe,EAAEC,WAAW,EAAEC,aAAa,QAAyB,qBAAqB;;AAElG;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI;;AAE5C;AACA,MAAMC,kBAAkB,GAAG,GAAG;AAyC9B;AACA;AACA;AACA,IAAIR,IAAI,EAAE;EACRN,mBAAmB,CAAC,CAAC;EACrBG,iBAAiB,CAAC,CAAC;AACrB;AAEA,IAAIY,QAAgC,GAAG,IAAI;AAC3C,IAAIC,QAAQ,GAAG,KAAK;AACpB,IAAIC,WAAiD,GAAG,IAAI;AAC5D,IAAIC,eAAe,GAAG,CAAC;AAEvB,SAASC,UAAUA,CAAA,EAA+B;EAChD,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAAwB,CAAC;EAC5C,KAAK,MAAMC,IAAI,IAAIP,QAAQ,EAAEQ,KAAK,IAAI,EAAE,EAAEH,GAAG,CAACI,GAAG,CAACF,IAAI,CAACG,SAAS,EAAEH,IAAI,CAAC;EACvE,OAAOF,GAAG;AACZ;AAEA,eAAeM,OAAOA,CAAA,EAAoC;EACxD,IAAIV,QAAQ,EAAE,OAAOD,QAAQ;EAC7BC,QAAQ,GAAG,IAAI;EACf,IAAI;IACFD,QAAQ,GAAG,MAAMN,cAAc,CAAC,CAAC;IACjC,OAAOM,QAAQ;EACjB,CAAC,CAAC,MAAM;IACN,OAAOA,QAAQ;EACjB,CAAC,SAAS;IACRC,QAAQ,GAAG,KAAK;IAChBjB,YAAY,CAAC,CAAC;EAChB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS4B,wBAAwBA,CAAA,EAAS;EACxC,IAAIT,eAAe,KAAK,CAAC,EAAE;EAC3B,MAAM;IAAEU;EAAW,CAAC,GAAGjC,QAAQ,CAAC,CAAC;EACjC,IAAIiC,UAAU,KAAK,IAAI,EAAE;EACzB,IAAIT,UAAU,CAAC,CAAC,CAACU,GAAG,CAACD,UAAU,CAAC,EAAE;EAClC,IAAIX,WAAW,KAAK,IAAI,EAAE;EAC1BA,WAAW,GAAGa,UAAU,CAAC,MAAM;IAC7Bb,WAAW,GAAG,IAAI;IAClB,KAAKS,OAAO,CAAC,CAAC;EAChB,CAAC,EAAEZ,kBAAkB,CAAC;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASiB,kBAAkBA,CAACC,WAA8B,EAAEC,MAAc,EAAqB;EAC7F,MAAMC,GAAsB,GAAG,EAAE;EACjC,IAAIC,KAAK,GAAG,CAAC;EACb,KAAK,IAAIC,CAAC,GAAGJ,WAAW,CAACK,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAChD,MAAME,IAAI,GAAG7C,cAAc,CAACuC,WAAW,CAACI,CAAC,CAAC,EAAEH,MAAM,CAAC,CAACE,KAAK;IACzD,IAAIA,KAAK,GAAGG,IAAI,GAAGL,MAAM,IAAIC,GAAG,CAACG,MAAM,GAAG,CAAC,EAAE;IAC7CH,GAAG,CAACK,IAAI,CAACP,WAAW,CAACI,CAAC,CAAC,CAAC;IACxBD,KAAK,IAAIG,IAAI;EACf;EACAJ,GAAG,CAACM,OAAO,CAAC,CAAC;EACb,OAAON,GAAG;AACZ;AAEA,SAASO,aAAaA,CAAA,EAA2B;EAC/C,MAAMC,KAAK,GAAG/C,QAAQ,CAAC,CAAC;EACxB,MAAM4B,KAAK,GAAGR,QAAQ,EAAEQ,KAAK,IAAI,EAAE;EACnC,MAAMoB,QAAQ,GAAGzC,sBAAsB,CAAC,CAAC;EAEzC,MAAM0C,KAAK,GAAGjC,WAAW,CACvB+B,KAAK,CAACV,WAAW,EACjBU,KAAK,CAACG,MAAM,EACZtB,KAAK,EACLmB,KAAK,CAACI,SAAS,EACf/B,QAAQ,EAAEgC,SAAS,IAAI,CACzB,CAAC;EACD,MAAMC,QAAQ,GAAGtC,eAAe,CAACa,KAAK,EAAEmB,KAAK,CAACO,OAAO,EAAEP,KAAK,CAACV,WAAW,EAAEU,KAAK,CAACG,MAAM,CAAC;EACvF,MAAMK,KAAK,GAAG/B,UAAU,CAAC,CAAC;;EAE1B;EACA;EACA,MAAMgC,eAAe,GAAG1D,cAAc,CAAC8B,KAAK,EAAEV,kBAAkB,CAAC,CAACsB,KAAK;EACvE,MAAMH,WAAW,GAAGD,kBAAkB,CACpCW,KAAK,CAACV,WAAW,EACjBoB,IAAI,CAACC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAExC,kBAAkB,GAAGsC,eAAe,CAC1D,CAAC;EAED,MAAMG,OAAO,GACXV,KAAK,CAACW,QAAQ,CAACC,MAAM,CAAEC,IAAI,IAAK,CAACA,IAAI,CAACC,MAAM,CAAC,CAACrB,MAAM,GACpDO,KAAK,CAACe,KAAK,CAACtB,MAAM,GAClBO,KAAK,CAACgB,cAAc,CAACvB,MAAM,IAC1BO,KAAK,CAACE,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAE/B,OAAO;IACLe,SAAS,EAAEvD,IAAI,IAAIC,UAAU,KAAK,KAAK;IACvCuD,QAAQ,EAAEvD,UAAU;IACpBoC,QAAQ,EAAEA,QAAQ,CAACoB,MAAM;IACzBC,cAAc,EAAErB,QAAQ,CAACsB,MAAM;IAC/BC,aAAa,EAAE7D,sBAAsB,CAAC,CAAC;IACvC8D,QAAQ,EAAEzB,KAAK,CAACyB,QAAQ;IACxBC,QAAQ,EAAE1B,KAAK,CAAC0B,QAAQ;IACxBC,OAAO,EACL3B,KAAK,CAACd,UAAU,KAAK,IAAI,GACrB,IAAI,GACJ;MACE0C,GAAG,EAAE5B,KAAK,CAACd,UAAU;MACrBN,IAAI,EAAE4B,KAAK,CAACqB,GAAG,CAAC7B,KAAK,CAACd,UAAU,CAAC,IAAI,IAAI;MACzC4C,KAAK,EAAE9B,KAAK,CAAC+B,YAAY,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC;MACvCC,KAAK,EAAEhE,aAAa,CAAC8B,KAAK,CAACd,UAAU,EAAEc,KAAK,CAACV,WAAW,EAAEU,KAAK,CAACG,MAAM;IACxE,CAAC;IACPb,WAAW;IACX6C,UAAU,EAAEtD,KAAK;IACjBuD,MAAM,EAAE/D,QAAQ,EAAE+D,MAAM,IAAI,IAAI;IAChC/B,SAAS,EAAEhC,QAAQ,EAAEgC,SAAS,IAAI,IAAI;IACtCH,KAAK;IACLI,QAAQ;IACR+B,KAAK,EAAE;MACLF,UAAU,EAAE7B,QAAQ,CAAC6B,UAAU;MAC/B5B,OAAO,EAAED,QAAQ,CAACC,OAAO;MACzBjB,WAAW,EAAEU,KAAK,CAACsC,eAAe;MAClC1B;IACF,CAAC;IACD2B,UAAU,EAAEP,IAAI,CAACC,GAAG,CAAC;EACvB,CAAC;AACH;AAEA,OAAO,MAAMO,yBAAyB,GAAG;EACvCC,OAAO,EAAE,CAAC;EAEVC,WAAWA,CAAA,EAA2B;IACpC,OAAO3C,aAAa,CAAC,CAAC;EACxB,CAAC;EAED5C,SAASA,CAACwF,QAAoB,EAAc;IAC1CnE,eAAe,IAAI,CAAC;IACpB,IAAIA,eAAe,KAAK,CAAC,EAAE;MACzB,IAAIX,UAAU,KAAK,KAAK,EAAE;QAAEP,mBAAmB,CAAC,CAAC;QAAEG,iBAAiB,CAAC,CAAC;MAAE;MACxE,KAAKuB,OAAO,CAAC,CAAC;IAChB;IAEA,MAAM4D,gBAAgB,GAAGxF,cAAc,CAAC,MAAM;MAC5C6B,wBAAwB,CAAC,CAAC;MAC1B0D,QAAQ,CAAC,CAAC;IACZ,CAAC,CAAC;;IAEF;IACA;IACA;IACA,IAAIE,OAAO,GAAG,CAAC;IACf,IAAIC,SAA+C,GAAG,IAAI;IAC1D,MAAMC,IAAI,GAAGA,CAAA,KAAM;MACjBF,OAAO,IAAI,CAAC;MACZ,IAAI,CAACxE,QAAQ,EAAEQ,KAAK,CAACc,MAAM,IAAI,CAAC,IAAI,CAAC,IAAIkD,OAAO,IAAI,GAAG,EAAE;QACvDC,SAAS,GAAG,IAAI;QAChB;MACF;MACA,KAAK9D,OAAO,CAAC,CAAC;MACd8D,SAAS,GAAG1D,UAAU,CAAC2D,IAAI,EAAE,GAAG,CAAC;IACnC,CAAC;IACDD,SAAS,GAAG1D,UAAU,CAAC2D,IAAI,EAAE,GAAG,CAAC;IAEjC,OAAO,MAAM;MACXH,gBAAgB,CAAC,CAAC;MAClB,IAAIE,SAAS,KAAK,IAAI,EAAEE,YAAY,CAACF,SAAS,CAAC;MAC/CtE,eAAe,GAAGkC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEnC,eAAe,GAAG,CAAC,CAAC;MAClD,IAAIA,eAAe,KAAK,CAAC,EAAE;QACzB,IAAID,WAAW,KAAK,IAAI,EAAE;UACxByE,YAAY,CAACzE,WAAW,CAAC;UACzBA,WAAW,GAAG,IAAI;QACpB;QACA,IAAIV,UAAU,KAAK,KAAK,EAAE;UAAEN,mBAAmB,CAAC,CAAC;UAAEG,iBAAiB,CAAC,CAAC;QAAE;QACxE;QACA;QACA;MACF;IACF,CAAC;EACH,CAAC;EAEDuF,OAAO,EAAE;IACP,MAAMC,MAAMA,CAAA,EAA8C;MACxD,MAAMC,IAAI,GAAG,MAAMnE,OAAO,CAAC,CAAC;MAC5B,OAAO;QAAEoE,EAAE,EAAE,IAAI;QAAEjB,UAAU,EAAEgB,IAAI,EAAEtE,KAAK,CAACc,MAAM,IAAI;MAAE,CAAC;IAC1D,CAAC;IAED3C,YAAYA,CAAA,EAAiB;MAC3BA,YAAY,CAAC,CAAC;MACd,OAAO;QAAEoG,EAAE,EAAE;MAAK,CAAC;IACrB,CAAC;IAEDlG,WAAWA,CAACmG,MAA8B,EAAyB;MACjEnG,WAAW,CAACmG,MAAM,EAAEC,OAAO,KAAK,KAAK,CAAC;MACtC,OAAO;QAAE7B,QAAQ,EAAExE,QAAQ,CAAC,CAAC,CAACwE;MAAS,CAAC;IAC1C,CAAC;IAED;AACJ;AACA;AACA;IACI8B,YAAYA,CAACF,MAA+B,EAAoC;MAC9E,MAAMzB,GAAG,GAAGyB,MAAM,EAAEtE,SAAS;MAC7B,IAAI,OAAO6C,GAAG,KAAK,QAAQ,EAAE,OAAO;QAAEwB,EAAE,EAAE,KAAK;QAAE7B,MAAM,EAAE;MAAyB,CAAC;MACnF,IAAI,CAAC3D,IAAI,IAAIC,UAAU,KAAK,KAAK,EAAE,OAAO;QAAEuF,EAAE,EAAE,KAAK;QAAE7B,MAAM,EAAE;MAA6C,CAAC;MAC7G,OAAOzD,kBAAkB,CAAC8D,GAAG,CAAC;IAChC;EACF;AACF,CAAC","ignoreList":[]}
@@ -118,5 +118,5 @@ export declare function computeCoverage(nodes: FocusableNode[], visited: number[
118
118
  * renders. A direction with no entry is UNKNOWN (dim), which is a different
119
119
  * statement from a dead end (pressed, went nowhere).
120
120
  */
121
- export declare function observedEdges(tag: number, transitions: FocusTransition[]): Partial<Record<FocusDirection, number | null>>;
121
+ export declare function observedEdges(tag: number, transitions: FocusTransition[], probes?: FocusProbe[]): Partial<Record<FocusDirection, number | null>>;
122
122
  //# sourceMappingURL=detectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detectors.d.ts","sourceRoot":"","sources":["../../../src/detect/detectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,eAAO,MAAM,UAAU,EAAE,cAAc,EAAoC,CAAC;AAE5E,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,cAAc,CAAC;IAC1B,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,8EAA8E;IAC9E,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAAE,EACpB,KAAK,EAAE,aAAa,EAAE,EACtB,WAAW,GAAE,MAA0B,EACvC,KAAK,SAAI,GACR,WAAW,EAAE,CA2Bf;AA8FD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,QAAQ,EAAE,CA6EvF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,EAAE,EAC9B,KAAK,EAAE,aAAa,EAAE,EACtB,KAAK,SAAI,GACR,iBAAiB,EAAE,CAiCrB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,eAAe,EAAE,EAC9B,MAAM,EAAE,UAAU,EAAE,EACpB,KAAK,EAAE,aAAa,EAAE,EACtB,SAAS,EAAE,MAAM,EACjB,KAAK,SAAI,GACR,UAAU,CAQZ;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EAAE,EACtB,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,eAAe,EAAE,EAC9B,MAAM,EAAE,UAAU,EAAE,GACnB,cAAc,CAuChB;AAsBD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,eAAe,EAAE,GAC7B,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAOhD"}
1
+ {"version":3,"file":"detectors.d.ts","sourceRoot":"","sources":["../../../src/detect/detectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,eAAO,MAAM,UAAU,EAAE,cAAc,EAAoC,CAAC;AAE5E,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,cAAc,CAAC;IAC1B,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,8EAA8E;IAC9E,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAAE,EACpB,KAAK,EAAE,aAAa,EAAE,EACtB,WAAW,GAAE,MAA0B,EACvC,KAAK,SAAI,GACR,WAAW,EAAE,CA2Bf;AA8FD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,QAAQ,EAAE,CA6EvF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,EAAE,EAC9B,KAAK,EAAE,aAAa,EAAE,EACtB,KAAK,SAAI,GACR,iBAAiB,EAAE,CAiCrB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,eAAe,EAAE,EAC9B,MAAM,EAAE,UAAU,EAAE,EACpB,KAAK,EAAE,aAAa,EAAE,EACtB,SAAS,EAAE,MAAM,EACjB,KAAK,SAAI,GACR,UAAU,CAQZ;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EAAE,EACtB,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,eAAe,EAAE,EAC9B,MAAM,EAAE,UAAU,EAAE,GACnB,cAAc,CAuChB;AAsBD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,eAAe,EAAE,EAC9B,MAAM,GAAE,UAAU,EAAO,GACxB,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAiBhD"}
@@ -0,0 +1,6 @@
1
+ export declare const isTV = false;
2
+ export declare const platformOS = "web";
3
+ export declare function attachKeyObserver(): void;
4
+ export declare function detachKeyObserver(): void;
5
+ export declare function isKeyObserverListening(): boolean;
6
+ //# sourceMappingURL=keyEventObserver.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyEventObserver.web.d.ts","sourceRoot":"","sources":["../../../src/observe/keyEventObserver.web.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,IAAI,QAAQ,CAAC;AAC1B,eAAO,MAAM,UAAU,QAAQ,CAAC;AAIhC,wBAAgB,iBAAiB,SAAmI;AACpK,wBAAgB,iBAAiB,SAAqG;AACtI,wBAAgB,sBAAsB,YAAwB"}
@@ -0,0 +1,3 @@
1
+ export { resolveDOMEventEmitter as resolveRawEventEmitter } from '@buoy-gg/shared-ui/utils';
2
+ export type { RawEventSubscription, RawEventEmitterLike, RawEmitterResolution } from './rawEventEmitter';
3
+ //# sourceMappingURL=rawEventEmitter.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rawEventEmitter.web.d.ts","sourceRoot":"","sources":["../../../src/observe/rawEventEmitter.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,27 +1,3 @@
1
- /**
2
- * focusableScanner — a read-only fiber walk that inventories everything on
3
- * screen the TV focus engine could land on.
4
- *
5
- * Provably inert: it reads `memoizedProps` and calls `measureInWindow`. It adds
6
- * no views, sets no props, and calls no focus command — which matters more here
7
- * than anywhere else in Buoy, because on Android TV a single focusable view we
8
- * rendered would insert itself into the host app's focus order and change the
9
- * very navigation this tool measures.
10
- *
11
- * Traversal (multi-renderer roots, the Fabric/Paper/CLI-dev instance triad,
12
- * Offscreen + inactive-`react-native-screens` pruning, measure-with-a-hang-
13
- * guard) follows the house pattern from
14
- * `packages/highlight-updates/src/highlight-updates/utils/screenElements.ts`.
15
- * The repo convention is a per-package copy trimmed to the tool's needs rather
16
- * than a shared walker library — see packages/CLAUDE.md.
17
- *
18
- * There is no JS API for "which view has focus" and none for "if focus is here
19
- * and the user presses RIGHT, where does it go" (Android has
20
- * `FabricUIManager.findNextFocusableElement` natively but never exposes it to
21
- * JS; tvOS's UIKit engine decides at runtime and answers nothing). So this
22
- * inventory is the *candidate set* — the observed transition stream is what
23
- * says which of them focus actually reaches.
24
- */
25
1
  export interface FocusFrame {
26
2
  x: number;
27
3
  y: number;
@@ -1 +1 @@
1
- {"version":3,"file":"focusableScanner.d.ts","sourceRoot":"","sources":["../../../src/scan/focusableScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AA8BH,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CACrE;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE;QACV,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,yEAAyE;QACzE,SAAS,CAAC,EAAE;YAAE,EAAE,CAAC,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KAC/E,CAAC;IACF,8EAA8E;IAC9E,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AA6XD,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CA0D/D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBtF"}
1
+ {"version":3,"file":"focusableScanner.d.ts","sourceRoot":"","sources":["../../../src/scan/focusableScanner.ts"],"names":[],"mappings":"AAsDA,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CACrE;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE;QACV,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,yEAAyE;QACzE,SAAS,CAAC,EAAE;YAAE,EAAE,CAAC,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KAC/E,CAAC;IACF,8EAA8E;IAC9E,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAkYD,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CA0D/D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"focusInspectorSyncAdapter.d.ts","sourceRoot":"","sources":["../../../src/sync/focusInspectorSyncAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAA8B,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAYnG,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4EAA4E;IAC5E,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,gEAAgE;QAChE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;KACvD,GAAG,IAAI,CAAC;IACT,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC7C,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;CACpB;AAoID,eAAO,MAAM,yBAAyB;;mBAGrB,sBAAsB;wBAIjB,MAAM,IAAI,GAAG,MAAM,IAAI;;kBA6CzB,OAAO,CAAC;YAAE,EAAE,EAAE,IAAI,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;wBAKzC;YAAE,EAAE,EAAE,IAAI,CAAA;SAAE;6BAKP;YAAE,OAAO,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG;YAAE,QAAQ,EAAE,OAAO,CAAA;SAAE;QAKlE;;;WAGG;8BACmB;YAAE,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;CAOlF,CAAC"}
1
+ {"version":3,"file":"focusInspectorSyncAdapter.d.ts","sourceRoot":"","sources":["../../../src/sync/focusInspectorSyncAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAC;AAQvC,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAA8B,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAYnG,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4EAA4E;IAC5E,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,gEAAgE;QAChE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;KACvD,GAAG,IAAI,CAAC;IACT,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC7C,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;CACpB;AAoID,eAAO,MAAM,yBAAyB;;mBAGrB,sBAAsB;wBAIjB,MAAM,IAAI,GAAG,MAAM,IAAI;;kBA8CzB,OAAO,CAAC;YAAE,EAAE,EAAE,IAAI,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;wBAKzC;YAAE,EAAE,EAAE,IAAI,CAAA;SAAE;6BAKP;YAAE,OAAO,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG;YAAE,QAAQ,EAAE,OAAO,CAAA;SAAE;QAKlE;;;WAGG;8BACmB;YAAE,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;CAOlF,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ var me=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var je=Object.getOwnPropertyNames;var Ye=Object.prototype.hasOwnProperty;var Je=(e,n)=>{for(var t in n)me(e,t,{get:n[t],enumerable:!0})},pe=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of je(n))!Ye.call(e,i)&&i!==t&&me(e,i,{get:()=>n[i],enumerable:!(r=$e(n,i))||r.enumerable});return e},b=(e,n,t)=>(pe(e,n,"default"),t&&pe(t,n,"default"));typeof window<"u"&&typeof globalThis.global>"u"&&(globalThis.global=globalThis);import{approxJsonSize as Ke}from"@buoy-gg/shared-ui/web";var v=null,P=null,x=[],w=[],K=new Set,q=0,O=0,N=0,I=!0,E=null,M=null,H=new Set,$=new Set;function S(){$.forEach(e=>{e()})}function Qe(e){x=x.length>=300?[...x.slice(1),e]:[...x,e]}function he(e){w=w.length>=400?[...w.slice(1),e]:[...w,e]}function Ze(e,n,t){for(let r=w.length-1;r>=0;r--){let i=w[r];if(t-i.at>250)break;if(!i.resolved&&i.tag===e)return i.resolved=!0,i.movedTo=n,i.direction}return null}function ye(e,n,t){O+=1;let r=e!==null&&P!==null?Math.max(0,t-P):void 0,i={seq:O,fromTag:e,toTag:n,direction:Ze(e,n,t),at:t,dwellMs:r};Qe(i),n===null&&(q+=1)}function G(){M!==null&&(clearTimeout(M),M=null)}function j(e,n=Date.now()){if(!I||!Number.isFinite(e))return;G();let t=E?.tag??v;E=null,!(t===e&&v===e)&&(ye(t,e,n),v=e,P=n,K.add(e),S())}function Y(e,n=Date.now()){!I||!Number.isFinite(e)||v!==null&&e!==v||(E={tag:e,at:n},G(),M=setTimeout(()=>{if(M=null,!E)return;let t=E.tag;E=null,ye(t,null,Date.now()),v=null,P=null,S()},400))}function J(e,n=Date.now()){if(!I)return;let t=x[x.length-1];if(t&&t.direction===null&&t.fromTag!==null&&n-t.at<=60){t.direction=e,N+=1,he({seq:N,tag:t.fromTag,direction:e,at:n,resolved:!0,movedTo:t.toTag}),S();return}N+=1;let r={seq:N,tag:v,direction:e,at:n,resolved:!1,movedTo:null};he(r);let i=setTimeout(()=>{H.delete(i),!r.resolved&&(r.resolved=!0,r.movedTo=null,S())},250);H.add(i),S()}function W(){return{currentTag:v,presence:v!==null?"focused":O===0?"never-observed":"lost",currentSince:P,transitions:x,probes:w,visited:Array.from(K),lostCount:q,transitionCount:O,tracking:I}}function Q(){x=[],w=[],K=v!==null?new Set([v]):new Set,q=0,O=0,N=0,S()}function Z(e){I!==e&&(I=e,e||(G(),E=null),S())}function et(){G(),H.forEach(e=>{clearTimeout(e)}),H.clear(),E=null,v=null,P=null,x=[],w=[],K=new Set,q=0,O=0,N=0,I=!0,S()}function ee(e){return $.add(e),()=>{$.delete(e)}}function ve(){S()}import{resolveDOMEventEmitter as Te}from"@buoy-gg/shared-ui/web/utils";var te=null,Fe=!1,V=[],A="idle",ne=null;function tt(){if(Fe)return te;Fe=!0;let e=Te();return te=e.emitter,ne=e.reason,te}function xe(e){let n=e?.nativeEvent;if(!n)return null;let t=n.target??n.tag;return typeof t=="number"&&Number.isFinite(t)?t:null}function oe(){if(V.length>0)return;let e=tt();if(!e){A="unavailable";return}try{V=[e.addListener("topFocus",n=>{let t=xe(n);t!==null&&j(t)}),e.addListener("topBlur",n=>{let t=xe(n);t!==null&&Y(t)})],A="listening"}catch(n){V=[],A="unavailable",ne=n?.message??"addListener failed"}}function we(){V.forEach(e=>{try{e.remove()}catch{}}),V=[],A==="listening"&&(A="idle")}function Se(){return{status:A,reason:A==="unavailable"?ne:null}}var U=!1,C="web",L=!1,nt={ArrowUp:"up",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right"};function Ee(e){let n=nt[e.key];n&&J(n)}function re(){L||typeof document>"u"||(L=!0,document.addEventListener("keydown",Ee,!0))}function De(){L&&(L=!1,document.removeEventListener("keydown",Ee,!0))}function ke(){return L}import{getDOMNodeHandle as cn,getDOMPublicInstance as ln,isDOMElement as dn}from"@buoy-gg/shared-ui/web/utils";var f={};Je(f,{AccessibilityInfo:()=>Ft,ActivityIndicator:()=>pt,Alert:()=>yt,Animated:()=>xt,AppRegistry:()=>St,AppState:()=>Et,Appearance:()=>wt,BackHandler:()=>Dt,Button:()=>mt,CheckBox:()=>Kt,Clipboard:()=>kt,DeviceEventEmitter:()=>rn,Dimensions:()=>ie,Easing:()=>It,FlatList:()=>qt,I18nManager:()=>At,Image:()=>Gt,ImageBackground:()=>Ut,InteractionManager:()=>Pt,Keyboard:()=>Nt,KeyboardAvoidingView:()=>zt,LayoutAnimation:()=>Ot,Linking:()=>Ct,LogBox:()=>on,Modal:()=>bt,NativeEventEmitter:()=>Rt,NativeModules:()=>Tt,PanResponder:()=>_t,Picker:()=>Xt,PixelRatio:()=>Mt,Platform:()=>Wt,Pressable:()=>dt,ProgressBar:()=>$t,RefreshControl:()=>jt,SafeAreaView:()=>Yt,ScrollView:()=>ft,SectionList:()=>Jt,Share:()=>Vt,StatusBar:()=>Qt,StyleSheet:()=>Lt,Switch:()=>gt,Text:()=>st,TextInput:()=>at,Touchable:()=>Zt,TouchableHighlight:()=>ct,TouchableNativeFeedback:()=>en,TouchableOpacity:()=>ut,TouchableWithoutFeedback:()=>lt,UIManager:()=>Bt,Vibration:()=>Ht,View:()=>it,VirtualizedList:()=>tn,YellowBox:()=>nn,findNodeHandle:()=>ht,unstable_createElement:()=>vt,useColorScheme:()=>sn,useLocaleContext:()=>an,useWindowDimensions:()=>un});b(f,Qn);import*as Qn from"react-native-web";import{unstable_createElement as vt,NativeModules as Tt,AccessibilityInfo as Ft,Animated as xt,Appearance as wt,AppRegistry as St,AppState as Et,BackHandler as Dt,Clipboard as kt,Dimensions as ie,Easing as It,I18nManager as At,Keyboard as Nt,InteractionManager as Pt,LayoutAnimation as Ot,Linking as Ct,NativeEventEmitter as Rt,PanResponder as _t,PixelRatio as Mt,Platform as Wt,Share as Vt,StyleSheet as Lt,UIManager as Bt,Vibration as Ht,CheckBox as Kt,FlatList as qt,Image as Gt,ImageBackground as Ut,KeyboardAvoidingView as zt,Picker as Xt,ProgressBar as $t,RefreshControl as jt,SafeAreaView as Yt,SectionList as Jt,StatusBar as Qt,Touchable as Zt,TouchableNativeFeedback as en,VirtualizedList as tn,YellowBox as nn,LogBox as on,DeviceEventEmitter as rn,useColorScheme as sn,useLocaleContext as an,useWindowDimensions as un}from"react-native-web";import*as d from"react-native-web";import{createElement as ot,forwardRef as rt}from"react";function T(e){let n=rt((r,i)=>{let{accessibilityState:o,accessibilityValue:s,...a}=r;for(let u of["busy","checked","disabled","expanded","selected"])o?.[u]!==void 0&&a[`aria-${u}`]===void 0&&(a[`aria-${u}`]=o[u]);for(let[u,c]of Object.entries({min:"valuemin",max:"valuemax",now:"valuenow",text:"valuetext"}))s?.[u]!==void 0&&a[`aria-${c}`]===void 0&&(a[`aria-${c}`]=s[u]);return ot(e,{...a,ref:i})}),t=e.State;return t&&Object.assign(n,{State:t}),n.displayName=e.displayName??e.name??"NativeWebView",n}var it=T(d.View),st=T(d.Text),at=T(d.TextInput),ut=T(d.TouchableOpacity),ct=T(d.TouchableHighlight),lt=T(d.TouchableWithoutFeedback),dt=T(d.Pressable),ft=T(d.ScrollView),bt=T(d.Modal),gt=T(d.Switch),pt=T(d.ActivityIndicator),mt=T(d.Button),ht=d.findNodeHandle,yt={alert(e,n,t,r){if(typeof document>"u")return;let i=document.createElement("dialog");i.dataset.buoyRoot="",i.setAttribute("aria-label",e),i.style.cssText="position:fixed;inset:0;margin:auto;width:min(440px,90vw);padding:24px;border:1px solid #475569;border-radius:14px;background:#17212e;color:#f1f5f9;font:14px system-ui;box-shadow:0 20px 80px #0008;z-index:2147483647";let o=document.createElement("h2");if(o.textContent=e,o.style.cssText="font-size:18px;margin:0 0 12px",i.appendChild(o),n){let c=document.createElement("p");c.textContent=n,c.style.cssText="line-height:1.5;white-space:pre-wrap;margin:0 0 20px",i.appendChild(c)}let s=document.createElement("div");s.style.cssText="display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px";let a=t?.length?t:[{text:"OK"}],u=()=>{i.close?.(),i.remove()};for(let c of a){let p=document.createElement("button");p.type="button",p.textContent=c.text??"OK",p.style.cssText=`padding:9px 14px;border:1px solid #64748b;border-radius:7px;color:white;background:${c.style==="destructive"?"#a52b38":"#283a4d"};cursor:pointer;font:inherit`,p.onclick=()=>{u(),c.onPress?.()},s.appendChild(p)}i.addEventListener("cancel",c=>{c.preventDefault(),r?.cancelable!==!1&&(u(),r?.onDismiss?.())}),i.appendChild(s),document.body.appendChild(i),i.showModal?i.showModal():i.setAttribute("open","")}};var fn=22,Oe=new Set(["View","RCTView","ScrollView","RCTScrollView","RCTScrollContentView","SafeAreaView","RCTSafeAreaView","AndroidHorizontalScrollContentView","KeyboardAvoidingView","Pressable","PlatformPressable","TouchableOpacity","TouchableHighlight","TouchableWithoutFeedback","TouchableNativeFeedback","AnimatedComponent","Wrapper"]),se="TVFocusGuideView";function bn(){return typeof globalThis>"u"?null:globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__??null}function gn(){let e=bn();if(!e)return[];let n=[];try{if(e.renderers&&typeof e.renderers.forEach=="function"&&e.renderers.forEach((t,r)=>{try{let i=e.getFiberRoots?.(r);i&&i.forEach(o=>n.push(o))}catch{}}),n.length===0&&e.getFiberRoots){let t=e.getFiberRoots(1);t&&t.forEach(r=>n.push(r))}}catch{}return n}function pn(e){return e.tag===fn&&e.memoizedState!==null}function mn(e){let n=e.memoizedProps?.activityState;return n===0||n===1||e.memoizedProps?.isPageFocused===!1}function ae(e){return e?.memoizedProps??e?.pendingProps??null}function Ce(e){let n=e?.type;return n?typeof n=="string"?n:n.displayName||n.name||null:null}function Ie(e){let n=e?._debugOwner||e?.return,t=0;for(;n&&t<30;){t++;let r=Ce(n);if(r&&!Oe.has(r)&&typeof n.type!="string")return r;n=n.return}return null}function Ae(e){let n=ln(e);if(n)return n;if(!e)return null;let t=e;return t.canonical?.publicInstance?t.canonical.publicInstance:t.canonical&&typeof t.canonical.measure=="function"?t.canonical:typeof t.measure=="function"||typeof t.measureInWindow=="function"?t:null}function Ne(e){let n=cn(e);if(n!==null)return n;if(e==null)return null;let t=e;if(typeof t.__nativeTag=="number")return t.__nativeTag;if(typeof t._nativeTag=="number")return t._nativeTag;if(typeof t.nativeTag=="number")return t.nativeTag;if(t.canonical){if(typeof t.canonical.__nativeTag=="number")return t.canonical.__nativeTag;if(typeof t.canonical._nativeTag=="number")return t.canonical._nativeTag;if(typeof t.canonical.nativeTag=="number")return t.canonical.nativeTag}return null}function hn(e){let n=Ae(e.stateNode);if(n)return{instance:n,nativeTag:Ne(e.stateNode)};let t=[];e.child&&t.push(e.child);let r=0;for(;t.length>0&&r<4e3;){r++;let i=t.pop();if(!i)continue;let o=Ae(i.stateNode);if(o)return{instance:o,nativeTag:Ne(i.stateNode)};i.child&&t.push(i.child),i.sibling&&t.push(i.sibling)}return null}function yn(e){if(typeof e.isTVSelectable=="boolean")return e.isTVSelectable;if(typeof e.focusable=="boolean")return e.focusable;if(typeof e.tvFocusable=="boolean")return e.tvFocusable}function vn(e){let n=typeof e.nextFocusUp=="number",t=typeof e.nextFocusDown=="number",r=typeof e.nextFocusLeft=="number",i=typeof e.nextFocusRight=="number";if(!(!n&&!t&&!r&&!i))return{up:n||void 0,down:t||void 0,left:r||void 0,right:i||void 0}}function Re(e){if(!e)return;let n=t=>{if(typeof t=="string")return t.trim()?t.trim().slice(0,60):void 0;if(typeof t=="number"&&Number.isFinite(t))return String(t)};return n(e.children)??n(e.title)??n(e.label)??void 0}function Tn(e,n){let t=[],r=(o,s)=>{if(!o||s>n||t.length>=3)return;if(o!==e){let u=ae(o);if(u&&typeof u.onPress=="function")return}let a=Re(ae(o));a&&!t.includes(a)&&t.push(a),o.child&&r(o.child,s+1),o!==e&&o.sibling&&r(o.sibling,s)};e.child&&r(e.child,1);let i=t.join(" ").trim();return i?i.slice(0,60):void 0}function Fn(e){return new Promise(n=>{let t=!1,r=i=>{t||(t=!0,n(i))};setTimeout(()=>r(null),1e3);try{typeof e.measureInWindow=="function"?e.measureInWindow((i,o,s,a)=>{r(s>0&&a>0?{x:i,y:o,width:s,height:a}:null)}):typeof e.measure=="function"?e.measure((i,o,s,a,u,c)=>{r(s>0&&a>0&&u!=null&&c!=null?{x:u,y:c,width:s,height:a}:null)}):r(null)}catch{r(null)}})}var ue=new Map;function xn(e,n,t){let r=[{fiber:e,context:n,depth:0}],i=new Set;for(;r.length>0;){let o=r.pop();if(!o)continue;let{fiber:s,depth:a}=o;if(!s||i.has(s)||a>500)continue;if(i.add(s),pn(s)||mn(s)){s.sibling&&r.push({fiber:s.sibling,context:o.context,depth:a});continue}let u=t(s,o.context);s.sibling&&r.push({fiber:s.sibling,context:o.context,depth:a}),s.child&&r.push({fiber:s.child,context:u,depth:a+1})}}function wn(){let e=gn();if(e.length===0)return[];let n=[],t=new Set;for(let r of e)xn(r.current,{guideTag:null},(i,o)=>{let s=ae(i);if(!s)return o;let a=Ce(i),u=a===se,c=yn(s),p=typeof s.onPress=="function"||typeof s.onLongPress=="function",l=s.hasTVPreferredFocus===!0,h=vn(s);if(!(u||c===!0||l||!!h||p&&c!==!1||dn(i.stateNode)&&i.stateNode.matches('a[href],button,input,select,textarea,[tabindex],[contenteditable="true"]')&&!i.stateNode.matches(':disabled,[inert], [tabindex="-1"]')))return o;let k=hn(i),m=k?.nativeTag??null;if(m===null)return o;let B=u?{guideTag:m}:o;if(t.has(m)){let y=n.find(Xe=>Xe.node.nativeTag===m);return y&&(c!==void 0&&y.node.focusProps.focusable===void 0&&(y.node.focusProps.focusable=c),l&&(y.node.focusProps.hasTVPreferredFocus=!0),h&&!y.node.focusProps.nextFocus&&(y.node.focusProps.nextFocus=h),p&&(y.node.pressable=!0),!y.node.testID&&s.testID&&(y.node.testID=s.testID),u&&!y.node.guide&&(y.node.guide=Pe(s),y.node.name=se)),B}t.add(m);let ge=a??"Unknown";(!a||Oe.has(a)||typeof i.type=="string")&&(ge=Ie(i)??a??"Unknown");let Ge=s.accessibilityLabel||s["aria-label"]||void 0,Ue=Re(s)??(p?Tn(i,6):void 0),ze={nativeTag:m,name:u?se:ge,owner:Ie(i)??void 0,testID:s.testID||s["data-testid"]||void 0,label:Ge,text:Ue,focusProps:{focusable:c,hasTVPreferredFocus:l||void 0,nextFocus:h},guide:u?Pe(s):void 0,guideAncestorTag:o.guideTag??void 0,pressable:p||void 0};return k?.instance&&ue.set(m,k.instance),n.push({node:ze,instance:k?.instance??null}),B});return n}function Pe(e){return{autoFocus:e.autoFocus===!0,hasDestinations:Array.isArray(e.destinations)&&e.destinations.length>0,enabled:e.enabled!==!1,trap:{up:e.trapFocusUp===!0,down:e.trapFocusDown===!0,left:e.trapFocusLeft===!0,right:e.trapFocusRight===!0}}}function z(e){return Math.round(e*1e3)/1e3}var Sn=400;async function ce(){ue.clear();let e=wn();await Promise.all(e.map(async o=>{if(!o.instance)return;let s=await Fn(o.instance);s&&(o.node.frame=s)}));let n=ie.get("window"),t=Math.round(n.width)||1,r=Math.round(n.height)||1,i=[];for(let o of e){let s=o.node.frame;if(s){let a=s.x+s.width/2,u=s.y+s.height/2;o.node.onScreen=u>=0&&u<=r&&a>=0&&a<=t,o.node.frame={x:z(s.x/t),y:z(s.y/r),width:z(s.width/t),height:z(s.height/r)}}if(i.push(o.node),i.length>=Sn)break}return i.sort((o,s)=>{let a=o.frame?.y??2,u=s.frame?.y??2;return Math.abs(a-u)>.01?a-u:(o.frame?.x??2)-(s.frame?.x??2)}),{screen:{width:t,height:r},nodes:i,scannedAt:Date.now()}}function _e(e){let n=ue.get(e);if(!n)return{ok:!1,reason:"Unknown tag \u2014 rescan and try again."};if(typeof n.requestTVFocus!="function")return{ok:!1,reason:"This element exposes no requestTVFocus()."};try{return n.requestTVFocus(),{ok:!0}}catch(t){return{ok:!1,reason:t?.message??"requestTVFocus() threw."}}}var Me=["up","down","left","right"];function En(e,n){return`${e}:${n}`}function Ve(e,n,t=3,r=0){let i=new Map;for(let a of e){if(!a.resolved||a.tag===null||a.at<r)continue;let u=En(a.tag,a.direction);a.movedTo===null?i.set(u,(i.get(u)??0)+1):i.set(u,0)}let o=new Map;for(let a of n)o.set(a.nativeTag,a);let s=[];return i.forEach((a,u)=>{if(a<t)return;let[c,p]=u.split(":"),l=Number(c),h=p;s.push({tag:l,direction:h,attempts:a,atEdge:Dn(o.get(l),h,n)})}),s.sort((a,u)=>u.attempts-a.attempts)}function Dn(e,n,t){let r=e?.frame;if(!r)return!1;let i=r.x+r.width/2,o=r.y+r.height/2;for(let s of t){if(s.nativeTag===e.nativeTag||s.guide)continue;let a=s.frame;if(!a)continue;let u=a.x+a.width/2,c=a.y+a.height/2;switch(n){case"up":if(c<r.y)return!1;break;case"down":if(c>r.y+r.height)return!1;break;case"left":if(u<r.x)return!1;break;case"right":if(u>r.x+r.width)return!1;break}}return!0}function kn(e){if(e.length===0)return null;let n=1/0,t=1/0,r=-1/0,i=-1/0;for(let o of e)n=Math.min(n,o.x),t=Math.min(t,o.y),r=Math.max(r,o.x+o.width),i=Math.max(i,o.y+o.height);return{x:n,y:t,width:r-n,height:i-t}}function In(e,n,t){switch(t){case"up":return n.y<e.y;case"down":return n.y>e.y+e.height;case"left":return n.x<e.x;case"right":return n.x>e.x+e.width;default:return!1}}var An=2;function Le(e,n){let t=new Map;for(let o of n)t.set(o.nativeTag,o);let r=new Map;for(let o of e){let a=t.get(o.tag)?.guideAncestorTag??o.tag,u=r.get(a)??{containerTag:a,tags:new Set,directions:new Set};u.tags.add(o.tag),u.directions.add(o.direction),r.set(a,u)}let i=[];return r.forEach(o=>{if(o.directions.size<An)return;let s=new Set(o.tags);for(let g of n)g.guideAncestorTag===o.containerTag&&s.add(g.nativeTag);s.add(o.containerTag);let a=t.get(o.containerTag),u=a?.guide&&a.frame?a.frame:kn(Array.from(s).map(g=>t.get(g)?.frame).filter(g=>!!g));if(!u)return;let c=0,p=0;for(let g of Me)n.some(m=>{if(m.guide||s.has(m.nativeTag)||!m.frame)return!1;let B={x:m.frame.x+m.frame.width/2,y:m.frame.y+m.frame.height/2};return In(u,B,g)})&&(p+=1,o.directions.has(g)||(c+=1));if(p===0||c>0)return;let l=a?.guide,h=l!==void 0&&(l.trap.up||l.trap.down||l.trap.left||l.trap.right);i.push({tags:Array.from(o.tags).sort((g,k)=>g-k),containerTag:o.containerTag,directions:Me.filter(g=>o.directions.has(g)),guideTrapTag:h?o.containerTag:void 0})}),i}function Be(e,n,t=0){let r=new Map;for(let o of n)r.set(o.nativeTag,o);let i=new Map;for(let o of e){let s=o.toTag;if(s===null||o.at<t)continue;let a=r.get(s),u=a?a.guide?"guide":null:n.length>0?"unknown":null;if(!u)continue;let c=i.get(s);c?(c.count+=1,c.at=o.at):i.set(s,{tag:s,reason:u,at:o.at,count:1})}return Array.from(i.values()).sort((o,s)=>s.at-o.at)}function le(e,n,t,r,i=0){let o=Ve(n,t,3,i);return{deadEnds:o,traps:Le(o,t),invisibleStops:Be(e,t,i),lostCount:r}}function de(e,n,t,r){let i=new Set(n),o=e.filter(l=>!l.guide),s=o.filter(l=>!i.has(l.nativeTag)).map(l=>l.nativeTag),a=r.length>=12,u=new Set;for(let l of t)l.toTag!==null&&u.add(l.toTag);let c=new Map;for(let l of e)c.set(l.nativeTag,l);let p=a?s.filter(l=>{if(u.has(l))return!1;let h=c.get(l);return h?.frame?o.some(g=>g.nativeTag!==l&&i.has(g.nativeTag)&&Nn(h,g)):!1}):[];return{focusables:o.length,visited:o.filter(l=>i.has(l.nativeTag)).length,unvisited:s,suspectedUnreachable:p,meaningful:a}}var We=.12;function Nn(e,n){let t=e.frame,r=n.frame;if(!t||!r)return!1;let i=t.x<r.x+r.width&&r.x<t.x+t.width,o=t.y<r.y+r.height&&r.y<t.y+t.height;return!!(i&&Math.max(t.y-(r.y+r.height),r.y-(t.y+t.height))<=We||o&&Math.max(t.x-(r.x+r.width),r.x-(t.x+t.width))<=We)}function fe(e,n,t=[]){let r=[];for(let o of n)o.fromTag!==e||o.direction===null||r.push({at:o.at,direction:o.direction,to:o.toTag});for(let o of t)o.tag!==e||!o.resolved||o.movedTo!==null||r.push({at:o.at,direction:o.direction,to:null});r.sort((o,s)=>o.at-s.at);let i={};for(let o of r)i[o.direction]=o.to;return i}var He=1.5*1024*1024,Pn=500;U&&(oe(),re());var F=null,be=!1,_=null,R=0;function qe(){let e=new Map;for(let n of F?.nodes??[])e.set(n.nativeTag,n);return e}async function X(){if(be)return F;be=!0;try{return F=await ce(),F}catch{return F}finally{be=!1,ve()}}function On(){if(R===0)return;let{currentTag:e}=W();e!==null&&(qe().has(e)||_===null&&(_=setTimeout(()=>{_=null,X()},Pn)))}function Cn(e,n){let t=[],r=0;for(let i=e.length-1;i>=0;i--){let o=Ke(e[i],n).bytes;if(r+o>n&&t.length>0)break;t.push(e[i]),r+=o}return t.reverse(),t}function Rn(){let e=W(),n=F?.nodes??[],t=Se(),r=le(e.transitions,e.probes,n,e.lostCount,F?.scannedAt??0),i=de(n,e.visited,e.transitions,e.probes),o=qe(),s=Ke(n,He).bytes,a=Cn(e.transitions,Math.max(64*1024,He-s)),u=r.deadEnds.filter(c=>!c.atEdge).length+r.traps.length+r.invisibleStops.length+(r.lostCount>0?1:0);return{supported:U||C==="web",platform:C,observer:t.status,observerReason:t.reason,keysListening:ke(),tracking:e.tracking,presence:e.presence,current:e.currentTag===null?null:{tag:e.currentTag,node:o.get(e.currentTag)??null,since:e.currentSince??Date.now(),edges:fe(e.currentTag,e.transitions,e.probes)},transitions:a,focusables:n,screen:F?.screen??null,scannedAt:F?.scannedAt??null,flags:r,coverage:i,stats:{focusables:i.focusables,visited:i.visited,transitions:e.transitionCount,flagged:u},capturedAt:Date.now()}}var _n={version:1,getSnapshot(){return Rn()},subscribe(e){R+=1,R===1&&(C==="web"&&(oe(),re()),X());let n=ee(()=>{On(),e()}),t=0,r=null,i=()=>{if(t+=1,(F?.nodes.length??0)>0||t>=100){r=null;return}X(),r=setTimeout(i,100)};return r=setTimeout(i,100),()=>{n(),r!==null&&clearTimeout(r),R=Math.max(0,R-1),R===0&&(_!==null&&(clearTimeout(_),_=null),C==="web"&&(we(),De()))}},actions:{async rescan(){return{ok:!0,focusables:(await X())?.nodes.length??0}},clearHistory(){return Q(),{ok:!0}},setTracking(e){return Z(e?.enabled!==!1),{tracking:W().tracking}},focusElement(e){let n=e?.nativeTag;return typeof n!="number"?{ok:!1,reason:"nativeTag is required."}:!U&&C!=="web"?{ok:!1,reason:"Not a TV build \u2014 there is no focus engine."}:_e(n)}}};export{Q as clearHistory,de as computeCoverage,Ve as detectDeadEnds,le as detectFlags,Be as detectInvisibleStops,Le as detectTraps,_n as focusInspectorSyncAdapter,W as getState,fe as observedEdges,Y as recordBlur,j as recordFocus,J as recordKey,et as resetStore,ce as scanFocusables,Z as setTracking,ee as subscribe};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-gg/focus-inspector",
3
- "version": "7.0.40",
3
+ "version": "7.0.41",
4
4
  "description": "Observe focus transitions and discovered focusable elements in React Native TV apps. Review diagnostics in Buoy Desktop.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -12,11 +12,13 @@
12
12
  ],
13
13
  "sideEffects": false,
14
14
  "dependencies": {
15
- "@buoy-gg/shared-ui": "^7.0.40"
15
+ "@buoy-gg/shared-ui": "^7.0.41"
16
16
  },
17
17
  "peerDependencies": {
18
18
  "react": "*",
19
- "react-native": "*"
19
+ "react-native": "*",
20
+ "react-native-web": "^0.21.0",
21
+ "react-dom": ">=18"
20
22
  },
21
23
  "devDependencies": {
22
24
  "@types/react": "^19.1.0",
@@ -64,11 +66,43 @@
64
66
  "tv-focus",
65
67
  "focus-engine"
66
68
  ],
69
+ "exports": {
70
+ ".": {
71
+ "browser": {
72
+ "types": "./lib/typescript/index.d.ts",
73
+ "default": "./lib/web/index.mjs"
74
+ },
75
+ "import": {
76
+ "types": "./lib/typescript/index.d.ts",
77
+ "default": "./lib/module/index.js"
78
+ },
79
+ "require": {
80
+ "types": "./lib/typescript/index.d.ts",
81
+ "default": "./lib/commonjs/index.js"
82
+ }
83
+ },
84
+ "./web": {
85
+ "types": "./lib/typescript/index.d.ts",
86
+ "default": "./lib/web/index.mjs"
87
+ }
88
+ },
89
+ "peerDependenciesMeta": {
90
+ "react-native": {
91
+ "optional": true
92
+ },
93
+ "react-native-web": {
94
+ "optional": true
95
+ },
96
+ "react-dom": {
97
+ "optional": true
98
+ }
99
+ },
67
100
  "scripts": {
68
- "build": "bob build",
101
+ "build": "bob build && pnpm run build:web",
69
102
  "typecheck": "tsc --noEmit",
70
103
  "clean": "rimraf lib",
71
104
  "test": "pnpm run typecheck",
72
- "postinstall": "echo \"Run pnpm build to compile this package\""
105
+ "postinstall": "echo \"Run pnpm build to compile this package\"",
106
+ "build:web": "node ../../scripts/build-web.mjs focus-inspector"
73
107
  }
74
108
  }