@fluentui-react-native/tester 0.61.10 → 0.62.2

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 (36) hide show
  1. package/CHANGELOG.json +352 -2
  2. package/CHANGELOG.md +79 -2
  3. package/lib/FluentTester/TestComponents/Icon/IconTest.js +1 -1
  4. package/lib/FluentTester/TestComponents/Icon/IconTest.js.map +1 -1
  5. package/lib/FluentTester/TestComponents/Menu/MenuTest.d.ts.map +1 -1
  6. package/lib/FluentTester/TestComponents/Menu/MenuTest.js +18 -2
  7. package/lib/FluentTester/TestComponents/Menu/MenuTest.js.map +1 -1
  8. package/lib/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.d.ts.map +1 -1
  9. package/lib/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.js +30 -8
  10. package/lib/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.js.map +1 -1
  11. package/lib/FluentTester/TestComponents/TextExperimental/CustomizeUsage.d.ts.map +1 -1
  12. package/lib/FluentTester/TestComponents/TextExperimental/CustomizeUsage.js +19 -0
  13. package/lib/FluentTester/TestComponents/TextExperimental/CustomizeUsage.js.map +1 -1
  14. package/lib/FluentTester/TestComponents/TextExperimental/StandardUsage.d.ts.map +1 -1
  15. package/lib/FluentTester/TestComponents/TextExperimental/StandardUsage.js +46 -17
  16. package/lib/FluentTester/TestComponents/TextExperimental/StandardUsage.js.map +1 -1
  17. package/lib-commonjs/FluentTester/TestComponents/Icon/IconTest.js +1 -1
  18. package/lib-commonjs/FluentTester/TestComponents/Icon/IconTest.js.map +1 -1
  19. package/lib-commonjs/FluentTester/TestComponents/Menu/MenuTest.d.ts.map +1 -1
  20. package/lib-commonjs/FluentTester/TestComponents/Menu/MenuTest.js +17 -1
  21. package/lib-commonjs/FluentTester/TestComponents/Menu/MenuTest.js.map +1 -1
  22. package/lib-commonjs/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.d.ts.map +1 -1
  23. package/lib-commonjs/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.js +31 -9
  24. package/lib-commonjs/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.js.map +1 -1
  25. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/CustomizeUsage.d.ts.map +1 -1
  26. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/CustomizeUsage.js +19 -0
  27. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/CustomizeUsage.js.map +1 -1
  28. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/StandardUsage.d.ts.map +1 -1
  29. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/StandardUsage.js +44 -15
  30. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/StandardUsage.js.map +1 -1
  31. package/package.json +27 -27
  32. package/src/FluentTester/TestComponents/Icon/IconTest.tsx +1 -1
  33. package/src/FluentTester/TestComponents/Menu/MenuTest.tsx +35 -2
  34. package/src/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.tsx +31 -4
  35. package/src/FluentTester/TestComponents/TextExperimental/CustomizeUsage.tsx +38 -0
  36. package/src/FluentTester/TestComponents/TextExperimental/StandardUsage.tsx +76 -23
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui-react-native/tester",
3
- "version": "0.61.10",
3
+ "version": "0.62.2",
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>",
@@ -25,33 +25,33 @@
25
25
  "directory": "apps/fluent-tester"
26
26
  },
