@fluentui-react-native/tester 0.69.3 → 0.69.6

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 (130) hide show
  1. package/CHANGELOG.json +76 -1
  2. package/CHANGELOG.md +31 -2
  3. package/lib/FluentTester/TestComponents/Avatar/BasicAvatar.d.ts.map +1 -1
  4. package/lib/FluentTester/TestComponents/Avatar/BasicAvatar.js +10 -14
  5. package/lib/FluentTester/TestComponents/Avatar/BasicAvatar.js.map +1 -1
  6. package/lib/FluentTester/TestComponents/Callout/CalloutTest.d.ts.map +1 -1
  7. package/lib/FluentTester/TestComponents/Callout/CalloutTest.js +5 -4
  8. package/lib/FluentTester/TestComponents/Callout/CalloutTest.js.map +1 -1
  9. package/lib/FluentTester/TestComponents/Common/AlignmentPicker.d.ts +1 -1
  10. package/lib/FluentTester/TestComponents/Common/AlignmentPicker.d.ts.map +1 -1
  11. package/lib/FluentTester/TestComponents/Common/AlignmentPicker.js +7 -2
  12. package/lib/FluentTester/TestComponents/Common/AlignmentPicker.js.map +1 -1
  13. package/lib/FluentTester/TestComponents/Common/MenuPicker.d.ts +11 -0
  14. package/lib/FluentTester/TestComponents/Common/MenuPicker.d.ts.map +1 -0
  15. package/lib/FluentTester/TestComponents/Common/MenuPicker.desktop.d.ts +11 -0
  16. package/lib/FluentTester/TestComponents/Common/MenuPicker.desktop.d.ts.map +1 -0
  17. package/lib/FluentTester/TestComponents/Common/MenuPicker.desktop.js +33 -0
  18. package/lib/FluentTester/TestComponents/Common/MenuPicker.desktop.js.map +1 -0
  19. package/lib/FluentTester/TestComponents/Common/MenuPicker.js +8 -0
  20. package/lib/FluentTester/TestComponents/Common/MenuPicker.js.map +1 -0
  21. package/lib/FluentTester/TestComponents/Common/MenuPicker.macos.d.ts +2 -0
  22. package/lib/FluentTester/TestComponents/Common/MenuPicker.macos.d.ts.map +1 -0
  23. package/lib/FluentTester/TestComponents/Common/MenuPicker.macos.js +2 -0
  24. package/lib/FluentTester/TestComponents/Common/MenuPicker.macos.js.map +1 -0
  25. package/lib/FluentTester/TestComponents/Common/MenuPicker.win32.d.ts +2 -0
  26. package/lib/FluentTester/TestComponents/Common/MenuPicker.win32.d.ts.map +1 -0
  27. package/lib/FluentTester/TestComponents/Common/MenuPicker.win32.js +2 -0
  28. package/lib/FluentTester/TestComponents/Common/MenuPicker.win32.js.map +1 -0
  29. package/lib/FluentTester/TestComponents/Common/MenuPicker.windows.d.ts +11 -0
  30. package/lib/FluentTester/TestComponents/Common/MenuPicker.windows.d.ts.map +1 -0
  31. package/lib/FluentTester/TestComponents/Common/MenuPicker.windows.js +24 -0
  32. package/lib/FluentTester/TestComponents/Common/MenuPicker.windows.js.map +1 -0
  33. package/lib/FluentTester/TestComponents/Common/StyledPicker.d.ts +3 -0
  34. package/lib/FluentTester/TestComponents/Common/StyledPicker.d.ts.map +1 -0
  35. package/lib/FluentTester/TestComponents/Common/StyledPicker.js +12 -0
  36. package/lib/FluentTester/TestComponents/Common/StyledPicker.js.map +1 -0
  37. package/lib/FluentTester/TestComponents/Common/styles.d.ts +8 -0
  38. package/lib/FluentTester/TestComponents/Common/styles.d.ts.map +1 -1
  39. package/lib/FluentTester/TestComponents/Common/styles.js +8 -0
  40. package/lib/FluentTester/TestComponents/Common/styles.js.map +1 -1
  41. package/lib/FluentTester/TestComponents/ContextualMenu/ContextualMenuTest.js +1 -1
  42. package/lib/FluentTester/TestComponents/ContextualMenu/ContextualMenuTest.js.map +1 -1
  43. package/lib/FluentTester/TestComponents/Persona/StandardUsage.d.ts.map +1 -1
  44. package/lib/FluentTester/TestComponents/Persona/StandardUsage.js +3 -2
  45. package/lib/FluentTester/TestComponents/Persona/StandardUsage.js.map +1 -1
  46. package/lib/FluentTester/TestComponents/PersonaCoin/StandardUsage.d.ts.map +1 -1
  47. package/lib/FluentTester/TestComponents/PersonaCoin/StandardUsage.js +5 -10
  48. package/lib/FluentTester/TestComponents/PersonaCoin/StandardUsage.js.map +1 -1
  49. package/lib/FluentTester/TestComponents/Test.d.ts +1 -1
  50. package/lib/FluentTester/TestComponents/Test.d.ts.map +1 -1
  51. package/lib/FluentTester/theme/ThemePickers.android.js.map +1 -1
  52. package/lib/FluentTester/theme/ThemePickers.d.ts.map +1 -1
  53. package/lib/FluentTester/theme/ThemePickers.js +6 -2
  54. package/lib/FluentTester/theme/ThemePickers.js.map +1 -1
  55. package/lib/FluentTester/theme/ThemePickers.macos.d.ts.map +1 -1
  56. package/lib/FluentTester/theme/ThemePickers.macos.js +28 -2
  57. package/lib/FluentTester/theme/ThemePickers.macos.js.map +1 -1
  58. package/lib-commonjs/FluentTester/TestComponents/Avatar/BasicAvatar.d.ts.map +1 -1
  59. package/lib-commonjs/FluentTester/TestComponents/Avatar/BasicAvatar.js +13 -17
  60. package/lib-commonjs/FluentTester/TestComponents/Avatar/BasicAvatar.js.map +1 -1
  61. package/lib-commonjs/FluentTester/TestComponents/Callout/CalloutTest.d.ts.map +1 -1
  62. package/lib-commonjs/FluentTester/TestComponents/Callout/CalloutTest.js +4 -3
  63. package/lib-commonjs/FluentTester/TestComponents/Callout/CalloutTest.js.map +1 -1
  64. package/lib-commonjs/FluentTester/TestComponents/Common/AlignmentPicker.d.ts +1 -1
  65. package/lib-commonjs/FluentTester/TestComponents/Common/AlignmentPicker.d.ts.map +1 -1
  66. package/lib-commonjs/FluentTester/TestComponents/Common/AlignmentPicker.js +7 -2
  67. package/lib-commonjs/FluentTester/TestComponents/Common/AlignmentPicker.js.map +1 -1
  68. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.d.ts +11 -0
  69. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.d.ts.map +1 -0
  70. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.desktop.d.ts +11 -0
  71. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.desktop.d.ts.map +1 -0
  72. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.desktop.js +38 -0
  73. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.desktop.js.map +1 -0
  74. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.js +12 -0
  75. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.js.map +1 -0
  76. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.macos.d.ts +2 -0
  77. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.macos.d.ts.map +1 -0
  78. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.macos.js +5 -0
  79. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.macos.js.map +1 -0
  80. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.win32.d.ts +2 -0
  81. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.win32.d.ts.map +1 -0
  82. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.win32.js +5 -0
  83. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.win32.js.map +1 -0
  84. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.windows.d.ts +11 -0
  85. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.windows.d.ts.map +1 -0
  86. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.windows.js +29 -0
  87. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.windows.js.map +1 -0
  88. package/lib-commonjs/FluentTester/TestComponents/Common/StyledPicker.d.ts +3 -0
  89. package/lib-commonjs/FluentTester/TestComponents/Common/StyledPicker.d.ts.map +1 -0
  90. package/lib-commonjs/FluentTester/TestComponents/Common/StyledPicker.js +16 -0
  91. package/lib-commonjs/FluentTester/TestComponents/Common/StyledPicker.js.map +1 -0
  92. package/lib-commonjs/FluentTester/TestComponents/Common/styles.d.ts +8 -0
  93. package/lib-commonjs/FluentTester/TestComponents/Common/styles.d.ts.map +1 -1
  94. package/lib-commonjs/FluentTester/TestComponents/Common/styles.js +8 -0
  95. package/lib-commonjs/FluentTester/TestComponents/Common/styles.js.map +1 -1
  96. package/lib-commonjs/FluentTester/TestComponents/ContextualMenu/ContextualMenuTest.js +1 -1
  97. package/lib-commonjs/FluentTester/TestComponents/ContextualMenu/ContextualMenuTest.js.map +1 -1
  98. package/lib-commonjs/FluentTester/TestComponents/Persona/StandardUsage.d.ts.map +1 -1
  99. package/lib-commonjs/FluentTester/TestComponents/Persona/StandardUsage.js +2 -1
  100. package/lib-commonjs/FluentTester/TestComponents/Persona/StandardUsage.js.map +1 -1
  101. package/lib-commonjs/FluentTester/TestComponents/PersonaCoin/StandardUsage.d.ts.map +1 -1
  102. package/lib-commonjs/FluentTester/TestComponents/PersonaCoin/StandardUsage.js +7 -11
  103. package/lib-commonjs/FluentTester/TestComponents/PersonaCoin/StandardUsage.js.map +1 -1
  104. package/lib-commonjs/FluentTester/TestComponents/Test.d.ts +1 -1
  105. package/lib-commonjs/FluentTester/TestComponents/Test.d.ts.map +1 -1
  106. package/lib-commonjs/FluentTester/theme/ThemePickers.android.js.map +1 -1
  107. package/lib-commonjs/FluentTester/theme/ThemePickers.d.ts.map +1 -1
  108. package/lib-commonjs/FluentTester/theme/ThemePickers.js +5 -1
  109. package/lib-commonjs/FluentTester/theme/ThemePickers.js.map +1 -1
  110. package/lib-commonjs/FluentTester/theme/ThemePickers.macos.d.ts.map +1 -1
  111. package/lib-commonjs/FluentTester/theme/ThemePickers.macos.js +27 -2
  112. package/lib-commonjs/FluentTester/theme/ThemePickers.macos.js.map +1 -1
  113. package/package.json +5 -5
  114. package/src/FluentTester/TestComponents/Avatar/BasicAvatar.tsx +57 -67
  115. package/src/FluentTester/TestComponents/Callout/CalloutTest.tsx +17 -27
  116. package/src/FluentTester/TestComponents/Common/AlignmentPicker.tsx +14 -10
  117. package/src/FluentTester/TestComponents/Common/MenuPicker.desktop.tsx +60 -0
  118. package/src/FluentTester/TestComponents/Common/MenuPicker.macos.tsx +1 -0
  119. package/src/FluentTester/TestComponents/Common/MenuPicker.tsx +32 -0
  120. package/src/FluentTester/TestComponents/Common/MenuPicker.win32.tsx +1 -0
  121. package/src/FluentTester/TestComponents/Common/MenuPicker.windows.tsx +38 -0
  122. package/src/FluentTester/TestComponents/Common/StyledPicker.tsx +12 -0
  123. package/src/FluentTester/TestComponents/Common/styles.ts +8 -0
  124. package/src/FluentTester/TestComponents/ContextualMenu/ContextualMenuTest.tsx +1 -1
  125. package/src/FluentTester/TestComponents/Persona/StandardUsage.tsx +7 -10
  126. package/src/FluentTester/TestComponents/PersonaCoin/StandardUsage.tsx +13 -24
  127. package/src/FluentTester/TestComponents/Test.tsx +1 -1
  128. package/src/FluentTester/theme/ThemePickers.android.tsx +5 -5
  129. package/src/FluentTester/theme/ThemePickers.macos.tsx +46 -8
  130. package/src/FluentTester/theme/ThemePickers.tsx +6 -8
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { PersonaSize, PersonaCoinFluentColor, PersonaCoin, PersonaPresence } from '@fluentui/react-native';
3
- import { Switch, View, Text, Picker, ColorValue } from 'react-native';
3
+ import { StyledPicker } from '../Common/StyledPicker';
4
+ import { Switch, View, Text, ColorValue } from 'react-native';
4
5
  import { satyaPhotoUrl, undefinedText } from './styles';
