@fluentui-react-native/tester 0.61.8 → 0.62.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 (38) hide show
  1. package/CHANGELOG.json +231 -1
  2. package/CHANGELOG.md +59 -2
  3. package/lib/FluentTester/TestComponents/Avatar/CustomizedAvatar.d.ts.map +1 -1
  4. package/lib/FluentTester/TestComponents/Avatar/CustomizedAvatar.js +4 -4
  5. package/lib/FluentTester/TestComponents/Avatar/CustomizedAvatar.js.map +1 -1
  6. package/lib/FluentTester/TestComponents/Menu/MenuTest.d.ts.map +1 -1
  7. package/lib/FluentTester/TestComponents/Menu/MenuTest.js +16 -1
  8. package/lib/FluentTester/TestComponents/Menu/MenuTest.js.map +1 -1
  9. package/lib/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.d.ts.map +1 -1
  10. package/lib/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.js +30 -8
  11. package/lib/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.js.map +1 -1
  12. package/lib/FluentTester/TestComponents/TextExperimental/CustomizeUsage.d.ts.map +1 -1
  13. package/lib/FluentTester/TestComponents/TextExperimental/CustomizeUsage.js +19 -0
  14. package/lib/FluentTester/TestComponents/TextExperimental/CustomizeUsage.js.map +1 -1
  15. package/lib/FluentTester/TestComponents/TextExperimental/StandardUsage.d.ts.map +1 -1
  16. package/lib/FluentTester/TestComponents/TextExperimental/StandardUsage.js +46 -17
  17. package/lib/FluentTester/TestComponents/TextExperimental/StandardUsage.js.map +1 -1
  18. package/lib-commonjs/FluentTester/TestComponents/Avatar/CustomizedAvatar.d.ts.map +1 -1
  19. package/lib-commonjs/FluentTester/TestComponents/Avatar/CustomizedAvatar.js +4 -4
  20. package/lib-commonjs/FluentTester/TestComponents/Avatar/CustomizedAvatar.js.map +1 -1
  21. package/lib-commonjs/FluentTester/TestComponents/Menu/MenuTest.d.ts.map +1 -1
  22. package/lib-commonjs/FluentTester/TestComponents/Menu/MenuTest.js +15 -0
  23. package/lib-commonjs/FluentTester/TestComponents/Menu/MenuTest.js.map +1 -1
  24. package/lib-commonjs/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.d.ts.map +1 -1
  25. package/lib-commonjs/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.js +31 -9
  26. package/lib-commonjs/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.js.map +1 -1
  27. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/CustomizeUsage.d.ts.map +1 -1
  28. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/CustomizeUsage.js +19 -0
  29. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/CustomizeUsage.js.map +1 -1
  30. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/StandardUsage.d.ts.map +1 -1
  31. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/StandardUsage.js +44 -15
  32. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/StandardUsage.js.map +1 -1
  33. package/package.json +27 -27
  34. package/src/FluentTester/TestComponents/Avatar/CustomizedAvatar.tsx +5 -6
  35. package/src/FluentTester/TestComponents/Menu/MenuTest.tsx +33 -1
  36. package/src/FluentTester/TestComponents/NativeDatePicker/NativeDatePickerTest.tsx +31 -4
  37. package/src/FluentTester/TestComponents/TextExperimental/CustomizeUsage.tsx +38 -0
  38. package/src/FluentTester/TestComponents/TextExperimental/StandardUsage.tsx +76 -23
@@ -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>
@@ -148,6 +176,10 @@ const menuSections: TestSection[] = [
148
176
  name: 'Menu Checkmarks',
149
177
  component: MenuCheckmarks,
150
178
  },
179
+ {
180
+ name: 'Menu Radioitem',
181
+ component: MenuRadioItem,
182
+ },
151
183
  {
152
184
  name: 'Menu open on hover',
153
185
  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
  };