@fluentui-react-native/tester 0.75.3 → 0.77.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.
Files changed (96) hide show
  1. package/CHANGELOG.json +213 -8
  2. package/CHANGELOG.md +58 -2
  3. package/lib/E2E/Avatar/specs/Avatar.spec.win.js +5 -3
  4. package/lib/E2E/Avatar/specs/Avatar.spec.win.js.map +1 -1
  5. package/lib/FluentTester/TestComponents/Badge/BadgeTest.d.ts.map +1 -1
  6. package/lib/FluentTester/TestComponents/Badge/BadgeTest.js +10 -13
  7. package/lib/FluentTester/TestComponents/Badge/BadgeTest.js.map +1 -1
  8. package/lib/FluentTester/TestComponents/Callout/CalloutTest.d.ts.map +1 -1
  9. package/lib/FluentTester/TestComponents/Callout/CalloutTest.js +15 -3
  10. package/lib/FluentTester/TestComponents/Callout/CalloutTest.js.map +1 -1
  11. package/lib/FluentTester/TestComponents/Common/AlignmentPicker.d.ts.map +1 -1
  12. package/lib/FluentTester/TestComponents/Common/AlignmentPicker.js +7 -1
  13. package/lib/FluentTester/TestComponents/Common/AlignmentPicker.js.map +1 -1
  14. package/lib/FluentTester/TestComponents/Common/MenuPicker.d.ts +7 -4
  15. package/lib/FluentTester/TestComponents/Common/MenuPicker.d.ts.map +1 -1
  16. package/lib/FluentTester/TestComponents/Common/MenuPicker.desktop.d.ts +1 -8
  17. package/lib/FluentTester/TestComponents/Common/MenuPicker.desktop.d.ts.map +1 -1
  18. package/lib/FluentTester/TestComponents/Common/MenuPicker.desktop.js +11 -2
  19. package/lib/FluentTester/TestComponents/Common/MenuPicker.desktop.js.map +1 -1
  20. package/lib/FluentTester/TestComponents/Common/MenuPicker.js +7 -1
  21. package/lib/FluentTester/TestComponents/Common/MenuPicker.js.map +1 -1
  22. package/lib/FluentTester/TestComponents/Common/MenuPicker.windows.d.ts +1 -7
  23. package/lib/FluentTester/TestComponents/Common/MenuPicker.windows.d.ts.map +1 -1
  24. package/lib/FluentTester/TestComponents/Common/MenuPicker.windows.js +1 -1
  25. package/lib/FluentTester/TestComponents/Common/MenuPicker.windows.js.map +1 -1
  26. package/lib/FluentTester/TestComponents/Common/StyledPicker.d.ts.map +1 -1
  27. package/lib/FluentTester/TestComponents/Common/StyledPicker.js +7 -1
  28. package/lib/FluentTester/TestComponents/Common/StyledPicker.js.map +1 -1
  29. package/lib/FluentTester/TestComponents/Notification/NotificationTest.d.ts.map +1 -1
  30. package/lib/FluentTester/TestComponents/Notification/NotificationTest.js +2 -2
  31. package/lib/FluentTester/TestComponents/Notification/NotificationTest.js.map +1 -1
  32. package/lib/FluentTester/TestComponents/Persona/StandardUsage.d.ts.map +1 -1
  33. package/lib/FluentTester/TestComponents/Persona/StandardUsage.js +7 -1
  34. package/lib/FluentTester/TestComponents/Persona/StandardUsage.js.map +1 -1
  35. package/lib/FluentTester/TestComponents/TextExperimental/CustomizeUsage.js +1 -1
  36. package/lib/FluentTester/TestComponents/TextExperimental/CustomizeUsage.js.map +1 -1
  37. package/lib/FluentTester/TestComponents/TextExperimental/PressableUsage.d.ts.map +1 -1
  38. package/lib/FluentTester/TestComponents/TextExperimental/PressableUsage.js +5 -2
  39. package/lib/FluentTester/TestComponents/TextExperimental/PressableUsage.js.map +1 -1
  40. package/lib/FluentTester/theme/ThemePickers.d.ts.map +1 -1
  41. package/lib/FluentTester/theme/ThemePickers.js +6 -9
  42. package/lib/FluentTester/theme/ThemePickers.js.map +1 -1
  43. package/lib-commonjs/E2E/Avatar/specs/Avatar.spec.win.js +5 -3
  44. package/lib-commonjs/E2E/Avatar/specs/Avatar.spec.win.js.map +1 -1
  45. package/lib-commonjs/FluentTester/TestComponents/Badge/BadgeTest.d.ts.map +1 -1
  46. package/lib-commonjs/FluentTester/TestComponents/Badge/BadgeTest.js +9 -12
  47. package/lib-commonjs/FluentTester/TestComponents/Badge/BadgeTest.js.map +1 -1
  48. package/lib-commonjs/FluentTester/TestComponents/Callout/CalloutTest.d.ts.map +1 -1
  49. package/lib-commonjs/FluentTester/TestComponents/Callout/CalloutTest.js +15 -3
  50. package/lib-commonjs/FluentTester/TestComponents/Callout/CalloutTest.js.map +1 -1
  51. package/lib-commonjs/FluentTester/TestComponents/Common/AlignmentPicker.d.ts.map +1 -1
  52. package/lib-commonjs/FluentTester/TestComponents/Common/AlignmentPicker.js +7 -1
  53. package/lib-commonjs/FluentTester/TestComponents/Common/AlignmentPicker.js.map +1 -1
  54. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.d.ts +7 -4
  55. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.d.ts.map +1 -1
  56. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.desktop.d.ts +1 -8
  57. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.desktop.d.ts.map +1 -1
  58. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.desktop.js +11 -2
  59. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.desktop.js.map +1 -1
  60. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.js +7 -1
  61. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.js.map +1 -1
  62. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.windows.d.ts +1 -7
  63. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.windows.d.ts.map +1 -1
  64. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.windows.js +1 -1
  65. package/lib-commonjs/FluentTester/TestComponents/Common/MenuPicker.windows.js.map +1 -1
  66. package/lib-commonjs/FluentTester/TestComponents/Common/StyledPicker.d.ts.map +1 -1
  67. package/lib-commonjs/FluentTester/TestComponents/Common/StyledPicker.js +7 -1
  68. package/lib-commonjs/FluentTester/TestComponents/Common/StyledPicker.js.map +1 -1
  69. package/lib-commonjs/FluentTester/TestComponents/Notification/NotificationTest.d.ts.map +1 -1
  70. package/lib-commonjs/FluentTester/TestComponents/Notification/NotificationTest.js +2 -2
  71. package/lib-commonjs/FluentTester/TestComponents/Notification/NotificationTest.js.map +1 -1
  72. package/lib-commonjs/FluentTester/TestComponents/Persona/StandardUsage.d.ts.map +1 -1
  73. package/lib-commonjs/FluentTester/TestComponents/Persona/StandardUsage.js +7 -1
  74. package/lib-commonjs/FluentTester/TestComponents/Persona/StandardUsage.js.map +1 -1
  75. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/CustomizeUsage.js +1 -1
  76. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/CustomizeUsage.js.map +1 -1
  77. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/PressableUsage.d.ts.map +1 -1
  78. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/PressableUsage.js +5 -2
  79. package/lib-commonjs/FluentTester/TestComponents/TextExperimental/PressableUsage.js.map +1 -1
  80. package/lib-commonjs/FluentTester/theme/ThemePickers.d.ts.map +1 -1
  81. package/lib-commonjs/FluentTester/theme/ThemePickers.js +6 -9
  82. package/lib-commonjs/FluentTester/theme/ThemePickers.js.map +1 -1
  83. package/package.json +14 -14
  84. package/src/E2E/Avatar/specs/Avatar.spec.win.ts +5 -3
  85. package/src/FluentTester/TestComponents/Badge/BadgeTest.tsx +10 -13
  86. package/src/FluentTester/TestComponents/Callout/CalloutTest.tsx +15 -3
  87. package/src/FluentTester/TestComponents/Common/AlignmentPicker.tsx +7 -2
  88. package/src/FluentTester/TestComponents/Common/MenuPicker.desktop.tsx +13 -12
  89. package/src/FluentTester/TestComponents/Common/MenuPicker.tsx +19 -7
  90. package/src/FluentTester/TestComponents/Common/MenuPicker.windows.tsx +3 -10
  91. package/src/FluentTester/TestComponents/Common/StyledPicker.tsx +7 -1
  92. package/src/FluentTester/TestComponents/Notification/NotificationTest.tsx +1 -3
  93. package/src/FluentTester/TestComponents/Persona/StandardUsage.tsx +8 -1
  94. package/src/FluentTester/TestComponents/TextExperimental/CustomizeUsage.tsx +1 -1
  95. package/src/FluentTester/TestComponents/TextExperimental/PressableUsage.tsx +13 -1
  96. package/src/FluentTester/theme/ThemePickers.tsx +7 -9
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { BADGE_TESTPAGE } from './consts';
4
4
  import { Test, TestSection, PlatformStatus } from '../Test';