5
6
  import { commonTestStyles as commonStyles } from '../Common/styles';
6
7
  import { useTheme } from '@fluentui-react-native/theme-types';
@@ -46,19 +47,6 @@ const allColors: WithUndefined<PersonaCoinFluentColor>[] = [
46
47
 
47
48
  const allPresences: WithUndefined<PersonaPresence>[] = [undefinedText, 'none', 'online', 'offline', 'busy', 'dnd', 'blocked', 'away'];
48
49
 
49
- const StyledPicker = (props) => {
50
- const { prompt, selected, onChange, collection } = props;
51
- const theme = useTheme();
52
- const pickerStyles = { color: theme.colors.inputText as ColorValue, ...commonStyles.header };
53
- return (
54
- <Picker prompt={prompt} style={pickerStyles} selectedValue={selected} onValueChange={onChange}>
55
- {collection.map((value, index) => (
56
- <Picker.Item label={value} key={index} value={value} />
57
- ))}
58
- </Picker>
59
- );
60
- };
61
-
62
50
  export const StandardUsage: React.FunctionComponent = () => {
63
51
  const [showImage, setShowImage] = React.useState(true);
64
52
  const [imageSize, setImageSize] = React.useState<WithUndefined<PersonaSize>>('size72');
@@ -75,26 +63,27 @@ export const StandardUsage: React.FunctionComponent = () => {
75
63
  return (
76
64
  <View style={commonStyles.root}>
77
65
  {/* settings */}
78
- <View style={commonStyles.settings}>
66
+ <View style={commonStyles.settingsPicker}>
79
67
  <View style={commonStyles.switch}>
80
68
  <Text style={textStyles}>Show image</Text>
81
69
  <Switch value={showImage} onValueChange={setShowImage} />
82
70
  </View>
83
-
84
71
  <StyledPicker prompt="Size" selected={imageSize} onChange={onSizeChange} collection={allSizes} />
85
72
  <StyledPicker prompt="Coin color" selected={coinColor} onChange={onColorChange} collection={allColors} />
86
73
  <StyledPicker prompt="Presence status" selected={presence} onChange={onPresenceChange} collection={allPresences} />
87
74
  </View>
88
75
 
89
76
  {/* component under test */}
90
- <PersonaCoin
91
- size={imageSize === undefinedText ? undefined : imageSize}
92
- initials="SN"
93
- imageDescription="Photo of Satya Nadella"
94
- presence={presence === undefinedText ? undefined : presence}
95
- imageUrl={showImage ? satyaPhotoUrl : undefined}
96
- coinColorFluent={coinColor === undefinedText ? undefined : coinColor}
97
- />
77
+ <View style={commonStyles.pickerControlled}>
78
+ <PersonaCoin
79
+ size={imageSize === undefinedText ? undefined : imageSize}
80
+ initials="SN"
81
+ imageDescription="Photo of Satya Nadella"
82
+ presence={presence === undefinedText ? undefined : presence}
83
+ imageUrl={showImage ? satyaPhotoUrl : undefined}
84
+ coinColorFluent={coinColor === undefinedText ? undefined : coinColor}
85
+ />
86
+ </View>
98
87
  </View>
99
88
  );
100
89
  };
@@ -10,7 +10,7 @@ export type TestSection = {
10
10
  component: React.FunctionComponent;
11
11
  };
12
12
 
13
- export type Status = 'Production' | 'Beta' | 'Experimental' | 'Backlog' | 'N/A';
13
+ export type Status = 'Production' | 'Beta' | 'Experimental' | 'Backlog' | 'Deprecated' | 'N/A';
14
14
  export type PlatformStatus = {
15
15
  win32Status: Status;
16
16
  uwpStatus: Status;
@@ -1,12 +1,12 @@
1
1
  import * as React from 'react';
2
- import { View, PickerPropsAndroid } from 'react-native';
2
+ import { View } from 'react-native';
3
3
  import { Text } from '@fluentui-react-native/experimental-text';
4
4
  import { lightnessOptions, testerTheme } from './CustomThemes';
5
5
  import { themeChoices, ThemeNames } from './applyTheme';
6
6
  import { brandOptions, OfficeBrand } from './applyBrand';
7
7
  import { Theme, useTheme } from '@fluentui-react-native/framework';
8
8
  import { themedStyleSheet } from '@fluentui-react-native/themed-stylesheet';
9
- import { Picker } from '@react-native-picker/picker';
9
+ import { Picker, PickerProps } from '@react-native-picker/picker';
10
10
 
11
11
  const getThemedDropdownStyles = themedStyleSheet((t: Theme) => {
12
12
  return {
@@ -52,13 +52,13 @@ export const ThemePickers: React.FunctionComponent = () => {
52
52
 
53
53
  type DropdownEntry = { label: string; value: string };
54
54
 
55
- const dropdownProps: PickerPropsAndroid = {
55
+ type DropdownProps = { initial: string; onValueChange: (value: string) => void; options: DropdownEntry[] };
56
+
57
+ const dropdownProps: Omit<PickerProps, 'onValueChange' | 'selectedValue'> = {
56
58
  style: themedPickerStyles.dropdown,
57
59
  mode: 'dropdown',
58
60
  };
59
61
 
60
- type DropdownProps = { initial: string; onValueChange: (value: string) => void; options: DropdownEntry[] };
61
-
62
62
  const Dropdown = (props: DropdownProps) => {
63
63
  const { initial, onValueChange, options } = props;
64
64
  return (
@@ -1,7 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { View, StyleSheet } from 'react-native';
3
3
  import { Text } from '@fluentui-react-native/experimental-text';
4
- import { Picker } from '@react-native-picker/picker';
4
+ import { SvgXml } from 'react-native-svg';
5
+ import { Menu, MenuItem, MenuTrigger, MenuPopover, MenuList } from '@fluentui-react-native/menu';
6
+ import { ButtonV1 as Button } from '@fluentui/react-native';
5
7
  import { testerTheme } from './CustomThemes';
6
8
  import { themeChoices, ThemeNames } from './applyTheme';
7
9
  import { brandOptions, OfficeBrand } from './applyBrand';
@@ -24,6 +26,17 @@ export const themePickerStyles = StyleSheet.create({
24
26
  },
25
27
  });
26
28
 
29
+ const themeMenuPickerStyles = StyleSheet.create({
30
+ container: {
31
+ flexDirection: 'row',
32
+ alignItems: 'center',
33
+ margin: 5,
34
+ },
35
+ svg: {
36
+ padding: 4,
37
+ },
38
+ });
39
+
27
40
  type PartPickerEntry = { label: string; value: string };
28
41
 
29
42
  type PartPickerProps = {
@@ -32,6 +45,37 @@ type PartPickerProps = {
32
45
  onChange: (value: string) => void;
33
46
  };
34
47
 
48
+ const ThemeMenuPicker = ({ selected, onChange, collection, style }) => {
49
+ const chevronXml = `
50
+ <svg width="12" height="16" viewBox="0 0 11 6" color="#000">
51
+ <path fill='currentColor' d='M0.646447 0.646447C0.841709 0.451184 1.15829 0.451184 1.35355 0.646447L5.5 4.79289L9.64645 0.646447C9.84171 0.451185 10.1583 0.451185 10.3536 0.646447C10.5488 0.841709 10.5488 1.15829 10.3536 1.35355L5.85355 5.85355C5.65829 6.04882 5.34171 6.04882 5.14645 5.85355L0.646447 1.35355C0.451184 1.15829 0.451184 0.841709 0.646447 0.646447Z' />
52
+ </svg>`;
53
+
54
+ return (
55
+ <View style={{ ...themeMenuPickerStyles.container, ...style }}>
56
+ <Menu>
57
+ <MenuTrigger>
58
+ <Button>
59
+ <Text>{selected}</Text>
60
+ <View style={themeMenuPickerStyles.svg}>
61
+ <SvgXml xml={chevronXml} />
62
+ </View>
63
+ </Button>
64
+ </MenuTrigger>
65
+ <MenuPopover>
66
+ <MenuList>
67
+ {collection.map((entry: PartPickerEntry, index: number) => (
68
+ <MenuItem onClick={() => onChange(entry.value)} key={`entry${index}`}>
69
+ {entry.label}
70
+ </MenuItem>
71
+ ))}
72
+ </MenuList>
73
+ </MenuPopover>
74
+ </Menu>
75
+ </View>
76
+ );
77
+ };
78
+
35
79
  export const PartPicker: React.FunctionComponent<PartPickerProps> = (props: PartPickerProps) => {
36
80
  const { initial, contents, onChange } = props;
37
81
  const [value, setValue] = React.useState(initial);
@@ -42,13 +86,7 @@ export const PartPicker: React.FunctionComponent<PartPickerProps> = (props: Part
42
86
  },
43
87
  [setValue, onChange],
44
88
  );
45
- return (
46
- <Picker selectedValue={value} style={themePickerStyles.dropdown} onValueChange={onValueChange}>
47
- {contents.map((entry: PartPickerEntry, index: number) => (
48
- <Picker.Item label={entry.label} value={entry.value} key={`entry${index}`} />
49
- ))}
50
- </Picker>
51
- );
89
+ return <ThemeMenuPicker selected={value} style={themePickerStyles.dropdown} onChange={onValueChange} collection={contents} />;
52
90
  };
53
91
 
54
92
  const PickerLabel = Text.customize({ variant: 'bodySemibold' });
@@ -1,10 +1,11 @@
1
1
  import * as React from 'react';
2
- import { View, Picker, StyleSheet } from 'react-native';
2
+ import { View, StyleSheet } from 'react-native';
3
3
  import { Text } from '@fluentui-react-native/experimental-text';
4
4
  import { lightnessOptions, testerTheme } from './CustomThemes';
5
5
  import { themeChoices, ThemeNames } from './applyTheme';
6
6
  import { brandOptions, OfficeBrand } from './applyBrand';
7
7
  import { ThemeOptions } from '@fluentui-react-native/theme-types';
8
+ import { MenuPicker } from '../TestComponents/Common/MenuPicker';
8
9
 
9
10
  export const themePickerStyles = StyleSheet.create({
10
11
  pickerRoot: {
@@ -42,13 +43,10 @@ export const PartPicker: React.FunctionComponent<PartPickerProps> = (props: Part
42
43
  },
43
44
  [setValue, onChange],
44
45
  );
45
- return (
46
- <Picker selectedValue={value} style={themePickerStyles.dropdown} onValueChange={onValueChange}>
47
- {contents.map((entry: PartPickerEntry, index: number) => (
48
- <Picker.Item label={entry.label} value={entry.value} key={`entry${index}`} />
49
- ))}
50
- </Picker>
51
- );
46
+ const MenuPickerCollection = contents.map((entry: PartPickerEntry) => {
47
+ return entry.label;
48
+ });
49
+ return <MenuPicker selected={value} style={themePickerStyles.dropdown} onChange={onValueChange} collection={MenuPickerCollection} />;
52
50
  };
53
51
 
54
52
  const PickerLabel = Text.customize({ variant: 'bodySemibold' });