expo-snowui 1.2.1 → 1.2.3

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.
@@ -206,98 +206,100 @@ export function SnowGrid(props) {
206
206
  separators
207
207
  }) => {
208
208
  let child = renderItem(item, index);
209
- let row = Math.floor(index / itemsPerRow);
210
- let column = index % itemsPerRow;
211
- let focus = {};
212
- if (child.props.focusKey) {
213
- focus.focusKey = child.props.focusKey;
214
- } else {
215
- if (index === 0 && !hasPageControls) {
216
- focus.focusKey = props.focusKey;
209
+ if (props.assignFocus !== false) {
210
+ let row = Math.floor(index / itemsPerRow);
211
+ let column = index % itemsPerRow;
212
+ let focus = {};
213
+ if (child.props.focusKey) {
214
+ focus.focusKey = child.props.focusKey;
217
215
  } else {
218
- focus.focusKey = `${props.focusKey}-row-${row}-column-${column}`;
219
- if (focus.focusKey === lastCellFullKey) {
220
- focus.focusKey = lastCellKey;
216
+ if (index === 0 && !hasPageControls) {
217
+ focus.focusKey = props.focusKey;
218
+ } else {
219
+ focus.focusKey = `${props.focusKey}-row-${row}-column-${column}`;
220
+ if (focus.focusKey === lastCellFullKey) {
221
+ focus.focusKey = lastCellKey;
222
+ }
221
223
  }
222
224
  }
223
- }
224
- // Only allow auto focusing before the pager is used
225
- if (!pagerPressed) {
226
- if (child.props.focusStart) {
227
- focus.focusStart = child.props.focusStart;
228
- } else {
229
- if (index === 0 && props.focusStart) {
230
- focus.focusStart = true;
225
+ // Only allow auto focusing before the pager is used
226
+ if (!pagerPressed) {
227
+ if (child.props.focusStart) {
228
+ focus.focusStart = child.props.focusStart;
229
+ } else {
230
+ if (index === 0 && props.focusStart) {
231
+ focus.focusStart = true;
232
+ }
231
233
  }
232
234
  }
233
- }
234
- if (row === 0) {
235
- if (hasPageControls) {
236
- focus.focusUp = props.focusKey;
237
- } else {
238
- if (props.focusUp) {
239
- focus.focusUp = props.focusUp;
235
+ if (row === 0) {
236
+ if (hasPageControls) {
237
+ focus.focusUp = props.focusKey;
238
+ } else {
239
+ if (props.focusUp) {
240
+ focus.focusUp = props.focusUp;
241
+ }
240
242
  }
241
- }
242
- } else {
243
- if (row - 1 === 0 && column === 0 && !hasPageControls) {
244
- focus.focusUp = props.focusKey;
245
243
  } else {
246
- focus.focusUp = `${props.focusKey}-row-${row - 1}-column-${column}`;
244
+ if (row - 1 === 0 && column === 0 && !hasPageControls) {
245
+ focus.focusUp = props.focusKey;
246
+ } else {
247
+ focus.focusUp = `${props.focusKey}-row-${row - 1}-column-${column}`;
248
+ }
247
249
  }
248
- }
249
- if (row === maxRow - 1) {
250
- if (hasPageControls) {
251
- focus.focusDown = 'next-page-bottom';
250
+ if (row === maxRow - 1) {
251
+ if (hasPageControls) {
252
+ focus.focusDown = 'next-page-bottom';
253
+ } else {
254
+ if (props.focusDown) {
255
+ focus.focusDown = props.focusDown;
256
+ }
257
+ }
252
258
  } else {
253
- if (props.focusDown) {
254
- focus.focusDown = props.focusDown;
259
+ if (row === maxRow - 2 && column >= lastElementColumn - 1) {
260
+ focus.focusDown = lastCellKey;
261
+ } else {
262
+ focus.focusDown = `${props.focusKey}-row-${row + 1}-column-${column}`;
255
263
  }
256
264
  }
257
- } else {
258
- if (row === maxRow - 2 && column >= lastElementColumn - 1) {
259
- focus.focusDown = lastCellKey;
265
+ if (column === 0) {
266
+ if (props.focusLeft) {
267
+ focus.focusLeft = props.focusLeft;
268
+ }
260
269
  } else {
261
- focus.focusDown = `${props.focusKey}-row-${row + 1}-column-${column}`;
262
- }
263
- }
264
- if (column === 0) {
265
- if (props.focusLeft) {
266
- focus.focusLeft = props.focusLeft;
270
+ if (column - 1 === 0 && row === 0) {
271
+ focus.focusLeft = props.focusKey;
272
+ } else {
273
+ focus.focusLeft = `${props.focusKey}-row-${row}-column-${column - 1}`;
274
+ }
267
275
  }
268
- } else {
269
- if (column - 1 === 0 && row === 0) {
270
- focus.focusLeft = props.focusKey;
276
+ if (column === maxColumn - 1) {
277
+ if (props.focusRight) {
278
+ focus.focusRight = props.focusRight;
279
+ }
271
280
  } else {
272
- focus.focusLeft = `${props.focusKey}-row-${row}-column-${column - 1}`;
273
- }
274
- }
275
- if (column === maxColumn - 1) {
276
- if (props.focusRight) {
277
- focus.focusRight = props.focusRight;
281
+ focus.focusRight = `${props.focusKey}-row-${row}-column-${column + 1}`;
282
+ if (row >= maxRow - 1 && column + 1 >= lastElementColumn - 1) {
283
+ focus.focusRight = lastCellKey;
284
+ }
278
285
  }
279
- } else {
280
- focus.focusRight = `${props.focusKey}-row-${row}-column-${column + 1}`;
281
- if (row >= maxRow - 1 && column + 1 >= lastElementColumn - 1) {
282
- focus.focusRight = lastCellKey;
286
+ let debugFocus = {};
287
+ if (DEBUG_FOCUS) {
288
+ debugFocus = {
289
+ maxRow,
290
+ maxColumn,
291
+ lastElementColumn,
292
+ row,
293
+ column,
294
+ lastCellKey,
295
+ lastCellFullKey
296
+ };
283
297
  }
298
+ child = /*#__PURE__*/React.cloneElement(child, {
299
+ ...focus,
300
+ ...debugFocus
301
+ });
284
302
  }
285
- let debugFocus = {};
286
- if (DEBUG_FOCUS) {
287
- debugFocus = {
288
- maxRow,
289
- maxColumn,
290
- lastElementColumn,
291
- row,
292
- column,
293
- lastCellKey,
294
- lastCellFullKey
295
- };
296
- }
297
- child = /*#__PURE__*/React.cloneElement(child, {
298
- ...focus,
299
- ...debugFocus
300
- });
301
303
  return /*#__PURE__*/_jsx(View, {
302
304
  style: itemStyle,
303
305
  children: child
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","FlatList","useStyleContext","useFocusContext","SnowTextButton","SnowText","jsx","_jsx","jsxs","_jsxs","SnowGrid","props","items","children","Children","toArray","filter","child","length","SnowStyle","DEBUG_FOCUS","page","setPage","useState","pagerPressed","setPagerPressed","itemsPerRow","itemsPerPage","maxPage","Math","ceil","itemStyle","flexBasis","gridStyle","push","short","component","grid","renderItem","item","itemIndex","columnStyle","list","hasPageControls","slice","maxColumn","min","maxRow","max","lastElementColumn","pageControls","firstCellKey","focusKey","lastCellKey","lastCellFullKey","firstPage","lastPage","previousPage","prev","nextPage","previousHalf","floor","nextHalf","loc","nextPageKey","nextPageFocus","focusDown","focusUp","style","flexDirection","justifyContent","alignItems","focusLeft","focusRight","title","onPress","noSelect","scrollEnabled","scroll","disableVirtualization","initialNumToRender","numColumns","contentContainerStyle","columnWrapperStyle","data","index","separators","row","column","focus","focusStart","debugFocus","cloneElement"],"sourceRoot":"../../../src","sources":["component/snow-grid.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","FlatList","useStyleContext","useFocusContext","SnowTextButton","SnowText","jsx","_jsx","jsxs","_jsxs","SnowGrid","props","items","children","Children","toArray","filter","child","length","SnowStyle","DEBUG_FOCUS","page","setPage","useState","pagerPressed","setPagerPressed","itemsPerRow","itemsPerPage","maxPage","Math","ceil","itemStyle","flexBasis","gridStyle","push","short","component","grid","renderItem","item","itemIndex","columnStyle","list","hasPageControls","slice","maxColumn","min","maxRow","max","lastElementColumn","pageControls","firstCellKey","focusKey","lastCellKey","lastCellFullKey","firstPage","lastPage","previousPage","prev","nextPage","previousHalf","floor","nextHalf","loc","nextPageKey","nextPageFocus","focusDown","focusUp","style","flexDirection","justifyContent","alignItems","focusLeft","focusRight","title","onPress","noSelect","scrollEnabled","scroll","disableVirtualization","initialNumToRender","numColumns","contentContainerStyle","columnWrapperStyle","data","index","separators","assignFocus","row","column","focus","focusStart","debugFocus","cloneElement"],"sourceRoot":"../../../src","sources":["component/snow-grid.js"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import React from 'react';
3
4
  import { View } from 'react-native';
4
5
  import { useFocusContext } from "../context/snow-focus-context.js";
5
6
 
@@ -22,14 +23,14 @@ export function SnowView(props) {
22
23
  readFocusProps
23
24
  } = useFocusContext();
24
25
  const children = React.Children.toArray(props.children).map((child, childIndex) => {
25
- if (React.isValidElement(child)) {
26
+ if (/*#__PURE__*/React.isValidElement(child)) {
26
27
  if (childIndex === 0) {
27
- return React.cloneElement(child, {
28
+ return /*#__PURE__*/React.cloneElement(child, {
28
29
  ...readFocusProps(props),
29
30
  ...styleProps
30
31
  });
31
32
  }
32
- return React.cloneElement(child, {
33
+ return /*#__PURE__*/React.cloneElement(child, {
33
34
  ...styleProps
34
35
  });
35
36
  }
@@ -1 +1 @@
1
- {"version":3,"names":["View","useFocusContext","jsx","_jsx","SnowView","props","styleProps","snowStyle","snowConfig","readFocusProps","children","React","Children","toArray","map","child","childIndex","isValidElement","cloneElement","filter"],"sourceRoot":"../../../src","sources":["component/snow-view.js"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,eAAe,QAAQ,kCAA+B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAEA,OAAO,SAASC,QAAQA,CAACC,KAAK,EAAE;EAC5B,IAAIC,UAAU,GAAG,CAAC,CAAC;EACnB,IAAID,KAAK,CAACE,SAAS,EAAE;IACjBD,UAAU,CAACC,SAAS,GAAGF,KAAK,CAACE,SAAS;EAC1C;EACA,IAAIF,KAAK,CAACG,UAAU,EAAE;IAClBF,UAAU,CAACE,UAAU,GAAGH,KAAK,CAACG,UAAU;EAC5C;EACA,MAAM;IAAEC;EAAe,CAAC,GAAGR,eAAe,CAAC,CAAC;EAE5C,MAAMS,QAAQ,GAAGC,KAAK,CAACC,QAAQ,CAACC,OAAO,CAACR,KAAK,CAACK,QAAQ,CAAC,CAACI,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;IAC/E,IAAIL,KAAK,CAACM,cAAc,CAACF,KAAK,CAAC,EAAE;MAC7B,IAAIC,UAAU,KAAK,CAAC,EAAE;QAClB,OAAOL,KAAK,CAACO,YAAY,CAACH,KAAK,EAAE;UAAE,GAAGN,cAAc,CAACJ,KAAK,CAAC;UAAE,GAAGC;QAAW,CAAC,CAAC;MACjF;MACA,OAAOK,KAAK,CAACO,YAAY,CAACH,KAAK,EAAE;QAAE,GAAGT;MAAW,CAAC,CAAC;IACvD;IACA,OAAOS,KAAK;EAChB,CAAC,CAAC,CAACI,MAAM,CAACJ,KAAK,IAAIA,KAAK,KAAK,IAAI,CAAC;EAElC,oBAAQZ,IAAA,CAACH,IAAI;IAAA,GACLS,cAAc,CAACJ,KAAK,CAAC;IAAA,GACrBC,UAAU;IACdI,QAAQ,EAAEA;EAAS,CACtB,CAAC;AACN;AAEA,eAAeN,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["React","View","useFocusContext","jsx","_jsx","SnowView","props","styleProps","snowStyle","snowConfig","readFocusProps","children","Children","toArray","map","child","childIndex","isValidElement","cloneElement","filter"],"sourceRoot":"../../../src","sources":["component/snow-view.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,eAAe,QAAQ,kCAA+B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAEA,OAAO,SAASC,QAAQA,CAACC,KAAK,EAAE;EAC5B,IAAIC,UAAU,GAAG,CAAC,CAAC;EACnB,IAAID,KAAK,CAACE,SAAS,EAAE;IACjBD,UAAU,CAACC,SAAS,GAAGF,KAAK,CAACE,SAAS;EAC1C;EACA,IAAIF,KAAK,CAACG,UAAU,EAAE;IAClBF,UAAU,CAACE,UAAU,GAAGH,KAAK,CAACG,UAAU;EAC5C;EACA,MAAM;IAAEC;EAAe,CAAC,GAAGR,eAAe,CAAC,CAAC;EAE5C,MAAMS,QAAQ,GAAGX,KAAK,CAACY,QAAQ,CAACC,OAAO,CAACP,KAAK,CAACK,QAAQ,CAAC,CAACG,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;IAC/E,iBAAIhB,KAAK,CAACiB,cAAc,CAACF,KAAK,CAAC,EAAE;MAC7B,IAAIC,UAAU,KAAK,CAAC,EAAE;QAClB,oBAAOhB,KAAK,CAACkB,YAAY,CAACH,KAAK,EAAE;UAAE,GAAGL,cAAc,CAACJ,KAAK,CAAC;UAAE,GAAGC;QAAW,CAAC,CAAC;MACjF;MACA,oBAAOP,KAAK,CAACkB,YAAY,CAACH,KAAK,EAAE;QAAE,GAAGR;MAAW,CAAC,CAAC;IACvD;IACA,OAAOQ,KAAK;EAChB,CAAC,CAAC,CAACI,MAAM,CAACJ,KAAK,IAAIA,KAAK,KAAK,IAAI,CAAC;EAElC,oBAAQX,IAAA,CAACH,IAAI;IAAA,GACLS,cAAc,CAACJ,KAAK,CAAC;IAAA,GACrBC,UAAU;IACdI,QAAQ,EAAEA;EAAS,CACtB,CAAC;AACN;AAEA,eAAeN,QAAQ","ignoreList":[]}
@@ -18,6 +18,9 @@ Allow grid to grid movement to maintain the relative positon.
18
18
  Imagine a 1x3 grid and then a 1x3 under it.
19
19
  When highlighting the second element of the first, a down move should send you to the send element of the next.
20
20
  However, grid movement currently always pushes you to the start of the grid
21
+
22
+ Nested grids generate duplicate keys, breaking navigation.
23
+ assignFocus={false} is a bandaid, but it would be useful to allow nested grids
21
24
  */
22
25
 
23
26
  const FocusContext = /*#__PURE__*/React.createContext({});
@@ -293,7 +296,9 @@ export function FocusContextProvider(props) {
293
296
  isGridCell = sourceKey.indexOf('-row-') !== -1 && sourceKey.indexOf('-column-') !== -1 || sourceKey.indexOf('-grid-end') !== -1;
294
297
  if (isGridCell) {
295
298
  sourceKey = sourceKey.split('-row-')[0];
296
- sourceKey = sourceKey.split('-grid-end')[0];
299
+ // Only ever replace one -grid-end at a time
300
+ // Otherwise, a nested grid will have focus escape a map too early
301
+ sourceKey = sourceKey.replace('-grid-end', '');
297
302
  if (focusLayer.directions[sourceKey] && focusLayer.directions[sourceKey][direction]) {
298
303
  let target = focusLayer.directions[sourceKey][direction];
299
304
  // The target is defined and isn't a cell in the grid
@@ -1 +1 @@
1
- {"version":3,"names":["React","_","Platform","useTVEventHandler","Keyboard","findNodeHandle","SnowSafeArea","jsx","_jsx","DEBUG_FOCUS","FocusContext","createContext","useFocusContext","value","useContext","Error","getCircularReplacer","seen","WeakSet","key","indexOf","has","add","prettyLog","payload","OS","console","log","JSON","stringify","FocusContextProvider","props","focusedKey","setFocusedKey","useState","focusedKeyRef","useRef","focusLayers","setFocusLayers","layerName","refs","directions","focusLayersRef","remoteCallbacks","setRemoteCallbacks","remoteCallbacksRef","useEffect","current","isFocused","elementFocusKey","action","isFocusedLayer","layerMaps","length","pushFocusLayer","layerIsUncloned","prev","result","push","popFocusLayer","pop","clearFocusLayers","addFocusMap","elementRef","elementProps","focusKey","element","onPress","onLongPress","focus","focusUp","focusDown","focusRight","focusLeft","focusLayer","hasOwnProperty","merge","focusOn","moveFocus","direction","isVisible","sourceKey","destinationKey","normalDestination","isGridCell","split","target","moveFocusRight","moveFocusLeft","moveFocusUp","moveFocusDown","pressFocusedElement","focusMap","longPressFocusedElement","focusPress","isTV","focusLongPress","remoteHandler","remoteEvent","callbacks","kind","eventType","eventKeyAction","callback","Object","entries","focusKeyboardHandler","event","code","window","addEventListener","removeEventListener","readFocusProps","focusProps","focusStart","focusContext","layersAreClear","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","getCircularReplacer","seen","WeakSet","key","indexOf","has","add","prettyLog","payload","OS","console","log","JSON","stringify","FocusContextProvider","props","focusedKey","setFocusedKey","useState","focusedKeyRef","useRef","focusLayers","setFocusLayers","layerName","refs","directions","focusLayersRef","remoteCallbacks","setRemoteCallbacks","remoteCallbacksRef","useEffect","current","isFocused","elementFocusKey","action","isFocusedLayer","layerMaps","length","pushFocusLayer","layerIsUncloned","prev","result","push","popFocusLayer","pop","clearFocusLayers","addFocusMap","elementRef","elementProps","focusKey","element","onPress","onLongPress","focus","focusUp","focusDown","focusRight","focusLeft","focusLayer","hasOwnProperty","merge","focusOn","moveFocus","direction","isVisible","sourceKey","destinationKey","normalDestination","isGridCell","split","replace","target","moveFocusRight","moveFocusLeft","moveFocusUp","moveFocusDown","pressFocusedElement","focusMap","longPressFocusedElement","focusPress","isTV","focusLongPress","remoteHandler","remoteEvent","callbacks","kind","eventType","eventKeyAction","callback","Object","entries","focusKeyboardHandler","event","code","window","addEventListener","removeEventListener","readFocusProps","focusProps","focusStart","focusContext","layersAreClear","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.1",
3
+ "version": "1.2.3",
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",
@@ -216,104 +216,105 @@ export function SnowGrid(props) {
216
216
  data={items}
217
217
  renderItem={({ item, index, separators }) => {
218
218
  let child = renderItem(item, index)
219
- let row = Math.floor(index / itemsPerRow)
220
- let column = index % itemsPerRow
221
- let focus = {}
222
-
223
- if (child.props.focusKey) {
224
- focus.focusKey = child.props.focusKey
225
- }
226
- else {
227
- if (index === 0 && !hasPageControls) {
228
- focus.focusKey = props.focusKey
219
+ if (props.assignFocus !== false) {
220
+ let row = Math.floor(index / itemsPerRow)
221
+ let column = index % itemsPerRow
222
+ let focus = {}
223
+ if (child.props.focusKey) {
224
+ focus.focusKey = child.props.focusKey
229
225
  }
230
226
  else {
231
- focus.focusKey = `${props.focusKey}-row-${row}-column-${column}`
232
- if (focus.focusKey === lastCellFullKey) {
233
- focus.focusKey = lastCellKey
227
+ if (index === 0 && !hasPageControls) {
228
+ focus.focusKey = props.focusKey
229
+ }
230
+ else {
231
+ focus.focusKey = `${props.focusKey}-row-${row}-column-${column}`
232
+ if (focus.focusKey === lastCellFullKey) {
233
+ focus.focusKey = lastCellKey
234
+ }
234
235
  }
235
236
  }
236
- }
237
- // Only allow auto focusing before the pager is used
238
- if (!pagerPressed) {
239
- if (child.props.focusStart) {
240
- focus.focusStart = child.props.focusStart
241
- } else {
242
- if (index === 0 && props.focusStart) {
243
- focus.focusStart = true
237
+ // Only allow auto focusing before the pager is used
238
+ if (!pagerPressed) {
239
+ if (child.props.focusStart) {
240
+ focus.focusStart = child.props.focusStart
241
+ } else {
242
+ if (index === 0 && props.focusStart) {
243
+ focus.focusStart = true
244
+ }
244
245
  }
245
246
  }
246
- }
247
247
 
248
- if (row === 0) {
249
- if (hasPageControls) {
250
- focus.focusUp = props.focusKey
251
- }
252
- else {
253
- if (props.focusUp) {
254
- focus.focusUp = props.focusUp
248
+ if (row === 0) {
249
+ if (hasPageControls) {
250
+ focus.focusUp = props.focusKey
251
+ }
252
+ else {
253
+ if (props.focusUp) {
254
+ focus.focusUp = props.focusUp
255
+ }
255
256
  }
256
- }
257
- } else {
258
- if (row - 1 === 0 && column === 0 && !hasPageControls) {
259
- focus.focusUp = props.focusKey
260
257
  } else {
261
- focus.focusUp = `${props.focusKey}-row-${row - 1}-column-${column}`
258
+ if (row - 1 === 0 && column === 0 && !hasPageControls) {
259
+ focus.focusUp = props.focusKey
260
+ } else {
261
+ focus.focusUp = `${props.focusKey}-row-${row - 1}-column-${column}`
262
+ }
262
263
  }
263
- }
264
264
 
265
- if (row === maxRow - 1) {
266
- if (hasPageControls) {
267
- focus.focusDown = 'next-page-bottom'
268
- } else {
269
- if (props.focusDown) {
270
- focus.focusDown = props.focusDown
265
+ if (row === maxRow - 1) {
266
+ if (hasPageControls) {
267
+ focus.focusDown = 'next-page-bottom'
268
+ } else {
269
+ if (props.focusDown) {
270
+ focus.focusDown = props.focusDown
271
+ }
271
272
  }
272
- }
273
273
 
274
- } else {
275
- if (row === maxRow - 2 && column >= lastElementColumn - 1) {
276
- focus.focusDown = lastCellKey
277
274
  } else {
278
- focus.focusDown = `${props.focusKey}-row-${row + 1}-column-${column}`
275
+ if (row === maxRow - 2 && column >= lastElementColumn - 1) {
276
+ focus.focusDown = lastCellKey
277
+ } else {
278
+ focus.focusDown = `${props.focusKey}-row-${row + 1}-column-${column}`
279
+ }
279
280
  }
280
- }
281
281
 
282
- if (column === 0) {
283
- if (props.focusLeft) {
284
- focus.focusLeft = props.focusLeft
285
- }
286
- } else {
287
- if (column - 1 === 0 && row === 0) {
288
- focus.focusLeft = props.focusKey
282
+ if (column === 0) {
283
+ if (props.focusLeft) {
284
+ focus.focusLeft = props.focusLeft
285
+ }
289
286
  } else {
290
- focus.focusLeft = `${props.focusKey}-row-${row}-column-${column - 1}`
287
+ if (column - 1 === 0 && row === 0) {
288
+ focus.focusLeft = props.focusKey
289
+ } else {
290
+ focus.focusLeft = `${props.focusKey}-row-${row}-column-${column - 1}`
291
+ }
291
292
  }
292
- }
293
293
 
294
- if (column === maxColumn - 1) {
295
- if (props.focusRight) {
296
- focus.focusRight = props.focusRight
297
- }
298
- } else {
299
- focus.focusRight = `${props.focusKey}-row-${row}-column-${column + 1}`
300
- if (row >= maxRow - 1 && column + 1 >= lastElementColumn - 1) {
301
- focus.focusRight = lastCellKey
294
+ if (column === maxColumn - 1) {
295
+ if (props.focusRight) {
296
+ focus.focusRight = props.focusRight
297
+ }
298
+ } else {
299
+ focus.focusRight = `${props.focusKey}-row-${row}-column-${column + 1}`
300
+ if (row >= maxRow - 1 && column + 1 >= lastElementColumn - 1) {
301
+ focus.focusRight = lastCellKey
302
+ }
302
303
  }
303
- }
304
- let debugFocus = {}
305
- if (DEBUG_FOCUS) {
306
- debugFocus = {
307
- maxRow,
308
- maxColumn,
309
- lastElementColumn,
310
- row,
311
- column,
312
- lastCellKey,
313
- lastCellFullKey
304
+ let debugFocus = {}
305
+ if (DEBUG_FOCUS) {
306
+ debugFocus = {
307
+ maxRow,
308
+ maxColumn,
309
+ lastElementColumn,
310
+ row,
311
+ column,
312
+ lastCellKey,
313
+ lastCellFullKey
314
+ }
314
315
  }
316
+ child = React.cloneElement(child, { ...focus, ...debugFocus })
315
317
  }
316
- child = React.cloneElement(child, { ...focus, ...debugFocus })
317
318
  return (
318
319
  <View style={itemStyle}>
319
320
  {child}
@@ -1,3 +1,4 @@
1
+ import React from 'react'
1
2
  import { View } from 'react-native'
2
3
  import { useFocusContext } from '../context/snow-focus-context'
3
4
 
@@ -16,6 +16,9 @@ Allow grid to grid movement to maintain the relative positon.
16
16
  Imagine a 1x3 grid and then a 1x3 under it.
17
17
  When highlighting the second element of the first, a down move should send you to the send element of the next.
18
18
  However, grid movement currently always pushes you to the start of the grid
19
+
20
+ Nested grids generate duplicate keys, breaking navigation.
21
+ assignFocus={false} is a bandaid, but it would be useful to allow nested grids
19
22
  */
20
23
 
21
24
  const FocusContext = React.createContext({});
@@ -248,7 +251,9 @@ export function FocusContextProvider(props) {
248
251
  isGridCell = (sourceKey.indexOf('-row-') !== -1 && sourceKey.indexOf('-column-') !== -1) || (sourceKey.indexOf('-grid-end') !== -1)
249
252
  if (isGridCell) {
250
253
  sourceKey = sourceKey.split('-row-')[0]
251
- sourceKey = sourceKey.split('-grid-end')[0]
254
+ // Only ever replace one -grid-end at a time
255
+ // Otherwise, a nested grid will have focus escape a map too early
256
+ sourceKey = sourceKey.replace('-grid-end', '')
252
257
  if (focusLayer.directions[sourceKey] && focusLayer.directions[sourceKey][direction]) {
253
258
  let target = focusLayer.directions[sourceKey][direction]
254
259
  // The target is defined and isn't a cell in the grid