5
5
  import { View, Platform, Text } from 'react-native';
6
- import { Badge, CompressibleBadge, PresenceBadge } from '@fluentui-react-native/badge';
6
+ import { Badge, PresenceBadge } from '@fluentui-react-native/badge';
7
7
  import BadgeSvg from './oof.svg';
8
8
 
9
9
  import { SvgIconProps } from '@fluentui-react-native/icon';
@@ -38,18 +38,18 @@ export const BasicBadge: React.FunctionComponent = () => {
38
38
  <View>
39
39
  <Badge />
40
40
  <Text>Appearance</Text>
41
- <Badge appearance="outline" text="Outline badge" />
41
+ <Badge appearance="outline">Outline badge</Badge>
42
42
  <Text>Shape</Text>
43
- <Badge shape="circular" text="Circular badge" />
44
- <Badge shape="rounded" text="rounded badge" />
45
- <Badge shape="square" text="Square badge" />
43
+ <Badge shape="circular">Circular badge</Badge>
44
+ <Badge shape="rounded">Rounded badge</Badge>
45
+ <Badge shape="square">Square badge</Badge>
46
46
  <Text>Size</Text>
47
47
  <Badge size="smallest" shape="circular" />
48
48
  <Badge size="smaller" shape="circular" />
49
- <Badge size="small" text="Small" />
50
- <Badge size="medium" text="Medium" />
51
- <Badge size="large" text="Large" />
52
- <Badge size="largest" text="Largest" />
49
+ <Badge size="small">Small</Badge>
50
+ <Badge size="medium">Medium</Badge>
51
+ <Badge size="large">Large</Badge>
52
+ <Badge size="largest">Largest</Badge>
53
53
  {svgIconsEnabled && (
54
54
  <>
55
55
  <Text>Badge with icon</Text>
@@ -61,10 +61,7 @@ export const BasicBadge: React.FunctionComponent = () => {
61
61
  <BadgeNoBorder appearance="outline" icon={iconProps} />
62
62
  </>
63
63
  )}
64
- <StyledBadge appearance="outline" text="styled badge" />
65
- <Text>Compressible badge</Text>
66
- <CompressibleBadge />
67
- <CompressibleBadge text="Basic compressible" />
64
+ <StyledBadge appearance="outline">Styled badge</StyledBadge>
68
65
  {svgIconsEnabled && (
69
66
  <>
70
67
  <Text>Presence Badge</Text>
@@ -173,12 +173,24 @@ const StandardCallout: React.FunctionComponent = () => {
173
173
 
174
174
  const colorDefault: string = 'default';
175
175
  const colorSelections: string[] = [colorDefault, 'red', 'green', 'blue'];
176
+ const menuPickerColorCollection = colorSelections.map((color) => {
177
+ return {
178
+ label: color,
179
+ value: color,
180
+ };
181
+ });
176
182
 
177
183
  const [selectedBackgroundColor, setSelectedBackgroundColor] = React.useState<string | undefined>(undefined);
178
184
  const [selectedBorderColor, setSelectedBorderColor] = React.useState<string | undefined>(undefined);
179
185
 
180
186
  const borderWidthDefault: string = '1';
181
187
  const borderWidthSelections: string[] = ['1', '2', '4', '10'];
188
+ const menuPickerBorderWidthCollection = borderWidthSelections.map((width) => {
189
+ return {
190
+ label: width,
191
+ value: width,
192
+ };
193
+ });
182
194
 
183
195
  const [selectedBorderWidth, setSelectedBorderWidth] = React.useState<string | undefined>(undefined);
184
196
 
@@ -238,19 +250,19 @@ const StandardCallout: React.FunctionComponent = () => {
238
250
  prompt="Background Color"
239
251
  selected={selectedBackgroundColor || colorDefault}
240
252
  onChange={(color) => setSelectedBackgroundColor(color === colorDefault ? undefined : color)}
241
- collection={colorSelections}
253
+ collection={menuPickerColorCollection}
242
254
  />
243
255
  <MenuPicker
244
256
  prompt="Border Color"
245
257
  selected={selectedBorderColor || colorDefault}
246
258
  onChange={(color) => setSelectedBorderColor(color === colorDefault ? undefined : color)}
247
- collection={colorSelections}
259
+ collection={menuPickerColorCollection}
248
260
  />
249
261
  <MenuPicker
250
262
  prompt="Border Width"
251
263
  selected={selectedBorderWidth || borderWidthDefault}
252
264
  onChange={(color) => setSelectedBorderWidth(color === colorDefault ? undefined : color)}
253
- collection={borderWidthSelections}
265
+ collection={menuPickerBorderWidthCollection}
254
266
  />
255
267
  </View>
256
268
 
@@ -15,7 +15,12 @@ interface IAlignmentPickerProps {
15
15
  export const AlignmentPicker: React.FunctionComponent<IAlignmentPickerProps> = (props: IAlignmentPickerProps) => {
16
16
  const { label, onSelectionChange, style } = props;
17
17
  const [selectedValue, setSelectedValue] = React.useState<IconAlignment>();
18
-
18
+ const alignmentCollection = alignmentValues.map((value) => {
19
+ return {
20
+ label: value,
21
+ value: value,
22
+ };
23
+ });
19
24
  return (
20
25
  <MenuPicker
21
26
  style={style}
@@ -26,7 +31,7 @@ export const AlignmentPicker: React.FunctionComponent<IAlignmentPickerProps> = (
26
31
  onSelectionChange(alignmentValue);
27
32
  setSelectedValue(alignmentValue);
28
33
  }}
29
- collection={alignmentValues}
34
+ collection={alignmentCollection}
30
35
  />
31
36
  );
32
37
  };
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Text, View, StyleSheet } from 'react-native';
3
3
  import { Menu, MenuItem, MenuTrigger, MenuPopover, MenuList } from '@fluentui-react-native/menu';
4
+ import { MenuPickerProps, collectionItem } from './MenuPicker';
4
5
  import { ButtonV1 as Button } from '@fluentui/react-native';
5
6
  import { SvgXml } from 'react-native-svg';
6
7
 
@@ -9,23 +10,23 @@ const chevronXml = `
9
10
  <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' />
10
11
  </svg>`;
11
12
 
12
- interface MenuPickerProps {
13
- prompt?: string;
14
- selected?: any;
15
- onChange?: (value: any, index?: number) => void;
16
- collection?: any[];
17
- style?: any;
18
- }
19
-
20
13
  export const MenuPicker: React.FunctionComponent<MenuPickerProps> = (props: MenuPickerProps) => {
21
14
  const { prompt, selected, onChange, collection } = props;
15
+
16
+ let label;
17
+ collection.forEach((item) => {
18
+ if (item.value == selected) {
19
+ label = item.label;
20
+ }
21
+ });
22
+
22
23
  return (
23
24
  <View style={menuPickerStyles.container}>
24
25
  <Text style={menuPickerStyles.prompt}>{prompt}</Text>
25
26
  <Menu>
26
27
  <MenuTrigger>
27
28
  <Button>
28
- <Text>{selected}</Text>
29
+ <Text>{label}</Text>
29
30
  <View style={menuPickerStyles.chevronContainer}>
30
31
  <SvgXml xml={chevronXml} />
31
32
  </View>
@@ -33,9 +34,9 @@ export const MenuPicker: React.FunctionComponent<MenuPickerProps> = (props: Menu
33
34
  </MenuTrigger>
34
35
  <MenuPopover>
35
36
  <MenuList>
36
- {collection.map((value, index) => (
37
- <MenuItem onClick={() => onChange(value, index)} key={index}>
38
- {value}
37
+ {collection.map((collectionItem: collectionItem, index: number) => (
38
+ <MenuItem onClick={() => onChange(collectionItem.value, index)} key={collectionItem.value ?? index}>
39
+ {collectionItem.label}
39
40
  </MenuItem>
40
41
  ))}
41
42
  </MenuList>
@@ -6,26 +6,38 @@ import { Picker } from '@react-native-picker/picker';
6
6
  * MenuPicker uses the community Picker package for iOS/Win32 and our own Picker for Win32/MacOS.
7
7
  */
8
8
 
9
- interface MenuPickerProps {
9
+ export interface collectionItem {
10
+ label: string;
11
+ value?: string;
12
+ }
13
+
14
+ export interface MenuPickerProps {
10
15
  prompt?: string;
11
- selected?: any;
16
+ selected?: string;
12
17
  onChange?: (value: any, index?: number) => void;
13
- collection?: any[];
18
+ collection?: collectionItem[];
14
19
  style?: any;
15
20
  }
16
21
 
17
22
  export const MenuPicker: React.FunctionComponent<MenuPickerProps> = (props: MenuPickerProps) => {
18
23
  const { prompt, selected, onChange, collection, style } = props;
24
+ let selectedItemKey;
25
+
26
+ collection.forEach((item) => {
27
+ if (item.value == selected) {
28
+ selectedItemKey = item.value;
29
+ }
30
+ });
19
31
 
20
32
  return (
21
33
  <Picker
22
34
  prompt={prompt}
23
- selectedValue={selected}
24
- onValueChange={(itemValue: any, index: number) => onChange(itemValue, index)}
35
+ selectedValue={selectedItemKey}
36
+ onValueChange={(value: string, index: number) => onChange(value, index)}
25
37
  style={{ ...style }}
26
38
  >
27
- {collection.map((value, index) => (
28
- <Picker.Item label={value} key={index} value={value} />
39
+ {collection.map((item, index) => (
40
+ <Picker.Item label={item.label} key={index} value={item.value} />
29
41
  ))}
30
42
  </Picker>
31
43
  );
@@ -1,22 +1,15 @@
1
1
  export * from './MenuPicker.desktop';
2
2
  import * as React from 'react';
3
3
  import { Button, Text, View, StyleSheet } from 'react-native';
4
-
5
- interface MenuPickerProps {
6
- prompt?: string;
7
- selected?: any;
8
- onChange?: (value: any, index?: number) => void;
9
- collection?: any[];
10
- style?: any;
11
- }
4
+ import { MenuPickerProps, collectionItem } from './MenuPicker';
12
5
 
13
6
  export const MenuPicker: React.FunctionComponent<MenuPickerProps> = (props: MenuPickerProps) => {
14
7
  const { prompt, onChange, collection } = props;
15
8
  return (
16
9
  <View style={menuPickerStyles.container}>
17
10
  <Text style={menuPickerStyles.prompt}>{prompt}</Text>
18
- {collection.map((value, index) => (
19
- <Button onPress={() => onChange(value, index)} key={index} title={value} />
11
+ {collection.map((item: collectionItem, index: number) => (
12
+ <Button onPress={() => onChange(item.value, index)} key={index} title={item.label} />
20
13
  ))}
21
14
  </View>
22
15
  );
@@ -8,5 +8,11 @@ export const StyledPicker = (props) => {
8
8
  const { prompt, selected, onChange, collection } = props;
9
9
  const theme = useTheme();
10
10
  const pickerStyles = { color: theme.colors.inputText as ColorValue, ...commonStyles.header };
11
- return <MenuPicker prompt={prompt} style={pickerStyles} selected={selected} onChange={onChange} collection={collection} />;
11
+ const styleCollection = collection.map((value) => {
12
+ return {
13
+ label: value,
14
+ value: value,
15
+ };
16
+ });
17
+ return <MenuPicker prompt={prompt} style={pickerStyles} selected={selected} onChange={onChange} collection={styleCollection} />;
12
18
  };
@@ -28,8 +28,7 @@ const PrimaryTestWithTitleAndIcon: React.FunctionComponent = () => {
28
28
  <Notification
29
29
  variant={'primary'}
30
30
  icon={iconProps}
31
- title="Kat's iPhone X"
32
- action="X"
31
+ title="Kat's iPhoneX"
33
32
  onPress={() => {
34
33
  console.log('Notification tapped');
35
34
  }}
@@ -71,7 +70,6 @@ const WarningTest: React.FunctionComponent = () => {
71
70
  return (
72
71
  <Notification
73
72
  variant={'warning'}
74
- action="X"
75
73
  onPress={() => {
76
74
  console.log('Notification tapped');
77
75
  }}
@@ -21,6 +21,13 @@ const allSizes: WithUndefined<PersonaSize>[] = [
21
21
  'size120',
22
22
  ];
23
23
 
24
+ const allSizesCollection = allSizes.map((size) => {
25
+ return {
26
+ label: size,
27
+ value: size,
28
+ };
29
+ });
30
+
24
31
  interface ISwitchWithLabelProps {
25
32
  label: string;
26
33
  value: boolean;
@@ -59,7 +66,7 @@ export const StandardUsage: React.FunctionComponent = () => {
59
66
  style={commonStyles.header}
60
67
  selected={imageSize || undefinedText}
61
68
  onChange={(size: PersonaSize | typeof undefinedText) => setImageSize(size === undefinedText ? undefined : size)}
62
- collection={allSizes}
69
+ collection={allSizesCollection}
63
70
  />
64
71
  </View>
65
72
 
@@ -50,7 +50,7 @@ export const CustomizeUsage: React.FunctionComponent = () => {
50
50
  const BlockText = () => {
51
51
  return (
52
52
  <>
53
- <Text style={{ textTransform: 'uppercase' }} font="base" weight="medium">
53
+ <Text style={{ textTransform: 'uppercase' }} font="base" weight="medium" truncate>
54
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
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
56
  very very very very very very very very very very very very very very very very long block text.
@@ -18,6 +18,10 @@ export const PressableUsage: React.FunctionComponent = () => {
18
18
  Alert.alert('Alert', 'Success!');
19
19
  };
20
20
 
21
+ const _onPress3 = (): void => {
22
+ Alert.alert('Alert', 'onAccessibilityTap invoked!');
23
+ };
24
+
21
25
  const _onKeyDown2 = (ev: IKeyboardEvent) => {
22
26
  if (ev.nativeEvent.key === 'Enter' || ev.nativeEvent.key == ' ') Alert.alert('Alert', 'Success!');
23
27
  };
@@ -29,7 +33,14 @@ export const PressableUsage: React.FunctionComponent = () => {
29
33
  <Stack style={stackStyle} gap={5}>
30
34
  <Text variant={'bodyStandard'}>
31
35
  To learn more about microsoft, visit this{' '}
32
- <Text variant={'bodyStandard'} color="blue" keyDownEvents={handledNativeKeyboardEvents} onPress={_onPress} onKeyDown={_onKeyDown}>
36
+ <Text
37
+ focusable
38
+ variant={'bodyStandard'}
39
+ color="blue"
40
+ keyDownEvents={handledNativeKeyboardEvents}
41
+ onPress={_onPress}
42
+ onKeyDown={_onKeyDown}
43
+ >
33
44
  webpage
34
45
  </Text>{' '}
35
46
  for more details.
@@ -42,6 +53,7 @@ export const PressableUsage: React.FunctionComponent = () => {
42
53
  keyDownEvents={handledNativeKeyboardEvents}
43
54
  onPress={_onPress2}
44
55
  onKeyDown={_onKeyDown2}
56
+ onAccessibilityTap={_onPress3}
45
57
  >
46
58
  here
47
59
  </Text>{' '}
@@ -35,18 +35,16 @@ type PartPickerProps = {
35
35
 
36
36
  export const PartPicker: React.FunctionComponent<PartPickerProps> = (props: PartPickerProps) => {
37
37
  const { initial, contents, onChange } = props;
38
- const [value, setValue] = React.useState(initial);
38
+ const [selected, setSelected] = React.useState(initial);
39
39
  const onValueChange = React.useCallback(
40
- (newValue: string) => {
41
- setValue(newValue);
42
- onChange(newValue);
40
+ (value: string) => {
41
+ setSelected(value);
42
+ onChange(value);
43
43
  },
44
- [setValue, onChange],
44
+ [setSelected, onChange],
45
45
  );
46
- const MenuPickerCollection = contents.map((entry: PartPickerEntry) => {
47
- return entry.label;
48
- });
49
- return <MenuPicker selected={value} style={themePickerStyles.dropdown} onChange={onValueChange} collection={MenuPickerCollection} />;
46
+
47
+ return <MenuPicker selected={selected} style={themePickerStyles.dropdown} onChange={onValueChange} collection={contents} />;
50
48
  };
51
49
 
52
50
  const PickerLabel = Text.customize({ variant: 'bodySemibold' });