expo-snowui 1.2.18 → 1.2.20

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.
@@ -7,27 +7,34 @@ import { useFocusContext } from "../../context/snow-focus-context.js";
7
7
  import SnowText from "../snow-text.js";
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
9
  const SnowOverlayW = props => {
10
- if (!props.focusLayer) {
11
- return /*#__PURE__*/_jsx(SnowText, {
12
- children: "SnowOverlay requires a focusLayer prop"
13
- });
14
- }
15
10
  const {
16
11
  SnowStyle
17
12
  } = useStyleContext(props);
18
13
  const {
19
- useFocusLayer,
20
- isFocusedLayer,
21
- focusPress,
14
+ focusOn,
22
15
  focusLongPress,
23
- useFocusWiring,
24
- tvRemoteProps
16
+ focusPress,
17
+ isFocused,
18
+ isFocusedLayer,
19
+ tvRemoteProps,
20
+ useFocusLayer,
21
+ useFocusWiring
25
22
  } = useFocusContext();
26
23
  const elementRef = useFocusWiring(props);
27
24
  useFocusLayer(props.focusLayer, true);
25
+ React.useEffect(() => {
26
+ if (isFocusedLayer(props.focusLayer) && !isFocused(props.focusKey) && props.stealFocus !== false) {
27
+ focusOn(elementRef, props.focusKey);
28
+ }
29
+ });
28
30
  if (!isFocusedLayer(props.focusLayer)) {
29
31
  return null;
30
32
  }
33
+ if (!props.focusLayer) {
34
+ return /*#__PURE__*/_jsx(SnowText, {
35
+ children: "SnowOverlay requires a focusLayer prop"
36
+ });
37
+ }
31
38
  let style = [SnowStyle.component.overlay.touchable];
32
39
  if (props.transparent) {
33
40
  style.push(SnowStyle.component.overlay.transparent);
@@ -1 +1 @@
1
- {"version":3,"names":["React","TouchableOpacity","useStyleContext","useFocusContext","SnowText","jsx","_jsx","SnowOverlayW","props","focusLayer","children","SnowStyle","useFocusLayer","isFocusedLayer","focusPress","focusLongPress","useFocusWiring","tvRemoteProps","elementRef","style","component","overlay","touchable","transparent","push","black","ref","activeOpacity","onPress","focusKey","onLongPress","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,IAAI,CAACA,KAAK,CAACC,UAAU,EAAE;IACnB,oBAAOH,IAAA,CAACF,QAAQ;MAAAM,QAAA,EAAC;IAAsC,CAAU,CAAC;EACtE;EACA,MAAM;IAAEC;EAAU,CAAC,GAAGT,eAAe,CAACM,KAAK,CAAC;EAC5C,MAAM;IAAEI,aAAa;IAAEC,cAAc;IAAEC,UAAU;IAAEC,cAAc;IAAEC,cAAc;IAAEC;EAAc,CAAC,GAAGd,eAAe,CAAC,CAAC;EACtH,MAAMe,UAAU,GAAGF,cAAc,CAACR,KAAK,CAAC;EAExCI,aAAa,CAACJ,KAAK,CAACC,UAAU,EAAE,IAAI,CAAC;EACrC,IAAI,CAACI,cAAc,CAACL,KAAK,CAACC,UAAU,CAAC,EAAE;IACnC,OAAO,IAAI;EACf;EAEA,IAAIU,KAAK,GAAG,CAACR,SAAS,CAACS,SAAS,CAACC,OAAO,CAACC,SAAS,CAAC;EACnD,IAAId,KAAK,CAACe,WAAW,EAAE;IACnBJ,KAAK,CAACK,IAAI,CAACb,SAAS,CAACS,SAAS,CAACC,OAAO,CAACE,WAAW,CAAC;EACvD;EACA,IAAIf,KAAK,CAACiB,KAAK,EAAE;IACbN,KAAK,CAACK,IAAI,CAACb,SAAS,CAACS,SAAS,CAACC,OAAO,CAACI,KAAK,CAAC;EACjD;EAEA,oBACInB,IAAA,CAACL,gBAAgB;IACbyB,GAAG,EAAER,UAAW;IAAA,GACZD,aAAa;IACjBE,KAAK,EAAEA,KAAM;IACbQ,aAAa,EAAE,CAAE,CAAC;IAAA;IAClBC,OAAO,EAAEd,UAAU,CAACI,UAAU,EAAEV,KAAK,CAACqB,QAAQ,CAAE;IAChDC,WAAW,EAAEf,cAAc,CAACG,UAAU,EAAEV,KAAK,CAACqB,QAAQ,CAAE;IACxDnB,QAAQ,EAAEF,KAAK,CAACE;EAAS,CAC5B,CAAC;AAEV,CAAC;AAEDH,YAAY,CAACwB,gBAAgB,GAAG,IAAI;AAEpC,OAAO,MAAMC,WAAW,GAAGzB,YAAY;AAEvC,eAAeyB,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["React","TouchableOpacity","useStyleContext","useFocusContext","SnowText","jsx","_jsx","SnowOverlayW","props","SnowStyle","focusOn","focusLongPress","focusPress","isFocused","isFocusedLayer","tvRemoteProps","useFocusLayer","useFocusWiring","elementRef","focusLayer","useEffect","focusKey","stealFocus","children","style","component","overlay","touchable","transparent","push","black","ref","activeOpacity","onPress","onLongPress","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,OAAO;IACPC,cAAc;IACdC,UAAU;IACVC,SAAS;IACTC,cAAc;IACdC,aAAa;IACbC,aAAa;IACbC;EACJ,CAAC,GAAGd,eAAe,CAAC,CAAC;EACrB,MAAMe,UAAU,GAAGD,cAAc,CAACT,KAAK,CAAC;EAExCQ,aAAa,CAACR,KAAK,CAACW,UAAU,EAAE,IAAI,CAAC;EAErCnB,KAAK,CAACoB,SAAS,CAAC,MAAM;IAClB,IAAIN,cAAc,CAACN,KAAK,CAACW,UAAU,CAAC,IAAI,CAACN,SAAS,CAACL,KAAK,CAACa,QAAQ,CAAC,IAAIb,KAAK,CAACc,UAAU,KAAK,KAAK,EAAE;MAC9FZ,OAAO,CAACQ,UAAU,EAAEV,KAAK,CAACa,QAAQ,CAAC;IACvC;EACJ,CAAC,CAAC;EAEF,IAAI,CAACP,cAAc,CAACN,KAAK,CAACW,UAAU,CAAC,EAAE;IACnC,OAAO,IAAI;EACf;EAEA,IAAI,CAACX,KAAK,CAACW,UAAU,EAAE;IACnB,oBAAOb,IAAA,CAACF,QAAQ;MAAAmB,QAAA,EAAC;IAAsC,CAAU,CAAC;EACtE;EAEA,IAAIC,KAAK,GAAG,CAACf,SAAS,CAACgB,SAAS,CAACC,OAAO,CAACC,SAAS,CAAC;EACnD,IAAInB,KAAK,CAACoB,WAAW,EAAE;IACnBJ,KAAK,CAACK,IAAI,CAACpB,SAAS,CAACgB,SAAS,CAACC,OAAO,CAACE,WAAW,CAAC;EACvD;EACA,IAAIpB,KAAK,CAACsB,KAAK,EAAE;IACbN,KAAK,CAACK,IAAI,CAACpB,SAAS,CAACgB,SAAS,CAACC,OAAO,CAACI,KAAK,CAAC;EACjD;EAEA,oBACIxB,IAAA,CAACL,gBAAgB;IACb8B,GAAG,EAAEb,UAAW;IAAA,GACZH,aAAa;IACjBS,KAAK,EAAEA,KAAM;IACbQ,aAAa,EAAE,CAAE,CAAC;IAAA;IAClBC,OAAO,EAAErB,UAAU,CAACM,UAAU,EAAEV,KAAK,CAACa,QAAQ,CAAE;IAChDa,WAAW,EAAEvB,cAAc,CAACO,UAAU,EAAEV,KAAK,CAACa,QAAQ,CAAE;IACxDE,QAAQ,EAAEf,KAAK,CAACe;EAAS,CAC5B,CAAC;AAEV,CAAC;AAEDhB,YAAY,CAAC4B,gBAAgB,GAAG,IAAI;AAEpC,OAAO,MAAMC,WAAW,GAAG7B,YAAY;AAEvC,eAAe6B,WAAW","ignoreList":[]}
@@ -104,7 +104,15 @@ export function FocusContextProvider(props) {
104
104
  // After focusMaps are added by components, decide at the focus layer level what should have the first focus
105
105
  React.useEffect(() => {
106
106
  let topLayer = focusLayers?.at(-1);
107
- if (!topLayer.hasFocusedStart && topLayer.focusStartKey && topLayer.focusStartElementRef && (topLayer.isUncloned || !focusedKeyRef.current)) {
107
+ if (DEBUG_FOCUS === 'verbose') {
108
+ prettyLog({
109
+ action: 'useEffect(focus)',
110
+ topLayer,
111
+ focusedKey
112
+ });
113
+ }
114
+ const shouldFocus = !focusedKey || !!focusedKey && !topLayer.directions.hasOwnProperty(focusedKey);
115
+ if (shouldFocus && topLayer.focusStartKey && topLayer.focusStartElementRef) {
108
116
  setFocusLayers(prev => {
109
117
  let result = [...prev];
110
118
  result.at(-1).hasFocusedStart = true;
@@ -112,7 +120,7 @@ export function FocusContextProvider(props) {
112
120
  });
113
121
  focusOn(topLayer.focusStartElementRef, topLayer.focusStartKey);
114
122
  }
115
- }, [focusLayers, currentLayer]);
123
+ }, [focusedKey, focusLayers]);
116
124
  const isFocused = elementFocusKey => {
117
125
  if (DEBUG_FOCUS === 'verbose') {
118
126
  prettyLog({
@@ -319,21 +327,23 @@ export function FocusContextProvider(props) {
319
327
  elementRef
320
328
  });
321
329
  }
322
- elementRef.current.focus();
323
- let scroll = focusLayersRef.current?.at(-1)?.scrollViewRef;
324
- if (scroll) {
325
- elementRef.measureLayout(scroll.getInnerViewNode(), (x, y) => {
326
- scroll.scrollTo({
327
- y,
328
- animated: true
329
- });
330
- }, err => {
331
- if (DEBUG_FOCUS) {
332
- prettyLog({
333
- error: 'Measurement error for scrollview'
330
+ if (elementRef?.current) {
331
+ elementRef.current.focus();
332
+ let scroll = focusLayersRef.current?.at(-1)?.scrollViewRef;
333
+ if (scroll) {
334
+ elementRef.measureLayout(scroll.getInnerViewNode(), (x, y) => {
335
+ scroll.scrollTo({
336
+ y,
337
+ animated: true
334
338
  });
335
- }
336
- });
339
+ }, err => {
340
+ if (DEBUG_FOCUS) {
341
+ prettyLog({
342
+ error: 'Measurement error for scrollview'
343
+ });
344
+ }
345
+ });
346
+ }
337
347
  }
338
348
  setFocusedKey(focusKey);
339
349
  focusedKeyRef.current = focusKey;
@@ -1 +1 @@
1
- {"version":3,"names":["React","_","Platform","useTVEventHandler","Keyboard","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","remoteCallbacks","setRemoteCallbacks","remoteCallbacksRef","currentLayer","setCurrentLayer","DEBUG_FOCUS","useEffect","current","topLayer","at","hasFocusedStart","focusStartKey","focusStartElementRef","isUncloned","prev","result","focusOn","isFocused","elementFocusKey","action","isFocusedLayer","pushFocusLayer","layerIsUncloned","push","popFocusLayer","pop","useFocusLayer","name","useLayoutEffect","useFocusWiring","elementProps","addFocusMap","elementRef","focusStart","focusKey","focusDown","focusUp","focusRight","focusLeft","clearFocusLayers","setScrollViewRef","scrollViewRef","focusLayer","length","element","onPress","onLongPress","focus","hasOwnProperty","merge","scroll","measureLayout","getInnerViewNode","x","y","scrollTo","animated","err","error","moveFocus","direction","isVisible","sourceKey","destinationKey","request","normalDestination","isGridCell","split","replace","target","moveFocusRight","moveFocusLeft","moveFocusUp","moveFocusDown","pressFocusedElement","focusMap","canPress","keyboardVisible","longPressFocusedElement","focusPress","focusLongPress","isTV","remoteHandler","remoteEvent","callbacks","kind","eventType","eventKeyAction","callback","Object","entries","focusKeyboardHandler","event","code","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","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","remoteCallbacks","setRemoteCallbacks","remoteCallbacksRef","currentLayer","setCurrentLayer","DEBUG_FOCUS","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","setScrollViewRef","scrollViewRef","focusLayer","length","element","onPress","onLongPress","focus","merge","scroll","measureLayout","getInnerViewNode","x","y","scrollTo","animated","err","error","moveFocus","direction","isVisible","sourceKey","destinationKey","request","normalDestination","isGridCell","split","replace","target","moveFocusRight","moveFocusLeft","moveFocusUp","moveFocusDown","pressFocusedElement","focusMap","canPress","keyboardVisible","longPressFocusedElement","focusPress","focusLongPress","isTV","remoteHandler","remoteEvent","callbacks","kind","eventType","eventKeyAction","callback","Object","entries","focusKeyboardHandler","event","code","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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-snowui",
3
- "version": "1.2.18",
3
+ "version": "1.2.20",
4
4
  "description": "GUI components and contexts shared by the snowsuite apps",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -5,18 +5,35 @@ import { useFocusContext } from '../../context/snow-focus-context'
5
5
  import SnowText from '../snow-text'
6
6
 
7
7
  const SnowOverlayW = (props) => {
8
- if (!props.focusLayer) {
9
- return <SnowText>SnowOverlay requires a focusLayer prop</SnowText>
10
- }
11
8
  const { SnowStyle } = useStyleContext(props)
12
- const { useFocusLayer, isFocusedLayer, focusPress, focusLongPress, useFocusWiring, tvRemoteProps } = useFocusContext()
9
+ const {
10
+ focusOn,
11
+ focusLongPress,
12
+ focusPress,
13
+ isFocused,
14
+ isFocusedLayer,
15
+ tvRemoteProps,
16
+ useFocusLayer,
17
+ useFocusWiring,
18
+ } = useFocusContext()
13
19
  const elementRef = useFocusWiring(props)
14
20
 
15
21
  useFocusLayer(props.focusLayer, true)
22
+
23
+ React.useEffect(() => {
24
+ if (isFocusedLayer(props.focusLayer) && !isFocused(props.focusKey) && props.stealFocus !== false) {
25
+ focusOn(elementRef, props.focusKey)
26
+ }
27
+ })
28
+
16
29
  if (!isFocusedLayer(props.focusLayer)) {
17
30
  return null
18
31
  }
19
32
 
33
+ if (!props.focusLayer) {
34
+ return <SnowText>SnowOverlay requires a focusLayer prop</SnowText>
35
+ }
36
+
20
37
  let style = [SnowStyle.component.overlay.touchable]
21
38
  if (props.transparent) {
22
39
  style.push(SnowStyle.component.overlay.transparent)
@@ -107,7 +107,11 @@ export function FocusContextProvider(props) {
107
107
  // After focusMaps are added by components, decide at the focus layer level what should have the first focus
108
108
  React.useEffect(() => {
109
109
  let topLayer = focusLayers?.at(-1)
110
- if (!topLayer.hasFocusedStart && topLayer.focusStartKey && topLayer.focusStartElementRef && (topLayer.isUncloned || !focusedKeyRef.current)) {
110
+ if (DEBUG_FOCUS === 'verbose') {
111
+ prettyLog({ action: 'useEffect(focus)', topLayer, focusedKey })
112
+ }
113
+ const shouldFocus = !focusedKey || (!!focusedKey && !topLayer.directions.hasOwnProperty(focusedKey))
114
+ if (shouldFocus && topLayer.focusStartKey && topLayer.focusStartElementRef) {
111
115
  setFocusLayers((prev) => {
112
116
  let result = [...prev]
113
117
  result.at(-1).hasFocusedStart = true
@@ -115,7 +119,7 @@ export function FocusContextProvider(props) {
115
119
  })
116
120
  focusOn(topLayer.focusStartElementRef, topLayer.focusStartKey)
117
121
  }
118
- }, [focusLayers, currentLayer])
122
+ }, [focusedKey, focusLayers])
119
123
 
120
124
  const isFocused = (elementFocusKey) => {
121
125
  if (DEBUG_FOCUS === 'verbose') {
@@ -292,21 +296,24 @@ export function FocusContextProvider(props) {
292
296
  if (DEBUG_FOCUS) {
293
297
  prettyLog({ action: 'focusOn', focusKey, elementRef })
294
298
  }
295
- elementRef.current.focus()
296
- let scroll = focusLayersRef.current?.at(-1)?.scrollViewRef
297
- if (scroll) {
298
- elementRef.measureLayout(
299
- scroll.getInnerViewNode(),
300
- (x, y) => {
301
- scroll.scrollTo({ y, animated: true });
302
- },
303
- (err) => {
304
- if (DEBUG_FOCUS) {
305
- prettyLog({ error: 'Measurement error for scrollview' })
299
+ if (elementRef?.current) {
300
+ elementRef.current.focus()
301
+ let scroll = focusLayersRef.current?.at(-1)?.scrollViewRef
302
+ if (scroll) {
303
+ elementRef.measureLayout(
304
+ scroll.getInnerViewNode(),
305
+ (x, y) => {
306
+ scroll.scrollTo({ y, animated: true });
307
+ },
308
+ (err) => {
309
+ if (DEBUG_FOCUS) {
310
+ prettyLog({ error: 'Measurement error for scrollview' })
311
+ }
306
312
  }
307
- }
308
- );
313
+ );
314
+ }
309
315
  }
316
+
310
317
  setFocusedKey(focusKey)
311
318
  focusedKeyRef.current = focusKey
312
319
  }