expo-snowui 1.4.2 → 1.5.0
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/README.md +17 -1
- package/lib/module/component/snow-break.js +8 -1
- package/lib/module/component/snow-break.js.map +1 -1
- package/lib/module/component/snow-safe-area.js +28 -6
- package/lib/module/component/snow-safe-area.js.map +1 -1
- package/lib/module/component/wired/snow-modal.js +61 -26
- package/lib/module/component/wired/snow-modal.js.map +1 -1
- package/lib/module/component/wired/snow-overlay.js +34 -17
- package/lib/module/component/wired/snow-overlay.js.map +1 -1
- package/lib/module/component/wired/snow-range-slider.js +54 -60
- package/lib/module/component/wired/snow-range-slider.js.map +1 -1
- package/lib/module/component/wired/snow-view.js +1 -0
- package/lib/module/component/wired/snow-view.js.map +1 -1
- package/lib/module/context/snow-context.js +11 -27
- package/lib/module/context/snow-context.js.map +1 -1
- package/lib/module/context/snow-focus-context.js +68 -79
- package/lib/module/context/snow-focus-context.js.map +1 -1
- package/lib/module/context/snow-input-context.js +318 -0
- package/lib/module/context/snow-input-context.js.map +1 -0
- package/lib/module/context/snow-layer-context.js +132 -0
- package/lib/module/context/snow-layer-context.js.map +1 -0
- package/lib/module/context/snow-navigation-context.js +56 -71
- package/lib/module/context/snow-navigation-context.js.map +1 -1
- package/lib/module/snow-app.js +31 -47
- package/lib/module/snow-app.js.map +1 -1
- package/lib/module/snow-style.js +23 -3
- package/lib/module/snow-style.js.map +1 -1
- package/lib/module/util.js +19 -11
- package/lib/module/util.js.map +1 -1
- package/package.json +2 -1
- package/src/component/snow-break.js +14 -3
- package/src/component/snow-safe-area.js +26 -3
- package/src/component/wired/snow-modal.js +65 -23
- package/src/component/wired/snow-overlay.js +46 -17
- package/src/component/wired/snow-range-slider.js +51 -62
- package/src/component/wired/snow-view.js +1 -0
- package/src/context/snow-context.js +13 -28
- package/src/context/snow-focus-context.js +71 -97
- package/src/context/snow-input-context.js +257 -0
- package/src/context/snow-layer-context.js +114 -0
- package/src/context/snow-navigation-context.js +40 -67
- package/src/snow-app.js +40 -53
- package/src/snow-style.js +24 -3
- package/src/util.js +26 -12
package/README.md
CHANGED
|
@@ -11,6 +11,22 @@ npm install expo-snowui
|
|
|
11
11
|
|
|
12
12
|
Note that your app needs to use `react-native-tvos` as a dep, not `react-native`.
|
|
13
13
|
|
|
14
|
+
Also `expo-secure-store` needs to be installed and listed as an expo plugin.
|
|
15
|
+
|
|
14
16
|
|
|
15
17
|
## Usage
|
|
16
|
-
See the example app for how the components work.
|
|
18
|
+
See the example app for how the components work.
|
|
19
|
+
|
|
20
|
+
At a high level, there are a bunch of components that are purely UI.
|
|
21
|
+
|
|
22
|
+
Then there are wired components. These tie into an app-wide focus system.
|
|
23
|
+
|
|
24
|
+
A SnowApp automatically provides the various contexts used to support common app functionality, like modal navigation.
|
|
25
|
+
|
|
26
|
+
Counter to the common style of focus management, all focus in snowui is manually wired up.
|
|
27
|
+
|
|
28
|
+
No guessing about component directions, no accidentally selecting boxes of text on Android.
|
|
29
|
+
|
|
30
|
+
The contexts manage things like hardware buttons on Android, selecting items on TV, and moving between pages.
|
|
31
|
+
|
|
32
|
+
Lastly there are random helper functions in `util` that I find useful in multiple apps.
|
|
@@ -7,8 +7,15 @@ export function SnowBreak(props) {
|
|
|
7
7
|
const {
|
|
8
8
|
SnowStyle
|
|
9
9
|
} = useStyleContext(props);
|
|
10
|
+
let style = [SnowStyle.component.break.horizontal];
|
|
11
|
+
if (props.vertical) {
|
|
12
|
+
style = [SnowStyle.component.break.vertical];
|
|
13
|
+
}
|
|
14
|
+
if (props.style) {
|
|
15
|
+
style.push(props.style);
|
|
16
|
+
}
|
|
10
17
|
return /*#__PURE__*/_jsx(View, {
|
|
11
|
-
style:
|
|
18
|
+
style: style
|
|
12
19
|
});
|
|
13
20
|
}
|
|
14
21
|
export default SnowBreak;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","useStyleContext","jsx","_jsx","SnowBreak","props","SnowStyle","style","component","break"],"sourceRoot":"../../../src","sources":["component/snow-break.js"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,eAAe,QAAQ,kCAA+B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE/D,OAAO,SAASC,SAASA,CAACC,KAAK,EAAE;EAC7B,MAAM;IAAEC;EAAU,CAAC,GAAGL,eAAe,CAACI,KAAK,CAAC;EAE5C,
|
|
1
|
+
{"version":3,"names":["View","useStyleContext","jsx","_jsx","SnowBreak","props","SnowStyle","style","component","break","horizontal","vertical","push"],"sourceRoot":"../../../src","sources":["component/snow-break.js"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,eAAe,QAAQ,kCAA+B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE/D,OAAO,SAASC,SAASA,CAACC,KAAK,EAAE;EAC7B,MAAM;IAAEC;EAAU,CAAC,GAAGL,eAAe,CAACI,KAAK,CAAC;EAE5C,IAAIE,KAAK,GAAG,CAACD,SAAS,CAACE,SAAS,CAACC,KAAK,CAACC,UAAU,CAAC;EAClD,IAAIL,KAAK,CAACM,QAAQ,EAAE;IAChBJ,KAAK,GAAG,CAACD,SAAS,CAACE,SAAS,CAACC,KAAK,CAACE,QAAQ,CAAC;EAChD;EAEA,IAAIN,KAAK,CAACE,KAAK,EAAE;IACbA,KAAK,CAACK,IAAI,CAACP,KAAK,CAACE,KAAK,CAAC;EAC3B;EAEA,oBACIJ,IAAA,CAACH,IAAI;IACDO,KAAK,EAAEA;EAAM,CAChB,CAAC;AAEV;AAEA,eAAeH,SAAS","ignoreList":[]}
|
|
@@ -1,16 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { ScrollView, View } from 'react-native';
|
|
4
5
|
import { useStyleContext } from "../context/snow-style-context.js";
|
|
5
|
-
import {
|
|
6
|
+
import { useFocusContext } from "../context/snow-focus-context.js";
|
|
7
|
+
import { useLayerContext } from "../context/snow-layer-context.js";
|
|
8
|
+
import util from "../util.js";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
10
|
export function SnowSafeArea(props) {
|
|
7
11
|
const {
|
|
8
12
|
SnowStyle
|
|
9
13
|
} = useStyleContext(props);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
const {
|
|
15
|
+
currentModal,
|
|
16
|
+
currentOverlay
|
|
17
|
+
} = useLayerContext();
|
|
18
|
+
const {
|
|
19
|
+
setScrollViewRef
|
|
20
|
+
} = useFocusContext();
|
|
21
|
+
const scrollViewRef = React.useRef(null);
|
|
22
|
+
React.useEffect(() => {
|
|
23
|
+
if (scrollViewRef.current) {
|
|
24
|
+
setScrollViewRef(scrollViewRef);
|
|
25
|
+
}
|
|
26
|
+
}, [scrollViewRef]);
|
|
27
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
28
|
+
style: util.blankStyle,
|
|
29
|
+
children: [/*#__PURE__*/_jsx(ScrollView, {
|
|
30
|
+
ref: scrollViewRef,
|
|
31
|
+
style: SnowStyle.component.safeArea,
|
|
32
|
+
snowStyle: SnowStyle,
|
|
33
|
+
showsVerticalScrollIndicator: !currentModal,
|
|
34
|
+
children: props.children
|
|
35
|
+
}), currentModal, currentOverlay]
|
|
14
36
|
});
|
|
15
37
|
}
|
|
16
38
|
export default SnowSafeArea;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","useStyleContext","jsx","_jsx","SnowSafeArea","props","SnowStyle","
|
|
1
|
+
{"version":3,"names":["React","ScrollView","View","useStyleContext","useFocusContext","useLayerContext","util","jsx","_jsx","jsxs","_jsxs","SnowSafeArea","props","SnowStyle","currentModal","currentOverlay","setScrollViewRef","scrollViewRef","useRef","useEffect","current","style","blankStyle","children","ref","component","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,eAAe,QAAQ,kCAA+B;AAC/D,SAASC,eAAe,QAAQ,kCAA+B;AAC/D,OAAOC,IAAI,MAAM,YAAS;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE1B,OAAO,SAASC,YAAYA,CAACC,KAAK,EAAE;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAGV,eAAe,CAACS,KAAK,CAAC;EAC5C,MAAM;IAAEE,YAAY;IAAEC;EAAe,CAAC,GAAGV,eAAe,CAAC,CAAC;EAC1D,MAAM;IAAEW;EAAiB,CAAC,GAAGZ,eAAe,CAAC,CAAC;EAC9C,MAAMa,aAAa,GAAGjB,KAAK,CAACkB,MAAM,CAAC,IAAI,CAAC;EAExClB,KAAK,CAACmB,SAAS,CAAC,MAAM;IAClB,IAAIF,aAAa,CAACG,OAAO,EAAE;MACvBJ,gBAAgB,CAACC,aAAa,CAAC;IACnC;EACJ,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,oBACIP,KAAA,CAACR,IAAI;IAACmB,KAAK,EAAEf,IAAI,CAACgB,UAAW;IAAAC,QAAA,gBACzBf,IAAA,CAACP,UAAU;MACPuB,GAAG,EAAEP,aAAc;MACnBI,KAAK,EAAER,SAAS,CAACY,SAAS,CAACC,QAAS;MACpCC,SAAS,EAAEd,SAAU;MACrBe,4BAA4B,EAAE,CAACd,YAAa;MAAAS,QAAA,EAE3CX,KAAK,CAACW;IAAQ,CACP,CAAC,EACZT,YAAY,EACZC,cAAc;EAAA,CACb,CAAC;AAEf;AAEA,eAAeJ,YAAY","ignoreList":[]}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
5
|
import { useFocusContext } from "../../context/snow-focus-context.js";
|
|
6
|
+
import { useInputContext } from "../../context/snow-input-context.js";
|
|
7
|
+
import { useLayerContext } from "../../context/snow-layer-context.js";
|
|
8
|
+
import { useNavigationContext } from "../../context/snow-navigation-context.js";
|
|
9
|
+
import { useStyleContext } from "../../context/snow-style-context.js";
|
|
6
10
|
import SnowFillView from "../snow-fill-view.js";
|
|
7
11
|
import SnowText from "../snow-text.js";
|
|
8
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -10,19 +14,35 @@ const SnowModalW = props => {
|
|
|
10
14
|
const {
|
|
11
15
|
SnowStyle
|
|
12
16
|
} = useStyleContext(props);
|
|
17
|
+
const {
|
|
18
|
+
addBackListener,
|
|
19
|
+
removeBackListener
|
|
20
|
+
} = useInputContext();
|
|
21
|
+
const {
|
|
22
|
+
pushFocusLayer,
|
|
23
|
+
popFocusLayer
|
|
24
|
+
} = useFocusContext(props);
|
|
25
|
+
const {
|
|
26
|
+
pushModal,
|
|
27
|
+
popModal
|
|
28
|
+
} = useLayerContext(props);
|
|
29
|
+
if (!props.onRequestClose) {
|
|
30
|
+
return /*#__PURE__*/_jsx(SnowText, {
|
|
31
|
+
children: "SnowModal requires an onRequestClose prop"
|
|
32
|
+
});
|
|
33
|
+
}
|
|
13
34
|
if (props.assignFocus !== false) {
|
|
14
35
|
if (!props.focusLayer) {
|
|
15
36
|
return /*#__PURE__*/_jsx(SnowText, {
|
|
16
37
|
children: "SnowModal requires a focusLayer prop"
|
|
17
38
|
});
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return null;
|
|
39
|
+
} else {
|
|
40
|
+
React.useEffect(() => {
|
|
41
|
+
pushFocusLayer(`snow-modal-${props.focusLayer}`, true);
|
|
42
|
+
return () => {
|
|
43
|
+
popFocusLayer();
|
|
44
|
+
};
|
|
45
|
+
}, []);
|
|
26
46
|
}
|
|
27
47
|
}
|
|
28
48
|
let style = [SnowStyle.component.modal.prompt];
|
|
@@ -35,32 +55,47 @@ const SnowModalW = props => {
|
|
|
35
55
|
if (props.contentStyle) {
|
|
36
56
|
style.push(props.contentStyle);
|
|
37
57
|
}
|
|
58
|
+
let modalView = null;
|
|
38
59
|
if (props.wrapper === false) {
|
|
39
|
-
|
|
60
|
+
modalView = /*#__PURE__*/_jsx(View, {
|
|
40
61
|
navigationBarTranslucent: true,
|
|
41
62
|
statusBarTranslucent: true,
|
|
42
63
|
transparent: props.transparent,
|
|
43
64
|
style: style,
|
|
44
|
-
onRequestClose: props.onRequestClose,
|
|
45
65
|
children: props.children
|
|
46
66
|
});
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
style: modalStyle,
|
|
54
|
-
navigationBarTranslucent: true,
|
|
55
|
-
statusBarTranslucent: true,
|
|
56
|
-
transparent: props.transparent,
|
|
57
|
-
onRequestClose: props.onRequestClose,
|
|
58
|
-
children: /*#__PURE__*/_jsx(SnowFillView, {
|
|
67
|
+
} else {
|
|
68
|
+
let modalStyle = [SnowStyle.component.modal.default, SnowStyle.component.modal.prompt];
|
|
69
|
+
if (props.modalStyle) {
|
|
70
|
+
modalStyle.push(props.modalStyle);
|
|
71
|
+
}
|
|
72
|
+
let modalContent = /*#__PURE__*/_jsx(SnowFillView, {
|
|
59
73
|
scroll: props.scroll,
|
|
60
74
|
children: props.children,
|
|
61
75
|
style: style
|
|
62
|
-
})
|
|
63
|
-
|
|
76
|
+
});
|
|
77
|
+
modalView = /*#__PURE__*/_jsx(View, {
|
|
78
|
+
style: modalStyle,
|
|
79
|
+
navigationBarTranslucent: true,
|
|
80
|
+
statusBarTranslucent: true,
|
|
81
|
+
transparent: props.transparent,
|
|
82
|
+
children: modalContent
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
if (modalView) {
|
|
86
|
+
React.useEffect(() => {
|
|
87
|
+
pushModal(modalView);
|
|
88
|
+
const backListenerKey = addBackListener(() => {
|
|
89
|
+
props.onRequestClose();
|
|
90
|
+
return true;
|
|
91
|
+
});
|
|
92
|
+
return () => {
|
|
93
|
+
removeBackListener(backListenerKey);
|
|
94
|
+
popModal();
|
|
95
|
+
};
|
|
96
|
+
}, []);
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
64
99
|
};
|
|
65
100
|
SnowModalW.isSnowFocusWired = true;
|
|
66
101
|
export const SnowModal = SnowModalW;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","View","useFocusContext","useInputContext","useLayerContext","useNavigationContext","useStyleContext","SnowFillView","SnowText","jsx","_jsx","SnowModalW","props","SnowStyle","addBackListener","removeBackListener","pushFocusLayer","popFocusLayer","pushModal","popModal","onRequestClose","children","assignFocus","focusLayer","useEffect","style","component","modal","prompt","transparent","push","center","contentStyle","modalView","wrapper","navigationBarTranslucent","statusBarTranslucent","modalStyle","default","modalContent","scroll","backListenerKey","isSnowFocusWired","SnowModal"],"sourceRoot":"../../../../src","sources":["component/wired/snow-modal.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import React from 'react';
|
|
|
4
4
|
import { TouchableOpacity } from 'react-native';
|
|
5
5
|
import { useStyleContext } from "../../context/snow-style-context.js";
|
|
6
6
|
import { useFocusContext } from "../../context/snow-focus-context.js";
|
|
7
|
+
import { useLayerContext } from "../../context/snow-layer-context.js";
|
|
7
8
|
import SnowText from "../snow-text.js";
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
10
|
const SnowOverlayW = props => {
|
|
@@ -11,29 +12,38 @@ const SnowOverlayW = props => {
|
|
|
11
12
|
SnowStyle
|
|
12
13
|
} = useStyleContext(props);
|
|
13
14
|
const {
|
|
14
|
-
focusedLayer,
|
|
15
|
-
focusedKey,
|
|
16
|
-
focusOn,
|
|
17
15
|
focusLongPress,
|
|
18
16
|
focusPress,
|
|
19
|
-
isFocused,
|
|
20
|
-
isFocusedLayer,
|
|
21
17
|
tvRemoteProps,
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
pushFocusLayer,
|
|
19
|
+
popFocusLayer,
|
|
20
|
+
focusedLayer,
|
|
21
|
+
addFocusMap
|
|
24
22
|
} = useFocusContext();
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
const {
|
|
24
|
+
pushOverlay,
|
|
25
|
+
popOverlay
|
|
26
|
+
} = useLayerContext(props);
|
|
27
|
+
if (!props.focusLayer) {
|
|
28
|
+
return /*#__PURE__*/_jsx(SnowText, {
|
|
29
|
+
children: "SnowOverlay requires a focusLayer prop"
|
|
30
|
+
});
|
|
28
31
|
}
|
|
32
|
+
const [isReady, setIsReady] = React.useState(false);
|
|
33
|
+
const elementRef = React.useRef(null);
|
|
34
|
+
const focusLayerName = `snow-overlay-${props.focusLayer}`;
|
|
29
35
|
React.useEffect(() => {
|
|
30
|
-
|
|
31
|
-
|
|
36
|
+
pushFocusLayer(focusLayerName, true);
|
|
37
|
+
setIsReady(true);
|
|
38
|
+
return () => {
|
|
39
|
+
popFocusLayer();
|
|
40
|
+
};
|
|
41
|
+
}, []);
|
|
42
|
+
React.useEffect(() => {
|
|
43
|
+
if (isReady && elementRef.current) {
|
|
44
|
+
addFocusMap(elementRef, props);
|
|
32
45
|
}
|
|
33
|
-
}, [
|
|
34
|
-
if (!isFocusedLayer(props.focusLayer)) {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
46
|
+
}, [props.focusStart, props.focusKey, props.focusDown, props.focusUp, props.focusRight, props.focusLeft, focusedLayer, elementRef, isReady]);
|
|
37
47
|
let style = [SnowStyle.component.overlay.touchable];
|
|
38
48
|
if (props.transparent) {
|
|
39
49
|
style.push(SnowStyle.component.overlay.transparent);
|
|
@@ -41,7 +51,7 @@ const SnowOverlayW = props => {
|
|
|
41
51
|
if (props.black) {
|
|
42
52
|
style.push(SnowStyle.component.overlay.black);
|
|
43
53
|
}
|
|
44
|
-
|
|
54
|
+
const overlayView = /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
45
55
|
ref: elementRef,
|
|
46
56
|
...tvRemoteProps,
|
|
47
57
|
style: style,
|
|
@@ -51,6 +61,13 @@ const SnowOverlayW = props => {
|
|
|
51
61
|
onLongPress: focusLongPress(elementRef, props.focusKey),
|
|
52
62
|
children: props.children
|
|
53
63
|
});
|
|
64
|
+
React.useEffect(() => {
|
|
65
|
+
pushOverlay(overlayView);
|
|
66
|
+
return () => {
|
|
67
|
+
popOverlay();
|
|
68
|
+
};
|
|
69
|
+
}, []);
|
|
70
|
+
return null;
|
|
54
71
|
};
|
|
55
72
|
SnowOverlayW.isSnowFocusWired = true;
|
|
56
73
|
export const SnowOverlay = SnowOverlayW;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","TouchableOpacity","useStyleContext","useFocusContext","SnowText","jsx","_jsx","SnowOverlayW","props","SnowStyle","
|
|
1
|
+
{"version":3,"names":["React","TouchableOpacity","useStyleContext","useFocusContext","useLayerContext","SnowText","jsx","_jsx","SnowOverlayW","props","SnowStyle","focusLongPress","focusPress","tvRemoteProps","pushFocusLayer","popFocusLayer","focusedLayer","addFocusMap","pushOverlay","popOverlay","focusLayer","children","isReady","setIsReady","useState","elementRef","useRef","focusLayerName","useEffect","current","focusStart","focusKey","focusDown","focusUp","focusRight","focusLeft","style","component","overlay","touchable","transparent","push","black","overlayView","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,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,GAAGR,eAAe,CAACO,KAAK,CAAC;EAC5C,MAAM;IACFE,cAAc;IACdC,UAAU;IACVC,aAAa;IACbC,cAAc;IACdC,aAAa;IACbC,YAAY;IACZC;EACJ,CAAC,GAAGd,eAAe,CAAC,CAAC;EACrB,MAAM;IAAEe,WAAW;IAAEC;EAAW,CAAC,GAAGf,eAAe,CAACK,KAAK,CAAC;EAE1D,IAAI,CAACA,KAAK,CAACW,UAAU,EAAE;IACnB,oBAAOb,IAAA,CAACF,QAAQ;MAAAgB,QAAA,EAAC;IAAsC,CAAU,CAAC;EACtE;EAEA,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGvB,KAAK,CAACwB,QAAQ,CAAC,KAAK,CAAC;EAEnD,MAAMC,UAAU,GAAGzB,KAAK,CAAC0B,MAAM,CAAC,IAAI,CAAC;EACrC,MAAMC,cAAc,GAAG,gBAAgBlB,KAAK,CAACW,UAAU,EAAE;EAEzDpB,KAAK,CAAC4B,SAAS,CAAC,MAAM;IAClBd,cAAc,CAACa,cAAc,EAAE,IAAI,CAAC;IACpCJ,UAAU,CAAC,IAAI,CAAC;IAChB,OAAO,MAAM;MACTR,aAAa,CAAC,CAAC;IACnB,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAENf,KAAK,CAAC4B,SAAS,CAAC,MAAM;IAClB,IAAIN,OAAO,IAAIG,UAAU,CAACI,OAAO,EAAE;MAC/BZ,WAAW,CAACQ,UAAU,EAAEhB,KAAK,CAAC;IAClC;EACJ,CAAC,EAAE,CACCA,KAAK,CAACqB,UAAU,EAChBrB,KAAK,CAACsB,QAAQ,EACdtB,KAAK,CAACuB,SAAS,EACfvB,KAAK,CAACwB,OAAO,EACbxB,KAAK,CAACyB,UAAU,EAChBzB,KAAK,CAAC0B,SAAS,EACfnB,YAAY,EACZS,UAAU,EACVH,OAAO,CACV,CAAC;EAKF,IAAIc,KAAK,GAAG,CAAC1B,SAAS,CAAC2B,SAAS,CAACC,OAAO,CAACC,SAAS,CAAC;EACnD,IAAI9B,KAAK,CAAC+B,WAAW,EAAE;IACnBJ,KAAK,CAACK,IAAI,CAAC/B,SAAS,CAAC2B,SAAS,CAACC,OAAO,CAACE,WAAW,CAAC;EACvD;EACA,IAAI/B,KAAK,CAACiC,KAAK,EAAE;IACbN,KAAK,CAACK,IAAI,CAAC/B,SAAS,CAAC2B,SAAS,CAACC,OAAO,CAACI,KAAK,CAAC;EACjD;EAEA,MAAMC,WAAW,gBACbpC,IAAA,CAACN,gBAAgB;IACb2C,GAAG,EAAEnB,UAAW;IAAA,GACZZ,aAAa;IACjBuB,KAAK,EAAEA,KAAM;IACbS,aAAa,EAAE,CAAE,CAAC;IAAA;IAClBC,OAAO,EAAElC,UAAU,CAACa,UAAU,EAAEhB,KAAK,CAACsB,QAAQ,CAAE;IAChDgB,WAAW,EAAEpC,cAAc,CAACc,UAAU,EAAEhB,KAAK,CAACsB,QAAQ,CAAE;IACxDV,QAAQ,EAAEZ,KAAK,CAACY;EAAS,CAC5B,CACJ;EAEDrB,KAAK,CAAC4B,SAAS,CAAC,MAAM;IAClBV,WAAW,CAACyB,WAAW,CAAC;IACxB,OAAO,MAAM;MACTxB,UAAU,CAAC,CAAC;IAChB,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC;AAEDX,YAAY,CAACwC,gBAAgB,GAAG,IAAI;AAEpC,OAAO,MAAMC,WAAW,GAAGzC,YAAY;AAEvC,eAAeyC,WAAW","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React from "react";
|
|
4
4
|
import { PanResponder, Platform, Pressable, View } from "react-native";
|
|
5
5
|
import { useDebouncedCallback } from 'use-debounce';
|
|
6
|
+
import { useInputContext } from "../../context/snow-input-context.js";
|
|
6
7
|
import { useFocusContext } from "../../context/snow-focus-context.js";
|
|
7
8
|
import { useStyleContext } from "../../context/snow-style-context.js";
|
|
8
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -33,7 +34,10 @@ const SnowRangeSliderW = props => {
|
|
|
33
34
|
SnowConfig
|
|
34
35
|
} = useStyleContext(props);
|
|
35
36
|
const {
|
|
36
|
-
|
|
37
|
+
addActionListener,
|
|
38
|
+
removeActionListener
|
|
39
|
+
} = useInputContext();
|
|
40
|
+
const {
|
|
37
41
|
useFocusWiring,
|
|
38
42
|
isFocused
|
|
39
43
|
} = useFocusContext();
|
|
@@ -41,6 +45,7 @@ const SnowRangeSliderW = props => {
|
|
|
41
45
|
const [percent, setPercent] = React.useState(0);
|
|
42
46
|
const percentRef = React.useRef(percent);
|
|
43
47
|
const [applyStepInterval, setApplyStepInterval] = React.useState(null);
|
|
48
|
+
const applyIntervalRef = React.useRef(applyStepInterval);
|
|
44
49
|
const elementRef = useFocusWiring(props);
|
|
45
50
|
let sliderWidth = SnowStyle.component.rangeSlider.trackWrapper.width;
|
|
46
51
|
if (props.width) {
|
|
@@ -111,42 +116,9 @@ const SnowRangeSliderW = props => {
|
|
|
111
116
|
React.useEffect(() => {
|
|
112
117
|
percentRef.current = percent;
|
|
113
118
|
}, [percent]);
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
callbacks['slider'] = sliderHandleRemote;
|
|
118
|
-
return callbacks;
|
|
119
|
-
});
|
|
120
|
-
return () => {
|
|
121
|
-
setRemoteCallbacks(callbacks => {
|
|
122
|
-
callbacks['slider'] = null;
|
|
123
|
-
return callbacks;
|
|
124
|
-
});
|
|
125
|
-
};
|
|
126
|
-
}, []);
|
|
127
|
-
}
|
|
128
|
-
if (Platform.OS === 'web') {
|
|
129
|
-
React.useEffect(() => {
|
|
130
|
-
const rangeSliderKeyboardHandler = event => {
|
|
131
|
-
if (isFocused(props.focusKey)) {
|
|
132
|
-
switch (event.key) {
|
|
133
|
-
case 'ArrowLeft':
|
|
134
|
-
applyStep(-step);
|
|
135
|
-
break;
|
|
136
|
-
case 'ArrowRight':
|
|
137
|
-
applyStep(step);
|
|
138
|
-
break;
|
|
139
|
-
default:
|
|
140
|
-
break;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
window.addEventListener('keydown', rangeSliderKeyboardHandler);
|
|
145
|
-
return () => {
|
|
146
|
-
window.removeEventListener('keydown', rangeSliderKeyboardHandler);
|
|
147
|
-
};
|
|
148
|
-
}, []);
|
|
149
|
-
}
|
|
119
|
+
React.useEffect(() => {
|
|
120
|
+
applyIntervalRef.current = applyStepInterval;
|
|
121
|
+
}, [applyStepInterval]);
|
|
150
122
|
const applyStep = amount => {
|
|
151
123
|
let result = percentRef.current + amount;
|
|
152
124
|
if (result < min) {
|
|
@@ -159,32 +131,54 @@ const SnowRangeSliderW = props => {
|
|
|
159
131
|
setPercent(result);
|
|
160
132
|
onValueChange(result);
|
|
161
133
|
};
|
|
162
|
-
const longPress =
|
|
163
|
-
if (
|
|
164
|
-
|
|
165
|
-
setApplyStepInterval(setInterval(() => {
|
|
166
|
-
applyStep(amount);
|
|
167
|
-
}, 100));
|
|
168
|
-
}
|
|
169
|
-
if (action === 1) {
|
|
170
|
-
clearInterval(applyStepInterval);
|
|
134
|
+
const longPress = amount => {
|
|
135
|
+
if (applyIntervalRef.current) {
|
|
136
|
+
clearInterval(applyIntervalRef.current);
|
|
171
137
|
}
|
|
138
|
+
applyStep(amount);
|
|
139
|
+
setApplyStepInterval(setInterval(() => {
|
|
140
|
+
applyStep(amount);
|
|
141
|
+
}, 100));
|
|
172
142
|
};
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
143
|
+
React.useEffect(() => {
|
|
144
|
+
const actionListenerKey = addActionListener({
|
|
145
|
+
onRight: () => {
|
|
146
|
+
if (isFocused(props.focusKey)) {
|
|
147
|
+
applyStep(step);
|
|
148
|
+
clearInterval(applyIntervalRef.current);
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
onLongRightStart: () => {
|
|
152
|
+
if (isFocused(props.focusKey)) {
|
|
153
|
+
longPress(step * 2, 'start');
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
onLongRightEnd: () => {
|
|
157
|
+
if (isFocused(props.focusKey)) {
|
|
158
|
+
clearInterval(applyIntervalRef.current);
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
onLeft: () => {
|
|
162
|
+
if (isFocused(props.focusKey)) {
|
|
163
|
+
applyStep(-step);
|
|
164
|
+
clearInterval(applyIntervalRef.current);
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
onLongLeftStart: () => {
|
|
168
|
+
if (isFocused(props.focusKey)) {
|
|
169
|
+
longPress(-step * 2, 'start');
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
onLongLeftEnd: () => {
|
|
173
|
+
if (isFocused(props.focusKey)) {
|
|
174
|
+
clearInterval(applyIntervalRef.current);
|
|
175
|
+
}
|
|
185
176
|
}
|
|
186
|
-
}
|
|
187
|
-
|
|
177
|
+
});
|
|
178
|
+
return () => {
|
|
179
|
+
removeActionListener(actionListenerKey);
|
|
180
|
+
};
|
|
181
|
+
}, []);
|
|
188
182
|
const handleLayout = kind => {
|
|
189
183
|
return event => {
|
|
190
184
|
let widths = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PanResponder","Platform","Pressable","View","useDebouncedCallback","useFocusContext","useStyleContext","jsx","_jsx","jsxs","_jsxs","min","max","step","SnowRangeSliderW","props","SnowStyle","SnowConfig","
|
|
1
|
+
{"version":3,"names":["React","PanResponder","Platform","Pressable","View","useDebouncedCallback","useInputContext","useFocusContext","useStyleContext","jsx","_jsx","jsxs","_jsxs","min","max","step","SnowRangeSliderW","props","SnowStyle","SnowConfig","addActionListener","removeActionListener","useFocusWiring","isFocused","isDraggingRef","useRef","percent","setPercent","useState","percentRef","applyStepInterval","setApplyStepInterval","applyIntervalRef","elementRef","sliderWidth","component","rangeSlider","trackWrapper","width","layoutsRef","slider","track","thumb","leftTrack","rightTrack","onValueChange","debounce","inputDebounceMilliseconds","thumbPositionToPercent","positionX","actionPositionX","current","x","newPercent","panRef","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderEnd","onPanResponderRelease","onPanResponderMove","pressEvent","gestureState","moveX","x0","onPanResponderGrant","useEffect","applyStep","amount","result","longPress","clearInterval","setInterval","actionListenerKey","onRight","focusKey","onLongRightStart","onLongRightEnd","onLeft","onLongLeftStart","onLongLeftEnd","handleLayout","kind","event","widths","nativeEvent","layout","trackWrapperStyle","thumbX","leftTrackStyle","thumbStyle","left","push","backgroundColor","color","hover","borderColor","hoverDark","onLayout","style","wrapper","children","panHandlers","ref","focusRight","focusLeft","focusUp","focusDown","isSnowFocusWired","SnowRangeSlider"],"sourceRoot":"../../../../src","sources":["component/wired/snow-range-slider.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACIC,YAAY,EACZC,QAAQ,EACRC,SAAS,EACTC,IAAI,QACD,cAAc;AACrB,SAASC,oBAAoB,QAAQ,cAAc;AACnD,SAASC,eAAe,QAAQ,qCAAkC;AAClE,SAASC,eAAe,QAAQ,qCAAkC;AAClE,SAASC,eAAe,QAAQ,qCAAkC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAElE,MAAMC,GAAG,GAAG,GAAG;AACf,MAAMC,GAAG,GAAG,GAAG;AACf,MAAMC,IAAI,GAAG,IAAI;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,MAAMC,gBAAgB,GAAIC,KAAK,IAAK;EAChC,MAAM;IAAEC,SAAS;IAAEC;EAAW,CAAC,GAAGX,eAAe,CAACS,KAAK,CAAC;EACxD,MAAM;IAAEG,iBAAiB;IAAEC;EAAqB,CAAC,GAAGf,eAAe,CAAC,CAAC;EACrE,MAAM;IAAEgB,cAAc;IAAEC;EAAU,CAAC,GAAGhB,eAAe,CAAC,CAAC;EACvD,MAAMiB,aAAa,GAAGxB,KAAK,CAACyB,MAAM,CAAC,KAAK,CAAC;EACzC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG3B,KAAK,CAAC4B,QAAQ,CAAC,CAAC,CAAC;EAC/C,MAAMC,UAAU,GAAG7B,KAAK,CAACyB,MAAM,CAACC,OAAO,CAAC;EACxC,MAAM,CAACI,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG/B,KAAK,CAAC4B,QAAQ,CAAC,IAAI,CAAC;EACtE,MAAMI,gBAAgB,GAAGhC,KAAK,CAACyB,MAAM,CAACK,iBAAiB,CAAC;EACxD,MAAMG,UAAU,GAAGX,cAAc,CAACL,KAAK,CAAC;EAExC,IAAIiB,WAAW,GAAGhB,SAAS,CAACiB,SAAS,CAACC,WAAW,CAACC,YAAY,CAACC,KAAK;EACpE,IAAIrB,KAAK,CAACqB,KAAK,EAAE;IACbJ,WAAW,GAAGjB,KAAK,CAACqB,KAAK;EAC7B;EAEA,MAAMC,UAAU,GAAGvC,KAAK,CAACyB,MAAM,CAAC;IAC5Be,MAAM,EAAEN,WAAW;IACnBO,KAAK,EAAE,CAAC;IACRC,KAAK,EAAE,CAAC;IACRC,SAAS,EAAE,CAAC;IACZC,UAAU,EAAEV;EAChB,CAAC,CAAC;EAEF,IAAIW,aAAa,GAAG5B,KAAK,CAAC4B,aAAa;EACvC,IAAI5B,KAAK,CAAC6B,QAAQ,EAAE;IAChBD,aAAa,GAAGxC,oBAAoB,CAACY,KAAK,CAAC4B,aAAa,EAAE1B,UAAU,CAAC4B,yBAAyB,CAAC;EACnG;EAEA,MAAMC,sBAAsB,GAAIC,SAAS,IAAK;IAC1C,IAAIC,eAAe,GAAGD,SAAS,GAAGV,UAAU,CAACY,OAAO,CAACV,KAAK,CAACW,CAAC,GAAIb,UAAU,CAACY,OAAO,CAACT,KAAK,CAACJ,KAAK,GAAG,CAAE;IACnG,IAAIY,eAAe,GAAG,CAAC,EAAE;MACrBA,eAAe,GAAG,CAAC;IACvB;IACA,IAAIA,eAAe,GAAGhB,WAAW,EAAE;MAC/BgB,eAAe,GAAGhB,WAAW;IACjC;IACA,IAAImB,UAAU,GAAGH,eAAe,GAAGhB,WAAW;IAC9C,IAAImB,UAAU,GAAG,CAAC,EAAE;MAChBA,UAAU,GAAG,CAAC;IAClB;IACA,IAAIA,UAAU,GAAG,CAAC,EAAE;MAChBA,UAAU,GAAG,CAAC;IAClB;IACA1B,UAAU,CAAC0B,UAAU,CAAC;IACtBxB,UAAU,CAACsB,OAAO,GAAGE,UAAU;EACnC,CAAC;EAED,MAAMC,MAAM,GAAGtD,KAAK,CAACyB,MAAM,CACvBxB,YAAY,CAACsD,MAAM,CAAC;IAChBC,4BAA4B,EAAEA,CAAA,KAAM,IAAI;IACxCC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;IACvCC,iBAAiB,EAAEA,CAAA,KAAM;MACrBlC,aAAa,CAAC2B,OAAO,GAAG,KAAK;MAC7BN,aAAa,CAAChB,UAAU,CAACsB,OAAO,CAAC;IACrC,CAAC;IACDQ,qBAAqB,EAAEA,CAAA,KAAM;MACzBnC,aAAa,CAAC2B,OAAO,GAAG,KAAK;MAC7BN,aAAa,CAAChB,UAAU,CAACsB,OAAO,CAAC;IACrC,CAAC;IACDS,kBAAkB,EAAEA,CAACC,UAAU,EAAEC,YAAY,KAAK;MAC9CtC,aAAa,CAAC2B,OAAO,GAAG,IAAI;MAC5B,IAAIF,SAAS,GAAGa,YAAY,CAACC,KAAK;MAClC,IAAI,CAACd,SAAS,EAAE;QACZA,SAAS,GAAGa,YAAY,CAACE,EAAE;MAC/B;MACAhB,sBAAsB,CAACC,SAAS,CAAC;IACrC,CAAC;IACDgB,mBAAmB,EAAEA,CAACJ,UAAU,EAAEC,YAAY,KAAK;MAC/CtC,aAAa,CAAC2B,OAAO,GAAG,IAAI;MAC5B,IAAIF,SAAS,GAAGa,YAAY,CAACC,KAAK;MAClC,IAAI,CAACd,SAAS,EAAE;QACZA,SAAS,GAAGa,YAAY,CAACE,EAAE;MAC/B;MACAhB,sBAAsB,CAACC,SAAS,CAAC;IACrC;EACJ,CAAC,CACL,CAAC;EAEDjD,KAAK,CAACkE,SAAS,CAAC,MAAM;IAClB,IAAI,CAAC1C,aAAa,CAAC2B,OAAO,EAAE;MACxBxB,UAAU,CAACV,KAAK,CAACS,OAAO,CAAC;IAC7B;EACJ,CAAC,EAAE,CAACT,KAAK,CAACS,OAAO,CAAC,CAAC;EAEnB1B,KAAK,CAACkE,SAAS,CAAC,MAAM;IAClBrC,UAAU,CAACsB,OAAO,GAAGzB,OAAO;EAChC,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb1B,KAAK,CAACkE,SAAS,CAAC,MAAM;IAClBlC,gBAAgB,CAACmB,OAAO,GAAGrB,iBAAiB;EAChD,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvB,MAAMqC,SAAS,GAAIC,MAAM,IAAK;IAC1B,IAAIC,MAAM,GAAGxC,UAAU,CAACsB,OAAO,GAAGiB,MAAM;IACxC,IAAIC,MAAM,GAAGxD,GAAG,EAAE;MACdwD,MAAM,GAAGxD,GAAG;IAChB;IACA,IAAIwD,MAAM,GAAGvD,GAAG,EAAE;MACduD,MAAM,GAAGvD,GAAG;IAChB;IACAe,UAAU,CAACsB,OAAO,GAAGkB,MAAM;IAC3B1C,UAAU,CAAC0C,MAAM,CAAC;IAClBxB,aAAa,CAACwB,MAAM,CAAC;EACzB,CAAC;EAED,MAAMC,SAAS,GAAIF,MAAM,IAAK;IAC1B,IAAIpC,gBAAgB,CAACmB,OAAO,EAAE;MAC1BoB,aAAa,CAACvC,gBAAgB,CAACmB,OAAO,CAAC;IAC3C;IACAgB,SAAS,CAACC,MAAM,CAAC;IACjBrC,oBAAoB,CAACyC,WAAW,CAAC,MAAM;MAAEL,SAAS,CAACC,MAAM,CAAC;IAAC,CAAC,EAAE,GAAG,CAAC,CAAC;EACvE,CAAC;EAGDpE,KAAK,CAACkE,SAAS,CAAC,MAAM;IAClB,MAAMO,iBAAiB,GAAGrD,iBAAiB,CAAC;MACxCsD,OAAO,EAAEA,CAAA,KAAM;QACX,IAAInD,SAAS,CAACN,KAAK,CAAC0D,QAAQ,CAAC,EAAE;UAC3BR,SAAS,CAACpD,IAAI,CAAC;UACfwD,aAAa,CAACvC,gBAAgB,CAACmB,OAAO,CAAC;QAC3C;MACJ,CAAC;MACDyB,gBAAgB,EAAEA,CAAA,KAAM;QACpB,IAAIrD,SAAS,CAACN,KAAK,CAAC0D,QAAQ,CAAC,EAAE;UAC3BL,SAAS,CAACvD,IAAI,GAAG,CAAC,EAAE,OAAO,CAAC;QAChC;MACJ,CAAC;MACD8D,cAAc,EAAEA,CAAA,KAAM;QAClB,IAAItD,SAAS,CAACN,KAAK,CAAC0D,QAAQ,CAAC,EAAE;UAC3BJ,aAAa,CAACvC,gBAAgB,CAACmB,OAAO,CAAC;QAC3C;MACJ,CAAC;MACD2B,MAAM,EAAEA,CAAA,KAAM;QACV,IAAIvD,SAAS,CAACN,KAAK,CAAC0D,QAAQ,CAAC,EAAE;UAC3BR,SAAS,CAAC,CAACpD,IAAI,CAAC;UAChBwD,aAAa,CAACvC,gBAAgB,CAACmB,OAAO,CAAC;QAC3C;MACJ,CAAC;MACD4B,eAAe,EAAEA,CAAA,KAAM;QACnB,IAAIxD,SAAS,CAACN,KAAK,CAAC0D,QAAQ,CAAC,EAAE;UAC3BL,SAAS,CAAC,CAACvD,IAAI,GAAG,CAAC,EAAE,OAAO,CAAC;QACjC;MACJ,CAAC;MACDiE,aAAa,EAAEA,CAAA,KAAM;QACjB,IAAIzD,SAAS,CAACN,KAAK,CAAC0D,QAAQ,CAAC,EAAE;UAC3BJ,aAAa,CAACvC,gBAAgB,CAACmB,OAAO,CAAC;QAC3C;MACJ;IACJ,CAAC,CAAC;IACF,OAAO,MAAM;MACT9B,oBAAoB,CAACoD,iBAAiB,CAAC;IAC3C,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMQ,YAAY,GAAIC,IAAI,IAAK;IAC3B,OAAQC,KAAK,IAAK;MACd,IAAIC,MAAM,GAAG;QAAE,GAAG7C,UAAU,CAACY;MAAQ,CAAC;MACtCiC,MAAM,CAACF,IAAI,CAAC,GAAGC,KAAK,CAACE,WAAW,CAACC,MAAM;MACvC/C,UAAU,CAACY,OAAO,GAAGiC,MAAM;IAC/B,CAAC;EACL,CAAC;EAED,MAAMG,iBAAiB,GAAG,CACtBrE,SAAS,CAACiB,SAAS,CAACC,WAAW,CAACC,YAAY,EAC5C;IACIC,KAAK,EAAEJ;EACX,CAAC,CACJ;EAED,IAAIsD,MAAM,GAAG,CAAC;EACd,IAAIhE,aAAa,CAAC2B,OAAO,EAAE;IACvBqC,MAAM,GAAG9D,OAAO,GAAGQ,WAAW;EAClC,CAAC,MACI;IACDsD,MAAM,GAAG3D,UAAU,CAACsB,OAAO,GAAGjB,WAAW;EAC7C;EAEA,MAAMuD,cAAc,GAAG,CACnBvE,SAAS,CAACiB,SAAS,CAACC,WAAW,CAACO,SAAS,EACzC;IACIL,KAAK,EAAEkD;EACX,CAAC,CACJ;EAED,IAAIE,UAAU,GAAG,CACbxE,SAAS,CAACiB,SAAS,CAACC,WAAW,CAACM,KAAK,EACrC;IACIiD,IAAI,EAAEH,MAAM,GAAGtE,SAAS,CAACiB,SAAS,CAACC,WAAW,CAACM,KAAK,CAACJ,KAAK,GAAG;EACjE,CAAC,CACJ;EACD,IAAIf,SAAS,CAACN,KAAK,CAAC0D,QAAQ,CAAC,EAAE;IAC3Be,UAAU,CAACE,IAAI,CAAC;MACZC,eAAe,EAAE3E,SAAS,CAAC4E,KAAK,CAACC,KAAK;MACtCC,WAAW,EAAE9E,SAAS,CAAC4E,KAAK,CAACG;IACjC,CAAC,CAAC;EACN;EAEA,oBACIvF,IAAA,CAACN,IAAI;IAAC8F,QAAQ,EAAEjB,YAAY,CAAC,QAAQ,CAAE;IAACkB,KAAK,EAAEjF,SAAS,CAACiB,SAAS,CAACC,WAAW,CAACgE,OAAQ;IAAAC,QAAA,eACnFzF,KAAA,CAACR,IAAI;MAAA,GAAKkD,MAAM,CAACH,OAAO,CAACmD,WAAW;MAAEJ,QAAQ,EAAEjB,YAAY,CAAC,OAAO,CAAE;MAACkB,KAAK,EAAEZ,iBAAkB;MAAAc,QAAA,gBAC5F3F,IAAA,CAACN,IAAI;QAAC8F,QAAQ,EAAEjB,YAAY,CAAC,WAAW,CAAE;QAACkB,KAAK,EAAEV;MAAe,CAAE,CAAC,eACpE/E,IAAA,CAACN,IAAI;QAAC8F,QAAQ,EAAEjB,YAAY,CAAC,YAAY,CAAE;QAACkB,KAAK,EAAEjF,SAAS,CAACiB,SAAS,CAACC,WAAW,CAACQ;MAAW,CAAE,CAAC,eACjGlC,IAAA,CAACP,SAAS;QACNoG,GAAG,EAAEtE,UAAW;QAChBkE,KAAK,EAAET,UAAW;QAClBQ,QAAQ,EAAEjB,YAAY,CAAC,OAAO,CAAE;QAChCN,QAAQ,EAAE1D,KAAK,CAAC0D,QAAS;QACzB6B,UAAU,EAAEvF,KAAK,CAAC0D,QAAS;QAC3B8B,SAAS,EAAExF,KAAK,CAAC0D,QAAS;QAC1B+B,OAAO,EAAEzF,KAAK,CAACyF,OAAQ;QACvBC,SAAS,EAAE1F,KAAK,CAAC0F;MAAU,CAC9B,CAAC;IAAA,CACA;EAAC,CACL,CAAC;AAEf,CAAC;AAED3F,gBAAgB,CAAC4F,gBAAgB,GAAG,IAAI;AAExC,OAAO,MAAMC,eAAe,GAAG7F,gBAAgB;AAE/C,eAAe6F,eAAe","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","useFocusContext","jsx","_jsx","SnowViewW","props","styleProps","snowStyle","snowConfig","readFocusProps","children","Children","toArray","map","child","childIndex","isValidElement","cloneElement","filter","isSnowFocusWired","SnowView"],"sourceRoot":"../../../../src","sources":["component/wired/snow-view.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,eAAe,QAAQ,qCAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAEA,MAAMC,SAAS,GAAIC,KAAK,IAAK;EACzB,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;
|
|
1
|
+
{"version":3,"names":["React","View","useFocusContext","jsx","_jsx","SnowViewW","props","styleProps","snowStyle","snowConfig","readFocusProps","children","Children","toArray","map","child","childIndex","isValidElement","cloneElement","filter","style","isSnowFocusWired","SnowView"],"sourceRoot":"../../../../src","sources":["component/wired/snow-view.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,eAAe,QAAQ,qCAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAEA,MAAMC,SAAS,GAAIC,KAAK,IAAK;EACzB,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;IACda,KAAK,EAAEd,KAAK,CAACc,KAAM;IACnBT,QAAQ,EAAEA;EAAS,CACtB,CAAC;AACN,CAAC;AAEDN,SAAS,CAACgB,gBAAgB,GAAG,IAAI;AAEjC,OAAO,MAAMC,QAAQ,GAAGjB,SAAS;AAEjC,eAAeiB,QAAQ","ignoreList":[]}
|