@fluentui-react-native/tester 0.59.39 → 0.60.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.
@@ -12,15 +12,17 @@ var styles_1 = require("../Common/styles");
12
12
  var StandardCallout = function () {
13
13
  var _a = React.useState(false), showStandardCallout = _a[0], setShowStandardCallout = _a[1];
14
14
  var _b = React.useState(false), isStandardCalloutVisible = _b[0], setIsStandardCalloutVisible = _b[1];
15
- var _c = React.useState(true), shouldSetInitialFocus = _c[0], setShouldSetInitialFocus = _c[1];
15
+ var _c = React.useState(true), openCalloutOnHoverAnchor = _c[0], setOpenCalloutOnHoverAnchor = _c[1];
16
+ var _d = React.useState(false), calloutHovered = _d[0], setCalloutHovered = _d[1];
17
+ var _e = React.useState(true), shouldSetInitialFocus = _e[0], setShouldSetInitialFocus = _e[1];
16
18
  var onInitialFocusChange = React.useCallback(function (value) { return setShouldSetInitialFocus(value); }, []);
17
- var _d = React.useState(false), customRestoreFocus = _d[0], setCustomRestoreFocus = _d[1];
19
+ var _f = React.useState(false), customRestoreFocus = _f[0], setCustomRestoreFocus = _f[1];
18
20
  var onRestoreFocusChange = React.useCallback(function (value) { return setCustomRestoreFocus(value); }, []);
19
- var _e = React.useState(false), isBeakVisible = _e[0], setIsBeakVisible = _e[1];
21
+ var _g = React.useState(false), isBeakVisible = _g[0], setIsBeakVisible = _g[1];
20
22
  var onIsBeakVisibleChange = React.useCallback(function (value) { return setIsBeakVisible(value); }, []);
21
- var _f = React.useState(false), preventDismissOnKeyDown = _f[0], setPreventDismissOnKeyDown = _f[1];
22
- var _g = React.useState(false), preventDismissOnClickOutside = _g[0], setPreventDismissOnClickOutside = _g[1];
23
- var _h = React.useState([]), calloutDismissBehaviors = _h[0], setDismissBehaviors = _h[1];
23
+ var _h = React.useState(false), preventDismissOnKeyDown = _h[0], setPreventDismissOnKeyDown = _h[1];
24
+ var _j = React.useState(false), preventDismissOnClickOutside = _j[0], setPreventDismissOnClickOutside = _j[1];
25
+ var _k = React.useState([]), calloutDismissBehaviors = _k[0], setDismissBehaviors = _k[1];
24
26
  var onPreventDismissOnKeyDownChange = React.useCallback(function (value) {
25
27
  setPreventDismissOnKeyDown(value);
26
28
  if (value) {
@@ -50,27 +52,79 @@ var StandardCallout = function () {
50
52
  var greenTargetRef = React.useRef(null);
51
53
  var decoyBtn1Ref = React.useRef(null);
52
54
  var decoyBtn2Ref = React.useRef(null);
53
- var _j = React.useState(redTargetRef), anchorRef = _j[0], setAnchorRef = _j[1];
55
+ var _l = React.useState(redTargetRef), anchorRef = _l[0], setAnchorRef = _l[1];
56
+ var _m = React.useState(0), hoveredTargetsCount = _m[0], setHoveredTargetsCount = _m[1];
57
+ var _o = React.useState(0), displayCountHoveredTargets = _o[0], setDisplayCountHoveredTargets = _o[1];
58
+ var anchorRefsInfo = React.useMemo(function () {
59
+ return {
60
+ hoverCount: displayCountHoveredTargets,
61
+ isCurrentAnchor: [
62
+ openCalloutOnHoverAnchor && isStandardCalloutVisible && anchorRef == redTargetRef,
63
+ openCalloutOnHoverAnchor && isStandardCalloutVisible && anchorRef == greenTargetRef,
64
+ openCalloutOnHoverAnchor && isStandardCalloutVisible && anchorRef == blueTargetRef,
65
+ ],
66
+ };
67
+ }, [anchorRef, displayCountHoveredTargets, isStandardCalloutVisible, openCalloutOnHoverAnchor]);
68
+ // Use a timer to update the targets count and avoid jittery updates of counts on-screen
69
+ React.useLayoutEffect(function () {
70
+ var timer = setTimeout(function () {
71
+ setDisplayCountHoveredTargets(hoveredTargetsCount);
72
+ }, 50);
73
+ return function () { return clearTimeout(timer); };
74
+ }, [hoveredTargetsCount]);
75
+ React.useLayoutEffect(function () {
76
+ // The callout may be dismissed by multiple mechanisms, depending on its active invocation
77
+ // mechanisms. In each of those dismissal routes, we use this function to reset the callout's
78
+ // state universally.
79
+ if (!showStandardCallout) {
80
+ setIsStandardCalloutVisible(false);
81
+ setCalloutHovered(false);
82
+ }
83
+ }, [showStandardCallout]);
54
84
  var toggleShowStandardCallout = React.useCallback(function () {
55
85
  setShowStandardCallout(!showStandardCallout);
56
- // Unmounting a callout does not invoke onDismiss; onDismiss is only invoked
57
- // for dismissals generated by the native app. When toggling to 'show',
58
- // the isVisible state will be corrected to 'true' by the onShow callback.
59
- setIsStandardCalloutVisible(false);
60
- }, [showStandardCallout, setIsStandardCalloutVisible, setShowStandardCallout]);
86
+ }, [showStandardCallout]);
87
+ // Set up a LayoutEffect for hover callout mechanics including:
88
+ // the toggle switch for hover callout behavior
89
+ // multiple hover targets (i.e. the callout and its anchor)
90
+ // a dismissal timer for closing the callout with no targets hovered
91
+ React.useLayoutEffect(function () {
92
+ if (!openCalloutOnHoverAnchor) {
93
+ setShowStandardCallout(false);
94
+ }
95
+ else if (openCalloutOnHoverAnchor && hoveredTargetsCount > 0) {
96
+ setShowStandardCallout(true);
97
+ }
98
+ else {
99
+ var timer_1 = setTimeout(function () {
100
+ setShowStandardCallout(false);
101
+ }, 2000);
102
+ return function () { return clearTimeout(timer_1); };
103
+ }
104
+ return undefined;
105
+ }, [openCalloutOnHoverAnchor, hoveredTargetsCount]);
106
+ var updateCalloutTargetsHoverState = React.useCallback(function (show, hoverAnchorRef) {
107
+ if (hoverAnchorRef !== undefined && hoverAnchorRef !== anchorRef) {
108
+ return;
109
+ }
110
+ setHoveredTargetsCount(hoveredTargetsCount + (show ? 1 : -1));
111
+ }, [anchorRef, hoveredTargetsCount, setHoveredTargetsCount]);
112
+ var calloutHoveredCallback = React.useCallback(function (isHovered) {
113
+ updateCalloutTargetsHoverState(isHovered, undefined);
114
+ setCalloutHovered(isHovered);
115
+ }, [updateCalloutTargetsHoverState]);
61
116
  var toggleCalloutRef = React.useCallback(function () {
62
117
  // Cycle the target ref between the RGB target views
63
118
  setAnchorRef(anchorRef === redTargetRef ? greenTargetRef : anchorRef === greenTargetRef ? blueTargetRef : redTargetRef);
64
- }, [anchorRef, setAnchorRef]);
119
+ }, [anchorRef]);
65
120
  var onShowStandardCallout = React.useCallback(function () {
66
121
  setIsStandardCalloutVisible(true);
67
- }, [setIsStandardCalloutVisible]);
122
+ }, []);
68
123
  var onDismissStandardCallout = React.useCallback(function () {
69
- setIsStandardCalloutVisible(false);
70
124
  // setting the internal state to false will instigate unmounting the
71
125
  // zombie Callout control.
72
126
  setShowStandardCallout(false);
73
- }, [setIsStandardCalloutVisible, setShowStandardCallout]);
127
+ }, []);
74
128
  var onRestoreFocusStandardCallout = React.useCallback(function (restoreFocusEvent) {
75
129
  var _a, _b, _c, _d, _e;
76
130
  if ((_a = restoreFocusEvent === null || restoreFocusEvent === void 0 ? void 0 : restoreFocusEvent.nativeEvent) === null || _a === void 0 ? void 0 : _a.containsFocus) {
@@ -82,13 +136,13 @@ var StandardCallout = function () {
82
136
  }, [decoyBtn1Ref, decoyBtn2Ref]);
83
137
  var colorDefault = 'default';
84
138
  var colorSelections = [colorDefault, 'red', 'green', 'blue'];
85
- var _k = React.useState(undefined), selectedBackgroundColor = _k[0], setSelectedBackgroundColor = _k[1];
86
- var _l = React.useState(undefined), selectedBorderColor = _l[0], setSelectedBorderColor = _l[1];
139
+ var _p = React.useState(undefined), selectedBackgroundColor = _p[0], setSelectedBackgroundColor = _p[1];
140
+ var _q = React.useState(undefined), selectedBorderColor = _q[0], setSelectedBorderColor = _q[1];
87
141
  var borderWidthDefault = '1';
88
142
  var borderWidthSelections = ['1', '2', '4', '10'];
89
- var _m = React.useState(undefined), selectedBorderWidth = _m[0], setSelectedBorderWidth = _m[1];
90
- var _o = React.useState(false), showScrollViewCallout = _o[0], setShowScrollViewCalout = _o[1];
91
- var _p = React.useState([1, 2, 3]), scrollviewContents = _p[0], setScrollviewContents = _p[1];
143
+ var _r = React.useState(undefined), selectedBorderWidth = _r[0], setSelectedBorderWidth = _r[1];
144
+ var _s = React.useState(false), showScrollViewCallout = _s[0], setShowScrollViewCalout = _s[1];
145
+ var _t = React.useState([1, 2, 3]), scrollviewContents = _t[0], setScrollviewContents = _t[1];
92
146
  var removeButton = React.useCallback(function () {
93
147
  var tempArray = scrollviewContents;
94
148
  tempArray.pop();
@@ -100,6 +154,9 @@ var StandardCallout = function () {
100
154
  return (React.createElement(react_native_1.View, null,
101
155
  React.createElement(react_native_1.View, { style: { flexDirection: 'row', paddingVertical: 5 } },
102
156
  React.createElement(react_native_1.View, { style: { flexDirection: 'column', paddingHorizontal: 5 } },
157
+ React.createElement(react_native_1.View, { style: { flexDirection: 'row' } },
158
+ React.createElement(react_native_1.Switch, { value: openCalloutOnHoverAnchor, onValueChange: setOpenCalloutOnHoverAnchor }),
159
+ React.createElement(react_native_1.Text, null, "Show Callout On Hover Anchor")),
103
160
  React.createElement(react_native_1.View, { style: { flexDirection: 'row' } },
104
161
  React.createElement(react_native_1.Switch, { value: shouldSetInitialFocus, onValueChange: onInitialFocusChange }),
105
162
  React.createElement(react_native_1.Text, null, "Set Initial Focus")),
@@ -123,30 +180,34 @@ var StandardCallout = function () {
123
180
  React.createElement(react_native_1.Picker, { prompt: "Border Width", selectedValue: selectedBorderWidth || borderWidthDefault, onValueChange: function (width) { return setSelectedBorderWidth(width === borderWidthDefault ? undefined : width); } }, borderWidthSelections.map(function (width, index) { return (React.createElement(react_native_1.Picker.Item, { label: width, key: index, value: width })); }))),
124
181
  React.createElement(react_native_2.Separator, { vertical: true }),
125
182
  React.createElement(react_native_1.View, { style: { flexDirection: 'column', paddingHorizontal: 5 } },
126
- React.createElement(react_native_2.Button, { content: "Press for Callout", onClick: toggleShowStandardCallout }),
183
+ React.createElement(react_native_2.Button, { content: (openCalloutOnHoverAnchor ? 'Hover Color Anchor ' : 'Press Here ') + 'for Callout', onClick: toggleShowStandardCallout, disabled: openCalloutOnHoverAnchor }),
127
184
  React.createElement(react_native_1.Text, null,
128
185
  React.createElement(react_native_1.Text, null, "Visibility: "),
129
186
  isStandardCalloutVisible ? React.createElement(react_native_1.Text, { style: { color: 'green' } }, "Visible") : React.createElement(react_native_1.Text, { style: { color: 'red' } }, "Not Visible"))),
130
187
  React.createElement(react_native_2.Separator, { vertical: true }),
131
188
  React.createElement(react_native_1.View, { style: { flexDirection: 'column', paddingHorizontal: 5 } },
132
- React.createElement(react_native_1.View, { ref: redTargetRef, style: { height: 20, width: 20, backgroundColor: 'red', padding: 5 } }),
133
- React.createElement(react_native_1.View, { ref: greenTargetRef, style: { height: 20, width: 20, backgroundColor: 'green', padding: 5 } }),
134
- React.createElement(react_native_1.View, { ref: blueTargetRef, style: { height: 20, width: 20, backgroundColor: 'blue', padding: 5 } }))),
189
+ React.createElement(react_native_2.Pressable, { onHoverIn: function () { return updateCalloutTargetsHoverState(true, redTargetRef); }, onHoverOut: function () { return updateCalloutTargetsHoverState(false, redTargetRef); } },
190
+ React.createElement(react_native_1.View, { ref: redTargetRef, style: { height: 40, width: 40, backgroundColor: 'red', padding: 5 } }, anchorRefsInfo.isCurrentAnchor[0] && React.createElement(react_native_1.Text, null, anchorRefsInfo.hoverCount))),
191
+ React.createElement(react_native_2.Pressable, { onHoverIn: function () { return updateCalloutTargetsHoverState(true, greenTargetRef); }, onHoverOut: function () { return updateCalloutTargetsHoverState(false, greenTargetRef); } },
192
+ React.createElement(react_native_1.View, { ref: greenTargetRef, style: { height: 40, width: 40, backgroundColor: 'green', padding: 5 } }, anchorRefsInfo.isCurrentAnchor[1] && React.createElement(react_native_1.Text, null, anchorRefsInfo.hoverCount))),
193
+ React.createElement(react_native_2.Pressable, { onHoverIn: function () { return updateCalloutTargetsHoverState(true, blueTargetRef); }, onHoverOut: function () { return updateCalloutTargetsHoverState(false, blueTargetRef); } },
194
+ React.createElement(react_native_1.View, { ref: blueTargetRef, style: { height: 40, width: 40, backgroundColor: 'blue', padding: 5 } }, anchorRefsInfo.isCurrentAnchor[2] && React.createElement(react_native_1.Text, { style: { color: 'white' } }, anchorRefsInfo.hoverCount))))),
135
195
  React.createElement(react_native_2.Separator, null),
136
196
  React.createElement(react_native_1.View, { style: { paddingVertical: 5 } },
137
197
  React.createElement(react_native_2.Button, { componentRef: decoyBtn1Ref, content: "Custom reFocus w/ focus in Callout" }),
138
198
  React.createElement(react_native_2.Button, { componentRef: decoyBtn2Ref, content: "Custom reFocus w/o focus in Callout" })),
139
- showStandardCallout && (React.createElement(react_native_2.Callout, (0, tslib_1.__assign)({}, (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({ target: anchorRef, onDismiss: onDismissStandardCallout, onShow: onShowStandardCallout }, (customRestoreFocus && { onRestoreFocus: onRestoreFocusStandardCallout })), { accessibilityLabel: 'Standard Callout', setInitialFocus: shouldSetInitialFocus, isBeakVisible: isBeakVisible }), (selectedBorderColor && { borderColor: selectedBorderColor })), (selectedBackgroundColor && { backgroundColor: selectedBackgroundColor })), (selectedBorderWidth && { borderWidth: parseInt(selectedBorderWidth) })), (calloutDismissBehaviors && { dismissBehaviors: calloutDismissBehaviors }))), showScrollViewCallout ? (React.createElement(react_native_1.View, { style: styles_1.fluentTesterStyles.scrollViewContainer },
140
- React.createElement(react_native_1.ScrollView, { contentContainerStyle: styles_1.fluentTesterStyles.scrollViewStyle, showsVerticalScrollIndicator: true },
141
- React.createElement(react_native_2.StealthButton, { content: "click to change anchor", onClick: toggleCalloutRef }),
142
- React.createElement(react_native_2.StealthButton, { content: "Click to add a button", style: styles_1.fluentTesterStyles.testListItem, onClick: addButton }),
143
- React.createElement(react_native_2.StealthButton, { content: "Click to remove a button", style: styles_1.fluentTesterStyles.testListItem, onClick: removeButton }),
144
- scrollviewContents.map(function (value) {
145
- return React.createElement(react_native_2.StealthButton, { key: value, content: "Button", style: styles_1.fluentTesterStyles.testListItem });
146
- })))) : (
147
- //else
148
- React.createElement(react_native_1.View, { style: { padding: 20 } },
149
- React.createElement(react_native_2.Button, { content: "click to change anchor", onClick: toggleCalloutRef })))))));
199
+ showStandardCallout && (React.createElement(react_native_2.Callout, (0, tslib_1.__assign)({}, (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({ doNotTakePointerCapture: openCalloutOnHoverAnchor !== null && openCalloutOnHoverAnchor !== void 0 ? openCalloutOnHoverAnchor : undefined, target: anchorRef, onDismiss: onDismissStandardCallout, onShow: onShowStandardCallout }, (customRestoreFocus && { onRestoreFocus: onRestoreFocusStandardCallout })), { accessibilityLabel: 'Standard Callout', setInitialFocus: shouldSetInitialFocus, isBeakVisible: isBeakVisible }), (selectedBorderColor && { borderColor: selectedBorderColor })), (selectedBackgroundColor && { backgroundColor: selectedBackgroundColor })), (selectedBorderWidth && { borderWidth: parseInt(selectedBorderWidth) })), (calloutDismissBehaviors && { dismissBehaviors: calloutDismissBehaviors }))),
200
+ React.createElement(react_native_2.Pressable, { onHoverIn: function () { return calloutHoveredCallback(true); }, onHoverOut: function () { return calloutHoveredCallback(false); } }, showScrollViewCallout ? (React.createElement(react_native_1.View, { style: styles_1.fluentTesterStyles.scrollViewContainer },
201
+ React.createElement(react_native_1.ScrollView, { contentContainerStyle: styles_1.fluentTesterStyles.scrollViewStyle, showsVerticalScrollIndicator: true },
202
+ React.createElement(react_native_2.StealthButton, { content: "click to change anchor", onClick: toggleCalloutRef }),
203
+ React.createElement(react_native_2.StealthButton, { content: "Click to add a button", style: styles_1.fluentTesterStyles.testListItem, onClick: addButton }),
204
+ React.createElement(react_native_2.StealthButton, { content: "Click to remove a button", style: styles_1.fluentTesterStyles.testListItem, onClick: removeButton }),
205
+ scrollviewContents.map(function (value) {
206
+ return React.createElement(react_native_2.StealthButton, { key: value, content: "Button", style: styles_1.fluentTesterStyles.testListItem });
207
+ })))) : (
208
+ //else
209
+ React.createElement(react_native_1.View, { style: [{ padding: 20 }, { backgroundColor: calloutHovered ? 'lightgreen' : 'pink' }] },
210
+ React.createElement(react_native_2.Button, { content: "click to change anchor", onClick: toggleCalloutRef }))))))));
150
211
  };
