expo-snowui 1.2.18 → 1.2.19

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,19 @@ 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
+ let shouldFocus = !topLayer.hasFocusedStart && topLayer.focusStartKey && topLayer.focusStartElementRef;
108
+ let hasNoFocus = topLayer.isUncloned || !focusedKeyRef.current || !focusedKey;
109
+ let hasInvalidFocus = focusedKey && !topLayer.directions.hasOwnProperty(focusedKey);
110
+ if (DEBUG_FOCUS === 'verbose') {
111
+ prettyLog({
112
+ action: 'useEffect(focus)',
113
+ topLayer,
114
+ shouldFocus,
115
+ hasNoFocus,
116
+ focusedKey
117
+ });
118
+ }
119
+ if (shouldFocus && hasNoFocus || hasInvalidFocus) {
108
120
  setFocusLayers(prev => {
109
121
  let result = [...prev];
110
122
  result.at(-1).hasFocusedStart = true;
@@ -112,7 +124,7 @@ export function FocusContextProvider(props) {
112
124
  });
113
125
  focusOn(topLayer.focusStartElementRef, topLayer.focusStartKey);
114
126
  }
115
- }, [focusLayers, currentLayer]);
127
+ }, [focusLayers, currentLayer, focusedKey]);
116
128
  const isFocused = elementFocusKey => {
117
129
  if (DEBUG_FOCUS === 'verbose') {
118
130
  prettyLog({
@@ -319,21 +331,23 @@ export function FocusContextProvider(props) {
319
331
  elementRef
320
332
  });
321
333
  }
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'
334
+ if (elementRef?.current) {
335
+ elementRef.current.focus();
336
+ let scroll = focusLayersRef.current?.at(-1)?.scrollViewRef;
337
+ if (scroll) {
338
+ elementRef.measureLayout(scroll.getInnerViewNode(), (x, y) => {
339
+ scroll.scrollTo({
340
+ y,
341
+ animated: true
334
342
  });
335
- }
336
- });
343
+ }, err => {
344
+ if (DEBUG_FOCUS) {
345
+ prettyLog({
346
+ error: 'Measurement error for scrollview'
347
+ });
348
+ }
349
+ });
350
+ }
337
351
  }
338
352
  setFocusedKey(focusKey);
339
353
  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","shouldFocus","hasFocusedStart","focusStartKey","focusStartElementRef","hasNoFocus","isUncloned","hasInvalidFocus","hasOwnProperty","action","prev","result","focusOn","isFocused","elementFocusKey","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","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.19",
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,13 @@ 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
+ let shouldFocus = !topLayer.hasFocusedStart && topLayer.focusStartKey && topLayer.focusStartElementRef
111
+ let hasNoFocus = topLayer.isUncloned || !focusedKeyRef.current || !focusedKey
112
+ let hasInvalidFocus = focusedKey && !topLayer.directions.hasOwnProperty(focusedKey)
113
+ if (DEBUG_FOCUS === 'verbose') {
114
+ prettyLog({ action: 'useEffect(focus)', topLayer, shouldFocus, hasNoFocus, focusedKey })
115
+ }
116
+ if ((shouldFocus && hasNoFocus) || hasInvalidFocus) {
111
117
  setFocusLayers((prev) => {
112
118
  let result = [...prev]
113
119
  result.at(-1).hasFocusedStart = true
@@ -115,7 +121,7 @@ export function FocusContextProvider(props) {
115
121
  })
116
122
  focusOn(topLayer.focusStartElementRef, topLayer.focusStartKey)
117
123
  }
118
- }, [focusLayers, currentLayer])
124
+ }, [focusLayers, currentLayer, focusedKey])
119
125
 
120
126
  const isFocused = (elementFocusKey) => {
121
127
  if (DEBUG_FOCUS === 'verbose') {
@@ -292,21 +298,24 @@ export function FocusContextProvider(props) {
292
298
  if (DEBUG_FOCUS) {
293
299
  prettyLog({ action: 'focusOn', focusKey, elementRef })
294
300
  }
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' })
301
+ if (elementRef?.current) {
302
+ elementRef.current.focus()
303
+ let scroll = focusLayersRef.current?.at(-1)?.scrollViewRef
304
+ if (scroll) {
305
+ elementRef.measureLayout(
306
+ scroll.getInnerViewNode(),
307
+ (x, y) => {
308
+ scroll.scrollTo({ y, animated: true });
309
+ },
310
+ (err) => {
311
+ if (DEBUG_FOCUS) {
312
+ prettyLog({ error: 'Measurement error for scrollview' })
313
+ }
306
314
  }
307
- }
308
- );
315
+ );
316
+ }
309
317
  }
318
+
310
319
  setFocusedKey(focusKey)
311
320
  focusedKeyRef.current = focusKey
312
321
  }