expo-snowui 1.7.3 → 1.7.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.
- package/lib/module/component/snow-safe-area.js +7 -3
- package/lib/module/component/snow-safe-area.js.map +1 -1
- package/lib/module/component/wired/snow-dropdown.js +11 -11
- package/lib/module/component/wired/snow-dropdown.js.map +1 -1
- package/lib/module/component/wired/snow-grid.js +40 -136
- package/lib/module/component/wired/snow-grid.js.map +1 -1
- package/lib/module/component/wired/snow-image-button.js +24 -42
- package/lib/module/component/wired/snow-image-button.js.map +1 -1
- package/lib/module/component/wired/snow-image-grid.js +10 -8
- package/lib/module/component/wired/snow-image-grid.js.map +1 -1
- package/lib/module/component/wired/snow-input.js +10 -15
- package/lib/module/component/wired/snow-input.js.map +1 -1
- package/lib/module/component/wired/snow-modal.js +13 -23
- package/lib/module/component/wired/snow-modal.js.map +1 -1
- package/lib/module/component/wired/snow-overlay.js +11 -50
- package/lib/module/component/wired/snow-overlay.js.map +1 -1
- package/lib/module/component/wired/snow-pager.js +41 -76
- package/lib/module/component/wired/snow-pager.js.map +1 -1
- package/lib/module/component/wired/snow-range-slider.js +20 -20
- package/lib/module/component/wired/snow-range-slider.js.map +1 -1
- package/lib/module/component/wired/snow-tabs.js +18 -31
- package/lib/module/component/wired/snow-tabs.js.map +1 -1
- package/lib/module/component/wired/snow-target.js +10 -12
- package/lib/module/component/wired/snow-target.js.map +1 -1
- package/lib/module/component/wired/snow-text-button.js +15 -29
- package/lib/module/component/wired/snow-text-button.js.map +1 -1
- package/lib/module/component/wired/snow-toggle.js +10 -14
- package/lib/module/component/wired/snow-toggle.js.map +1 -1
- package/lib/module/component/wired/snow-view.js +10 -17
- package/lib/module/component/wired/snow-view.js.map +1 -1
- package/lib/module/context/neighbor-map.js +92 -0
- package/lib/module/context/neighbor-map.js.map +1 -0
- package/lib/module/context/snow-context.js +5 -4
- package/lib/module/context/snow-context.js.map +1 -1
- package/lib/module/context/snow-focus-context.js +267 -617
- package/lib/module/context/snow-focus-context.js.map +1 -1
- package/lib/module/context/snow-input-context.js +5 -0
- package/lib/module/context/snow-input-context.js.map +1 -1
- package/lib/module/context/snow-layer-context.js +7 -0
- package/lib/module/context/snow-layer-context.js.map +1 -1
- package/lib/module/context/snow-navigation-context.js +41 -33
- package/lib/module/context/snow-navigation-context.js.map +1 -1
- package/lib/module/context/tree.js +122 -0
- package/lib/module/context/tree.js.map +1 -0
- package/lib/module/snow-app.js +8 -8
- package/lib/module/snow-app.js.map +1 -1
- package/lib/module/snow-style.js +34 -20
- package/lib/module/snow-style.js.map +1 -1
- package/lib/module/util.js +1 -1
- package/lib/module/util.js.map +1 -1
- package/package.json +1 -1
- package/src/component/snow-safe-area.js +7 -3
- package/src/component/wired/snow-dropdown.js +9 -12
- package/src/component/wired/snow-grid.js +33 -151
- package/src/component/wired/snow-image-button.js +17 -35
- package/src/component/wired/snow-image-grid.js +12 -9
- package/src/component/wired/snow-input.js +4 -11
- package/src/component/wired/snow-modal.js +7 -23
- package/src/component/wired/snow-overlay.js +10 -65
- package/src/component/wired/snow-pager.js +38 -80
- package/src/component/wired/snow-range-slider.js +21 -20
- package/src/component/wired/snow-tabs.js +18 -34
- package/src/component/wired/snow-target.js +10 -12
- package/src/component/wired/snow-text-button.js +12 -24
- package/src/component/wired/snow-toggle.js +7 -13
- package/src/component/wired/snow-view.js +10 -14
- package/src/context/neighbor-map.js +115 -0
- package/src/context/snow-context.js +6 -4
- package/src/context/snow-focus-context.js +275 -607
- package/src/context/snow-input-context.js +5 -0
- package/src/context/snow-layer-context.js +7 -0
- package/src/context/snow-navigation-context.js +39 -29
- package/src/context/tree.js +137 -0
- package/src/snow-app.js +12 -11
- package/src/snow-style.js +34 -17
- package/src/util.js +1 -1
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { ScrollView, View } from 'react-native';
|
|
5
5
|
import { useStyleContext } from "../context/snow-style-context.js";
|
|
6
|
-
import {
|
|
6
|
+
import { useFocusAppContext } from "../context/snow-focus-context.js";
|
|
7
7
|
import { useLayerContext } from "../context/snow-layer-context.js";
|
|
8
8
|
import util from "../util.js";
|
|
9
|
+
import { SnowView } from "./wired/snow-view.js";
|
|
9
10
|
import { SnowModal } from "./wired/snow-modal.js";
|
|
10
11
|
import { SnowOverlay } from "./wired/snow-overlay.js";
|
|
11
12
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -20,7 +21,7 @@ export function SnowSafeArea(props) {
|
|
|
20
21
|
} = useLayerContext();
|
|
21
22
|
const {
|
|
22
23
|
setScrollViewRef
|
|
23
|
-
} =
|
|
24
|
+
} = useFocusAppContext();
|
|
24
25
|
const scrollViewRef = React.useRef(null);
|
|
25
26
|
|
|
26
27
|
// This allows modals and overlays to draw on top of the regular app
|
|
@@ -60,7 +61,10 @@ export function SnowSafeArea(props) {
|
|
|
60
61
|
}
|
|
61
62
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
62
63
|
children: [/*#__PURE__*/_jsx(ScrollView, {
|
|
63
|
-
ref:
|
|
64
|
+
ref: ref => {
|
|
65
|
+
scrollViewRef.current = ref;
|
|
66
|
+
setScrollViewRef(ref);
|
|
67
|
+
},
|
|
64
68
|
style: SnowStyle.component.safeArea,
|
|
65
69
|
snowStyle: SnowStyle,
|
|
66
70
|
showsVerticalScrollIndicator: !modals,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ScrollView","View","useStyleContext","
|
|
1
|
+
{"version":3,"names":["React","ScrollView","View","useStyleContext","useFocusAppContext","useLayerContext","util","SnowView","SnowModal","SnowOverlay","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SnowSafeArea","props","SnowStyle","modalPayloads","overlayPayload","DEBUG_LAYERS","setScrollViewRef","scrollViewRef","useRef","modals","length","children","map","modalPayload","modalIndex","depth","render","overlay","useEffect","current","prettyLog","component","action","ref","style","safeArea","snowStyle","showsVerticalScrollIndicator"],"sourceRoot":"../../../src","sources":["component/snow-safe-area.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,eAAe,QAAQ,kCAA+B;AAC/D,SAASC,kBAAkB,QAAQ,kCAA+B;AAClE,SAASC,eAAe,QAAQ,kCAA+B;AAC/D,OAAOC,IAAI,MAAM,YAAS;AAC1B,SAASC,QAAQ,QAAQ,sBAAmB;AAC5C,SAASC,SAAS,QAAQ,uBAAoB;AAC9C,SAASC,WAAW,QAAQ,yBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAElD,OAAO,SAASC,YAAYA,CAACC,KAAK,EAAE;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAGf,eAAe,CAACc,KAAK,CAAC;EAC5C,MAAM;IAAEE,aAAa;IAAEC,cAAc;IAAEC;EAAa,CAAC,GAAGhB,eAAe,CAAC,CAAC;EACzE,MAAM;IAAEiB;EAAiB,CAAC,GAAGlB,kBAAkB,CAAC,CAAC;EACjD,MAAMmB,aAAa,GAAGvB,KAAK,CAACwB,MAAM,CAAC,IAAI,CAAC;;EAExC;EACA;EACA;EACA;EACA,IAAIC,MAAM,GAAG,IAAI;EACjB,IAAIN,aAAa,EAAEO,MAAM,EAAE;IACvBD,MAAM,gBACFd,IAAA,CAAAE,SAAA;MAAAc,QAAA,EACKR,aAAa,CAACS,GAAG,CAAC,CAACC,YAAY,EAAEC,UAAU,KAAK;QAC7C,oBAAOnB,IAAA,CAACH,SAAS;UAEbuB,KAAK,EAAED,UAAU,GAAG,CAAE;UAAA,GAClBD,YAAY,CAACZ,KAAK;UACtBe,MAAM,EAAEH,YAAY,CAACG;QAAO,GAHvBF,UAGyB,CAAC;MACvC,CAAC;IAAC,CACJ,CACL;EACL;EAEA,IAAIG,OAAO,GAAG,IAAI;EAClB,IAAIb,cAAc,EAAE;IAChBa,OAAO,gBAAGtB,IAAA,CAACF,WAAW;MAAA,GAAKW,cAAc,CAACH;IAAK,CAAG,CAAC;EACvD;EAEAjB,KAAK,CAACkC,SAAS,CAAC,MAAM;IAClB,IAAIX,aAAa,CAACY,OAAO,EAAE;MACvBb,gBAAgB,CAACC,aAAa,CAAC;IACnC;EACJ,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,IAAIF,YAAY,KAAK,SAAS,EAAE;IAC5Bf,IAAI,CAAC8B,SAAS,CAAC;MAAEC,SAAS,EAAE,WAAW;MAAEC,MAAM,EAAE,QAAQ;MAAEnB,aAAa;MAAEC;IAAe,CAAC,CAAC;EAC/F;EAEA,oBACIL,KAAA,CAAAF,SAAA;IAAAc,QAAA,gBACIhB,IAAA,CAACV,UAAU;MACPsC,GAAG,EAAGA,GAAG,IAAK;QACVhB,aAAa,CAACY,OAAO,GAAGI,GAAG;QAC3BjB,gBAAgB,CAACiB,GAAG,CAAC;MACzB,CAAE;MACFC,KAAK,EAAEtB,SAAS,CAACmB,SAAS,CAACI,QAAS;MACpCC,SAAS,EAAExB,SAAU;MACrByB,4BAA4B,EAAE,CAAClB,MAAO;MAAAE,QAAA,EACrCV,KAAK,CAACU;IAAQ,CACP,CAAC,EACZF,MAAM,EACNQ,OAAO;EAAA,CACV,CAAC;AAEX;AAEA,eAAejB,YAAY","ignoreList":[]}
|
|
@@ -6,19 +6,19 @@ import SnowLabel from "../snow-label.js";
|
|
|
6
6
|
import SnowGrid from "./snow-grid.js";
|
|
7
7
|
import SnowTextButton from "./snow-text-button.js";
|
|
8
8
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
-
const
|
|
10
|
-
const {
|
|
11
|
-
readFocusProps
|
|
12
|
-
} = useFocusContext();
|
|
9
|
+
export const SnowDropdown = props => {
|
|
13
10
|
if (!props.options) {
|
|
14
11
|
return null;
|
|
15
12
|
}
|
|
16
13
|
if (props.valueIndex === undefined || props.valueIndex === null) {
|
|
17
14
|
return null;
|
|
18
15
|
}
|
|
19
|
-
const
|
|
16
|
+
const {
|
|
17
|
+
focusPath
|
|
18
|
+
} = useFocusContext('dropdown', props);
|
|
19
|
+
const choose = (chosenIndex, entryFocusKey) => {
|
|
20
20
|
if (props.onValueChange) {
|
|
21
|
-
props.onValueChange(chosenIndex,
|
|
21
|
+
props.onValueChange(chosenIndex, entryFocusKey);
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
const renderItem = (item, itemIndex) => {
|
|
@@ -28,13 +28,15 @@ const SnowDropdownW = props => {
|
|
|
28
28
|
selected = true;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
const entryFocusKey = props.focusKey + '-' + itemIndex;
|
|
31
32
|
return /*#__PURE__*/_jsx(SnowTextButton, {
|
|
32
33
|
snowStyle: props.snowStyle,
|
|
34
|
+
focusKey: entryFocusKey,
|
|
33
35
|
fade: selected && props.fade,
|
|
34
36
|
selected: selected,
|
|
35
37
|
title: item.name ? item.name : item,
|
|
36
38
|
onPress: () => {
|
|
37
|
-
choose(item.index ? item.index : itemIndex);
|
|
39
|
+
choose(item.index ? item.index : itemIndex, entryFocusKey);
|
|
38
40
|
}
|
|
39
41
|
});
|
|
40
42
|
};
|
|
@@ -44,7 +46,7 @@ const SnowDropdownW = props => {
|
|
|
44
46
|
center: true,
|
|
45
47
|
children: props.title
|
|
46
48
|
}), /*#__PURE__*/_jsx(SnowGrid, {
|
|
47
|
-
|
|
49
|
+
parentPath: focusPath,
|
|
48
50
|
itemsPerRow: props.itemsPerRow,
|
|
49
51
|
items: props.options,
|
|
50
52
|
renderItem: renderItem
|
|
@@ -52,13 +54,11 @@ const SnowDropdownW = props => {
|
|
|
52
54
|
});
|
|
53
55
|
}
|
|
54
56
|
return /*#__PURE__*/_jsx(SnowGrid, {
|
|
55
|
-
|
|
57
|
+
parentPath: focusPath,
|
|
56
58
|
itemsPerRow: props.itemsPerRow,
|
|
57
59
|
items: props.options,
|
|
58
60
|
renderItem: renderItem
|
|
59
61
|
});
|
|
60
62
|
};
|
|
61
|
-
SnowDropdownW.isSnowFocusWired = true;
|
|
62
|
-
export const SnowDropdown = SnowDropdownW;
|
|
63
63
|
export default SnowDropdown;
|
|
64
64
|
//# sourceMappingURL=snow-dropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","useFocusContext","SnowLabel","SnowGrid","SnowTextButton","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","
|
|
1
|
+
{"version":3,"names":["View","useFocusContext","SnowLabel","SnowGrid","SnowTextButton","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SnowDropdown","props","options","valueIndex","undefined","focusPath","choose","chosenIndex","entryFocusKey","onValueChange","renderItem","item","itemIndex","selected","skipDefaultFocus","focusKey","snowStyle","fade","title","name","onPress","index","children","center","parentPath","itemsPerRow","items"],"sourceRoot":"../../../../src","sources":["component/wired/snow-dropdown.js"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,eAAe,QAAQ,qCAAkC;AAClE,OAAOC,SAAS,MAAM,kBAAe;AACrC,OAAOC,QAAQ,MAAM,gBAAa;AAClC,OAAOC,cAAc,MAAM,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAE/C,OAAO,MAAMC,YAAY,GAAIC,KAAK,IAAK;EACnC,IAAI,CAACA,KAAK,CAACC,OAAO,EAAE;IAChB,OAAO,IAAI;EACf;EACA,IAAID,KAAK,CAACE,UAAU,KAAKC,SAAS,IAAIH,KAAK,CAACE,UAAU,KAAK,IAAI,EAAE;IAC7D,OAAO,IAAI;EACf;EACA,MAAM;IAAEE;EAAU,CAAC,GAAGf,eAAe,CAAC,UAAU,EAAEW,KAAK,CAAC;EACxD,MAAMK,MAAM,GAAGA,CAACC,WAAW,EAAEC,aAAa,KAAK;IAC3C,IAAIP,KAAK,CAACQ,aAAa,EAAE;MACrBR,KAAK,CAACQ,aAAa,CAACF,WAAW,EAAEC,aAAa,CAAC;IACnD;EACJ,CAAC;EAED,MAAME,UAAU,GAAGA,CAACC,IAAI,EAAEC,SAAS,KAAK;IACpC,IAAIC,QAAQ,GAAG,KAAK;IACpB,IAAI,CAACZ,KAAK,CAACa,gBAAgB,EAAE;MACzB,IAAIF,SAAS,KAAKX,KAAK,CAACE,UAAU,EAAE;QAChCU,QAAQ,GAAG,IAAI;MACnB;IACJ;IACA,MAAML,aAAa,GAAGP,KAAK,CAACc,QAAQ,GAAG,GAAG,GAAGH,SAAS;IACtD,oBAAOjB,IAAA,CAACF,cAAc;MAClBuB,SAAS,EAAEf,KAAK,CAACe,SAAU;MAC3BD,QAAQ,EAAEP,aAAc;MACxBS,IAAI,EAAEJ,QAAQ,IAAIZ,KAAK,CAACgB,IAAK;MAC7BJ,QAAQ,EAAEA,QAAS;MACnBK,KAAK,EAAEP,IAAI,CAACQ,IAAI,GAAGR,IAAI,CAACQ,IAAI,GAAGR,IAAK;MACpCS,OAAO,EAAEA,CAAA,KAAM;QAAEd,MAAM,CAACK,IAAI,CAACU,KAAK,GAAGV,IAAI,CAACU,KAAK,GAAGT,SAAS,EAAEJ,aAAa,CAAC;MAAC;IAAE,CAAE,CAAC;EACzF,CAAC;EAED,IAAIP,KAAK,CAACiB,KAAK,EAAE;IACb,oBAAOnB,KAAA,CAAAF,SAAA;MAAAyB,QAAA,gBACH3B,IAAA,CAACJ,SAAS;QAACgC,MAAM;QAAAD,QAAA,EAAErB,KAAK,CAACiB;MAAK,CAAY,CAAC,eAC3CvB,IAAA,CAACH,QAAQ;QACLgC,UAAU,EAAEnB,SAAU;QACtBoB,WAAW,EAAExB,KAAK,CAACwB,WAAY;QAC/BC,KAAK,EAAEzB,KAAK,CAACC,OAAQ;QACrBQ,UAAU,EAAEA;MAAW,CAC1B,CAAC;IAAA,CACJ,CAAC;EACP;EACA,oBACIf,IAAA,CAACH,QAAQ;IACLgC,UAAU,EAAEnB,SAAU;IACtBoB,WAAW,EAAExB,KAAK,CAACwB,WAAY;IAC/BC,KAAK,EAAEzB,KAAK,CAACC,OAAQ;IACrBQ,UAAU,EAAEA;EAAW,CAC1B,CAAC;AAEV,CAAC;AAED,eAAeV,YAAY","ignoreList":[]}
|
|
@@ -5,17 +5,10 @@ import { View } from 'react-native';
|
|
|
5
5
|
import { useStyleContext } from "../../context/snow-style-context.js";
|
|
6
6
|
import { useFocusContext } from "../../context/snow-focus-context.js";
|
|
7
7
|
import { useNavigationContext } from "../../context/snow-navigation-context.js";
|
|
8
|
+
import SnowView from "./snow-view.js";
|
|
8
9
|
import SnowPager from "./snow-pager.js";
|
|
9
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
-
const
|
|
11
|
-
return {
|
|
12
|
-
row: 0,
|
|
13
|
-
column: 0,
|
|
14
|
-
index: 0,
|
|
15
|
-
lastGridRow: 0
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
const SnowGridW = props => {
|
|
11
|
+
export const SnowGrid = props => {
|
|
19
12
|
if (!props.items && !props.children) {
|
|
20
13
|
return null;
|
|
21
14
|
}
|
|
@@ -34,9 +27,12 @@ const SnowGridW = props => {
|
|
|
34
27
|
currentRoute
|
|
35
28
|
} = useNavigationContext(props);
|
|
36
29
|
const {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
30
|
+
focusPath,
|
|
31
|
+
focusWrap
|
|
32
|
+
} = useFocusContext('grid', {
|
|
33
|
+
...props,
|
|
34
|
+
canFocus: false
|
|
35
|
+
});
|
|
40
36
|
let itemsPerRow = 5;
|
|
41
37
|
if (props.itemsPerRow) {
|
|
42
38
|
itemsPerRow = props.itemsPerRow;
|
|
@@ -61,8 +57,8 @@ const SnowGridW = props => {
|
|
|
61
57
|
renderItem = props.renderItem;
|
|
62
58
|
}
|
|
63
59
|
let page = 0;
|
|
64
|
-
if (currentRoute?.routeParams?.hasOwnProperty(`${props.focusKey}-grid-page`)) {
|
|
65
|
-
page = parseInt(currentRoute?.routeParams?.[`${props.focusKey}-grid-page`], 10) ?? 0;
|
|
60
|
+
if (currentRoute?.routeParams?.hasOwnProperty(`${props.focusKey}-pager-grid-page`)) {
|
|
61
|
+
page = parseInt(currentRoute?.routeParams?.[`${props.focusKey}-pager-grid-page`], 10) ?? 0;
|
|
66
62
|
}
|
|
67
63
|
const hasPageControls = items.length > itemsPerPage;
|
|
68
64
|
if (hasPageControls) {
|
|
@@ -74,130 +70,35 @@ const SnowGridW = props => {
|
|
|
74
70
|
if (lastElementColumn === 0) {
|
|
75
71
|
lastElementColumn = itemsPerRow;
|
|
76
72
|
}
|
|
77
|
-
let
|
|
78
|
-
let lastCellKey = `${props.focusKey}-grid-end`;
|
|
79
|
-
let lastCellFullKey = `${props.focusKey}-row-${maxRow - 1}-column-${lastElementColumn - 1}`;
|
|
80
|
-
if (gridFocusKey === lastCellFullKey) {
|
|
81
|
-
gridFocusKey = lastCellKey;
|
|
82
|
-
}
|
|
73
|
+
let gridYOffset = 0;
|
|
83
74
|
let pageControls = null;
|
|
84
75
|
if (hasPageControls) {
|
|
85
76
|
pageControls = /*#__PURE__*/_jsx(SnowPager, {
|
|
77
|
+
focusKey: props.focusKey + '-pager',
|
|
86
78
|
maxPage: maxPage,
|
|
87
|
-
page: page
|
|
88
|
-
focusUp: props.focusUp,
|
|
89
|
-
focusDown: gridFocusKey,
|
|
90
|
-
focusKey: props.focusKey
|
|
79
|
+
page: page
|
|
91
80
|
});
|
|
81
|
+
gridYOffset = 1;
|
|
92
82
|
}
|
|
93
|
-
wiredGridRef.current = emptyWiredGrid();
|
|
94
|
-
const renderKey = `${props.focusKey ?? ''}-grid-${itemsPerRow}-cols-page-${page}`;
|
|
95
83
|
const renderCell = (item, itemIndex, renderRowIndex) => {
|
|
96
84
|
let child = renderItem(item, itemIndex);
|
|
97
|
-
let
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
} else {
|
|
105
|
-
if (wired.index === 0 && !hasPageControls) {
|
|
106
|
-
focus.focusKey = props.focusKey;
|
|
107
|
-
} else {
|
|
108
|
-
focus.focusKey = `${props.focusKey}-row-${row}-column-${column}`;
|
|
109
|
-
if (focus.focusKey === lastCellFullKey) {
|
|
110
|
-
focus.focusKey = lastCellKey;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (currentRoute?.routeParams?.page === undefined) {
|
|
115
|
-
if (child.props.focusStart) {
|
|
116
|
-
focus.focusStart = child.props.focusStart;
|
|
117
|
-
} else {
|
|
118
|
-
if (wired.index === 0 && props.focusStart) {
|
|
119
|
-
focus.focusStart = true;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
if (row === 0) {
|
|
124
|
-
if (hasPageControls) {
|
|
125
|
-
focus.focusUp = `${props.focusKey}-next-page`;
|
|
126
|
-
} else {
|
|
127
|
-
if (props.focusUp) {
|
|
128
|
-
focus.focusUp = props.focusUp;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
} else {
|
|
132
|
-
if (row - 1 === 0 && column === 0 && !hasPageControls) {
|
|
133
|
-
focus.focusUp = props.focusKey;
|
|
134
|
-
} else {
|
|
135
|
-
focus.focusUp = `${props.focusKey}-row-${row - 1}-column-${column}`;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
if (row === maxRow - 1) {
|
|
139
|
-
if (props.focusDown) {
|
|
140
|
-
focus.focusDown = props.focusDown;
|
|
141
|
-
}
|
|
142
|
-
} else {
|
|
143
|
-
if (row === maxRow - 2 && column >= lastElementColumn - 1) {
|
|
144
|
-
focus.focusDown = lastCellKey;
|
|
145
|
-
} else {
|
|
146
|
-
focus.focusDown = `${props.focusKey}-row-${row + 1}-column-${column}`;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
if (column === 0) {
|
|
150
|
-
if (props.focusLeft) {
|
|
151
|
-
focus.focusLeft = props.focusLeft;
|
|
152
|
-
}
|
|
153
|
-
} else {
|
|
154
|
-
if (column - 1 === 0 && row === 0) {
|
|
155
|
-
focus.focusLeft = props.focusKey;
|
|
156
|
-
} else {
|
|
157
|
-
focus.focusLeft = `${props.focusKey}-row-${row}-column-${column - 1}`;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
if (column === maxColumn - 1) {
|
|
161
|
-
if (props.focusRight) {
|
|
162
|
-
focus.focusRight = props.focusRight;
|
|
163
|
-
}
|
|
164
|
-
} else {
|
|
165
|
-
focus.focusRight = `${props.focusKey}-row-${row}-column-${column + 1}`;
|
|
166
|
-
if (row >= maxRow - 1 && column + 1 >= lastElementColumn - 1) {
|
|
167
|
-
focus.focusRight = lastCellKey;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
let debugFocus = {};
|
|
171
|
-
if (DEBUG_FOCUS) {
|
|
172
|
-
debugFocus = {
|
|
173
|
-
maxRow,
|
|
174
|
-
maxColumn,
|
|
175
|
-
lastElementColumn,
|
|
176
|
-
row,
|
|
177
|
-
column,
|
|
178
|
-
lastCellKey,
|
|
179
|
-
lastCellFullKey
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
row = Math.floor((itemIndex + 1) / itemsPerRow);
|
|
183
|
-
if (row > wired.lastGridRow) {
|
|
184
|
-
wired.row += 1;
|
|
185
|
-
wired.column = 0;
|
|
186
|
-
wired.lastGridRow = row;
|
|
187
|
-
} else {
|
|
188
|
-
wired.column += 1;
|
|
189
|
-
}
|
|
190
|
-
wired.index += 1;
|
|
191
|
-
wiredGridRef.current = wired;
|
|
85
|
+
let row = Math.floor(itemIndex / itemsPerRow);
|
|
86
|
+
let column = itemIndex % itemsPerRow;
|
|
87
|
+
|
|
88
|
+
// TODO pass in the focusStart xx and yy
|
|
89
|
+
// To support rehydrating last select element in grid
|
|
90
|
+
|
|
91
|
+
if (props?.assignFocus !== false) {
|
|
192
92
|
child = /*#__PURE__*/React.cloneElement(child, {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
93
|
+
focusKey: 'cell',
|
|
94
|
+
xx: column,
|
|
95
|
+
yy: gridYOffset + renderRowIndex,
|
|
96
|
+
focusStart: props.focusStart && column == 0 && row == 0
|
|
196
97
|
});
|
|
197
98
|
}
|
|
198
99
|
return /*#__PURE__*/_jsx(View, {
|
|
199
100
|
children: child
|
|
200
|
-
}, `cell-${
|
|
101
|
+
}, `cell-${row}-${column}`);
|
|
201
102
|
};
|
|
202
103
|
let rows = null;
|
|
203
104
|
let row = null;
|
|
@@ -215,20 +116,23 @@ const SnowGridW = props => {
|
|
|
215
116
|
rows.push(row);
|
|
216
117
|
}
|
|
217
118
|
}
|
|
218
|
-
return /*#__PURE__*/_jsxs(
|
|
119
|
+
return /*#__PURE__*/_jsxs(SnowView, {
|
|
120
|
+
parentPath: focusPath,
|
|
219
121
|
testID: props.testID,
|
|
220
122
|
style: gridStyle,
|
|
221
|
-
children: [pageControls,
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
123
|
+
children: [pageControls, /*#__PURE__*/_jsx(SnowView, {
|
|
124
|
+
xx: 0,
|
|
125
|
+
yy: gridYOffset,
|
|
126
|
+
children: rows.map((row, rowIndex) => {
|
|
127
|
+
return /*#__PURE__*/_jsx(View, {
|
|
128
|
+
style: rowStyle,
|
|
129
|
+
children: row.map(cell => {
|
|
130
|
+
return cell;
|
|
131
|
+
})
|
|
132
|
+
}, `row-${focusPath}-${rowIndex}`);
|
|
133
|
+
})
|
|
228
134
|
})]
|
|
229
|
-
},
|
|
135
|
+
}, focusPath);
|
|
230
136
|
};
|
|
231
|
-
SnowGridW.isSnowFocusWired = true;
|
|
232
|
-
export const SnowGrid = SnowGridW;
|
|
233
137
|
export default SnowGrid;
|
|
234
138
|
//# sourceMappingURL=snow-grid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","useStyleContext","useFocusContext","useNavigationContext","SnowPager","jsx","_jsx","jsxs","_jsxs","
|
|
1
|
+
{"version":3,"names":["React","View","useStyleContext","useFocusContext","useNavigationContext","SnowView","SnowPager","jsx","_jsx","jsxs","_jsxs","SnowGrid","props","items","children","Children","toArray","filter","child","length","SnowStyle","currentRoute","focusPath","focusWrap","canFocus","itemsPerRow","itemsPerPage","maxPage","Math","ceil","gridStyle","component","grid","push","short","rowStyle","row","renderItem","item","page","routeParams","hasOwnProperty","focusKey","parseInt","hasPageControls","slice","maxColumn","min","maxRow","max","lastElementColumn","gridYOffset","pageControls","renderCell","itemIndex","renderRowIndex","floor","column","assignFocus","cloneElement","xx","yy","focusStart","rows","ii","parentPath","testID","style","map","rowIndex","cell"],"sourceRoot":"../../../../src","sources":["component/wired/snow-grid.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,22 +6,18 @@ import { Image } from 'expo-image';
|
|
|
6
6
|
import { useStyleContext } from "../../context/snow-style-context.js";
|
|
7
7
|
import { useFocusContext } from "../../context/snow-focus-context.js";
|
|
8
8
|
import SnowText from "../snow-text.js";
|
|
9
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
10
|
-
const
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
export const SnowImageButton = props => {
|
|
11
11
|
const {
|
|
12
12
|
SnowStyle
|
|
13
13
|
} = useStyleContext(props);
|
|
14
14
|
const {
|
|
15
|
-
|
|
16
|
-
isFocused
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} = useFocusContext();
|
|
22
|
-
const {
|
|
23
|
-
elementRef
|
|
24
|
-
} = useFocusWiring(props);
|
|
15
|
+
focusWrap,
|
|
16
|
+
isFocused
|
|
17
|
+
} = useFocusContext('image-button', {
|
|
18
|
+
...props,
|
|
19
|
+
canFocus: true
|
|
20
|
+
});
|
|
25
21
|
let fontStyle = [SnowStyle.component.imageButton.text];
|
|
26
22
|
let title = props.title;
|
|
27
23
|
if (title && title.length > 60) {
|
|
@@ -48,7 +44,7 @@ const SnowImageButtonW = props => {
|
|
|
48
44
|
wrapperStyle.push(SnowStyle.component.imageButton.selected);
|
|
49
45
|
textWrapperStyle.push(SnowStyle.component.imageButton.selected);
|
|
50
46
|
}
|
|
51
|
-
if (isFocused
|
|
47
|
+
if (isFocused) {
|
|
52
48
|
wrapperStyle.push(SnowStyle.component.imageButton.focused);
|
|
53
49
|
textWrapperStyle.push(SnowStyle.component.imageButton.focused);
|
|
54
50
|
}
|
|
@@ -62,35 +58,21 @@ const SnowImageButtonW = props => {
|
|
|
62
58
|
imageSource = props.imageSource;
|
|
63
59
|
}
|
|
64
60
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
contentFit: "contain",
|
|
81
|
-
source: imageSource,
|
|
82
|
-
placeholder: props.placeholder
|
|
83
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
84
|
-
style: textWrapperStyle,
|
|
85
|
-
children: /*#__PURE__*/_jsx(SnowText, {
|
|
86
|
-
style: fontStyle,
|
|
87
|
-
children: title
|
|
88
|
-
})
|
|
89
|
-
})]
|
|
90
|
-
})
|
|
91
|
-
});
|
|
61
|
+
return focusWrap(/*#__PURE__*/_jsxs(Pressable, {
|
|
62
|
+
style: wrapperStyle,
|
|
63
|
+
children: [/*#__PURE__*/_jsx(Image, {
|
|
64
|
+
style: imageStyle,
|
|
65
|
+
contentFit: "contain",
|
|
66
|
+
source: imageSource,
|
|
67
|
+
placeholder: props.placeholder
|
|
68
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
69
|
+
style: textWrapperStyle,
|
|
70
|
+
children: /*#__PURE__*/_jsx(SnowText, {
|
|
71
|
+
style: fontStyle,
|
|
72
|
+
children: title
|
|
73
|
+
})
|
|
74
|
+
})]
|
|
75
|
+
}));
|
|
92
76
|
};
|
|
93
|
-
SnowImageButtonW.isSnowFocusWired = true;
|
|
94
|
-
export const SnowImageButton = SnowImageButtonW;
|
|
95
77
|
export default SnowImageButton;
|
|
96
78
|
//# sourceMappingURL=snow-image-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Pressable","Image","useStyleContext","useFocusContext","SnowText","jsx","_jsx","jsxs","_jsxs","
|
|
1
|
+
{"version":3,"names":["React","View","Pressable","Image","useStyleContext","useFocusContext","SnowText","jsx","_jsx","jsxs","_jsxs","SnowImageButton","props","SnowStyle","focusWrap","isFocused","canFocus","fontStyle","component","imageButton","text","title","length","push","smallText","substring","wrapperStyle","wrapper","imageStyle","image","wide","wrapperWide","imageWide","square","wrapperSquare","imageSquare","textWrapperStyle","textWrapper","dull","selected","focused","imageSource","imageUrl","uri","style","children","contentFit","source","placeholder"],"sourceRoot":"../../../../src","sources":["component/wired/snow-image-button.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,17 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { useFocusContext } from "../../context/snow-focus-context.js";
|
|
5
|
+
import SnowView from "./snow-view.js";
|
|
5
6
|
import SnowLabel from "../snow-label.js";
|
|
6
7
|
import SnowGrid from "./snow-grid.js";
|
|
7
8
|
import SnowImageButton from "./snow-image-button.js";
|
|
8
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
9
|
-
const
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
export const SnowImageGrid = props => {
|
|
10
11
|
if (!props.items || !props.items.length) {
|
|
11
12
|
return null;
|
|
12
13
|
}
|
|
13
14
|
const {
|
|
14
|
-
|
|
15
|
-
} = useFocusContext(
|
|
15
|
+
focusPath
|
|
16
|
+
} = useFocusContext('image-grid', {
|
|
17
|
+
...props,
|
|
18
|
+
canFocus: false
|
|
19
|
+
});
|
|
16
20
|
const [toggledItems, setToggledItems] = React.useState({});
|
|
17
21
|
const itemsPerRow = props.itemsPerRow || 5;
|
|
18
22
|
const renderItem = (item, itemIndex) => {
|
|
@@ -85,18 +89,16 @@ const SnowImageGridW = props => {
|
|
|
85
89
|
if (props.itemsPerPage) {
|
|
86
90
|
gridProps.itemsPerPage = props.itemsPerPage;
|
|
87
91
|
}
|
|
88
|
-
return /*#__PURE__*/_jsxs(
|
|
92
|
+
return /*#__PURE__*/_jsxs(SnowView, {
|
|
89
93
|
children: [props.title ? /*#__PURE__*/_jsxs(SnowLabel, {
|
|
90
94
|
children: [props.title, " (", props.items.length, ")"]
|
|
91
95
|
}) : null, /*#__PURE__*/_jsx(SnowGrid, {
|
|
92
|
-
...readFocusProps(props),
|
|
93
96
|
...gridProps,
|
|
97
|
+
parentPath: focusPath,
|
|
94
98
|
items: props.items,
|
|
95
99
|
renderItem: renderItem
|
|
96
100
|
})]
|
|
97
101
|
});
|
|
98
102
|
};
|
|
99
|
-
SnowImageGridW.isSnowFocusWired = true;
|
|
100
|
-
export const SnowImageGrid = SnowImageGridW;
|
|
101
103
|
export default SnowImageGrid;
|
|
102
104
|
//# sourceMappingURL=snow-image-grid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useFocusContext","SnowLabel","SnowGrid","SnowImageButton","jsx","_jsx","jsxs","_jsxs","
|
|
1
|
+
{"version":3,"names":["React","useFocusContext","SnowView","SnowLabel","SnowGrid","SnowImageButton","jsx","_jsx","jsxs","_jsxs","SnowImageGrid","props","items","length","focusPath","canFocus","toggledItems","setToggledItems","useState","itemsPerRow","renderItem","item","itemIndex","sourceProps","getItemImageUrl","imageUrl","getItemImageSource","imageSource","getItemImageFallback","itemName","getItemName","toggled","hasOwnProperty","id","isDull","disableToggle","getItemToggleStatus","snowStyle","wide","wideImage","square","squareImage","dull","onPress","onLongPress","longPressToggle","prev","result","title","gridProps","itemsPerPage","children","parentPath"],"sourceRoot":"../../../../src","sources":["component/wired/snow-image-grid.js"],"mappings":"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","ignoreList":[]}
|