151
212
  var CustomCallout = function () {
152
213
  var _a = React.useState(false), showCustomizedCallout = _a[0], setShowCustomizedCallout = _a[1];
@@ -1 +1 @@
1
- {"version":3,"file":"CalloutTest.js","sourceRoot":"","sources":["../../../../src/FluentTester/TestComponents/Callout/CalloutTest.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CalloutTest.js","sourceRoot":"","sources":["../../../../src/FluentTester/TestComponents/Callout/CalloutTest.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui-react-native/tester",
3
- "version": "0.59.39",
3
+ "version": "0.60.1",
4
4
  "description": "A test app to test FluentUI React Native Components during development",
5
5
  "license": "MIT",
6
6
  "author": "Microsoft <fluentuinativeowners@microsoft.com>",
@@ -31,27 +31,27 @@
31
31
  "@fluentui-react-native/button": ">=0.22.21 <1.0.0",
32
32
  "@fluentui-react-native/default-theme": ">=0.10.3 <1.0.0",
33
33
  "@fluentui-react-native/experimental-activity-indicator": ">=0.5.25 <1.0.0",
34
- "@fluentui-react-native/experimental-avatar": ">=0.14.25 <1.0.0",
34
+ "@fluentui-react-native/experimental-avatar": ">=0.14.26 <1.0.0",
35
35
  "@fluentui-react-native/experimental-button": "0.15.22",
36
36
  "@fluentui-react-native/experimental-checkbox": "0.11.4",
37
37
  "@fluentui-react-native/experimental-drawer": ">=0.1.9 <1.0.0",
38
38
  "@fluentui-react-native/experimental-native-date-picker": ">=0.4.2 <1.0.0",
39
39
  "@fluentui-react-native/experimental-expander": "0.3.27",
40
- "@fluentui-react-native/experimental-menu-button": ">=0.3.38 <1.0.0",
40
+ "@fluentui-react-native/experimental-menu-button": ">=0.3.39 <1.0.0",
41
41
  "@fluentui-react-native/experimental-shimmer": "0.6.29",
42
42
  "@fluentui-react-native/experimental-tabs": "0.4.44",
43
43
  "@fluentui-react-native/experimental-text": ">=0.7.26 <1.0.0",
44
44
  "@fluentui-react-native/framework": ">=0.7.26 <1.0.0",
45
45
  "@fluentui-react-native/icon": "0.11.21",
46
46
  "@fluentui-react-native/interactive-hooks": ">=0.15.6 <1.0.0",
47
- "@fluentui-react-native/menu": ">=0.5.0 <1.0.0",
47
+ "@fluentui-react-native/menu": ">=0.5.2 <1.0.0",
48
48
  "@fluentui-react-native/stack": ">=0.6.26 <1.0.0",
49
49
  "@fluentui-react-native/theme": ">=0.6.8 <1.0.0",
50
50
  "@fluentui-react-native/theme-types": ">=0.14.3 <1.0.0",
51
51
  "@fluentui-react-native/themed-stylesheet": "^1.3.3",
52
52
  "@fluentui-react-native/theming-utils": ">=0.10.2 <1.0.0",
53
53
  "@fluentui-react-native/win32-theme": ">=0.16.4 <1.0.0",
54
- "@fluentui/react-native": ">=0.29.5 <1.0.0",
54
+ "@fluentui/react-native": ">=0.29.6 <1.0.0",
55
55
  "@react-native-community/slider": "^4.2.0",
56
56
  "@react-native-menu/menu": "^0.1.2",
57
57
  "@react-native-picker/picker": "^2.2.1",
@@ -1,9 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { JSAvatar, IconAlignment } from '@fluentui-react-native/experimental-avatar';
3
- import { Switch, View, Text, TextInput, TextStyle } from 'react-native';
3
+ import { Switch, View, Text, TextInput } from 'react-native';
4
4
  import { Slider } from '../Common/Slider';
5
5
  import { steveBallmerPhotoUrl } from './../PersonaCoin/styles';
6
- import { useTheme } from '@fluentui-react-native/theme-types';
7
6
  import { AlignmentPicker } from '../Common/AlignmentPicker';
8
7
  import { commonTestStyles as commonStyles } from '../Common/styles';
9
8
 
@@ -17,16 +16,11 @@ export const CustomizeUsage: React.FunctionComponent = () => {
17
16
  const [horizontalAlignment, setHorizontalAlignment] = React.useState<IconAlignment>();
18
17
  const [verticalAlignment, setVerticalAlignment] = React.useState<IconAlignment>();
19
18
 
20
- const [ringColor, setRingColor] = React.useState<string>('red');
19
+ const [borderColor, setBorderColor] = React.useState<string>('red');
21
20
  const [ringBackgroundColor, setRingBackgroundColor] = React.useState<string>(undefined);
22
21
  const [showRing, setShowRing] = React.useState<boolean>(true);
23
22
  const [transparent, setTransparent] = React.useState<boolean>(false);
24
23
 
25
- const theme = useTheme();
26
- const textBoxBorderStyle: TextStyle = {
27
- borderColor: theme.colors.inputBorder,
28
- };
29
-
30
24
  const CustomizedAvatar = React.useMemo(() => {
31
25
  const tokens = {
32
26
  backgroundColor: coinColor,
@@ -37,9 +31,10 @@ export const CustomizeUsage: React.FunctionComponent = () => {
37
31
  initialsSize: initialsSize,
38
32
  width: size,
39
33
  height: size,
34
+ borderColor,
40
35
  };
41
36
  return JSAvatar.customize(tokens);
42
- }, [coinColor, textColor, horizontalAlignment, verticalAlignment, iconSize, initialsSize, size]);
37
+ }, [coinColor, textColor, horizontalAlignment, verticalAlignment, iconSize, initialsSize, size, borderColor]);
43
38
 
44
39
  return (
45
40
  <View style={commonStyles.root}>
@@ -60,7 +55,7 @@ export const CustomizeUsage: React.FunctionComponent = () => {
60
55
  </View>
61
56
 
62
57
  <TextInput
63
- style={[commonStyles.textBox, textBoxBorderStyle]}
58
+ style={[commonStyles.textBox]}
64
59
  placeholder="Background color"
65
60
  blurOnSubmit={true}
66
61
  onSubmitEditing={(e) => {
@@ -68,7 +63,7 @@ export const CustomizeUsage: React.FunctionComponent = () => {
68
63
  }}
69
64
  />
70
65
  <TextInput
71
- style={[commonStyles.textBox, textBoxBorderStyle]}
66
+ style={[commonStyles.textBox]}
72
67
  placeholder="Initials text color"
73
68
  blurOnSubmit={true}
74
69
  onSubmitEditing={(e) => {
@@ -77,16 +72,16 @@ export const CustomizeUsage: React.FunctionComponent = () => {
77
72
  />
78
73
 
79
74
  <TextInput
80
- style={[commonStyles.textBox, textBoxBorderStyle]}
75
+ style={[commonStyles.textBox]}
81
76
  placeholder="Ring color"
82
77
  blurOnSubmit={true}
83
78
  onSubmitEditing={(e) => {
84
- setRingColor(e.nativeEvent.text);
79
+ setBorderColor(e.nativeEvent.text);
85
80
  }}
86
81
  />
87
82
 
88
83
  <TextInput
89
- style={[commonStyles.textBox, textBoxBorderStyle]}
84
+ style={[commonStyles.textBox]}
90
85
  placeholder="Ring background color"
91
86
  blurOnSubmit={true}
92
87
  onSubmitEditing={(e) => {
@@ -118,7 +113,6 @@ export const CustomizeUsage: React.FunctionComponent = () => {
118
113
  ring={
119
114
  showRing
120
115
  ? {
121
- ringColor,
122
116
  ringBackgroundColor,
123
117
  ringThickness: 4,
124
118
  innerGap: 4,
@@ -1,6 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { ScreenRect, Text, View, Switch, Picker, ScrollView } from 'react-native';
3
- import { Button, Callout, Separator, IFocusable, RestoreFocusEvent, DismissBehaviors, StealthButton } from '@fluentui/react-native';
3
+ import {
4
+ Button,
5
+ Callout,
6
+ Separator,
7
+ IFocusable,
8
+ Pressable,
9
+ RestoreFocusEvent,
10
+ DismissBehaviors,
11
+ StealthButton,
12
+ } from '@fluentui/react-native';
4
13
  import { CALLOUT_TESTPAGE } from './consts';
5
14
  import { Test, TestSection, PlatformStatus } from '../Test';
6
15
  import { E2ECalloutTest } from './CalloutE2ETest';
@@ -9,6 +18,8 @@ import { fluentTesterStyles } from '../Common/styles';
9
18
  const StandardCallout: React.FunctionComponent = () => {
10
19
  const [showStandardCallout, setShowStandardCallout] = React.useState(false);
11
20
  const [isStandardCalloutVisible, setIsStandardCalloutVisible] = React.useState(false);
21
+ const [openCalloutOnHoverAnchor, setOpenCalloutOnHoverAnchor] = React.useState(true);
22
+ const [calloutHovered, setCalloutHovered] = React.useState(false);
12
23
 
13
24
  const [shouldSetInitialFocus, setShouldSetInitialFocus] = React.useState(true);
14
25
  const onInitialFocusChange = React.useCallback((value) => setShouldSetInitialFocus(value), []);
@@ -59,32 +70,94 @@ const StandardCallout: React.FunctionComponent = () => {
59
70
  const decoyBtn1Ref = React.useRef<IFocusable>(null);
60
71
  const decoyBtn2Ref = React.useRef<IFocusable>(null);
61
72
  const [anchorRef, setAnchorRef] = React.useState(redTargetRef);
73
+ const [hoveredTargetsCount, setHoveredTargetsCount] = React.useState(0);
74
+ const [displayCountHoveredTargets, setDisplayCountHoveredTargets] = React.useState(0);
75
+
76
+ const anchorRefsInfo: { hoverCount: number; isCurrentAnchor: boolean[] } = React.useMemo(() => {
77
+ return {
78
+ hoverCount: displayCountHoveredTargets,
79
+ isCurrentAnchor: [
80
+ openCalloutOnHoverAnchor && isStandardCalloutVisible && anchorRef == redTargetRef,
81
+ openCalloutOnHoverAnchor && isStandardCalloutVisible && anchorRef == greenTargetRef,
82
+ openCalloutOnHoverAnchor && isStandardCalloutVisible && anchorRef == blueTargetRef,
83
+ ],
84
+ };
85
+ }, [anchorRef, displayCountHoveredTargets, isStandardCalloutVisible, openCalloutOnHoverAnchor]);
86
+
87
+ // Use a timer to update the targets count and avoid jittery updates of counts on-screen
88
+ React.useLayoutEffect(() => {
89
+ const timer = setTimeout(() => {
90
+ setDisplayCountHoveredTargets(hoveredTargetsCount);
91
+ }, 50);
92
+
93
+ return () => clearTimeout(timer);
94
+ }, [hoveredTargetsCount]);
95
+
96
+ React.useLayoutEffect(() => {
97
+ // The callout may be dismissed by multiple mechanisms, depending on its active invocation
98
+ // mechanisms. In each of those dismissal routes, we use this function to reset the callout's
99
+ // state universally.
100
+ if (!showStandardCallout) {
101
+ setIsStandardCalloutVisible(false);
102
+ setCalloutHovered(false);
103
+ }
104
+ }, [showStandardCallout]);
62
105
 
63
106
  const toggleShowStandardCallout = React.useCallback(() => {
64
107
  setShowStandardCallout(!showStandardCallout);
108
+ }, [showStandardCallout]);
109
+
110
+ // Set up a LayoutEffect for hover callout mechanics including:
111
+ // the toggle switch for hover callout behavior
112
+ // multiple hover targets (i.e. the callout and its anchor)
113
+ // a dismissal timer for closing the callout with no targets hovered
114
+ React.useLayoutEffect(() => {
115
+ if (!openCalloutOnHoverAnchor) {
116
+ setShowStandardCallout(false);
117
+ } else if (openCalloutOnHoverAnchor && hoveredTargetsCount > 0) {
118
+ setShowStandardCallout(true);
119
+ } else {
120
+ const timer = setTimeout(() => {
121
+ setShowStandardCallout(false);
122
+ }, 2000);
123
+ return () => clearTimeout(timer);
124
+ }
125
+ return undefined;
126
+ }, [openCalloutOnHoverAnchor, hoveredTargetsCount]);
127
+
128
+ const updateCalloutTargetsHoverState = React.useCallback(
129
+ (show: boolean, hoverAnchorRef: React.MutableRefObject<View>) => {
130
+ if (hoverAnchorRef !== undefined && hoverAnchorRef !== anchorRef) {
131
+ return;
132
+ }
65
133
 
66
- // Unmounting a callout does not invoke onDismiss; onDismiss is only invoked
67
- // for dismissals generated by the native app. When toggling to 'show',
68
- // the isVisible state will be corrected to 'true' by the onShow callback.
69
- setIsStandardCalloutVisible(false);
70
- }, [showStandardCallout, setIsStandardCalloutVisible, setShowStandardCallout]);
134
+ setHoveredTargetsCount(hoveredTargetsCount + (show ? 1 : -1));
135
+ },
136
+ [anchorRef, hoveredTargetsCount, setHoveredTargetsCount],
137
+ );
138
+
139
+ const calloutHoveredCallback = React.useCallback(
140
+ (isHovered: boolean) => {
141
+ updateCalloutTargetsHoverState(isHovered, undefined);
142
+ setCalloutHovered(isHovered);
143
+ },
144
+ [updateCalloutTargetsHoverState],
145
+ );
71
146
 
72
147
  const toggleCalloutRef = React.useCallback(() => {
73
148
  // Cycle the target ref between the RGB target views
74
149
  setAnchorRef(anchorRef === redTargetRef ? greenTargetRef : anchorRef === greenTargetRef ? blueTargetRef : redTargetRef);
75
- }, [anchorRef, setAnchorRef]);
150
+ }, [anchorRef]);
76
151
 
77
152
  const onShowStandardCallout = React.useCallback(() => {
78
153
  setIsStandardCalloutVisible(true);
79
- }, [setIsStandardCalloutVisible]);
154
+ }, []);
80
155
 
81
156
  const onDismissStandardCallout = React.useCallback(() => {
82
- setIsStandardCalloutVisible(false);
83
-
84
157
  // setting the internal state to false will instigate unmounting the
85
158
  // zombie Callout control.
86
159
  setShowStandardCallout(false);
87
- }, [setIsStandardCalloutVisible, setShowStandardCallout]);
160
+ }, []);
88
161
 
89
162
  const onRestoreFocusStandardCallout = React.useCallback(
90
163
  (restoreFocusEvent: RestoreFocusEvent) => {
@@ -125,6 +198,11 @@ const StandardCallout: React.FunctionComponent = () => {
125
198
  <View>
126
199
  <View style={{ flexDirection: 'row', paddingVertical: 5 }}>
127
200
  <View style={{ flexDirection: 'column', paddingHorizontal: 5 }}>
201
+ <View style={{ flexDirection: 'row' }}>
202
+ <Switch value={openCalloutOnHoverAnchor} onValueChange={setOpenCalloutOnHoverAnchor} />
203
+ <Text>Show Callout On Hover Anchor</Text>
204
+ </View>
205
+
128
206
  <View style={{ flexDirection: 'row' }}>
129
207
  <Switch value={shouldSetInitialFocus} onValueChange={onInitialFocusChange} />
130
208
  <Text>Set Initial Focus</Text>
@@ -189,7 +267,11 @@ const StandardCallout: React.FunctionComponent = () => {
189
267
  <Separator vertical />
190
268
 
191
269
  <View style={{ flexDirection: 'column', paddingHorizontal: 5 }}>
192
- <Button content="Press for Callout" onClick={toggleShowStandardCallout} />
270
+ <Button
271
+ content={(openCalloutOnHoverAnchor ? 'Hover Color Anchor ' : 'Press Here ') + 'for Callout'}
272
+ onClick={toggleShowStandardCallout}
273
+ disabled={openCalloutOnHoverAnchor}
274
+ />
193
275
  <Text>
194
276
  <Text>Visibility: </Text>
195
277
  {isStandardCalloutVisible ? <Text style={{ color: 'green' }}>Visible</Text> : <Text style={{ color: 'red' }}>Not Visible</Text>}
@@ -199,9 +281,30 @@ const StandardCallout: React.FunctionComponent = () => {
199
281
  <Separator vertical />
200
282
 
201
283
  <View style={{ flexDirection: 'column', paddingHorizontal: 5 }}>
202
- <View ref={redTargetRef} style={{ height: 20, width: 20, backgroundColor: 'red', padding: 5 }} />
203
- <View ref={greenTargetRef} style={{ height: 20, width: 20, backgroundColor: 'green', padding: 5 }} />
204
- <View ref={blueTargetRef} style={{ height: 20, width: 20, backgroundColor: 'blue', padding: 5 }} />
284
+ <Pressable
285
+ onHoverIn={() => updateCalloutTargetsHoverState(true, redTargetRef)}
286
+ onHoverOut={() => updateCalloutTargetsHoverState(false, redTargetRef)}
287
+ >
288
+ <View ref={redTargetRef} style={{ height: 40, width: 40, backgroundColor: 'red', padding: 5 }}>
289
+ {anchorRefsInfo.isCurrentAnchor[0] && <Text>{anchorRefsInfo.hoverCount}</Text>}
290
+ </View>
291
+ </Pressable>
292
+ <Pressable
293
+ onHoverIn={() => updateCalloutTargetsHoverState(true, greenTargetRef)}
294
+ onHoverOut={() => updateCalloutTargetsHoverState(false, greenTargetRef)}
295
+ >
296
+ <View ref={greenTargetRef} style={{ height: 40, width: 40, backgroundColor: 'green', padding: 5 }}>
297
+ {anchorRefsInfo.isCurrentAnchor[1] && <Text>{anchorRefsInfo.hoverCount}</Text>}
298
+ </View>
299
+ </Pressable>
300
+ <Pressable
301
+ onHoverIn={() => updateCalloutTargetsHoverState(true, blueTargetRef)}
302
+ onHoverOut={() => updateCalloutTargetsHoverState(false, blueTargetRef)}
303
+ >
304
+ <View ref={blueTargetRef} style={{ height: 40, width: 40, backgroundColor: 'blue', padding: 5 }}>
305
+ {anchorRefsInfo.isCurrentAnchor[2] && <Text style={{ color: 'white' }}>{anchorRefsInfo.hoverCount}</Text>}
306
+ </View>
307
+ </Pressable>
205
308
  </View>
206
309
  </View>
207
310
 
@@ -215,6 +318,7 @@ const StandardCallout: React.FunctionComponent = () => {
215
318
  {showStandardCallout && (
216
319
  <Callout
217
320
  {...{
321
+ doNotTakePointerCapture: openCalloutOnHoverAnchor ?? undefined,
218
322
  target: anchorRef,
219
323
  onDismiss: onDismissStandardCallout,
220
324
  onShow: onShowStandardCallout,
@@ -228,23 +332,25 @@ const StandardCallout: React.FunctionComponent = () => {
228
332
  ...(calloutDismissBehaviors && { dismissBehaviors: calloutDismissBehaviors }),
229
333
  }}
230
334
  >
231
- {showScrollViewCallout ? (
232
- <View style={fluentTesterStyles.scrollViewContainer}>
233
- <ScrollView contentContainerStyle={fluentTesterStyles.scrollViewStyle} showsVerticalScrollIndicator={true}>
234
- <StealthButton content="click to change anchor" onClick={toggleCalloutRef} />
235
- <StealthButton content="Click to add a button" style={fluentTesterStyles.testListItem} onClick={addButton} />
236
- <StealthButton content="Click to remove a button" style={fluentTesterStyles.testListItem} onClick={removeButton} />
237
- {scrollviewContents.map((value) => {
238
- return <StealthButton key={value} content="Button" style={fluentTesterStyles.testListItem} />;
239
- })}
240
- </ScrollView>
241
- </View>
242
- ) : (
243
- //else
244
- <View style={{ padding: 20 }}>
245
- <Button content="click to change anchor" onClick={toggleCalloutRef} />
246
- </View>
247
- )}
335
+ <Pressable onHoverIn={() => calloutHoveredCallback(true)} onHoverOut={() => calloutHoveredCallback(false)}>
336
+ {showScrollViewCallout ? (
337
+ <View style={fluentTesterStyles.scrollViewContainer}>
338
+ <ScrollView contentContainerStyle={fluentTesterStyles.scrollViewStyle} showsVerticalScrollIndicator={true}>
339
+ <StealthButton content="click to change anchor" onClick={toggleCalloutRef} />
340
+ <StealthButton content="Click to add a button" style={fluentTesterStyles.testListItem} onClick={addButton} />
341
+ <StealthButton content="Click to remove a button" style={fluentTesterStyles.testListItem} onClick={removeButton} />
342
+ {scrollviewContents.map((value) => {
343
+ return <StealthButton key={value} content="Button" style={fluentTesterStyles.testListItem} />;
344
+ })}
345
+ </ScrollView>
346
+ </View>
347
+ ) : (
348
+ //else
349
+ <View style={[{ padding: 20 }, { backgroundColor: calloutHovered ? 'lightgreen' : 'pink' }]}>
350
+ <Button content="click to change anchor" onClick={toggleCalloutRef} />
351
+ </View>
352
+ )}
353
+ </Pressable>
248
354
  </Callout>
249
355
  )}
250
356
  </View>