@fluentui-react-native/tester 0.167.0 → 0.167.1
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/CHANGELOG.json +16 -1
- package/CHANGELOG.md +10 -2
- package/lib/fluent-tester/src/TestComponents/FocusTrapZone/FocusTrapZoneTest.d.ts.map +1 -1
- package/lib/fluent-tester/src/TestComponents/FocusTrapZone/FocusTrapZoneTest.js +46 -23
- package/lib/fluent-tester/src/TestComponents/FocusTrapZone/FocusTrapZoneTest.js.map +1 -1
- package/lib-commonjs/fluent-tester/src/TestComponents/FocusTrapZone/FocusTrapZoneTest.d.ts.map +1 -1
- package/lib-commonjs/fluent-tester/src/TestComponents/FocusTrapZone/FocusTrapZoneTest.js +46 -23
- package/lib-commonjs/fluent-tester/src/TestComponents/FocusTrapZone/FocusTrapZoneTest.js.map +1 -1
- package/package.json +1 -1
- package/src/TestComponents/FocusTrapZone/FocusTrapZoneTest.tsx +55 -32
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,22 @@
|
|
|
2
2
|
"name": "@fluentui-react-native/tester",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Fri, 19 Jan 2024 16:17:50 GMT",
|
|
6
|
+
"version": "0.167.1",
|
|
7
|
+
"tag": "@fluentui-react-native/tester_v0.167.1",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"author": "krsiler@microsoft.com",
|
|
12
|
+
"package": "@fluentui-react-native/tester",
|
|
13
|
+
"commit": "fce80d28a4e9ebd28e23f5ebf84ce80909f49b75",
|
|
14
|
+
"comment": "use themed colors for FocusTrapZone test"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Wed, 17 Jan 2024 01:26:39 GMT",
|
|
6
21
|
"version": "0.167.0",
|
|
7
22
|
"tag": "@fluentui-react-native/tester_v0.167.0",
|
|
8
23
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# Change Log - @fluentui-react-native/tester
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Fri, 19 Jan 2024 16:17:50 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.167.1
|
|
8
|
+
|
|
9
|
+
Fri, 19 Jan 2024 16:17:50 GMT
|
|
10
|
+
|
|
11
|
+
### Patches
|
|
12
|
+
|
|
13
|
+
- use themed colors for FocusTrapZone test (krsiler@microsoft.com)
|
|
14
|
+
|
|
7
15
|
## 0.167.0
|
|
8
16
|
|
|
9
|
-
Wed, 17 Jan 2024 01:26:
|
|
17
|
+
Wed, 17 Jan 2024 01:26:39 GMT
|
|
10
18
|
|
|
11
19
|
### Minor changes
|
|
12
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FocusTrapZoneTest.d.ts","sourceRoot":"","sources":["../../../../../src/TestComponents/FocusTrapZone/FocusTrapZoneTest.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"FocusTrapZoneTest.d.ts","sourceRoot":"","sources":["../../../../../src/TestComponents/FocusTrapZone/FocusTrapZoneTest.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAsD5D,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;CAC9C;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,CAkB9E,CAAC;AA0FF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,iBAajC,CAAC"}
|
|
@@ -4,36 +4,59 @@ import { TouchableHighlight, View } from 'react-native';
|
|
|
4
4
|
import { FocusTrapZone, Text } from '@fluentui/react-native';
|
|
5
5
|
import { useFocusState } from '@fluentui-react-native/interactive-hooks';
|
|
6
6
|
import { Stack } from '@fluentui-react-native/stack';
|
|
7
|
+
import { useTheme } from '@fluentui-react-native/theme-types';
|
|
8
|
+
import { themedStyleSheet } from '@fluentui-react-native/themed-stylesheet';
|
|
7
9
|
import { FOCUSTRAPZONE_TESTPAGE } from '../../../../E2E/src/FocusTrapZone/consts';
|
|
8
10
|
import { stackStyle } from '../Common/styles';
|
|
9
11
|
import { Test } from '../Test';
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
12
|
+
var getThemedStyles = themedStyleSheet(function (t) {
|
|
13
|
+
return {
|
|
14
|
+
trapZoneStyle: {
|
|
15
|
+
padding: 10,
|
|
16
|
+
borderWidth: 2,
|
|
17
|
+
borderColor: t.colors.neutralStroke1,
|
|
18
|
+
borderStyle: 'dashed',
|
|
19
|
+
},
|
|
20
|
+
activeTrapZoneStyle: {
|
|
21
|
+
padding: 10,
|
|
22
|
+
borderColor: t.colors.neutralStroke1,
|
|
23
|
+
borderWidth: 2,
|
|
24
|
+
borderStyle: 'solid',
|
|
25
|
+
},
|
|
26
|
+
componentTwiddlerStyle: {
|
|
27
|
+
borderWidth: 1,
|
|
28
|
+
padding: 8,
|
|
29
|
+
margin: 4,
|
|
30
|
+
borderColor: t.colors.neutralStroke1,
|
|
31
|
+
borderStyle: 'solid',
|
|
32
|
+
},
|
|
33
|
+
focusedComponentTwiddlerStyle: {
|
|
34
|
+
borderWidth: 1,
|
|
35
|
+
padding: 8,
|
|
36
|
+
margin: 4,
|
|
37
|
+
borderStyle: 'solid',
|
|
38
|
+
borderColor: t.colors.strokeFocus2,
|
|
39
|
+
backgroundColor: t.colors.neutralBackground1Hover,
|
|
40
|
+
},
|
|
41
|
+
componentTwiddlerText: {
|
|
42
|
+
color: t.colors.neutralForeground1,
|
|
43
|
+
},
|
|
44
|
+
focusedComponentTwiddlerText: {
|
|
45
|
+
color: t.colors.neutralForeground1Hover,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
});
|
|
30
49
|
export var ComponentTwiddler = function (props) {
|
|
31
50
|
var _a = useFocusState({}), focusProps = _a[0], focusState = _a[1];
|
|
51
|
+
var theme = useTheme();
|
|
52
|
+
var themedStyles = getThemedStyles(theme);
|
|
32
53
|
return (React.createElement(TouchableHighlight, __assign({}, { focusable: false }, { onPress: props.onPress }),
|
|
33
|
-
React.createElement(View, __assign({ focusable: true }, focusProps, { style: focusState.focused ? focusedComponentTwiddlerStyle : componentTwiddlerStyle }),
|
|
34
|
-
React.createElement(Text,
|
|
54
|
+
React.createElement(View, __assign({ focusable: true }, focusProps, { style: focusState.focused ? themedStyles.focusedComponentTwiddlerStyle : themedStyles.componentTwiddlerStyle }),
|
|
55
|
+
React.createElement(Text, { style: focusState.focused ? themedStyles.focusedComponentTwiddlerText : themedStyles.componentTwiddlerText }, props.label))));
|
|
35
56
|
};
|
|
36
57
|
var BasicFocusTrapZone = function () {
|
|
58
|
+
var theme = useTheme();
|
|
59
|
+
var themedStyles = getThemedStyles(theme);
|
|
37
60
|
var _a = React.useState({
|
|
38
61
|
useTrapZone: false,
|
|
39
62
|
renderTrapZone: true,
|
|
@@ -70,7 +93,7 @@ var BasicFocusTrapZone = function () {
|
|
|
70
93
|
? 'focusPreviouslyFocusedInnerElement: true'
|
|
71
94
|
: 'focusPreviouslyFocusedInnerElement: false', onPress: onTwiddleFocusPrevious }),
|
|
72
95
|
React.createElement(ComponentTwiddler, { label: state.disableFirstFocus ? 'disableFirstFocus: true' : 'disableFirstFocus: false', onPress: onTwiddleFirstFocus }),
|
|
73
|
-
state.renderTrapZone && (React.createElement(FocusTrapZone, { componentRef: ftzRef, disableFirstFocus: state.disableFirstFocus, ignoreExternalFocusing: state.ignoreExternalFocusing, focusPreviouslyFocusedInnerElement: state.focusPreviouslyFocusedInnerElement, disabled: !state.useTrapZone, style: state.useTrapZone ? activeTrapZoneStyle : trapZoneStyle },
|
|
96
|
+
state.renderTrapZone && (React.createElement(FocusTrapZone, { componentRef: ftzRef, disableFirstFocus: state.disableFirstFocus, ignoreExternalFocusing: state.ignoreExternalFocusing, focusPreviouslyFocusedInnerElement: state.focusPreviouslyFocusedInnerElement, disabled: !state.useTrapZone, style: state.useTrapZone ? themedStyles.activeTrapZoneStyle : themedStyles.trapZoneStyle },
|
|
74
97
|
React.createElement(Text, null, state.useTrapZone ? 'Trap Active' : 'Trap Active'),
|
|
75
98
|
React.createElement(ComponentTwiddler, { label: "trapped" }),
|
|
76
99
|
React.createElement(ComponentTwiddler, { label: "trapped" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FocusTrapZoneTest.js","sourceRoot":"","sources":["../../../../../src/TestComponents/FocusTrapZone/FocusTrapZoneTest.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"FocusTrapZoneTest.js","sourceRoot":"","sources":["../../../../../src/TestComponents/FocusTrapZone/FocusTrapZoneTest.tsx"],"names":[],"mappings":"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"}
|
package/lib-commonjs/fluent-tester/src/TestComponents/FocusTrapZone/FocusTrapZoneTest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FocusTrapZoneTest.d.ts","sourceRoot":"","sources":["../../../../../src/TestComponents/FocusTrapZone/FocusTrapZoneTest.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"FocusTrapZoneTest.d.ts","sourceRoot":"","sources":["../../../../../src/TestComponents/FocusTrapZone/FocusTrapZoneTest.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAsD5D,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;CAC9C;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,CAkB9E,CAAC;AA0FF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,iBAajC,CAAC"}
|
|
@@ -7,37 +7,60 @@ var react_native_1 = require("react-native");
|
|
|
7
7
|
var react_native_2 = require("@fluentui/react-native");
|
|
8
8
|
var interactive_hooks_1 = require("@fluentui-react-native/interactive-hooks");
|
|
9
9
|
var stack_1 = require("@fluentui-react-native/stack");
|
|
10
|
+
var theme_types_1 = require("@fluentui-react-native/theme-types");
|
|
11
|
+
var themed_stylesheet_1 = require("@fluentui-react-native/themed-stylesheet");
|
|
10
12
|
var consts_1 = require("../../../../E2E/src/FocusTrapZone/consts");
|
|
11
13
|
var styles_1 = require("../Common/styles");
|
|
12
14
|
var Test_1 = require("../Test");
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
15
|
+
var getThemedStyles = (0, themed_stylesheet_1.themedStyleSheet)(function (t) {
|
|
16
|
+
return {
|
|
17
|
+
trapZoneStyle: {
|
|
18
|
+
padding: 10,
|
|
19
|
+
borderWidth: 2,
|
|
20
|
+
borderColor: t.colors.neutralStroke1,
|
|
21
|
+
borderStyle: 'dashed',
|
|
22
|
+
},
|
|
23
|
+
activeTrapZoneStyle: {
|
|
24
|
+
padding: 10,
|
|
25
|
+
borderColor: t.colors.neutralStroke1,
|
|
26
|
+
borderWidth: 2,
|
|
27
|
+
borderStyle: 'solid',
|
|
28
|
+
},
|
|
29
|
+
componentTwiddlerStyle: {
|
|
30
|
+
borderWidth: 1,
|
|
31
|
+
padding: 8,
|
|
32
|
+
margin: 4,
|
|
33
|
+
borderColor: t.colors.neutralStroke1,
|
|
34
|
+
borderStyle: 'solid',
|
|
35
|
+
},
|
|
36
|
+
focusedComponentTwiddlerStyle: {
|
|
37
|
+
borderWidth: 1,
|
|
38
|
+
padding: 8,
|
|
39
|
+
margin: 4,
|
|
40
|
+
borderStyle: 'solid',
|
|
41
|
+
borderColor: t.colors.strokeFocus2,
|
|
42
|
+
backgroundColor: t.colors.neutralBackground1Hover,
|
|
43
|
+
},
|
|
44
|
+
componentTwiddlerText: {
|
|
45
|
+
color: t.colors.neutralForeground1,
|
|
46
|
+
},
|
|
47
|
+
focusedComponentTwiddlerText: {
|
|
48
|
+
color: t.colors.neutralForeground1Hover,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
});
|
|
33
52
|
var ComponentTwiddler = function (props) {
|
|
34
53
|
var _a = (0, interactive_hooks_1.useFocusState)({}), focusProps = _a[0], focusState = _a[1];
|
|
54
|
+
var theme = (0, theme_types_1.useTheme)();
|
|
55
|
+
var themedStyles = getThemedStyles(theme);
|
|
35
56
|
return (React.createElement(react_native_1.TouchableHighlight, tslib_1.__assign({}, { focusable: false }, { onPress: props.onPress }),
|
|
36
|
-
React.createElement(react_native_1.View, tslib_1.__assign({ focusable: true }, focusProps, { style: focusState.focused ? focusedComponentTwiddlerStyle : componentTwiddlerStyle }),
|
|
37
|
-
React.createElement(react_native_2.Text,
|
|
57
|
+
React.createElement(react_native_1.View, tslib_1.__assign({ focusable: true }, focusProps, { style: focusState.focused ? themedStyles.focusedComponentTwiddlerStyle : themedStyles.componentTwiddlerStyle }),
|
|
58
|
+
React.createElement(react_native_2.Text, { style: focusState.focused ? themedStyles.focusedComponentTwiddlerText : themedStyles.componentTwiddlerText }, props.label))));
|
|
38
59
|
};
|
|
39
60
|
exports.ComponentTwiddler = ComponentTwiddler;
|
|
40
61
|
var BasicFocusTrapZone = function () {
|
|
62
|
+
var theme = (0, theme_types_1.useTheme)();
|
|
63
|
+
var themedStyles = getThemedStyles(theme);
|
|
41
64
|
var _a = React.useState({
|
|
42
65
|
useTrapZone: false,
|
|
43
66
|
renderTrapZone: true,
|
|
@@ -74,7 +97,7 @@ var BasicFocusTrapZone = function () {
|
|
|
74
97
|
? 'focusPreviouslyFocusedInnerElement: true'
|
|
75
98
|
: 'focusPreviouslyFocusedInnerElement: false', onPress: onTwiddleFocusPrevious }),
|
|
76
99
|
React.createElement(exports.ComponentTwiddler, { label: state.disableFirstFocus ? 'disableFirstFocus: true' : 'disableFirstFocus: false', onPress: onTwiddleFirstFocus }),
|
|
77
|
-
state.renderTrapZone && (React.createElement(react_native_2.FocusTrapZone, { componentRef: ftzRef, disableFirstFocus: state.disableFirstFocus, ignoreExternalFocusing: state.ignoreExternalFocusing, focusPreviouslyFocusedInnerElement: state.focusPreviouslyFocusedInnerElement, disabled: !state.useTrapZone, style: state.useTrapZone ? activeTrapZoneStyle : trapZoneStyle },
|
|
100
|
+
state.renderTrapZone && (React.createElement(react_native_2.FocusTrapZone, { componentRef: ftzRef, disableFirstFocus: state.disableFirstFocus, ignoreExternalFocusing: state.ignoreExternalFocusing, focusPreviouslyFocusedInnerElement: state.focusPreviouslyFocusedInnerElement, disabled: !state.useTrapZone, style: state.useTrapZone ? themedStyles.activeTrapZoneStyle : themedStyles.trapZoneStyle },
|
|
78
101
|
React.createElement(react_native_2.Text, null, state.useTrapZone ? 'Trap Active' : 'Trap Active'),
|
|
79
102
|
React.createElement(exports.ComponentTwiddler, { label: "trapped" }),
|
|
80
103
|
React.createElement(exports.ComponentTwiddler, { label: "trapped" }),
|
package/lib-commonjs/fluent-tester/src/TestComponents/FocusTrapZone/FocusTrapZoneTest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FocusTrapZoneTest.js","sourceRoot":"","sources":["../../../../../src/TestComponents/FocusTrapZone/FocusTrapZoneTest.tsx"],"names":[],"mappings":";;;;AAAA,mDAA+B;AAE/B,6CAAwD;
|
|
1
|
+
{"version":3,"file":"FocusTrapZoneTest.js","sourceRoot":"","sources":["../../../../../src/TestComponents/FocusTrapZone/FocusTrapZoneTest.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,45 +1,57 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { TouchableHighlightProps
|
|
2
|
+
import type { TouchableHighlightProps } from 'react-native';
|
|
3
3
|
import { TouchableHighlight, View } from 'react-native';
|
|
4
4
|
|
|
5
|
-
import type { IFocusTrapZoneProps } from '@fluentui/react-native';
|
|
6
5
|
import { FocusTrapZone, Text } from '@fluentui/react-native';
|
|
6
|
+
import type { Theme } from '@fluentui-react-native/framework';
|
|
7
7
|
import type { KeyPressEvent } from '@fluentui-react-native/interactive-hooks';
|
|
8
8
|
import { useFocusState } from '@fluentui-react-native/interactive-hooks';
|
|
9
9
|
import { Stack } from '@fluentui-react-native/stack';
|
|
10
|
+
import { useTheme } from '@fluentui-react-native/theme-types';
|
|
11
|
+
import { themedStyleSheet } from '@fluentui-react-native/themed-stylesheet';
|
|
10
12
|
|
|
11
13
|
import { FOCUSTRAPZONE_TESTPAGE } from '../../../../E2E/src/FocusTrapZone/consts';
|
|
12
14
|
import { stackStyle } from '../Common/styles';
|
|
13
15
|
import type { TestSection, PlatformStatus } from '../Test';
|
|
14
16
|
import { Test } from '../Test';
|
|
15
17
|
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
18
|
+
const getThemedStyles = themedStyleSheet((t: Theme) => {
|
|
19
|
+
return {
|
|
20
|
+
trapZoneStyle: {
|
|
21
|
+
padding: 10,
|
|
22
|
+
borderWidth: 2,
|
|
23
|
+
borderColor: t.colors.neutralStroke1,
|
|
24
|
+
borderStyle: 'dashed',
|
|
25
|
+
},
|
|
26
|
+
activeTrapZoneStyle: {
|
|
27
|
+
padding: 10,
|
|
28
|
+
borderColor: t.colors.neutralStroke1,
|
|
29
|
+
borderWidth: 2,
|
|
30
|
+
borderStyle: 'solid',
|
|
31
|
+
},
|
|
32
|
+
componentTwiddlerStyle: {
|
|
33
|
+
borderWidth: 1,
|
|
34
|
+
padding: 8,
|
|
35
|
+
margin: 4,
|
|
36
|
+
borderColor: t.colors.neutralStroke1,
|
|
37
|
+
borderStyle: 'solid',
|
|
38
|
+
},
|
|
39
|
+
focusedComponentTwiddlerStyle: {
|
|
40
|
+
borderWidth: 1,
|
|
41
|
+
padding: 8,
|
|
42
|
+
margin: 4,
|
|
43
|
+
borderStyle: 'solid',
|
|
44
|
+
borderColor: t.colors.strokeFocus2,
|
|
45
|
+
backgroundColor: t.colors.neutralBackground1Hover,
|
|
46
|
+
},
|
|
47
|
+
componentTwiddlerText: {
|
|
48
|
+
color: t.colors.neutralForeground1,
|
|
49
|
+
},
|
|
50
|
+
focusedComponentTwiddlerText: {
|
|
51
|
+
color: t.colors.neutralForeground1Hover,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
});
|
|
43
55
|
|
|
44
56
|
interface IComponentTwiddlerProps {
|
|
45
57
|
label?: string;
|
|
@@ -48,17 +60,28 @@ interface IComponentTwiddlerProps {
|
|
|
48
60
|
|
|
49
61
|
export const ComponentTwiddler: React.FunctionComponent<IComponentTwiddlerProps> = (props: IComponentTwiddlerProps) => {
|
|
50
62
|
const [focusProps, focusState] = useFocusState({});
|
|
63
|
+
const theme = useTheme();
|
|
64
|
+
const themedStyles = getThemedStyles(theme);
|
|
51
65
|
|
|
52
66
|
return (
|
|
53
67
|
<TouchableHighlight {...{ focusable: false }} onPress={props.onPress}>
|
|
54
|
-
<View
|
|
55
|
-
|
|
68
|
+
<View
|
|
69
|
+
focusable={true}
|
|
70
|
+
{...(focusProps as any)}
|
|
71
|
+
style={focusState.focused ? themedStyles.focusedComponentTwiddlerStyle : themedStyles.componentTwiddlerStyle}
|
|
72
|
+
>
|
|
73
|
+
<Text style={focusState.focused ? themedStyles.focusedComponentTwiddlerText : themedStyles.componentTwiddlerText}>
|
|
74
|
+
{props.label}
|
|
75
|
+
</Text>
|
|
56
76
|
</View>
|
|
57
77
|
</TouchableHighlight>
|
|
58
78
|
);
|
|
59
79
|
};
|
|
60
80
|
|
|
61
81
|
const BasicFocusTrapZone: React.FunctionComponent = () => {
|
|
82
|
+
const theme = useTheme();
|
|
83
|
+
const themedStyles = getThemedStyles(theme);
|
|
84
|
+
|
|
62
85
|
const [state, setState] = React.useState({
|
|
63
86
|
useTrapZone: false,
|
|
64
87
|
renderTrapZone: true,
|
|
@@ -121,7 +144,7 @@ const BasicFocusTrapZone: React.FunctionComponent = () => {
|
|
|
121
144
|
ignoreExternalFocusing={state.ignoreExternalFocusing}
|
|
122
145
|
focusPreviouslyFocusedInnerElement={state.focusPreviouslyFocusedInnerElement}
|
|
123
146
|
disabled={!state.useTrapZone}
|
|
124
|
-
style={state.useTrapZone ? activeTrapZoneStyle : trapZoneStyle}
|
|
147
|
+
style={state.useTrapZone ? themedStyles.activeTrapZoneStyle : themedStyles.trapZoneStyle}
|
|
125
148
|
>
|
|
126
149
|
<Text>{state.useTrapZone ? 'Trap Active' : 'Trap Active'}</Text>
|
|
127
150
|
<ComponentTwiddler label="trapped" />
|