@fluentui-react-native/tester 0.62.5 → 0.63.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.
Files changed (87) hide show
  1. package/CHANGELOG.json +61 -2
  2. package/CHANGELOG.md +31 -2
  3. package/lib/E2E/Avatar/pages/AvatarPageObject.d.ts +12 -0
  4. package/lib/E2E/Avatar/pages/AvatarPageObject.d.ts.map +1 -0
  5. package/lib/E2E/Avatar/pages/AvatarPageObject.js +29 -0
  6. package/lib/E2E/Avatar/pages/AvatarPageObject.js.map +1 -0
  7. package/lib/E2E/Avatar/specs/Avatar.spec.win.d.ts +2 -0
  8. package/lib/E2E/Avatar/specs/Avatar.spec.win.d.ts.map +1 -0
  9. package/lib/E2E/Avatar/specs/Avatar.spec.win.js +21 -0
  10. package/lib/E2E/Avatar/specs/Avatar.spec.win.js.map +1 -0
  11. package/lib/E2E/common/NavigateAppPage.win.d.ts +2 -0
  12. package/lib/E2E/common/NavigateAppPage.win.d.ts.map +1 -1
  13. package/lib/E2E/common/NavigateAppPage.win.js +11 -0
  14. package/lib/E2E/common/NavigateAppPage.win.js.map +1 -1
  15. package/lib/FluentTester/TestComponents/Avatar/BasicAvatar.d.ts.map +1 -1
  16. package/lib/FluentTester/TestComponents/Avatar/BasicAvatar.js +2 -2
  17. package/lib/FluentTester/TestComponents/Avatar/BasicAvatar.js.map +1 -1
  18. package/lib/FluentTester/TestComponents/Avatar/CustomizedAvatar.d.ts +1 -1
  19. package/lib/FluentTester/TestComponents/Avatar/CustomizedAvatar.d.ts.map +1 -1
  20. package/lib/FluentTester/TestComponents/Avatar/CustomizedAvatar.js +63 -40
  21. package/lib/FluentTester/TestComponents/Avatar/CustomizedAvatar.js.map +1 -1
  22. package/lib/FluentTester/TestComponents/Shadow/ShadowTest.d.ts +3 -0
  23. package/lib/FluentTester/TestComponents/Shadow/ShadowTest.d.ts.map +1 -0
  24. package/lib/FluentTester/TestComponents/Shadow/ShadowTest.js +34 -0
  25. package/lib/FluentTester/TestComponents/Shadow/ShadowTest.js.map +1 -0
  26. package/lib/FluentTester/TestComponents/Shadow/consts.d.ts +3 -0
  27. package/lib/FluentTester/TestComponents/Shadow/consts.d.ts.map +1 -0
  28. package/lib/FluentTester/TestComponents/Shadow/consts.js +3 -0
  29. package/lib/FluentTester/TestComponents/Shadow/consts.js.map +1 -0
  30. package/lib/FluentTester/TestComponents/Shadow/index.d.ts +3 -0
  31. package/lib/FluentTester/TestComponents/Shadow/index.d.ts.map +1 -0
  32. package/lib/FluentTester/TestComponents/Shadow/index.js +3 -0
  33. package/lib/FluentTester/TestComponents/Shadow/index.js.map +1 -0
  34. package/lib/FluentTester/testPages.d.ts.map +1 -1
  35. package/lib/FluentTester/testPages.js +6 -0
  36. package/lib/FluentTester/testPages.js.map +1 -1
  37. package/lib/FluentTester/testPages.macos.d.ts.map +1 -1
  38. package/lib/FluentTester/testPages.macos.js +6 -0
  39. package/lib/FluentTester/testPages.macos.js.map +1 -1
  40. package/lib-commonjs/E2E/Avatar/pages/AvatarPageObject.d.ts +12 -0
  41. package/lib-commonjs/E2E/Avatar/pages/AvatarPageObject.d.ts.map +1 -0
  42. package/lib-commonjs/E2E/Avatar/pages/AvatarPageObject.js +31 -0
  43. package/lib-commonjs/E2E/Avatar/pages/AvatarPageObject.js.map +1 -0
  44. package/lib-commonjs/E2E/Avatar/specs/Avatar.spec.win.d.ts +2 -0
  45. package/lib-commonjs/E2E/Avatar/specs/Avatar.spec.win.d.ts.map +1 -0
  46. package/lib-commonjs/E2E/Avatar/specs/Avatar.spec.win.js +24 -0
  47. package/lib-commonjs/E2E/Avatar/specs/Avatar.spec.win.js.map +1 -0
  48. package/lib-commonjs/E2E/common/NavigateAppPage.win.d.ts +2 -0
  49. package/lib-commonjs/E2E/common/NavigateAppPage.win.d.ts.map +1 -1
  50. package/lib-commonjs/E2E/common/NavigateAppPage.win.js +61 -50
  51. package/lib-commonjs/E2E/common/NavigateAppPage.win.js.map +1 -1
  52. package/lib-commonjs/FluentTester/TestComponents/Avatar/BasicAvatar.d.ts.map +1 -1
  53. package/lib-commonjs/FluentTester/TestComponents/Avatar/BasicAvatar.js +2 -2
  54. package/lib-commonjs/FluentTester/TestComponents/Avatar/BasicAvatar.js.map +1 -1
  55. package/lib-commonjs/FluentTester/TestComponents/Avatar/CustomizedAvatar.d.ts +1 -1
  56. package/lib-commonjs/FluentTester/TestComponents/Avatar/CustomizedAvatar.d.ts.map +1 -1
  57. package/lib-commonjs/FluentTester/TestComponents/Avatar/CustomizedAvatar.js +77 -54
  58. package/lib-commonjs/FluentTester/TestComponents/Avatar/CustomizedAvatar.js.map +1 -1
  59. package/lib-commonjs/FluentTester/TestComponents/Shadow/ShadowTest.d.ts +3 -0
  60. package/lib-commonjs/FluentTester/TestComponents/Shadow/ShadowTest.d.ts.map +1 -0
  61. package/lib-commonjs/FluentTester/TestComponents/Shadow/ShadowTest.js +39 -0
  62. package/lib-commonjs/FluentTester/TestComponents/Shadow/ShadowTest.js.map +1 -0
  63. package/lib-commonjs/FluentTester/TestComponents/Shadow/consts.d.ts +3 -0
  64. package/lib-commonjs/FluentTester/TestComponents/Shadow/consts.d.ts.map +1 -0
  65. package/lib-commonjs/FluentTester/TestComponents/Shadow/consts.js +6 -0
  66. package/lib-commonjs/FluentTester/TestComponents/Shadow/consts.js.map +1 -0
  67. package/lib-commonjs/FluentTester/TestComponents/Shadow/index.d.ts +3 -0
  68. package/lib-commonjs/FluentTester/TestComponents/Shadow/index.d.ts.map +1 -0
  69. package/lib-commonjs/FluentTester/TestComponents/Shadow/index.js +6 -0
  70. package/lib-commonjs/FluentTester/TestComponents/Shadow/index.js.map +1 -0
  71. package/lib-commonjs/FluentTester/testPages.d.ts.map +1 -1
  72. package/lib-commonjs/FluentTester/testPages.js +6 -0
  73. package/lib-commonjs/FluentTester/testPages.js.map +1 -1
  74. package/lib-commonjs/FluentTester/testPages.macos.d.ts.map +1 -1
  75. package/lib-commonjs/FluentTester/testPages.macos.js +6 -0
  76. package/lib-commonjs/FluentTester/testPages.macos.js.map +1 -1
  77. package/package.json +3 -3
  78. package/src/E2E/Avatar/pages/AvatarPageObject.ts +17 -0
  79. package/src/E2E/Avatar/specs/Avatar.spec.win.ts +24 -0
  80. package/src/E2E/common/NavigateAppPage.win.ts +9 -0
  81. package/src/FluentTester/TestComponents/Avatar/BasicAvatar.tsx +2 -1
  82. package/src/FluentTester/TestComponents/Avatar/CustomizedAvatar.tsx +110 -76
  83. package/src/FluentTester/TestComponents/Shadow/ShadowTest.tsx +39 -0
  84. package/src/FluentTester/TestComponents/Shadow/consts.ts +2 -0
  85. package/src/FluentTester/TestComponents/Shadow/index.ts +2 -0
  86. package/src/FluentTester/testPages.macos.ts +6 -0
  87. package/src/FluentTester/testPages.ts +6 -0