27
27
  "dependencies": {
28
- "@fluentui-react-native/android-theme": ">=0.8.0 <1.0.0",
29
- "@fluentui-react-native/apple-theme": ">=0.12.1 <1.0.0",
30
- "@fluentui-react-native/badge": ">=0.0.36 <1.0.0",
31
- "@fluentui-react-native/button": ">=0.22.23 <1.0.0",
32
- "@fluentui-react-native/default-theme": ">=0.11.0 <1.0.0",
33
- "@fluentui-react-native/experimental-activity-indicator": ">=0.5.27 <1.0.0",
34
- "@fluentui-react-native/experimental-avatar": ">=0.14.31 <1.0.0",
35
- "@fluentui-react-native/experimental-button": "0.15.24",
36
- "@fluentui-react-native/experimental-checkbox": "0.11.6",
37
- "@fluentui-react-native/experimental-drawer": ">=0.1.11 <1.0.0",
38
- "@fluentui-react-native/experimental-native-date-picker": ">=0.4.2 <1.0.0",
39
- "@fluentui-react-native/experimental-expander": "0.3.29",
40
- "@fluentui-react-native/experimental-menu-button": ">=0.3.41 <1.0.0",
41
- "@fluentui-react-native/experimental-shimmer": "0.6.31",
42
- "@fluentui-react-native/experimental-tabs": "0.4.46",
43
- "@fluentui-react-native/experimental-text": ">=0.7.28 <1.0.0",
44
- "@fluentui-react-native/framework": ">=0.7.28 <1.0.0",
45
- "@fluentui-react-native/icon": "0.11.23",
46
- "@fluentui-react-native/interactive-hooks": ">=0.15.8 <1.0.0",
47
- "@fluentui-react-native/menu": ">=0.9.3 <1.0.0",
48
- "@fluentui-react-native/stack": ">=0.6.28 <1.0.0",
49
- "@fluentui-react-native/theme": ">=0.6.9 <1.0.0",
50
- "@fluentui-react-native/theme-types": ">=0.15.0 <1.0.0",
28
+ "@fluentui-react-native/android-theme": ">=0.10.0 <1.0.0",
29
+ "@fluentui-react-native/apple-theme": ">=0.12.3 <1.0.0",
30
+ "@fluentui-react-native/badge": ">=0.0.39 <1.0.0",
31
+ "@fluentui-react-native/button": ">=0.22.26 <1.0.0",
32
+ "@fluentui-react-native/default-theme": ">=0.13.0 <1.0.0",
33
+ "@fluentui-react-native/experimental-activity-indicator": ">=0.5.29 <1.0.0",
34
+ "@fluentui-react-native/experimental-avatar": ">=0.14.34 <1.0.0",
35
+ "@fluentui-react-native/experimental-button": "0.15.27",
36
+ "@fluentui-react-native/experimental-checkbox": "0.11.9",
37
+ "@fluentui-react-native/experimental-drawer": ">=0.1.13 <1.0.0",
38
+ "@fluentui-react-native/experimental-native-date-picker": ">=0.4.3 <1.0.0",
39
+ "@fluentui-react-native/experimental-expander": "0.3.31",
40
+ "@fluentui-react-native/experimental-menu-button": ">=0.3.44 <1.0.0",
41
+ "@fluentui-react-native/experimental-shimmer": "0.6.33",
42
+ "@fluentui-react-native/experimental-tabs": "0.4.49",
43
+ "@fluentui-react-native/experimental-text": ">=0.9.0 <1.0.0",
44
+ "@fluentui-react-native/framework": ">=0.7.30 <1.0.0",
45
+ "@fluentui-react-native/icon": "0.12.0",
46
+ "@fluentui-react-native/interactive-hooks": ">=0.16.1 <1.0.0",
47
+ "@fluentui-react-native/menu": ">=0.11.1 <1.0.0",
48
+ "@fluentui-react-native/stack": ">=0.6.29 <1.0.0",
49
+ "@fluentui-react-native/theme": ">=0.6.11 <1.0.0",
50
+ "@fluentui-react-native/theme-types": ">=0.17.0 <1.0.0",
51
51
  "@fluentui-react-native/themed-stylesheet": "^1.3.3",
52
- "@fluentui-react-native/theming-utils": ">=0.11.0 <1.0.0",
53
- "@fluentui-react-native/win32-theme": ">=0.17.0 <1.0.0",
54
- "@fluentui/react-native": ">=0.29.9 <1.0.0",
52
+ "@fluentui-react-native/theming-utils": ">=0.13.0 <1.0.0",
53
+ "@fluentui-react-native/win32-theme": ">=0.19.0 <1.0.0",
54
+ "@fluentui/react-native": ">=0.29.12 <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",
@@ -72,7 +72,7 @@ const Icons: React.FunctionComponent = () => {
72
72
  {showSvgIcons ? (
73
73
  <View>
74
74
  <Text>SVG icons</Text>
75
- <Icon svgSource={svgProps} width={100} height={100} color="orange" />
75
+ <Icon svgSource={svgProps} width={100} height={100} color="orange" accessibilityLabel="Wheelchair" />
76
76
  {
77
77
  // TODO: Causes TypeError: Network request failed on Android
78
78
  shouldShowDataUri ? <Icon svgSource={svgD20DataUriProps} width={100} height={100} color="#7a7" /> : null
@@ -1,6 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { ButtonV1 as Button } from '@fluentui/react-native';
3
- import { Menu, MenuItem, MenuItemCheckbox, MenuTrigger, MenuPopover, MenuList, MenuDivider } from '@fluentui-react-native/menu';
3
+ import {
4
+ Menu,
5
+ MenuItem,
6
+ MenuItemCheckbox,
7
+ MenuItemRadio,
8
+ MenuTrigger,
9
+ MenuPopover,
10
+ MenuList,
11
+ MenuDivider,
12
+ } from '@fluentui-react-native/menu';
4
13
  import { Stack } from '@fluentui-react-native/stack';
5
14
  import { Text } from '@fluentui-react-native/experimental-text';
6
15
  import { stackStyle } from '../Common/styles';
@@ -67,6 +76,25 @@ const MenuCheckmarks: React.FunctionComponent = () => {
67
76
  );
68
77
  };
69
78
 
79
+ const MenuRadioItem: React.FunctionComponent = () => {
80
+ return (
81
+ <Stack style={stackStyle}>
82
+ <Menu defaultChecked={{ itemOne: true }}>
83
+ <MenuTrigger>
84
+ <Button>Items with radio selection</Button>
85
+ </MenuTrigger>
86
+ <MenuPopover>
87
+ <MenuList>
88
+ <MenuItemRadio name="itemOne" content="A MenuItem with checkmark" />
89
+ <MenuItemRadio name="itemTwo" content="Another MenuItem with checkmark" />
90
+ <MenuItemRadio name="itemThree" content="A third MenuItem with checkmark" />
91
+ </MenuList>
92
+ </MenuPopover>
93
+ </Menu>
94
+ </Stack>
95
+ );
96
+ };
97
+
70
98
  const Submenu: React.FunctionComponent = () => {
71
99
  return (
72
100
  <Menu>
@@ -75,7 +103,8 @@ const Submenu: React.FunctionComponent = () => {
75
103
  </MenuTrigger>
76
104
  <MenuPopover>
77
105
  <MenuList>
78
- <Text>Hello world!!!</Text>
106
+ <MenuItem content="A nested MenuItem" />
107
+ <MenuItem content="A second nested MenuItem" />
79
108
  </MenuList>
80
109
  </MenuPopover>
81
110
  </Menu>
@@ -148,6 +177,10 @@ const menuSections: TestSection[] = [
148
177
  name: 'Menu Checkmarks',
149
178
  component: MenuCheckmarks,
150
179
  },
180
+ {
181
+ name: 'Menu Radioitem',
182
+ component: MenuRadioItem,
183
+ },
151
184
  {
152
185
  name: 'Menu open on hover',
153
186
  component: MenuOpenOnHover,
@@ -4,12 +4,14 @@ import { NATIVEDATEPICKER_TESTPAGE } from './consts';
4
4
  import { PlatformStatus, Test, TestSection } from '../Test';
5
5
  import * as React from 'react';
6
6
  import { Stack } from '@fluentui-react-native/stack';
7
- import { stackStyle } from '../Common/styles';
7
+ import { stackStyle, commonTestStyles as commonStyles } from '../Common/styles';
8
+ import { Switch, View } from 'react-native';
8
9
  import { Text } from '@fluentui/react-native';
9
10
 
10
11
  const NativeDatePickerMainTest: React.FunctionComponent = () => {
11
12
  const [startDate, setStartDate] = React.useState<Date>(new Date());
12
13
  const [endDate, setEndDate] = React.useState<Date>(null);
14
+ const [overrideDefaultCalendarConfiguration, setOverrideDefaultCalendarConfiguration] = React.useState(false);
13
15
 
14
16
  function didPickDates(pickedStartDate: string, pickedEndDate: string) {
15
17
  setStartDate(NativeDatePicker.parseISOString(pickedStartDate));
@@ -20,6 +22,10 @@ const NativeDatePickerMainTest: React.FunctionComponent = () => {
20
22
  const fixedDates = {
21
23
  startDate: NativeDatePicker.parseISOString('2020-02-29T12:25:00.000Z'),
22
24
  endDate: NativeDatePicker.parseISOString('2020-03-07T11:55:00.000Z'),
25
+ overrideReferenceStartDate: NativeDatePicker.parseISOString('1999-01-01T00:00:00.000Z'),
26
+ overrideReferenceEndDate: NativeDatePicker.parseISOString('2000-01-01T00:00:00.000Z'),
27
+ defaultReferenceStartDate: new Date(new Date().getFullYear() - 3, 1, 1),
28
+ defaultReferenceEndDate: new Date(new Date().getFullYear() + 7, 1, 1),
23
29
  };
24
30
  const titles = {
25
31
  startTitle: 'Start Title',
@@ -36,14 +42,14 @@ const NativeDatePickerMainTest: React.FunctionComponent = () => {
36
42
 
37
43
  return (
38
44
  <Stack style={stackStyle}>
39
- <Text variant="headerStandard">Start Date/Time</Text>
45
+ <Text variant="headerStandard">Selected Start Date/Time</Text>
40
46
  <Text variant="subheaderStandard">
41
47
  {startDate?.toString()} {'\n'}
42
48
  </Text>
43
49
 
44
- <Text variant="headerStandard">End Date/Time</Text>
50
+ <Text variant="headerStandard">Selected End Date/Time</Text>
45
51
  <Text variant="subheaderStandard">
46
- {endDate?.toString()} {'\n'}
52
+ {endDate?.toString() ?? 'N/A'} {'\n'}
47
53
  </Text>
48
54
 
49
55
  <Button content="Date picker" onClick={() => NativeDatePicker.present({ callback: didPickDates })} />
@@ -101,6 +107,27 @@ const NativeDatePickerMainTest: React.FunctionComponent = () => {
101
107
  content="Date time range with custom titles (tabbed)"
102
108
  onClick={() => NativeDatePicker.present({ mode: 'dateTimeRange', ...fixedDates, ...titles, callback: didPickDates })}
103
109
  />
110
+
111
+ <Text variant="headerStandard">Calendar configuration</Text>
112
+ <View style={commonStyles.switch}>
113
+ <Text>Override default calendar configuration</Text>
114
+ <Switch
115
+ value={overrideDefaultCalendarConfiguration}
116
+ onValueChange={(value) => {
117
+ setOverrideDefaultCalendarConfiguration(value);
118
+ NativeDatePicker.setDefaultCalendarConfiguration({
119
+ referenceStartDate: value ? fixedDates.overrideReferenceStartDate : fixedDates.defaultReferenceStartDate,
120
+ referenceEndDate: value ? fixedDates.overrideReferenceEndDate : fixedDates.defaultReferenceEndDate,
121
+ });
122
+ }}
123
+ />
124
+ </View>
125
+ <Text variant="subheaderStandard">
126
+ Override reference start date: {fixedDates.overrideReferenceStartDate.getUTCFullYear().toString()}
127
+ </Text>
128
+ <Text variant="subheaderStandard">
129
+ Override reference end date: {fixedDates.overrideReferenceEndDate.getUTCFullYear().toString()}
130
+ </Text>
104
131
  </Stack>
105
132
  );
106
133
  };
@@ -47,6 +47,39 @@ const Helvetica = Text.customize({ variant: 'heroLargeStandard', fontFamily: 'He
47
47
  const Arial = Text.customize({ variant: 'heroLargeStandard', fontFamily: 'arial' });
48
48
 
49
49
  export const CustomizeUsage: React.FunctionComponent = () => {
50
+ const BlockText = () => {
51
+ return (
52
+ <>
53
+ <Text style={{ textTransform: 'uppercase' }} font="base" weight="medium">
54
+ I am going to be truncated since I am a very very very very very very very very very very very very very very very very very very
55
+ very very very very very very very very very very very very very very very very very very very very very very very very very very
56
+ very very very very very very very very very very very very very very very very long block text.
57
+ </Text>
58
+ <Text font="monospace" weight="semibold" wrap={false}>
59
+ I am not going to be wrapped since I am a very very very very very very very very very very very very very very very very very
60
+ very very very very very very very very very very very very very very very very very very very very very very very very very very
61
+ very very very very very very very very very very very very very very very very very long block text.
62
+ </Text>
63
+ <Text underline>Since text components are inside a View</Text>
64
+ <Text>every block of text</Text>
65
+ <Text underline strikethrough align="end">
66
+ gets its own line. This line has been underlined, striked through, and right aligned.
67
+ </Text>
68
+ </>
69
+ );
70
+ };
71
+
72
+ const NonBlockText = () => {
73
+ return (
74
+ <Text>
75
+ <Text italic>I am italisized inline text.</Text>
76
+ <Text weight="medium">Since text components are inside a Text, (medium) </Text>
77
+ <Text weight="bold">every block of text (bolded) </Text>
78
+ <Text size={600}>gets placed inline.</Text>
79
+ </Text>
80
+ );
81
+ };
82
+
50
83
  const CustomUsageStack = () => {
51
84
  return (
52
85
  <Stack style={stackStyle} gap={5}>
@@ -73,6 +106,7 @@ export const CustomizeUsage: React.FunctionComponent = () => {
73
106
  </Stack>
74
107
  );
75
108
  };
109
+
76
110
  const CustomFontStackAndroid = () => {
77
111
  return (
78
112
  <Stack style={stackStyle} gap={5}>
@@ -116,6 +150,10 @@ export const CustomizeUsage: React.FunctionComponent = () => {
116
150
  default:
117
151
  return (
118
152
  <View>
153
+ <BlockText />
154
+ <Text>{'\n'}</Text>
155
+ <NonBlockText />
156
+ <Text>{'\n'}</Text>
119
157
  <CustomUsageStack />
120
158
  <CustomFontStack />
121
159
  </View>
@@ -1,30 +1,83 @@
1
1
  import * as React from 'react';
2
- import { View } from 'react-native';
3
- import { Text } from '@fluentui-react-native/experimental-text';
2
+ import { Platform, View } from 'react-native';
3
+ import {
4
+ Text,
5
+ Caption1,
6
+ Body1,
7
+ Body1Strong,
8
+ Body2,
9
+ Body2Strong,
10
+ Subtitle1,
11
+ Subtitle1Strong,
12
+ Subtitle2,
13
+ Subtitle2Strong,
14
+ Title1,
15
+ Title1Strong,
16
+ LargeTitle,
17
+ Display,
18
+ } from '@fluentui-react-native/experimental-text';
4
19
  import { Stack } from '@fluentui-react-native/stack';
5
20
  import { stackStyle } from '../Common/styles';
6
21
  import { HOMEPAGE_EXPERIMENTAL_TEXT_BUTTON } from './consts';
7
22
 
8
23
  export const StandardUsage: React.FunctionComponent = () => {
9
- return (
10
- <View>
11
- <Stack style={stackStyle} gap={5}>
12
- <Text variant="captionStandard" testID={HOMEPAGE_EXPERIMENTAL_TEXT_BUTTON}>
13
- CaptionStandard
14
- </Text>
15
- <Text variant="secondaryStandard">SecondaryStandard</Text>
16
- <Text variant="secondarySemibold">SecondarySemibold</Text>
17
- <Text variant="bodyStandard">BodyStandard</Text>
18
- <Text variant="bodySemibold">BodySemibold</Text>
19
- <Text variant="subheaderStandard">SubheaderStandard</Text>
20
- <Text variant="subheaderSemibold">SubheaderSemibold</Text>
21
- <Text variant="headerStandard">HeaderStandard</Text>
22
- <Text variant="headerSemibold">HeaderSemibold</Text>
23
- <Text variant="heroStandard">HeroStandard</Text>
24
- <Text variant="heroSemibold">HeroSemibold</Text>
25
- <Text variant="heroLargeStandard">HeroLargeStandard</Text>
26
- <Text variant="heroLargeSemibold">HeroLargeSemibold</Text>
27
- </Stack>
28
- </View>
29
- );
24
+ const V1Usage: React.FunctionComponent = () => {
25
+ return (
26
+ <View>
27
+ <Stack style={stackStyle} gap={5}>
28
+ <Text variant="captionStandard" testID={HOMEPAGE_EXPERIMENTAL_TEXT_BUTTON}>
29
+ CaptionStandard
30
+ </Text>
31
+ <Text variant="secondaryStandard">SecondaryStandard</Text>
32
+ <Text variant="secondarySemibold">SecondarySemibold</Text>
33
+ <Text variant="bodyStandard">BodyStandard</Text>
34
+ <Text variant="bodySemibold">BodySemibold</Text>
35
+ <Text variant="subheaderStandard">SubheaderStandard</Text>
36
+ <Text variant="subheaderSemibold">SubheaderSemibold</Text>
37
+ <Text variant="headerStandard">HeaderStandard</Text>
38
+ <Text variant="headerSemibold">HeaderSemibold</Text>
39
+ <Text variant="heroStandard">HeroStandard</Text>
40
+ <Text variant="heroSemibold">HeroSemibold</Text>
41
+ <Text variant="heroLargeStandard">HeroLargeStandard</Text>
42
+ <Text variant="heroLargeSemibold">HeroLargeSemibold</Text>
43
+ </Stack>
44
+ </View>
45
+ );
46
+ };
47
+
48
+ const V2Usage: React.FunctionComponent = () => {
49
+ return (
50
+ <View>
51
+ <Stack style={stackStyle} gap={5}>
52
+ <Caption1>Caption1</Caption1>
53
+ <Body1>Body1</Body1>
54
+ <Body1Strong>Body1Strong</Body1Strong>
55
+ <Body2>Body2</Body2>
56
+ <Body2Strong>Body2Strong</Body2Strong>
57
+ <Subtitle2>Subtitle2</Subtitle2>
58
+ <Subtitle2Strong>Subtitle2Strong</Subtitle2Strong>
59
+ <Subtitle1>Subtitle1</Subtitle1>
60
+ <Subtitle1Strong>Subtitle1Strong</Subtitle1Strong>
61
+ <Title1>Title1</Title1>
62
+ <Title1Strong>Title1Strong</Title1Strong>
63
+ <LargeTitle>LargeTitle</LargeTitle>
64
+ <Display>Display</Display>
65
+ </Stack>
66
+ </View>
67
+ );
68
+ };
69
+
70
+ switch (Platform.OS) {
71
+ case 'android':
72
+ case 'ios':
73
+ case 'macos':
74
+ return <V1Usage />;
75
+ default:
76
+ return (
77
+ <View>
78
+ <V1Usage />
79
+ <V2Usage />
80
+ </View>
81
+ );
82
+ }
30
83
  };