expo-snowui 1.3.4 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,7 +11,7 @@ const SnowOverlayW = props => {
11
11
  SnowStyle
12
12
  } = useStyleContext(props);
13
13
  const {
14
- currentLayer,
14
+ focusedLayer,
15
15
  focusedKey,
16
16
  focusOn,
17
17
  focusLongPress,
@@ -30,7 +30,7 @@ const SnowOverlayW = props => {
30
30
  if ((!props.focusLayer || isFocusedLayer(props.focusLayer)) && !isFocused(props.focusKey) && props.stealFocus !== false) {
31
31
  focusOn(elementRef, props.focusKey);
32
32
  }
33
- }, [currentLayer, focusedKey, elementRef, props.focusKey, props.focusLayer, props.stealFocus]);
33
+ }, [focusedLayer, focusedKey, elementRef, props.focusKey, props.focusLayer, props.stealFocus]);
34
34
  if (!isFocusedLayer(props.focusLayer)) {
35
35
  return null;
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","TouchableOpacity","useStyleContext","useFocusContext","SnowText","jsx","_jsx","SnowOverlayW","props","SnowStyle","currentLayer","focusedKey","focusOn","focusLongPress","focusPress","isFocused","isFocusedLayer","tvRemoteProps","useFocusLayer","useFocusWiring","elementRef","focusLayer","useEffect","focusKey","stealFocus","style","component","overlay","touchable","transparent","push","black","ref","activeOpacity","onPress","onLongPress","children","isSnowFocusWired","SnowOverlay"],"sourceRoot":"../../../../src","sources":["component/wired/snow-overlay.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,cAAc;AAC/C,SAASC,eAAe,QAAQ,qCAAkC;AAClE,SAASC,eAAe,QAAQ,qCAAkC;AAClE,OAAOC,QAAQ,MAAM,iBAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAEnC,MAAMC,YAAY,GAAIC,KAAK,IAAK;EAC5B,MAAM;IAAEC;EAAU,CAAC,GAAGP,eAAe,CAACM,KAAK,CAAC;EAC5C,MAAM;IACFE,YAAY;IACZC,UAAU;IACVC,OAAO;IACPC,cAAc;IACdC,UAAU;IACVC,SAAS;IACTC,cAAc;IACdC,aAAa;IACbC,aAAa;IACbC;EACJ,CAAC,GAAGhB,eAAe,CAAC,CAAC;EACrB,MAAMiB,UAAU,GAAGD,cAAc,CAACX,KAAK,CAAC;EAExC,IAAIA,KAAK,CAACa,UAAU,EAAE;IAClBH,aAAa,CAACV,KAAK,CAACa,UAAU,EAAE,IAAI,CAAC;EACzC;EAEArB,KAAK,CAACsB,SAAS,CAAC,MAAM;IAClB,IAAI,CAAC,CAACd,KAAK,CAACa,UAAU,IAAIL,cAAc,CAACR,KAAK,CAACa,UAAU,CAAC,KAAK,CAACN,SAAS,CAACP,KAAK,CAACe,QAAQ,CAAC,IAAIf,KAAK,CAACgB,UAAU,KAAK,KAAK,EAAE;MACrHZ,OAAO,CAACQ,UAAU,EAAEZ,KAAK,CAACe,QAAQ,CAAC;IACvC;EACJ,CAAC,EAAE,CAACb,YAAY,EAAEC,UAAU,EAAES,UAAU,EAAEZ,KAAK,CAACe,QAAQ,EAAEf,KAAK,CAACa,UAAU,EAAEb,KAAK,CAACgB,UAAU,CAAC,CAAC;EAE9F,IAAI,CAACR,cAAc,CAACR,KAAK,CAACa,UAAU,CAAC,EAAE;IACnC,OAAO,IAAI;EACf;EAEA,IAAII,KAAK,GAAG,CAAChB,SAAS,CAACiB,SAAS,CAACC,OAAO,CAACC,SAAS,CAAC;EACnD,IAAIpB,KAAK,CAACqB,WAAW,EAAE;IACnBJ,KAAK,CAACK,IAAI,CAACrB,SAAS,CAACiB,SAAS,CAACC,OAAO,CAACE,WAAW,CAAC;EACvD;EACA,IAAIrB,KAAK,CAACuB,KAAK,EAAE;IACbN,KAAK,CAACK,IAAI,CAACrB,SAAS,CAACiB,SAAS,CAACC,OAAO,CAACI,KAAK,CAAC;EACjD;EAEA,oBACIzB,IAAA,CAACL,gBAAgB;IACb+B,GAAG,EAAEZ,UAAW;IAAA,GACZH,aAAa;IACjBQ,KAAK,EAAEA,KAAM;IACbQ,aAAa,EAAE,CAAE,CAAC;IAAA;IAClBC,OAAO,EAAEpB,UAAU,CAACM,UAAU,EAAEZ,KAAK,CAACe,QAAQ,CAAE;IAChDY,WAAW,EAAEtB,cAAc,CAACO,UAAU,EAAEZ,KAAK,CAACe,QAAQ,CAAE;IACxDa,QAAQ,EAAE5B,KAAK,CAAC4B;EAAS,CAC5B,CAAC;AAEV,CAAC;AAED7B,YAAY,CAAC8B,gBAAgB,GAAG,IAAI;AAEpC,OAAO,MAAMC,WAAW,GAAG/B,YAAY;AAEvC,eAAe+B,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["React","TouchableOpacity","useStyleContext","useFocusContext","SnowText","jsx","_jsx","SnowOverlayW","props","SnowStyle","focusedLayer","focusedKey","focusOn","focusLongPress","focusPress","isFocused","isFocusedLayer","tvRemoteProps","useFocusLayer","useFocusWiring","elementRef","focusLayer","useEffect","focusKey","stealFocus","style","component","overlay","touchable","transparent","push","black","ref","activeOpacity","onPress","onLongPress","children","isSnowFocusWired","SnowOverlay"],"sourceRoot":"../../../../src","sources":["component/wired/snow-overlay.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,cAAc;AAC/C,SAASC,eAAe,QAAQ,qCAAkC;AAClE,SAASC,eAAe,QAAQ,qCAAkC;AAClE,OAAOC,QAAQ,MAAM,iBAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAEnC,MAAMC,YAAY,GAAIC,KAAK,IAAK;EAC5B,MAAM;IAAEC;EAAU,CAAC,GAAGP,eAAe,CAACM,KAAK,CAAC;EAC5C,MAAM;IACFE,YAAY;IACZC,UAAU;IACVC,OAAO;IACPC,cAAc;IACdC,UAAU;IACVC,SAAS;IACTC,cAAc;IACdC,aAAa;IACbC,aAAa;IACbC;EACJ,CAAC,GAAGhB,eAAe,CAAC,CAAC;EACrB,MAAMiB,UAAU,GAAGD,cAAc,CAACX,KAAK,CAAC;EAExC,IAAIA,KAAK,CAACa,UAAU,EAAE;IAClBH,aAAa,CAACV,KAAK,CAACa,UAAU,EAAE,IAAI,CAAC;EACzC;EAEArB,KAAK,CAACsB,SAAS,CAAC,MAAM;IAClB,IAAI,CAAC,CAACd,KAAK,CAACa,UAAU,IAAIL,cAAc,CAACR,KAAK,CAACa,UAAU,CAAC,KAAK,CAACN,SAAS,CAACP,KAAK,CAACe,QAAQ,CAAC,IAAIf,KAAK,CAACgB,UAAU,KAAK,KAAK,EAAE;MACrHZ,OAAO,CAACQ,UAAU,EAAEZ,KAAK,CAACe,QAAQ,CAAC;IACvC;EACJ,CAAC,EAAE,CAACb,YAAY,EAAEC,UAAU,EAAES,UAAU,EAAEZ,KAAK,CAACe,QAAQ,EAAEf,KAAK,CAACa,UAAU,EAAEb,KAAK,CAACgB,UAAU,CAAC,CAAC;EAE9F,IAAI,CAACR,cAAc,CAACR,KAAK,CAACa,UAAU,CAAC,EAAE;IACnC,OAAO,IAAI;EACf;EAEA,IAAII,KAAK,GAAG,CAAChB,SAAS,CAACiB,SAAS,CAACC,OAAO,CAACC,SAAS,CAAC;EACnD,IAAIpB,KAAK,CAACqB,WAAW,EAAE;IACnBJ,KAAK,CAACK,IAAI,CAACrB,SAAS,CAACiB,SAAS,CAACC,OAAO,CAACE,WAAW,CAAC;EACvD;EACA,IAAIrB,KAAK,CAACuB,KAAK,EAAE;IACbN,KAAK,CAACK,IAAI,CAACrB,SAAS,CAACiB,SAAS,CAACC,OAAO,CAACI,KAAK,CAAC;EACjD;EAEA,oBACIzB,IAAA,CAACL,gBAAgB;IACb+B,GAAG,EAAEZ,UAAW;IAAA,GACZH,aAAa;IACjBQ,KAAK,EAAEA,KAAM;IACbQ,aAAa,EAAE,CAAE,CAAC;IAAA;IAClBC,OAAO,EAAEpB,UAAU,CAACM,UAAU,EAAEZ,KAAK,CAACe,QAAQ,CAAE;IAChDY,WAAW,EAAEtB,cAAc,CAACO,UAAU,EAAEZ,KAAK,CAACe,QAAQ,CAAE;IACxDa,QAAQ,EAAE5B,KAAK,CAAC4B;EAAS,CAC5B,CAAC;AAEV,CAAC;AAED7B,YAAY,CAAC8B,gBAAgB,GAAG,IAAI;AAEpC,OAAO,MAAMC,WAAW,GAAG/B,YAAY;AAEvC,eAAe+B,WAAW","ignoreList":[]}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { Platform } from 'react-native';
5
+ import { useFocusContext } from "./snow-focus-context.js";
6
+ import { useNavigationContext } from "./snow-navigation-context.js";
7
+ import { useStyleContext } from "./snow-style-context.js";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ const SnowContext = /*#__PURE__*/React.createContext({});
10
+ export function useSnowContext() {
11
+ const value = React.useContext(SnowContext);
12
+ if (!value) {
13
+ throw new Error('useSnowContext must be wrapped in a <SnowContextProvider />');
14
+ }
15
+ return value;
16
+ }
17
+ export function SnowContextProvider(props) {
18
+ const StyleContext = useStyleContext(props);
19
+ const FocusContext = useFocusContext(props);
20
+ const NavigationContext = useNavigationContext(props);
21
+ const [remoteCallbacks, setRemoteCallbacks] = React.useState({});
22
+ const remoteCallbacksRef = React.useRef(remoteCallbacks);
23
+ if (Platform.isTV) {
24
+ const remoteHandler = remoteEvent => {
25
+ const callbacks = remoteCallbacksRef.current;
26
+ for (const [key, callback] of Object.entries(callbacks)) {
27
+ if (callback == null) {
28
+ continue;
29
+ }
30
+ // action 0 = start, action 1 = end for longpresses
31
+ const kind = remoteEvent.eventType;
32
+ const action = remoteEvent.eventKeyAction;
33
+ callback(kind, action);
34
+ }
35
+ };
36
+ useTVEventHandler(remoteHandler);
37
+ }
38
+ React.useEffect(() => {
39
+ remoteCallbacksRef.current = remoteCallbacks;
40
+ }, [remoteCallbacks]);
41
+ const context = React.useMemo(() => ({
42
+ ...StyleContext,
43
+ ...FocusContext,
44
+ ...NavigationContext,
45
+ setRemoteCallbacks
46
+ }), [StyleContext, FocusContext, NavigationContext, setRemoteCallbacks]);
47
+ return /*#__PURE__*/_jsx(SnowContext.Provider, {
48
+ style: {
49
+ flex: 1
50
+ },
51
+ value: context,
52
+ children: props.children
53
+ });
54
+ }
55
+ export default SnowContextProvider;
56
+ //# sourceMappingURL=snow-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Platform","useFocusContext","useNavigationContext","useStyleContext","jsx","_jsx","SnowContext","createContext","useSnowContext","value","useContext","Error","SnowContextProvider","props","StyleContext","FocusContext","NavigationContext","remoteCallbacks","setRemoteCallbacks","useState","remoteCallbacksRef","useRef","isTV","remoteHandler","remoteEvent","callbacks","current","key","callback","Object","entries","kind","eventType","action","eventKeyAction","useTVEventHandler","useEffect","context","useMemo","Provider","style","flex","children"],"sourceRoot":"../../../src","sources":["context/snow-context.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,eAAe,QAAQ,yBAAsB;AACtD,SAASC,oBAAoB,QAAQ,8BAA2B;AAChE,SAASC,eAAe,QAAQ,yBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAEtD,MAAMC,WAAW,gBAAGP,KAAK,CAACQ,aAAa,CAAC,CAAC,CAAC,CAAC;AAE3C,OAAO,SAASC,cAAcA,CAAA,EAAG;EAC7B,MAAMC,KAAK,GAAGV,KAAK,CAACW,UAAU,CAACJ,WAAW,CAAC;EAC3C,IAAI,CAACG,KAAK,EAAE;IACR,MAAM,IAAIE,KAAK,CAAC,6DAA6D,CAAC;EAClF;EACA,OAAOF,KAAK;AAChB;AAEA,OAAO,SAASG,mBAAmBA,CAACC,KAAK,EAAE;EACvC,MAAMC,YAAY,GAAGX,eAAe,CAACU,KAAK,CAAC;EAC3C,MAAME,YAAY,GAAGd,eAAe,CAACY,KAAK,CAAC;EAC3C,MAAMG,iBAAiB,GAAGd,oBAAoB,CAACW,KAAK,CAAC;EAErD,MAAM,CAACI,eAAe,EAAEC,kBAAkB,CAAC,GAAGnB,KAAK,CAACoB,QAAQ,CAAC,CAAC,CAAC,CAAC;EAChE,MAAMC,kBAAkB,GAAGrB,KAAK,CAACsB,MAAM,CAACJ,eAAe,CAAC;EAExD,IAAIjB,QAAQ,CAACsB,IAAI,EAAE;IACf,MAAMC,aAAa,GAAIC,WAAW,IAAK;MACnC,MAAMC,SAAS,GAAGL,kBAAkB,CAACM,OAAO;MAC5C,KAAK,MAAM,CAACC,GAAG,EAAEC,QAAQ,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,SAAS,CAAC,EAAE;QACrD,IAAIG,QAAQ,IAAI,IAAI,EAAE;UAClB;QACJ;QACA;QACA,MAAMG,IAAI,GAAGP,WAAW,CAACQ,SAAS;QAClC,MAAMC,MAAM,GAAGT,WAAW,CAACU,cAAc;QACzCN,QAAQ,CAACG,IAAI,EAAEE,MAAM,CAAC;MAC1B;IACJ,CAAC;IACDE,iBAAiB,CAACZ,aAAa,CAAC;EACpC;EAEAxB,KAAK,CAACqC,SAAS,CAAC,MAAM;IAClBhB,kBAAkB,CAACM,OAAO,GAAGT,eAAe;EAChD,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;EAErB,MAAMoB,OAAO,GAAGtC,KAAK,CAACuC,OAAO,CAAC,OAAO;IACjC,GAAGxB,YAAY;IACf,GAAGC,YAAY;IACf,GAAGC,iBAAiB;IACpBE;EACJ,CAAC,CAAC,EAAE,CACAJ,YAAY,EACZC,YAAY,EACZC,iBAAiB,EACjBE,kBAAkB,CACrB,CAAC;EAEF,oBACIb,IAAA,CAACC,WAAW,CAACiC,QAAQ;IACjBC,KAAK,EAAE;MAAEC,IAAI,EAAE;IAAE,CAAE;IACnBhC,KAAK,EAAE4B,OAAQ;IAAAK,QAAA,EAEd7B,KAAK,CAAC6B;EAAQ,CACG,CAAC;AAE/B;AAEA,eAAe9B,mBAAmB","ignoreList":[]}
@@ -3,14 +3,10 @@
3
3
  import React from 'react';
4
4
  import _ from 'lodash';
5
5
  import { Platform, useTVEventHandler, Keyboard, findNodeHandle, UIManager, Dimensions } from 'react-native';
6
- import { SnowSafeArea } from "../component/snow-safe-area.js";
6
+ import { prettyLog } from "../util.js";
7
7
 
8
8
  /*
9
9
  TODO
10
- Scrolling on the snowstream options page isn't working.
11
-
12
- The video player isn't showing up, no matter how I arrange an overlay.
13
-
14
10
  Focus can get lost if in a tabs element there is only text.
15
11
  Nothing inside the tab should be selectable, but the outer view gets a focusKey
16
12
 
@@ -37,34 +33,6 @@ export function useFocusContext() {
37
33
  }
38
34
  return value;
39
35
  }
40
- function getCircularReplacer() {
41
- const seen = new WeakSet();
42
- return (key, value) => {
43
- if (key.indexOf('__') !== -1 || key === '_viewConfig') {
44
- // React garbage, discard key
45
- return '[react node]';
46
- }
47
- if (typeof value === 'object' && value !== null) {
48
- if (seen.has(value)) {
49
- // Circular reference found, discard key
50
- return '[circular reference]';
51
- }
52
- seen.add(value);
53
- }
54
- return value;
55
- };
56
- }
57
- const prettyLog = payload => {
58
- if (Platform.OS !== 'web') {
59
- console.log(JSON.stringify({
60
- ...payload
61
- }, getCircularReplacer(), 4));
62
- } else {
63
- console.log({
64
- ...payload
65
- });
66
- }
67
- };
68
36
  const emptyLayers = () => {
69
37
  return [{
70
38
  layerName: 'app',
@@ -95,7 +63,7 @@ export function FocusContextProvider(props) {
95
63
  const focusedLayerRef = React.useRef(focusedLayer);
96
64
  const [remoteCallbacks, setRemoteCallbacks] = React.useState({});
97
65
  const remoteCallbacksRef = React.useRef({});
98
- let DEBUG_FOCUS = props.DEBUG_FOCUS;
66
+ const DEBUG = props.DEBUG_FOCUS;
99
67
  let SCROLL_OFFSET = 200;
100
68
  if (props.focusVerticalOffset) {
101
69
  SCROLL_OFFSET = props.focusVersionOffset;
@@ -103,6 +71,9 @@ export function FocusContextProvider(props) {
103
71
  React.useEffect(() => {
104
72
  focusedKeyRef.current = focusedKey;
105
73
  }, [focusedKey]);
74
+ React.useEffect(() => {
75
+ focusedLayerRef.current = focusedLayer;
76
+ }, [focusedLayer]);
106
77
  React.useEffect(() => {
107
78
  focusLayersRef.current = focusLayers;
108
79
  }, [focusLayers]);
@@ -113,7 +84,7 @@ export function FocusContextProvider(props) {
113
84
  // After focusMaps are added by components, decide at the focus layer level what should have the first focus
114
85
  React.useEffect(() => {
115
86
  let topLayer = focusLayers?.at(-1);
116
- if (DEBUG_FOCUS === 'verbose') {
87
+ if (DEBUG === 'verbose') {
117
88
  prettyLog({
118
89
  action: 'useEffect(focus)',
119
90
  topLayer,
@@ -131,7 +102,7 @@ export function FocusContextProvider(props) {
131
102
  }
132
103
  }, [focusedKey, focusLayers]);
133
104
  const isFocused = elementFocusKey => {
134
- if (DEBUG_FOCUS === 'verbose') {
105
+ if (DEBUG === 'verbose') {
135
106
  prettyLog({
136
107
  action: 'isFocused',
137
108
  elementFocusKey,
@@ -141,7 +112,7 @@ export function FocusContextProvider(props) {
141
112
  return elementFocusKey && elementFocusKey === focusedKeyRef.current;
142
113
  };
143
114
  const isFocusedLayer = layerName => {
144
- if (DEBUG_FOCUS === 'verbose') {
115
+ if (DEBUG === 'verbose') {
145
116
  prettyLog({
146
117
  action: 'isFocusedLayer',
147
118
  layerName,
@@ -178,11 +149,12 @@ export function FocusContextProvider(props) {
178
149
  focusedKey
179
150
  });
180
151
  }
181
- if (DEBUG_FOCUS === 'verbose') {
152
+ if (DEBUG === 'verbose') {
182
153
  prettyLog({
183
154
  action: 'pushFocusLayer',
184
155
  layerName,
185
- focusLayers: result
156
+ prev,
157
+ result
186
158
  });
187
159
  }
188
160
  return result;
@@ -195,10 +167,11 @@ export function FocusContextProvider(props) {
195
167
  result.pop();
196
168
  setFocusedLayer(result.at(-1).layerName);
197
169
  setFocusedKey(result.at(-1).focusedKey);
198
- if (DEBUG_FOCUS) {
170
+ if (DEBUG) {
199
171
  prettyLog({
200
172
  action: 'popFocusLayer',
201
- focusLayers: result
173
+ prev,
174
+ result
202
175
  });
203
176
  }
204
177
  return result;
@@ -228,7 +201,7 @@ export function FocusContextProvider(props) {
228
201
  return elementRef;
229
202
  };
230
203
  const clearFocusLayers = () => {
231
- if (DEBUG_FOCUS) {
204
+ if (DEBUG) {
232
205
  prettyLog({
233
206
  action: 'clearfocusLayers'
234
207
  });
@@ -262,7 +235,7 @@ export function FocusContextProvider(props) {
262
235
  const directions = {
263
236
  [focusKey]: focus
264
237
  };
265
- if (DEBUG_FOCUS === 'verbose') {
238
+ if (DEBUG === 'verbose') {
266
239
  prettyLog({
267
240
  action: 'addFocusMap',
268
241
  elementRef,
@@ -325,7 +298,7 @@ export function FocusContextProvider(props) {
325
298
  if (!element) {
326
299
  return;
327
300
  }
328
- if (DEBUG_FOCUS === 'verbose') {
301
+ if (DEBUG === 'verbose') {
329
302
  prettyLog({
330
303
  action: 'focusOn',
331
304
  elementRef,
@@ -351,7 +324,7 @@ export function FocusContextProvider(props) {
351
324
  const scrollHandle = typeof scroll.getNativeScrollRef === 'function' ? findNodeHandle(scroll.getNativeScrollRef()) : findNodeHandle(scroll);
352
325
  if (scrollHandle) {
353
326
  UIManager.measureLayout(node, scrollHandle, err => {
354
- if (DEBUG_FOCUS === 'verbose') {
327
+ if (DEBUG === 'verbose') {
355
328
  prettyLog({
356
329
  action: 'focusOn',
357
330
  error: 'Measurement error',
@@ -388,14 +361,14 @@ export function FocusContextProvider(props) {
388
361
  // returning false cancels the requested movement
389
362
  const moveFocus = direction => {
390
363
  if (Keyboard.isVisible()) {
391
- if (DEBUG_FOCUS) {
364
+ if (DEBUG) {
392
365
  prettyLog({
393
366
  action: 'moveFocus FAIL Keyboard is visible'
394
367
  });
395
368
  }
396
369
  return false;
397
370
  }
398
- if (DEBUG_FOCUS) {
371
+ if (DEBUG) {
399
372
  prettyLog({
400
373
  action: 'moveFocus',
401
374
  direction,
@@ -404,7 +377,7 @@ export function FocusContextProvider(props) {
404
377
  });
405
378
  }
406
379
  if (!focusedKeyRef.current || !focusLayersRef.current.length) {
407
- if (DEBUG_FOCUS) {
380
+ if (DEBUG) {
408
381
  prettyLog({
409
382
  action: 'moveFocus FAIL no element currently focused'
410
383
  });
@@ -428,7 +401,7 @@ export function FocusContextProvider(props) {
428
401
  // The target is defined and isn't a cell in the grid
429
402
  if (target && target.indexOf(sourceKey) === -1) {
430
403
  destinationKey = target;
431
- if (DEBUG_FOCUS) {
404
+ if (DEBUG) {
432
405
  prettyLog({
433
406
  action: 'moveFocus->gridAdjustment',
434
407
  sourceKey,
@@ -444,7 +417,7 @@ export function FocusContextProvider(props) {
444
417
  // Use a normal lookup
445
418
  if (!destinationKey && !isGridCell && focusLayer.directions[sourceKey]) {
446
419
  destinationKey = focusLayer.directions[sourceKey][direction];
447
- if (DEBUG_FOCUS) {
420
+ if (DEBUG) {
448
421
  prettyLog({
449
422
  action: 'moveFocus->normalDestination',
450
423
  sourceKey,
@@ -454,7 +427,7 @@ export function FocusContextProvider(props) {
454
427
  }
455
428
  }
456
429
  if (!destinationKey || !focusLayer.refs[destinationKey]) {
457
- if (DEBUG_FOCUS) {
430
+ if (DEBUG) {
458
431
  prettyLog({
459
432
  action: 'moveFocus FAIL no destination found',
460
433
  destinationKey
@@ -462,7 +435,7 @@ export function FocusContextProvider(props) {
462
435
  }
463
436
  return false;
464
437
  }
465
- if (DEBUG_FOCUS) {
438
+ if (DEBUG) {
466
439
  prettyLog({
467
440
  action: 'moveFocus SUCCESS',
468
441
  destinationKey
@@ -488,7 +461,7 @@ export function FocusContextProvider(props) {
488
461
  }
489
462
  const focusMap = focusLayersRef.current.at(-1);
490
463
  const shouldNotPress = Keyboard.isVisible() || !focusMap?.refs?.[focusKey]?.[action];
491
- if (DEBUG_FOCUS) {
464
+ if (DEBUG) {
492
465
  prettyLog({
493
466
  action: 'focusedElementAction',
494
467
  kind: action,
@@ -527,7 +500,7 @@ export function FocusContextProvider(props) {
527
500
  }
528
501
  callback(kind, action);
529
502
  }
530
- if (DEBUG_FOCUS === 'verbose') {
503
+ if (DEBUG === 'verbose') {
531
504
  prettyLog({
532
505
  action: 'remoteHandler',
533
506
  kind,
@@ -604,8 +577,8 @@ export function FocusContextProvider(props) {
604
577
  };
605
578
 
606
579
  // If these are omitted, then TV remote doesn't work on first launch
607
- // This is another low level helper for wired components
608
- // Nothing outside snowui should need it
580
+ // This is a low level helper for wired components
581
+ // Most things outside snowui will not need it
609
582
  const tvRemoteProps = elementProps => {
610
583
  if (!Platform.isTV || !elementProps.focusStart) {
611
584
  return {};
@@ -616,7 +589,7 @@ export function FocusContextProvider(props) {
616
589
  };
617
590
  };
618
591
  const focusContext = {
619
- DEBUG_FOCUS,
592
+ DEBUG,
620
593
  focusedKey,
621
594
  focusedLayer,
622
595
  isFocused,
@@ -639,12 +612,7 @@ export function FocusContextProvider(props) {
639
612
  flex: 1
640
613
  },
641
614
  value: focusContext,
642
- children: /*#__PURE__*/_jsx(SnowSafeArea, {
643
- style: {
644
- flex: 1
645
- },
646
- children: props.children
647
- })
615
+ children: props.children
648
616
  });