@@ -1,39 +1,56 @@
1
- import * as React from 'react';
1
+ import React, { useState, useMemo } from 'react';
2
2
  import { JSAvatar, IconAlignment, AvatarSize } from '@fluentui-react-native/experimental-avatar';
3
3
  import { Switch, View, Text, TextInput } from 'react-native';
4
4
  import { steveBallmerPhotoUrl } from './../PersonaCoin/styles';
5
5
  import { AlignmentPicker } from '../Common/AlignmentPicker';
6
6
  import { commonTestStyles as commonStyles } from '../Common/styles';
7
+ import { FontWeight } from '@fluentui-react-native/theme-types';
7
8
 
8
9
  export const CustomizeUsage: React.FunctionComponent = () => {
9
- const [showImage, setShowImage] = React.useState(true);
10
- const [coinColor, setCoinColor] = React.useState<string>();
11
- const [textColor, setTextColor] = React.useState<string>();
12
- const [size, setSize] = React.useState<AvatarSize>(96);
13
- const [iconSize, setIconSize] = React.useState<number>(24);
14
- const [initialsSize, setInitialsSize] = React.useState<number>(14);
15
- const [horizontalAlignment, setHorizontalAlignment] = React.useState<IconAlignment>();
16
- const [verticalAlignment, setVerticalAlignment] = React.useState<IconAlignment>();
10
+ const [showImage, setShowImage] = useState(true);
11
+ const [coinColor, setCoinColor] = useState<string>();
12
+ const [textColor, setTextColor] = useState<string>();
13
+ const [size, setSize] = useState<string>('96');
14
+ const [iconSize, setIconSize] = useState<number>(24);
15
+ const [initialsSize, setInitialsSize] = useState<number>(16);
16
+ const [fontWeight, setFontWeight] = useState<string>('normal');
17
+ const [fontFamily, setFontFamily] = useState<string>('Georgia');
18
+ const [horizontalAlignment, setHorizontalAlignment] = useState<IconAlignment>();
19
+ const [verticalAlignment, setVerticalAlignment] = useState<IconAlignment>();
17
20
 
18
- const [ringColor, setRingColor] = React.useState<string>('red');
19
- const [ringBackgroundColor, setRingBackgroundColor] = React.useState<string>(undefined);
20
- const [showRing, setShowRing] = React.useState<boolean>(true);
21
- const [transparent, setTransparent] = React.useState<boolean>(false);
21
+ const [ringColor, setRingColor] = useState<string>('red');
22
+ const [ringBackgroundColor, setRingBackgroundColor] = useState<string>(undefined);
23
+ const [showRing, setShowRing] = useState<boolean>(true);
24
+ const [transparent, setTransparent] = useState<boolean>(false);
22
25
 
23
- const CustomizedAvatar = React.useMemo(() => {
26
+ const CustomizedAvatar = useMemo(() => {
24
27
  const tokens = {
25
28
  backgroundColor: coinColor,
26
29
  color: textColor,
27
30
  horizontalIconAlignment: horizontalAlignment,
28
31
  verticalIconAlignment: verticalAlignment,
29
32
  iconSize: iconSize,
30
- initialsSize: initialsSize,
31
- size,
33
+ fontSize: initialsSize,
34
+ fontWeight: fontWeight as FontWeight,
35
+ fontFamily,
36
+ size: parseInt(size) as AvatarSize,
32
37
  ringColor,
33
38
  ringBackgroundColor,
34
39
  };
35
40
  return JSAvatar.customize(tokens);
36
- }, [coinColor, textColor, horizontalAlignment, verticalAlignment, iconSize, initialsSize, size, ringColor, ringBackgroundColor]);
41
+ }, [
42
+ coinColor,
43
+ textColor,
44
+ horizontalAlignment,
45
+ verticalAlignment,
46
+ iconSize,
47
+ initialsSize,
48
+ size,
49
+ ringColor,
50
+ ringBackgroundColor,
51
+ fontWeight,
52
+ fontFamily,
53
+ ]);
37
54
 
38
55
  return (
39
56
  <View style={commonStyles.root}>
@@ -53,68 +70,85 @@ export const CustomizeUsage: React.FunctionComponent = () => {
53
70
  <Switch value={transparent} onValueChange={setTransparent} />
54
71
  </View>
55
72
 
56
- <TextInput
57
- style={[commonStyles.textBox]}
58
- placeholder="Background color"
59
- blurOnSubmit={true}
60
- onSubmitEditing={(e) => {
61
- setCoinColor(e.nativeEvent.text);
62
- }}
63
- />
64
- <TextInput
65
- style={[commonStyles.textBox]}
66
- placeholder="Initials text color"
67
- blurOnSubmit={true}
68
- onSubmitEditing={(e) => {
69
- setTextColor(e.nativeEvent.text);
70
- }}
71
- />
73
+ <View>
74
+ <TextInput
75
+ style={[commonStyles.textBox]}
76
+ placeholder="Background color"
77
+ blurOnSubmit={true}
78
+ onSubmitEditing={(e) => {
79
+ setCoinColor(e.nativeEvent.text);
80
+ }}
81
+ />
72
82
 
73
- <TextInput
74
- style={[commonStyles.textBox]}
75
- placeholder="Ring color"
76
- blurOnSubmit={true}
77
- onSubmitEditing={(e) => {
78
- setRingColor(e.nativeEvent.text);
79
- }}
80
- />
83
+ <TextInput
84
+ style={[commonStyles.textBox]}
85
+ placeholder="Ring color"
86
+ blurOnSubmit={true}
87
+ onSubmitEditing={(e) => {
88
+ setRingColor(e.nativeEvent.text);
89
+ }}
90
+ />
81
91
 
82
- <TextInput
83
- style={[commonStyles.textBox]}
84
- placeholder="Avatar size"
85
- blurOnSubmit={true}
86
- onSubmitEditing={(e) => {
87
- const size = e.nativeEvent.text as unknown as AvatarSize;
88
- setSize(size);
89
- }}
90
- />
92
+ <TextInput
93
+ style={[commonStyles.textBox]}
94
+ placeholder="Avatar size"
95
+ blurOnSubmit={true}
96
+ onSubmitEditing={(e) => {
97
+ setSize(e.nativeEvent.text);
98
+ }}
99
+ />
91
100
 
92
- <TextInput
93
- style={[commonStyles.textBox]}
94
- placeholder="Icon size"
95
- blurOnSubmit={true}
96
- onSubmitEditing={(e) => {
97
- setIconSize(parseInt(e.nativeEvent.text));
98
- }}
99
- />
101
+ <TextInput
102
+ style={[commonStyles.textBox]}
103
+ placeholder="Icon size"
104
+ blurOnSubmit={true}
105
+ onSubmitEditing={(e) => {
106
+ setIconSize(parseInt(e.nativeEvent.text));
107
+ }}
108
+ />
100
109
 
101
- <TextInput
102
- style={[commonStyles.textBox]}
103
- placeholder="Initials size"
104
- blurOnSubmit={true}
105
- onSubmitEditing={(e) => {
106
- setInitialsSize(parseInt(e.nativeEvent.text));
107
- }}
108
- />
109
-
110
- <TextInput
111
- style={[commonStyles.textBox]}
112
- placeholder="Ring background color"
113
- blurOnSubmit={true}
114
- onSubmitEditing={(e) => {
115
- setRingBackgroundColor(e.nativeEvent.text);
116
- }}
117
- />
110
+ <TextInput
111
+ style={[commonStyles.textBox]}
112
+ placeholder="Ring background color"
113
+ blurOnSubmit={true}
114
+ onSubmitEditing={(e) => {
115
+ setRingBackgroundColor(e.nativeEvent.text);
116
+ }}
117
+ />
118
+ <Text style={{ fontWeight: 'bold' }}>Font tokens</Text>
119
+ <TextInput
120
+ style={[commonStyles.textBox]}
121
+ placeholder="Initials text color"
122
+ blurOnSubmit={true}
123
+ onSubmitEditing={(e) => {
124
+ setTextColor(e.nativeEvent.text);
125
+ }}
126
+ />
127
+ <TextInput
128
+ style={[commonStyles.textBox]}
129
+ placeholder="Initials size"
130
+ blurOnSubmit={true}
131
+ onSubmitEditing={(e) => {
132
+ setInitialsSize(parseInt(e.nativeEvent.text));
133
+ }}
134
+ />
135
+ <TextInput
136
+ style={[commonStyles.textBox]}
137
+ placeholder="Font weight"
138
+ blurOnSubmit={true}
139
+ onSubmitEditing={(e) => {
140
+ setFontWeight(e.nativeEvent.text);
141
+ }}
142
+ />
143
+ <TextInput
144
+ style={[commonStyles.textBox]}
145
+ placeholder="Font family"
146
+ blurOnSubmit={true}
147
+ onSubmitEditing={(e) => {
148
+ setFontFamily(e.nativeEvent.text);
149
+ }}
150
+ />
151
+ </View>
118
152
 
119
153
  <Text>These features will be available later</Text>
120
154
  <AlignmentPicker style={commonStyles.header} label="Horizontal icon alignment" onSelectionChange={setHorizontalAlignment} />
@@ -124,9 +158,9 @@ export const CustomizeUsage: React.FunctionComponent = () => {
124
158
  <CustomizedAvatar
125
159
  active="active"
126
160
  activeAppearance="ring"
161
+ avatarColor="colorful"
127
162
  initials="SB"
128
163
  accessibilityLabel="Former CEO of Microsoft"
129
- badge={{ status: 'blocked' }}
130
164
  src={showImage ? steveBallmerPhotoUrl : undefined}
131
165
  ring={
132
166
  showRing
@@ -0,0 +1,39 @@
1
+ import * as React from 'react';
2
+ import { Text } from 'react-native';
3
+ import { Test, TestSection, PlatformStatus } from '../Test';
4
+ import { SHADOW_TESTPAGE } from './consts';
5
+
6
+ const ShadowDepthRampTest: React.FunctionComponent = () => {
7
+ return <Text>TODO</Text>;
8
+ };
9
+
10
+ const ShadowButtonTest: React.FunctionComponent = () => {
11
+ return <Text>TODO</Text>;
12
+ };
13
+
14
+ const shadowSections: TestSection[] = [
15
+ {
16
+ name: 'Shadow Depth Ramp',
17
+ testID: SHADOW_TESTPAGE,
18
+ component: ShadowDepthRampTest,
19
+ },
20
+ {
21
+ name: 'Shadows on Button Examples',
22
+ testID: SHADOW_TESTPAGE,
23
+ component: ShadowButtonTest,
24
+ },
25
+ ];
26
+
27
+ export const ShadowTest: React.FunctionComponent = () => {
28
+ const status: PlatformStatus = {
29
+ win32Status: 'Experimental',
30
+ uwpStatus: 'Experimental',
31
+ iosStatus: 'Experimental',
32
+ macosStatus: 'Experimental',
33
+ androidStatus: 'Experimental',
34
+ };
35
+
36
+ const description = 'A Shadow component using the Fluent Design System. Shadow components can be added to other components.';
37
+
38
+ return <Test name="Shadow Test" description={description} sections={shadowSections} status={status} />;
39
+ };
@@ -0,0 +1,2 @@
1
+ export const HOMEPAGE_SHADOW_BUTTON = 'Homepage_Shadow_Button';
2
+ export const SHADOW_TESTPAGE = 'Shadow_TestPage';
@@ -0,0 +1,2 @@
1
+ export * from './ShadowTest';
2
+ export * from './consts';
@@ -15,6 +15,7 @@ import { HOMEPAGE_PRESSABLE_BUTTON, PressableTest } from './TestComponents/Press
15
15
  import { HOMEPAGE_SHIMMER_BUTTON, ShimmerTest } from './TestComponents/Shimmer';
16
16
  import { HOMEPAGE_RADIOGROUP_BUTTON, RadioGroupTest } from './TestComponents/RadioGroup';
17
17
  import { HOMEPAGE_SEPARATOR_BUTTON, SeparatorTest } from './TestComponents/Separator';
18
+ import { HOMEPAGE_SHADOW_BUTTON, ShadowTest } from './TestComponents/Shadow';
18
19
  import { HOMEPAGE_SVG_BUTTON, SvgTest } from './TestComponents/Svg';
19
20
  import { HOMEPAGE_TEXT_BUTTON, TextTest } from './TestComponents/Text';
20
21
  import { HOMEPAGE_THEME_BUTTON, ThemeTest } from './TestComponents/Theme';
@@ -133,6 +134,11 @@ export const tests: TestDescription[] = [
133
134
  component: SeparatorTest,
134
135
  testPage: HOMEPAGE_SEPARATOR_BUTTON,
135
136
  },
137
+ {
138
+ name: 'Shadow Test',
139
+ component: ShadowTest,
140
+ testPage: HOMEPAGE_SHADOW_BUTTON,
141
+ },
136
142
  {
137
143
  name: 'Shimmer Test',
138
144
  component: ShimmerTest,
@@ -10,6 +10,7 @@ import { HOMEPAGE_PERSONACOIN_BUTTON, PersonaCoinTest } from './TestComponents/P
10
10
  import { HOMEPAGE_PRESSABLE_BUTTON, PressableTest } from './TestComponents/Pressable';
11
11
  import { HOMEPAGE_RADIOGROUP_BUTTON, RadioGroupTest } from './TestComponents/RadioGroup';
12
12
  import { HOMEPAGE_SEPARATOR_BUTTON, SeparatorTest } from './TestComponents/Separator';
13
+ import { HOMEPAGE_SHADOW_BUTTON, ShadowTest } from './TestComponents/Shadow';
13
14
  import { HOMEPAGE_SHIMMER_BUTTON, ShimmerTest } from './TestComponents/Shimmer';
14
15
  import { HOMEPAGE_SVG_BUTTON, SvgTest } from './TestComponents/Svg';
15
16
  import { HOMEPAGE_TEXT_BUTTON, TextTest } from './TestComponents/Text';
@@ -73,6 +74,11 @@ export const tests: TestDescription[] = [
73
74
  component: LinkTest,
74
75
  testPage: HOMEPAGE_LINK_BUTTON,
75
76
  },
77
+ {
78
+ name: 'Shadow Test',
79
+ component: ShadowTest,
80
+ testPage: HOMEPAGE_SHADOW_BUTTON,
81
+ },
76
82
  {
77
83
  name: 'Separator Test',
78
84
  component: SeparatorTest,