expo-snowui 1.1.2 → 1.1.4

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.
@@ -65,17 +65,21 @@ export function SnowGrid(props) {
65
65
  let row = Math.floor(index / itemsPerRow);
66
66
  let column = index % itemsPerRow;
67
67
  let focus = {};
68
- if (index === 0) {
69
- if (child.props.focusKey) {
70
- focus.focusKey = child.props.focusKey;
71
- } else {
68
+ if (child.props.focusKey) {
69
+ focus.focusKey = child.props.focusKey;
70
+ } else {
71
+ if (index === 0) {
72
72
  focus.focusKey = props.focusKey;
73
+ } else {
74
+ focus.focusKey = `${props.focusKey}-row-${row}-column-${column}`;
73
75
  }
74
- if (props.focusStart) {
76
+ }
77
+ if (child.props.focusStart) {
78
+ focus.focusStart = child.props.focusStart;
79
+ } else {
80
+ if (index === 0 && props.focusStart) {
75
81
  focus.focusStart = true;
76
82
  }
77
- } else {
78
- focus.focusKey = `${props.focusKey}-row-${row}-column-${column}`;
79
83
  }
80
84
  if (row === 0) {
81
85
  if (props.focusUp) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","FlatList","useStyleContext","jsx","_jsx","SnowGrid","props","items","children","Children","toArray","filter","child","length","SnowStyle","itemsPerRow","itemStyle","flexBasis","gridStyle","push","short","component","grid","renderItem","item","itemIndex","columnStyle","list","maxColumn","Math","min","maxRow","max","ceil","lastElementColumn","style","scrollEnabled","scroll","numColumns","contentContainerStyle","columnWrapperStyle","data","index","separators","row","floor","column","focus","focusKey","focusStart","focusUp","focusDown","focusLeft","focusRight","cloneElement"],"sourceRoot":"../../../src","sources":["component/snow-grid.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","FlatList","useStyleContext","jsx","_jsx","SnowGrid","props","items","children","Children","toArray","filter","child","length","SnowStyle","itemsPerRow","itemStyle","flexBasis","gridStyle","push","short","component","grid","renderItem","item","itemIndex","columnStyle","list","maxColumn","Math","min","maxRow","max","ceil","lastElementColumn","style","scrollEnabled","scroll","numColumns","contentContainerStyle","columnWrapperStyle","data","index","separators","row","floor","column","focus","focusKey","focusStart","focusUp","focusDown","focusLeft","focusRight","cloneElement"],"sourceRoot":"../../../src","sources":["component/snow-grid.js"],"mappings":"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","ignoreList":[]}
@@ -239,35 +239,37 @@ export function FocusContextProvider(props) {
239
239
  }
240
240
  }
241
241
  const opposite = oppositeDirections[direction];
242
- // If the requested destination points to the current node in the opposite direction, then they can be transiently linked
243
- // If a request comes from the same direction but a different source node in the future, then that link overrides any previously created
244
- const hasReverseMapping = focusMap.directions[destinationKey] && focusMap.directions[destinationKey][opposite];
245
- const hasTransientMapping = focusMap.transient && focusMap.transient[destinationKey] && focusMap.transient[destinationKey][opposite];
246
- if (!hasReverseMapping || hasTransientMapping) {
247
- setFocusMaps(prev => {
248
- const transient = {
249
- [destinationKey]: {
250
- [opposite]: sourceKey
242
+ if (destinationKey) {
243
+ // If the requested destination points to the current node in the opposite direction, then they can be transiently linked
244
+ // If a request comes from the same direction but a different source node in the future, then that link overrides any previously created
245
+ const hasReverseMapping = focusMap.directions[destinationKey] && focusMap.directions[destinationKey][opposite];
246
+ const hasTransientMapping = focusMap.transient && focusMap.transient[destinationKey] && focusMap.transient[destinationKey][opposite];
247
+ if (!hasReverseMapping || hasTransientMapping) {
248
+ setFocusMaps(prev => {
249
+ const transient = {
250
+ [destinationKey]: {
251
+ [opposite]: sourceKey
252
+ }
253
+ };
254
+ if (DEBUG_FOCUS) {
255
+ console.log({
256
+ action: 'moveFocus->transientMap',
257
+ transient
258
+ });
251
259
  }
252
- };
253
- if (DEBUG_FOCUS) {
254
- console.log({
255
- action: 'moveFocus->transientMap',
260
+ let result = [...prev];
261
+ const directions = {
262
+ [destinationKey]: {
263
+ [opposite]: sourceKey
264
+ }
265
+ };
266
+ result[result.length - 1] = _.merge({}, result[result.length - 1], {
267
+ directions,
256
268
  transient
257
269
  });
258
- }
259
- let result = [...prev];
260
- const directions = {
261
- [destinationKey]: {
262
- [opposite]: sourceKey
263
- }
264
- };
265
- result[result.length - 1] = _.merge({}, result[result.length - 1], {
266
- directions,
267
- transient
270
+ return result;
268
271
  });
269
- return result;
270
- });
272
+ }
271
273
  }
272
274
  if (!destinationKey) {
273
275
  // No direct mapping was found
@@ -1 +1 @@
1
- {"version":3,"names":["React","_","Platform","useTVEventHandler","Keyboard","findNodeHandle","SnowSafeArea","jsx","_jsx","DEBUG_FOCUS","FocusContext","createContext","useFocusContext","value","useContext","Error","oppositeDirections","FocusContextProvider","props","focusedKey","setFocusedKey","useState","focusedKeyRef","useRef","focusMaps","setFocusMaps","layerName","refs","directions","focusMapsRef","remoteCallbacks","setRemoteCallbacks","remoteCallbacksRef","useEffect","current","isFocused","elementFocusKey","console","log","action","isFocusedLayer","layerMaps","length","pushFocusLayer","prev","result","push","popFocusLayer","pop","clearFocusLayers","addFocusMap","elementRef","elementProps","focusKey","element","onPress","onLongPress","focusUp","focusRight","focusDown","focusLeft","merge","transient","focusOn","focus","moveFocus","direction","isVisible","sourceKey","destinationKey","focusMap","normalDestination","hasOwnProperty","isGridCell","indexOf","split","destinationInGrid","opposite","hasReverseMapping","hasTransientMapping","hasInferredMapping","inferred","inferredKey","Object","keys","moveFocusRight","moveFocusLeft","moveFocusUp","moveFocusDown","pressFocusedElement","longPressFocusedElement","focusPress","isTV","focusLongPress","remoteHandler","remoteEvent","callbacks","kind","eventType","eventKeyAction","callback","entries","OS","focusKeyboardHandler","event","key","code","window","addEventListener","removeEventListener","readFocusProps","focusProps","focusStart","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","SnowSafeArea","jsx","_jsx","DEBUG_FOCUS","FocusContext","createContext","useFocusContext","value","useContext","Error","oppositeDirections","FocusContextProvider","props","focusedKey","setFocusedKey","useState","focusedKeyRef","useRef","focusMaps","setFocusMaps","layerName","refs","directions","focusMapsRef","remoteCallbacks","setRemoteCallbacks","remoteCallbacksRef","useEffect","current","isFocused","elementFocusKey","console","log","action","isFocusedLayer","layerMaps","length","pushFocusLayer","prev","result","push","popFocusLayer","pop","clearFocusLayers","addFocusMap","elementRef","elementProps","focusKey","element","onPress","onLongPress","focusUp","focusRight","focusDown","focusLeft","merge","transient","focusOn","focus","moveFocus","direction","isVisible","sourceKey","destinationKey","focusMap","normalDestination","hasOwnProperty","isGridCell","indexOf","split","destinationInGrid","opposite","hasReverseMapping","hasTransientMapping","hasInferredMapping","inferred","inferredKey","Object","keys","moveFocusRight","moveFocusLeft","moveFocusUp","moveFocusDown","pressFocusedElement","longPressFocusedElement","focusPress","isTV","focusLongPress","remoteHandler","remoteEvent","callbacks","kind","eventType","eventKeyAction","callback","entries","OS","focusKeyboardHandler","event","key","code","window","addEventListener","removeEventListener","readFocusProps","focusProps","focusStart","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.1.2",
3
+ "version": "1.1.4",
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",
@@ -69,18 +69,23 @@ export function SnowGrid(props) {
69
69
  let column = index % itemsPerRow
70
70
  let focus = {}
71
71
 
72
- if (index === 0) {
73
- if (child.props.focusKey) {
74
- focus.focusKey = child.props.focusKey
75
- } else {
72
+ if (child.props.focusKey) {
73
+ focus.focusKey = child.props.focusKey
74
+ }
75
+ else {
76
+ if (index === 0) {
76
77
  focus.focusKey = props.focusKey
77
78
  }
78
- if (props.focusStart) {
79
- focus.focusStart = true
79
+ else {
80
+ focus.focusKey = `${props.focusKey}-row-${row}-column-${column}`
80
81
  }
81
-
82
+ }
83
+ if (child.props.focusStart) {
84
+ focus.focusStart = child.props.focusStart
82
85
  } else {
83
- focus.focusKey = `${props.focusKey}-row-${row}-column-${column}`
86
+ if (index === 0 && props.focusStart) {
87
+ focus.focusStart = true
88
+ }
84
89
  }
85
90
 
86
91
  if (row === 0) {
@@ -199,29 +199,31 @@ export function FocusContextProvider(props) {
199
199
  }
200
200
 
201
201
  const opposite = oppositeDirections[direction]
202
- // If the requested destination points to the current node in the opposite direction, then they can be transiently linked
203
- // If a request comes from the same direction but a different source node in the future, then that link overrides any previously created
204
- const hasReverseMapping = focusMap.directions[destinationKey] && focusMap.directions[destinationKey][opposite]
205
- const hasTransientMapping = focusMap.transient && focusMap.transient[destinationKey] && focusMap.transient[destinationKey][opposite]
206
- if (!hasReverseMapping || hasTransientMapping) {
207
- setFocusMaps((prev) => {
208
- const transient = {
209
- [destinationKey]: {
210
- [opposite]: sourceKey
202
+ if (destinationKey) {
203
+ // If the requested destination points to the current node in the opposite direction, then they can be transiently linked
204
+ // If a request comes from the same direction but a different source node in the future, then that link overrides any previously created
205
+ const hasReverseMapping = focusMap.directions[destinationKey] && focusMap.directions[destinationKey][opposite]
206
+ const hasTransientMapping = focusMap.transient && focusMap.transient[destinationKey] && focusMap.transient[destinationKey][opposite]
207
+ if (!hasReverseMapping || hasTransientMapping) {
208
+ setFocusMaps((prev) => {
209
+ const transient = {
210
+ [destinationKey]: {
211
+ [opposite]: sourceKey
212
+ }
211
213
  }
212
- }
213
- if (DEBUG_FOCUS) {
214
- console.log({ action: 'moveFocus->transientMap', transient })
215
- }
216
- let result = [...prev]
217
- const directions = {
218
- [destinationKey]: {
219
- [opposite]: sourceKey
214
+ if (DEBUG_FOCUS) {
215
+ console.log({ action: 'moveFocus->transientMap', transient })
220
216
  }
221
- }
222
- result[result.length - 1] = _.merge({}, result[result.length - 1], { directions, transient })
223
- return result
224
- })
217
+ let result = [...prev]
218
+ const directions = {
219
+ [destinationKey]: {
220
+ [opposite]: sourceKey
221
+ }
222
+ }
223
+ result[result.length - 1] = _.merge({}, result[result.length - 1], { directions, transient })
224
+ return result
225
+ })
226
+ }
225
227
  }
226
228
  if (!destinationKey) {
227
229
  // No direct mapping was found