649
617
  }
650
618
  export default FocusContextProvider;
@@ -1 +1 @@
1
- {"version":3,"names":["React","_","Platform","useTVEventHandler","Keyboard","findNodeHandle","UIManager","Dimensions","SnowSafeArea","jsx","_jsx","FocusContext","createContext","useFocusContext","value","useContext","Error","getCircularReplacer","seen","WeakSet","key","indexOf","has","add","prettyLog","payload","OS","console","log","JSON","stringify","emptyLayers","layerName","refs","directions","FocusContextProvider","props","focusedKey","setFocusedKey","useState","focusedKeyRef","useRef","focusLayers","setFocusLayers","focusLayersRef","focusedLayer","setFocusedLayer","focusedLayerRef","remoteCallbacks","setRemoteCallbacks","remoteCallbacksRef","DEBUG_FOCUS","SCROLL_OFFSET","focusVerticalOffset","focusVersionOffset","useEffect","current","topLayer","at","action","shouldFocus","hasOwnProperty","focusStartKey","focusStartElementRef","prev","result","hasFocusedStart","focusOn","isFocused","elementFocusKey","isFocusedLayer","pushFocusLayer","layerIsUncloned","push","isUncloned","popFocusLayer","pop","useFocusLayer","name","useLayoutEffect","useFocusWiring","elementProps","addFocusMap","elementRef","focusStart","focusKey","focusDown","focusUp","focusRight","focusLeft","clearFocusLayers","element","onPress","onLongPress","focus","focusLayer","length","merge","requestTVFocus","scroll","scrollViewRef","elementBounds","getBoundingClientRect","scrollBounds","top","scrollTop","bottom","node","scrollHandle","getNativeScrollRef","measureLayout","err","error","x","y","width","height","viewportHeight","get","currentOffsetY","scrollProperties","offset","viewTop","viewBottom","scrollTo","Math","max","animated","target","moveFocus","direction","isVisible","sourceKey","destinationKey","request","normalDestination","isGridCell","split","replace","moveFocusRight","moveFocusLeft","moveFocusUp","moveFocusDown","focusedElementAction","focusMap","shouldNotPress","kind","keyboardVisible","focusAction","focusPress","focusLongPress","isTV","remoteHandler","remoteEvent","callbacks","eventType","eventKeyAction","callback","Object","entries","focusKeyboardHandler","event","window","addEventListener","removeEventListener","readFocusProps","focusProps","tvRemoteProps","focusable","hasTVPreferredFocus","focusContext","Provider","style","flex","children"],"sourceRoot":"../../../src","sources":["context/snow-focus-context.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,CAAC,MAAM,QAAQ;AACtB,SACIC,QAAQ,EACRC,iBAAiB,EACjBC,QAAQ,EACRC,cAAc,EACdC,SAAS,EACTC,UAAU,QACP,cAAc;AACrB,SAASC,YAAY,QAAQ,gCAA6B;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtBA,SAAAC,GAAA,IAAAC,IAAA;AAwBA,MAAMC,YAAY,gBAAGX,KAAK,CAACY,aAAa,CAAC,CAAC,CAAC,CAAC;AAE5C,OAAO,SAASC,eAAeA,CAAA,EAAG;EAC9B,MAAMC,KAAK,GAAGd,KAAK,CAACe,UAAU,CAACJ,YAAY,CAAC;EAC5C,IAAI,CAACG,KAAK,EAAE;IACR,MAAM,IAAIE,KAAK,CAAC,+DAA+D,CAAC;EACpF;EACA,OAAOF,KAAK;AAChB;AAEA,SAASG,mBAAmBA,CAAA,EAAG;EAC3B,MAAMC,IAAI,GAAG,IAAIC,OAAO,CAAC,CAAC;EAC1B,OAAO,CAACC,GAAG,EAAEN,KAAK,KAAK;IACnB,IAAIM,GAAG,CAACC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAID,GAAG,KAAK,aAAa,EAAE;MACnD;MACA,OAAO,cAAc;IACzB;IACA,IAAI,OAAON,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE;MAC7C,IAAII,IAAI,CAACI,GAAG,CAACR,KAAK,CAAC,EAAE;QACjB;QACA,OAAO,sBAAsB;MACjC;MACAI,IAAI,CAACK,GAAG,CAACT,KAAK,CAAC;IACnB;IACA,OAAOA,KAAK;EAChB,CAAC;AACL;AAEA,MAAMU,SAAS,GAAIC,OAAO,IAAK;EAC3B,IAAIvB,QAAQ,CAACwB,EAAE,KAAK,KAAK,EAAE;IACvBC,OAAO,CAACC,GAAG,CAACC,IAAI,CAACC,SAAS,CAAC;MAAE,GAAGL;IAAQ,CAAC,EAAER,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EACzE,CAAC,MAAM;IACHU,OAAO,CAACC,GAAG,CAAC;MAAE,GAAGH;IAAQ,CAAC,CAAC;EAC/B;AACJ,CAAC;AAED,MAAMM,WAAW,GAAGA,CAAA,KAAM;EACtB,OAAO,CACH;IACIC,SAAS,EAAE,KAAK;IAChBC,IAAI,EAAE,CAAC,CAAC;IACRC,UAAU,EAAE,CAAC;EACjB,CAAC,CACJ;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAACC,KAAK,EAAE;EACxC,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGtC,KAAK,CAACuC,QAAQ,CAAC,IAAI,CAAC;EACxD,MAAMC,aAAa,GAAGxC,KAAK,CAACyC,MAAM,CAACJ,UAAU,CAAC;EAC9C,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAG3C,KAAK,CAACuC,QAAQ,CAACR,WAAW,CAAC,CAAC,CAAC;EACnE,MAAMa,cAAc,GAAG5C,KAAK,CAACyC,MAAM,CAACC,WAAW,CAAC;EAChD,MAAM,CAACG,YAAY,EAAEC,eAAe,CAAC,GAAG9C,KAAK,CAACuC,QAAQ,CAAC,KAAK,CAAC;EAC7D,MAAMQ,eAAe,GAAG/C,KAAK,CAACyC,MAAM,CAACI,YAAY,CAAC;EAClD,MAAM,CAACG,eAAe,EAAEC,kBAAkB,CAAC,GAAGjD,KAAK,CAACuC,QAAQ,CAAC,CAAC,CAAC,CAAC;EAChE,MAAMW,kBAAkB,GAAGlD,KAAK,CAACyC,MAAM,CAAC,CAAC,CAAC,CAAC;EAE3C,IAAIU,WAAW,GAAGf,KAAK,CAACe,WAAW;EACnC,IAAIC,aAAa,GAAG,GAAG;EACvB,IAAIhB,KAAK,CAACiB,mBAAmB,EAAE;IAC3BD,aAAa,GAAGhB,KAAK,CAACkB,kBAAkB;EAC5C;EAEAtD,KAAK,CAACuD,SAAS,CAAC,MAAM;IAClBf,aAAa,CAACgB,OAAO,GAAGnB,UAAU;EACtC,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhBrC,KAAK,CAACuD,SAAS,CAAC,MAAM;IAClBX,cAAc,CAACY,OAAO,GAAGd,WAAW;EACxC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB1C,KAAK,CAACuD,SAAS,CAAC,MAAM;IAClBL,kBAAkB,CAACM,OAAO,GAAGR,eAAe;EAChD,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;;EAErB;EACAhD,KAAK,CAACuD,SAAS,CAAC,MAAM;IAClB,IAAIE,QAAQ,GAAGf,WAAW,EAAEgB,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,IAAIP,WAAW,KAAK,SAAS,EAAE;MAC3B3B,SAAS,CAAC;QAAEmC,MAAM,EAAE,kBAAkB;QAAEF,QAAQ;QAAEpB;MAAW,CAAC,CAAC;IACnE;IACA,MAAMuB,WAAW,GAAG,CAACvB,UAAU,IAAK,CAAC,CAACA,UAAU,IAAI,CAACoB,QAAQ,CAACvB,UAAU,CAAC2B,cAAc,CAACxB,UAAU,CAAE;IACpG,IAAIuB,WAAW,IAAIH,QAAQ,CAACK,aAAa,IAAIL,QAAQ,CAACM,oBAAoB,EAAE;MACxEpB,cAAc,CAAEqB,IAAI,IAAK;QACrB,IAAIC,MAAM,GAAG,CAAC,GAAGD,IAAI,CAAC;QACtBC,MAAM,CAACP,EAAE,CAAC,CAAC,CAAC,CAAC,CAACQ,eAAe,GAAG,IAAI;QACpC,OAAOD,MAAM;MACjB,CAAC,CAAC;MACFE,OAAO,CAACV,QAAQ,CAACM,oBAAoB,EAAEN,QAAQ,CAACK,aAAa,CAAC;IAClE;EACJ,CAAC,EAAE,CAACzB,UAAU,EAAEK,WAAW,CAAC,CAAC;EAE7B,MAAM0B,SAAS,GAAIC,eAAe,IAAK;IACnC,IAAIlB,WAAW,KAAK,SAAS,EAAE;MAC3B3B,SAAS,CAAC;QAAEmC,MAAM,EAAE,WAAW;QAAEU,eAAe;QAAEhC;MAAW,CAAC,CAAC;IACnE;IACA,OAAOgC,eAAe,IAAIA,eAAe,KAAK7B,aAAa,CAACgB,OAAO;EACvE,CAAC;EAED,MAAMc,cAAc,GAAItC,SAAS,IAAK;IAClC,IAAImB,WAAW,KAAK,SAAS,EAAE;MAC3B3B,SAAS,CAAC;QAAEmC,MAAM,EAAE,gBAAgB;QAAE3B,SAAS;QAAEU;MAAY,CAAC,CAAC;IACnE;IACA,OAAOV,SAAS,IAAIU,WAAW,CAACgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC1B,SAAS,KAAKA,SAAS;EAClE,CAAC;EAED,MAAMuC,cAAc,GAAGA,CAACvC,SAAS,EAAEwC,eAAe,KAAK;IACnD;IACA;IACA;IACA;IACA;IACA7B,cAAc,CAAEqB,IAAI,IAAK;MACrB,IAAIC,MAAM,GAAG,CAAC,GAAGD,IAAI,CAAC;MACtB,IAAIQ,eAAe,EAAE;QACjBP,MAAM,CAACQ,IAAI,CAAC;UAAEzC,SAAS;UAAEC,IAAI,EAAE,CAAC,CAAC;UAAEC,UAAU,EAAE,CAAC,CAAC;UAAEwC,UAAU,EAAE,IAAI;UAAErC;QAAW,CAAC,CAAC;MACtF,CAAC,MACI;QACD4B,MAAM,CAACQ,IAAI,CAAC;UAAEzC,SAAS;UAAEC,IAAI,EAAE;YAAE,GAAG+B,IAAI,CAACN,EAAE,CAAC,CAAC,CAAC,CAAC,CAACzB;UAAK,CAAC;UAAEC,UAAU,EAAE;YAAE,GAAG8B,IAAI,CAACN,EAAE,CAAC,CAAC,CAAC,CAAC,CAACxB;UAAW,CAAC;UAAEG;QAAW,CAAC,CAAC;MACpH;MACA,IAAIc,WAAW,KAAK,SAAS,EAAE;QAC3B3B,SAAS,CAAC;UAAEmC,MAAM,EAAE,gBAAgB;UAAE3B,SAAS;UAAEU,WAAW,EAAEuB;QAAO,CAAC,CAAC;MAC3E;MACA,OAAOA,MAAM;IACjB,CAAC,CAAC;IACFnB,eAAe,CAACd,SAAS,CAAC;EAC9B,CAAC;EAED,MAAM2C,aAAa,GAAGA,CAAA,KAAM;IACxBhC,cAAc,CAAEqB,IAAI,IAAK;MACrB,IAAIC,MAAM,GAAG,CAAC,GAAGD,IAAI,CAAC;MACtBC,MAAM,CAACW,GAAG,CAAC,CAAC;MACZ9B,eAAe,CAACmB,MAAM,CAACP,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC1B,SAAS,CAAC;MACxCM,aAAa,CAAC2B,MAAM,CAACP,EAAE,CAAC,CAAC,CAAC,CAAC,CAACrB,UAAU,CAAC;MACvC,IAAIc,WAAW,EAAE;QACb3B,SAAS,CAAC;UAAEmC,MAAM,EAAE,eAAe;UAAEjB,WAAW,EAAEuB;QAAO,CAAC,CAAC;MAC/D;MACA,OAAOA,MAAM;IACjB,CAAC,CAAC;EACN,CAAC;EAED,MAAMY,aAAa,GAAGA,CAACC,IAAI,EAAEJ,UAAU,KAAK;IACxC1E,KAAK,CAAC+E,eAAe,CAAC,MAAM;MACxBR,cAAc,CAACO,IAAI,EAAEJ,UAAU,CAAC;MAChC,OAAO,MAAM;QACTC,aAAa,CAAC,CAAC;MACnB,CAAC;IACL,CAAC,EAAE,EAAE,CAAC;EACV,CAAC;;EAED;EACA,MAAMK,cAAc,GAAIC,YAAY,IAAK;IACrC,MAAM;MAAEC,WAAW;MAAErC;IAAa,CAAC,GAAGhC,eAAe,CAAC,CAAC;IACvD,MAAMsE,UAAU,GAAGnF,KAAK,CAACyC,MAAM,CAAC,IAAI,CAAC;IAErCzC,KAAK,CAACuD,SAAS,CAAC,MAAM;MAClB,IAAI4B,UAAU,CAAC3B,OAAO,EAAE;QACpB0B,WAAW,CAACC,UAAU,EAAEF,YAAY,CAAC;MACzC;IACJ,CAAC,EAAE,CACCA,YAAY,CAACG,UAAU,EACvBH,YAAY,CAACI,QAAQ,EACrBJ,YAAY,CAACK,SAAS,EACtBL,YAAY,CAACM,OAAO,EACpBN,YAAY,CAACO,UAAU,EACvBP,YAAY,CAACQ,SAAS,EACtB5C,YAAY,CACf,CAAC;IAEF,OAAOsC,UAAU;EACrB,CAAC;EAED,MAAMO,gBAAgB,GAAGA,CAAA,KAAM;IAC3B,IAAIvC,WAAW,EAAE;MACb3B,SAAS,CAAC;QAAEmC,MAAM,EAAE;MAAmB,CAAC,CAAC;IAC7C;IACAhB,cAAc,CAACZ,WAAW,CAAC,CAAC,CAAC;IAC7BO,aAAa,CAAC,IAAI,CAAC;IACnBQ,eAAe,CAAC,KAAK,CAAC;EAC1B,CAAC;EAED,MAAMoC,WAAW,GAAGA,CAACC,UAAU,EAAEF,YAAY,KAAK;IAC9C,MAAMI,QAAQ,GAAGJ,YAAY,CAACI,QAAQ;IACtC,MAAMpD,IAAI,GAAG;MACT,CAACoD,QAAQ,GAAG;QACRM,OAAO,EAAER,UAAU;QACnBS,OAAO,EAAEX,YAAY,CAACW,OAAO;QAC7BC,WAAW,EAAEZ,YAAY,CAACY;MAC9B;IACJ,CAAC;IACD,IAAIC,KAAK,GAAG,CAAC,CAAC;IACd,IAAIb,YAAY,CAACM,OAAO,EAAE;MACtBO,KAAK,CAAC,IAAI,CAAC,GAAGb,YAAY,CAACM,OAAO;IACtC;IACA,IAAIN,YAAY,CAACK,SAAS,EAAE;MACxBQ,KAAK,CAAC,MAAM,CAAC,GAAGb,YAAY,CAACK,SAAS;IAC1C;IACA,IAAIL,YAAY,CAACO,UAAU,EAAE;MACzBM,KAAK,CAAC,OAAO,CAAC,GAAGb,YAAY,CAACO,UAAU;IAC5C;IACA,IAAIP,YAAY,CAACQ,SAAS,EAAE;MACxBK,KAAK,CAAC,MAAM,CAAC,GAAGb,YAAY,CAACQ,SAAS;IAC1C;IACA,MAAMvD,UAAU,GAAG;MACf,CAACmD,QAAQ,GAAGS;IAChB,CAAC;IACD,IAAI3C,WAAW,KAAK,SAAS,EAAE;MAC3B3B,SAAS,CAAC;QAAEmC,MAAM,EAAE,aAAa;QAAEwB,UAAU;QAAEF,YAAY;QAAEI,QAAQ;QAAEpD,IAAI;QAAEC;MAAW,CAAC,CAAC;IAC9F;IACAS,cAAc,CAAEqB,IAAI,IAAK;MACrB,IAAIC,MAAM,GAAG,CAAC,GAAGD,IAAI,CAAC;MACtB,IAAI+B,UAAU,GAAG9B,MAAM,CAACA,MAAM,CAAC+B,MAAM,GAAG,CAAC,CAAC;MAC1C,IAAIf,YAAY,CAACM,OAAO,EAAE;QACtB,IAAI,CAACQ,UAAU,CAAC7D,UAAU,CAAC2B,cAAc,CAACoB,YAAY,CAACM,OAAO,CAAC,EAAE;UAC7DQ,UAAU,CAAC7D,UAAU,CAAC+C,YAAY,CAACM,OAAO,CAAC,GAAG,CAAC,CAAC;QACpD;QACA,IAAI,CAACQ,UAAU,CAAC7D,UAAU,CAAC+C,YAAY,CAACM,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE;UACtDQ,UAAU,CAAC7D,UAAU,CAAC+C,YAAY,CAACM,OAAO,CAAC,CAAC,MAAM,CAAC,GAAGF,QAAQ;QAClE;MACJ;MACA,IAAIJ,YAAY,CAACK,SAAS,EAAE;QACxB,IAAI,CAACS,UAAU,CAAC7D,UAAU,CAAC2B,cAAc,CAACoB,YAAY,CAACK,SAAS,CAAC,EAAE;UAC/DS,UAAU,CAAC7D,UAAU,CAAC+C,YAAY,CAACK,SAAS,CAAC,GAAG,CAAC,CAAC;QACtD;QACA,IAAI,CAACS,UAAU,CAAC7D,UAAU,CAAC+C,YAAY,CAACK,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE;UACtDS,UAAU,CAAC7D,UAAU,CAAC+C,YAAY,CAACK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAGD,QAAQ;QAClE;MACJ;MACA,IAAIJ,YAAY,CAACQ,SAAS,EAAE;QACxB,IAAI,CAACM,UAAU,CAAC7D,UAAU,CAAC2B,cAAc,CAACoB,YAAY,CAACQ,SAAS,CAAC,EAAE;UAC/DM,UAAU,CAAC7D,UAAU,CAAC+C,YAAY,CAACQ,SAAS,CAAC,GAAG,CAAC,CAAC;QACtD;QACA,IAAI,CAACM,UAAU,CAAC7D,UAAU,CAAC+C,YAAY,CAACQ,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE;UACzDM,UAAU,CAAC7D,UAAU,CAAC+C,YAAY,CAACQ,SAAS,CAAC,CAAC,OAAO,CAAC,GAAGJ,QAAQ;QACrE;MACJ;MACA,IAAIJ,YAAY,CAACO,UAAU,EAAE;QACzB,IAAI,CAACO,UAAU,CAAC7D,UAAU,CAAC2B,cAAc,CAACoB,YAAY,CAACO,UAAU,CAAC,EAAE;UAChEO,UAAU,CAAC7D,UAAU,CAAC+C,YAAY,CAACO,UAAU,CAAC,GAAG,CAAC,CAAC;QACvD;QACA,IAAI,CAACO,UAAU,CAAC7D,UAAU,CAAC+C,YAAY,CAACO,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE;UACzDO,UAAU,CAAC7D,UAAU,CAAC+C,YAAY,CAACO,UAAU,CAAC,CAAC,MAAM,CAAC,GAAGH,QAAQ;QACrE;MACJ;MACA,IAAIJ,YAAY,CAACG,UAAU,EAAE;QACzBW,UAAU,CAAChC,oBAAoB,GAAGoB,UAAU;QAC5CY,UAAU,CAACjC,aAAa,GAAGmB,YAAY,CAACI,QAAQ;MACpD;MACApB,MAAM,CAACA,MAAM,CAAC+B,MAAM,GAAG,CAAC,CAAC,GAAG/F,CAAC,CAACgG,KAAK,CAAC,CAAC,CAAC,EAAE;QAAE,GAAGF;MAAW,CAAC,EAAE;QAAE9D,IAAI;QAAEC;MAAW,CAAC,CAAC;MAChF,OAAO+B,MAAM;IACjB,CAAC,CAAC;EACN,CAAC;EAED,MAAME,OAAO,GAAGA,CAACgB,UAAU,EAAEE,QAAQ,KAAK;IACtC,MAAMM,OAAO,GAAGR,UAAU,EAAE3B,OAAO;IACnC,IAAI,CAACmC,OAAO,EAAE;MACV;IACJ;IACA,IAAIxC,WAAW,KAAK,SAAS,EAAE;MAC3B3B,SAAS,CAAC;QAAEmC,MAAM,EAAE,SAAS;QAAEwB,UAAU;QAAEE;MAAS,CAAC,CAAC;IAC1D;IAEAM,OAAO,CAACO,cAAc,GAAG,CAAC;IAC1BP,OAAO,CAACG,KAAK,GAAG,CAAC;IAEjB,MAAMK,MAAM,GAAG/D,KAAK,EAAEgE,aAAa,EAAE5C,OAAO;IAE5C,IAAItD,QAAQ,CAACwB,EAAE,KAAK,KAAK,EAAE;MACvB,IAAIiE,OAAO,IAAIQ,MAAM,EAAE;QACnB,MAAME,aAAa,GAAGV,OAAO,CAACW,qBAAqB,CAAC,CAAC;QACrD,MAAMC,YAAY,GAAGJ,MAAM,CAACG,qBAAqB,CAAC,CAAC;QAEnD,IAAID,aAAa,CAACG,GAAG,GAAGD,YAAY,CAACC,GAAG,GAAGpD,aAAa,EAAE;UACtD+C,MAAM,CAACM,SAAS,IAAIJ,aAAa,CAACG,GAAG,GAAGD,YAAY,CAACC,GAAG,GAAGpD,aAAa;QAC5E,CAAC,MAAM,IAAIiD,aAAa,CAACK,MAAM,GAAGH,YAAY,CAACG,MAAM,EAAE;UACnDP,MAAM,CAACM,SAAS,IAAIJ,aAAa,CAACK,MAAM,GAAGH,YAAY,CAACG,MAAM,GAAGtD,aAAa;QAClF;MACJ;IACJ,CAAC,MAAM;MACH,MAAMuD,IAAI,GAAGtG,cAAc,CAACsF,OAAO,CAAC;MAEpC,IAAIQ,MAAM,IAAIQ,IAAI,EAAE;QAChB,MAAMC,YAAY,GACd,OAAOT,MAAM,CAACU,kBAAkB,KAAK,UAAU,GACzCxG,cAAc,CAAC8F,MAAM,CAACU,kBAAkB,CAAC,CAAC,CAAC,GAC3CxG,cAAc,CAAC8F,MAAM,CAAC;QAEhC,IAAIS,YAAY,EAAE;UACdtG,SAAS,CAACwG,aAAa,CACnBH,IAAI,EACJC,YAAY,EACXG,GAAG,IAAK;YACL,IAAI5D,WAAW,KAAK,SAAS,EAAE;cAC3B3B,SAAS,CAAC;gBAAEmC,MAAM,EAAE,SAAS;gBAAEqD,KAAK,EAAE,mBAAmB;gBAAED;cAAI,CAAC,CAAC;YACrE;UACJ,CAAC,EACD,CAACE,CAAC,EAAEC,CAAC,EAAEC,KAAK,EAAEC,MAAM,KAAK;YACrB,MAAMC,cAAc,GAAG9G,UAAU,CAAC+G,GAAG,CAAC,QAAQ,CAAC,CAACF,MAAM;YAEtD,MAAMG,cAAc,GAAGpB,MAAM,EAAEqB,gBAAgB,EAAEC,MAAM,IAAI,CAAC;YAE5D,MAAMjB,GAAG,GAAGU,CAAC;YACb,MAAMR,MAAM,GAAGQ,CAAC,GAAGE,MAAM;YAEzB,MAAMM,OAAO,GAAGH,cAAc;YAC9B,MAAMI,UAAU,GAAGJ,cAAc,GAAGF,cAAc;YAElD,IAAIb,GAAG,GAAGpD,aAAa,GAAGsE,OAAO,EAAE;cAC/BvB,MAAM,CAACyB,QAAQ,GAAG;gBAAEV,CAAC,EAAEW,IAAI,CAACC,GAAG,CAACtB,GAAG,GAAGpD,aAAa,EAAE,CAAC,CAAC;gBAAE2E,QAAQ,EAAE;cAAM,CAAC,CAAC;YAC/E,CAAC,MAAM,IAAIrB,MAAM,GAAGiB,UAAU,EAAE;cAC5B,MAAMK,MAAM,GAAGtB,MAAM,GAAGW,cAAc,GAAGjE,aAAa;cACtD+C,MAAM,CAACyB,QAAQ,GAAG;gBAAEV,CAAC,EAAEc,MAAM;gBAAED,QAAQ,EAAE;cAAM,CAAC,CAAC;YACrD;UACJ,CACJ,CAAC;QACL;MACJ;IACJ;IAEAzF,aAAa,CAAC+C,QAAQ,CAAC;IACvB7C,aAAa,CAACgB,OAAO,GAAG6B,QAAQ;EACpC,CAAC;;EAED;EACA,MAAM4C,SAAS,GAAIC,SAAS,IAAK;IAC7B,IAAI9H,QAAQ,CAAC+H,SAAS,CAAC,CAAC,EAAE;MACtB,IAAIhF,WAAW,EAAE;QACb3B,SAAS,CAAC;UAAEmC,MAAM,EAAE;QAAqC,CAAC,CAAC;MAC/D;MACA,OAAO,KAAK;IAChB;IACA,IAAIR,WAAW,EAAE;MACb3B,SAAS,CAAC;QAAEmC,MAAM,EAAE,WAAW;QAAEuE,SAAS;QAAE7F,UAAU,EAAEG,aAAa,CAACgB,OAAO;QAAEd,WAAW,EAAEE,cAAc,CAACY;MAAQ,CAAC,CAAC;IACzH;IACA,IAAI,CAAChB,aAAa,CAACgB,OAAO,IAAI,CAACZ,cAAc,CAACY,OAAO,CAACwC,MAAM,EAAE;MAC1D,IAAI7C,WAAW,EAAE;QACb3B,SAAS,CAAC;UAAEmC,MAAM,EAAE;QAA8C,CAAC,CAAC;MACxE;MACA,OAAO,KAAK;IAChB;IACA,IAAIyE,SAAS,GAAG5F,aAAa,CAACgB,OAAO;IACrC,IAAI6E,cAAc,GAAG,IAAI;IACzB,MAAMtC,UAAU,GAAGnD,cAAc,CAACY,OAAO,CAACE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhD,MAAM4E,OAAO,GAAGvC,UAAU,CAAC7D,UAAU,GAAGkG,SAAS,CAAC,GAAGF,SAAS,CAAC;IAC/D,MAAMK,iBAAiB,GAAGD,OAAO,IAAIvC,UAAU,CAAC7D,UAAU,CAAC2B,cAAc,CAACyE,OAAO,CAAC;IAClF,IAAIE,UAAU,GAAG,KAAK;IACtB,IAAI,CAACD,iBAAiB,EAAE;MACpBC,UAAU,GAAIJ,SAAS,CAAC/G,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI+G,SAAS,CAAC/G,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAM+G,SAAS,CAAC/G,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAE;MACnI,IAAImH,UAAU,EAAE;QACZJ,SAAS,GAAGA,SAAS,CAACK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvC;QACA;QACAL,SAAS,GAAGA,SAAS,CAACM,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9C,IAAIV,MAAM,GAAGjC,UAAU,CAAC7D,UAAU,GAAGkG,SAAS,CAAC,GAAGF,SAAS,CAAC;QAC5D;QACA,IAAIF,MAAM,IAAIA,MAAM,CAAC3G,OAAO,CAAC+G,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;UAC5CC,cAAc,GAAGL,MAAM;UACvB,IAAI7E,WAAW,EAAE;YACb3B,SAAS,CAAC;cAAEmC,MAAM,EAAE,2BAA2B;cAAEyE,SAAS;cAAEC,cAAc;cAAEtC;YAAW,CAAC,CAAC;UAC7F;QACJ;MACJ;IACJ;;IAEA;IACA;IACA,IAAI,CAACsC,cAAc,IAAI,CAACG,UAAU,IAAIzC,UAAU,CAAC7D,UAAU,CAACkG,SAAS,CAAC,EAAE;MACpEC,cAAc,GAAGtC,UAAU,CAAC7D,UAAU,CAACkG,SAAS,CAAC,CAACF,SAAS,CAAC;MAC5D,IAAI/E,WAAW,EAAE;QACb3B,SAAS,CAAC;UAAEmC,MAAM,EAAE,8BAA8B;UAAEyE,SAAS;UAAEC,cAAc;UAAEtC;QAAW,CAAC,CAAC;MAChG;IACJ;IAGA,IAAI,CAACsC,cAAc,IAAI,CAACtC,UAAU,CAAC9D,IAAI,CAACoG,cAAc,CAAC,EAAE;MACrD,IAAIlF,WAAW,EAAE;QACb3B,SAAS,CAAC;UAAEmC,MAAM,EAAE,qCAAqC;UAAE0E;QAAe,CAAC,CAAC;MAChF;MACA,OAAO,KAAK;IAChB;IAEA,IAAIlF,WAAW,EAAE;MACb3B,SAAS,CAAC;QAAEmC,MAAM,EAAE,mBAAmB;QAAE0E;MAAe,CAAC,CAAC;IAC9D;IACAlE,OAAO,CAAC4B,UAAU,CAAC9D,IAAI,CAACoG,cAAc,CAAC,CAAC1C,OAAO,EAAE0C,cAAc,CAAC;EACpE,CAAC;EAED,MAAMM,cAAc,GAAGA,CAAA,KAAM;IACzBV,SAAS,CAAC,OAAO,CAAC;EACtB,CAAC;EAED,MAAMW,aAAa,GAAGA,CAAA,KAAM;IACxBX,SAAS,CAAC,MAAM,CAAC;EACrB,CAAC;EAED,MAAMY,WAAW,GAAGA,CAAA,KAAM;IACtBZ,SAAS,CAAC,IAAI,CAAC;EACnB,CAAC;EAED,MAAMa,aAAa,GAAGA,CAAA,KAAM;IACxBb,SAAS,CAAC,MAAM,CAAC;EACrB,CAAC;EAED,MAAMc,oBAAoB,GAAGA,CAAC1D,QAAQ,EAAE1B,MAAM,KAAK;IAC/C,IAAI,CAAC0B,QAAQ,EAAE;MACXA,QAAQ,GAAG7C,aAAa,CAACgB,OAAO;IACpC;IACA,MAAMwF,QAAQ,GAAGpG,cAAc,CAACY,OAAO,CAACE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAMuF,cAAc,GAAG7I,QAAQ,CAAC+H,SAAS,CAAC,CAAC,IAAI,CAAEa,QAAQ,EAAE/G,IAAI,GAAGoD,QAAQ,CAAC,GAAG1B,MAAM,CAAE;IACtF,IAAIR,WAAW,EAAE;MACb3B,SAAS,CAAC;QAAEmC,MAAM,EAAE,sBAAsB;QAAEuF,IAAI,EAAEvF,MAAM;QAAE0B,QAAQ;QAAE4D,cAAc;QAAEE,eAAe,EAAE/I,QAAQ,CAAC+H,SAAS,CAAC,CAAC;QAAE,CAACxE,MAAM,GAAGqF,QAAQ,EAAE/G,IAAI,GAAGoD,QAAQ,CAAC,GAAG1B,MAAM;MAAE,CAAC,CAAC;IAChL;IACA,IAAIsF,cAAc,EAAE;MAChB,OAAO,KAAK;IAChB;IACA,OAAOD,QAAQ,CAAC/G,IAAI,CAACoD,QAAQ,CAAC,CAAC1B,MAAM,CAAC,CAAC,CAAC;EAC5C,CAAC;EAED,MAAMyF,WAAW,GAAGA,CAACjE,UAAU,EAAEE,QAAQ,EAAE1B,MAAM,KAAK;IAClD,OAAO,MAAM;MACTQ,OAAO,CAACgB,UAAU,EAAEE,QAAQ,CAAC;MAC7B0D,oBAAoB,CAAC1D,QAAQ,EAAE1B,MAAM,CAAC;IAC1C,CAAC;EACL,CAAC;EAED,MAAM0F,UAAU,GAAGA,CAAClE,UAAU,EAAEE,QAAQ,KAAK;IACzC,OAAO+D,WAAW,CAACjE,UAAU,EAAEE,QAAQ,EAAE,SAAS,CAAC;EACvD,CAAC;EAED,MAAMiE,cAAc,GAAGA,CAACnE,UAAU,EAAEE,QAAQ,KAAK;IAC7C,OAAO+D,WAAW,CAACjE,UAAU,EAAEE,QAAQ,EAAE,aAAa,CAAC;EAC3D,CAAC;EAED,IAAInF,QAAQ,CAACqJ,IAAI,EAAE;IACf,MAAMC,aAAa,GAAIC,WAAW,IAAK;MACnC,MAAMC,SAAS,GAAGxG,kBAAkB,CAACM,OAAO;MAC5C;MACA,MAAM0F,IAAI,GAAGO,WAAW,CAACE,SAAS;MAClC,MAAMhG,MAAM,GAAG8F,WAAW,CAACG,cAAc;MACzC,KAAK,MAAM,CAAC3J,CAAC,EAAE4J,QAAQ,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,SAAS,CAAC,EAAE;QACnD,IAAIG,QAAQ,IAAI,IAAI,EAAE;UAClB;QACJ;QACAA,QAAQ,CAACX,IAAI,EAAEvF,MAAM,CAAC;MAC1B;MACA,IAAIR,WAAW,KAAK,SAAS,EAAE;QAC3B3B,SAAS,CAAC;UAAEmC,MAAM,EAAE,eAAe;UAAEuF,IAAI;UAAEvF,MAAM;UAAEtB,UAAU,EAAEG,aAAa,CAACgB;QAAQ,CAAC,CAAC;MAC3F;MACA,QAAQ0F,IAAI;QACR,KAAK,IAAI;UACLL,WAAW,CAAC,CAAC;UACb;QACJ,KAAK,MAAM;UACPC,aAAa,CAAC,CAAC;UACf;QACJ,KAAK,OAAO;UACRH,cAAc,CAAC,CAAC;UAChB;QACJ,KAAK,MAAM;UACPC,aAAa,CAAC,CAAC;UACf;QACJ;UACI;MAER;IAEJ,CAAC;IACDzI,iBAAiB,CAACqJ,aAAa,CAAC;EACpC;EAEA,IAAItJ,QAAQ,CAACwB,EAAE,KAAK,KAAK,EAAE;IACvB1B,KAAK,CAACuD,SAAS,CAAC,MAAM;MAClB,MAAMyG,oBAAoB,GAAIC,KAAK,IAAK;QACpC,QAAQA,KAAK,CAAC7I,GAAG;UACb,KAAK,SAAS;YACVyH,WAAW,CAAC,CAAC;YACb;UACJ,KAAK,WAAW;YACZC,aAAa,CAAC,CAAC;YACf;UACJ,KAAK,WAAW;YACZF,aAAa,CAAC,CAAC;YACf;UACJ,KAAK,YAAY;YACbD,cAAc,CAAC,CAAC;YAChB;UACJ;YACI;QACR;MACJ,CAAC;MACDuB,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAEH,oBAAoB,CAAC;MACxD,OAAO,MAAM;QACTE,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAEJ,oBAAoB,CAAC;MAC/D,CAAC;IACL,CAAC,EAAE,EAAE,CAAC;EACV;EAEA,MAAMK,cAAc,GAAIpF,YAAY,IAAK;IACrC,IAAIqF,UAAU,GAAG,CAAC,CAAC;IACnB,IAAIrF,YAAY,CAACG,UAAU,EAAE;MACzBkF,UAAU,CAAClF,UAAU,GAAGH,YAAY,CAACG,UAAU;IACnD;IACA,IAAIH,YAAY,CAACI,QAAQ,EAAE;MACvBiF,UAAU,CAACjF,QAAQ,GAAGJ,YAAY,CAACI,QAAQ;IAC/C;IACA,IAAIJ,YAAY,CAACM,OAAO,EAAE;MACtB+E,UAAU,CAAC/E,OAAO,GAAGN,YAAY,CAACM,OAAO;IAC7C;IACA,IAAIN,YAAY,CAACK,SAAS,EAAE;MACxBgF,UAAU,CAAChF,SAAS,GAAGL,YAAY,CAACK,SAAS;IACjD;IACA,IAAIL,YAAY,CAACQ,SAAS,EAAE;MACxB6E,UAAU,CAAC7E,SAAS,GAAGR,YAAY,CAACQ,SAAS;IACjD;IACA,IAAIR,YAAY,CAACO,UAAU,EAAE;MACzB8E,UAAU,CAAC9E,UAAU,GAAGP,YAAY,CAACO,UAAU;IACnD;IACA,OAAO8E,UAAU;EACrB,CAAC;;EAED;EACA;EACA;EACA,MAAMC,aAAa,GAAItF,YAAY,IAAK;IACpC,IAAI,CAAC/E,QAAQ,CAACqJ,IAAI,IAAI,CAACtE,YAAY,CAACG,UAAU,EAAE;MAC5C,OAAO,CAAC,CAAC;IACb;IACA,OAAO;MACHoF,SAAS,EAAEvF,YAAY,CAACG,UAAU;MAClCqF,mBAAmB,EAAExF,YAAY,CAACG;IACtC,CAAC;EACL,CAAC;EAED,MAAMsF,YAAY,GAAG;IACjBvH,WAAW;IACXd,UAAU;IACVQ,YAAY;IACZuB,SAAS;IACTE,cAAc;IACdiG,aAAa;IACbvF,cAAc;IACdE,WAAW;IACXL,aAAa;IACbF,aAAa;IACbJ,cAAc;IACdmB,gBAAgB;IAChB2E,cAAc;IACdpH,kBAAkB;IAClBqG,cAAc;IACdnF,OAAO;IACPkF;EACJ,CAAC;EAED,oBACI3I,IAAA,CAACC,YAAY,CAACgK,QAAQ;IAClBC,KAAK,EAAE;MAAEC,IAAI,EAAE;IAAE,CAAE;IACnB/J,KAAK,EAAE4J,YAAa;IAAAI,QAAA,eACpBpK,IAAA,CAACF,YAAY;MAACoK,KAAK,EAAE;QAAEC,IAAI,EAAE;MAAE,CAAE;MAAAC,QAAA,EAC5B1I,KAAK,CAAC0I;IAAQ,CACL;EAAC,CACI,CAAC;AAEhC;AAEA,eAAe3I,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["React","_","Platform","useTVEventHandler","Keyboard","findNodeHandle","UIManager","Dimensions","prettyLog","jsx","_jsx","FocusContext","createContext","useFocusContext","value","useContext","Error","emptyLayers","layerName","refs","directions","FocusContextProvider","props","focusedKey","setFocusedKey","useState","focusedKeyRef","useRef","focusLayers","setFocusLayers","focusLayersRef","focusedLayer","setFocusedLayer","focusedLayerRef","remoteCallbacks","setRemoteCallbacks","remoteCallbacksRef","DEBUG","DEBUG_FOCUS","SCROLL_OFFSET","focusVerticalOffset","focusVersionOffset","useEffect","current","topLayer","at","action","shouldFocus","hasOwnProperty","focusStartKey","focusStartElementRef","prev","result","hasFocusedStart","focusOn","isFocused","elementFocusKey","isFocusedLayer","pushFocusLayer","layerIsUncloned","push","isUncloned","popFocusLayer","pop","useFocusLayer","name","useLayoutEffect","useFocusWiring","elementProps","addFocusMap","elementRef","focusStart","focusKey","focusDown","focusUp","focusRight","focusLeft","clearFocusLayers","element","onPress","onLongPress","focus","focusLayer","length","merge","requestTVFocus","scroll","scrollViewRef","OS","elementBounds","getBoundingClientRect","scrollBounds","top","scrollTop","bottom","node","scrollHandle","getNativeScrollRef","measureLayout","err","error","x","y","width","height","viewportHeight","get","currentOffsetY","scrollProperties","offset","viewTop","viewBottom","scrollTo","Math","max","animated","target","moveFocus","direction","isVisible","sourceKey","destinationKey","request","normalDestination","isGridCell","indexOf","split","replace","moveFocusRight","moveFocusLeft","moveFocusUp","moveFocusDown","focusedElementAction","focusMap","shouldNotPress","kind","keyboardVisible","focusAction","focusPress","focusLongPress","isTV","remoteHandler","remoteEvent","callbacks","eventType","eventKeyAction","callback","Object","entries","focusKeyboardHandler","event","key","window","addEventListener","removeEventListener","readFocusProps","focusProps","tvRemoteProps","focusable","hasTVPreferredFocus","focusContext","Provider","style","flex","children"],"sourceRoot":"../../../src","sources":["context/snow-focus-context.js"],"mappings":"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","ignoreList":[]}