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.
- package/lib/module/component/wired/snow-overlay.js +2 -2
- package/lib/module/component/wired/snow-overlay.js.map +1 -1
- package/lib/module/context/snow-context.js +56 -0
- package/lib/module/context/snow-context.js.map +1 -0
- package/lib/module/context/snow-focus-context.js +31 -63
- package/lib/module/context/snow-focus-context.js.map +1 -1
- package/lib/module/context/snow-navigation-context.js +302 -0
- package/lib/module/context/snow-navigation-context.js.map +1 -0
- package/lib/module/index.js +10 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/snow-app.js +35 -15
- package/lib/module/snow-app.js.map +1 -1
- package/lib/module/util.js +116 -0
- package/lib/module/util.js.map +1 -0
- package/lib/typescript/src/index.d.ts +4 -25
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/component/wired/snow-overlay.js +2 -2
- package/src/context/snow-context.js +69 -0
- package/src/context/snow-focus-context.js +31 -58
- package/src/context/snow-navigation-context.js +280 -0
- package/src/index.tsx +11 -1
- package/src/snow-app.js +53 -9
- package/src/util.js +119 -0
|
@@ -11,7 +11,7 @@ const SnowOverlayW = props => {
|
|
|
11
11
|
SnowStyle
|
|
12
12
|
} = useStyleContext(props);
|
|
13
13
|
const {
|
|
14
|
-
|
|
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
|
-
}, [
|
|
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","
|
|
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 {
|
|
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
|
-
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
152
|
+
if (DEBUG === 'verbose') {
|
|
182
153
|
prettyLog({
|
|
183
154
|
action: 'pushFocusLayer',
|
|
184
155
|
layerName,
|
|
185
|
-
|
|
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 (
|
|
170
|
+
if (DEBUG) {
|
|
199
171
|
prettyLog({
|
|
200
172
|
action: 'popFocusLayer',
|
|
201
|
-
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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
|
|
608
|
-
//
|
|
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
|
-
|
|
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:
|
|
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":"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","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":[]}
|