@fluentui-react-native/tester 0.102.3 → 0.103.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 (355) hide show
  1. package/CHANGELOG.json +235 -1
  2. package/CHANGELOG.md +52 -2
  3. package/lib/E2E/ActivityIndicator/specs/ActivityIndicator.spec.ios.js +1 -1
  4. package/lib/E2E/ActivityIndicator/specs/ActivityIndicator.spec.ios.js.map +1 -1
  5. package/lib/E2E/ActivityIndicator/specs/ActivityIndicator.spec.win.js +8 -13
  6. package/lib/E2E/ActivityIndicator/specs/ActivityIndicator.spec.win.js.map +1 -1
  7. package/lib/E2E/Avatar/specs/Avatar.spec.ios.js +1 -1
  8. package/lib/E2E/Avatar/specs/Avatar.spec.ios.js.map +1 -1
  9. package/lib/E2E/Avatar/specs/Avatar.spec.win.js +7 -15
  10. package/lib/E2E/Avatar/specs/Avatar.spec.win.js.map +1 -1
  11. package/lib/E2E/Badge/specs/Badge.spec.ios.js +1 -1
  12. package/lib/E2E/Badge/specs/Badge.spec.ios.js.map +1 -1
  13. package/lib/E2E/Badge/specs/Badge.spec.win.js +7 -15
  14. package/lib/E2E/Badge/specs/Badge.spec.win.js.map +1 -1
  15. package/lib/E2E/Button/specs/Button.spec.ios.js +1 -1
  16. package/lib/E2E/Button/specs/Button.spec.ios.js.map +1 -1
  17. package/lib/E2E/Button/specs/Button.spec.win.js +7 -15
  18. package/lib/E2E/Button/specs/Button.spec.win.js.map +1 -1
  19. package/lib/E2E/ButtonExperimental/specs/ButtonExperimental.spec.win.js +7 -15
  20. package/lib/E2E/ButtonExperimental/specs/ButtonExperimental.spec.win.js.map +1 -1
  21. package/lib/E2E/Callout/specs/Callout.spec.win.js +7 -15
  22. package/lib/E2E/Callout/specs/Callout.spec.win.js.map +1 -1
  23. package/lib/E2E/Checkbox/specs/Checkbox.spec.ios.js +1 -1
  24. package/lib/E2E/Checkbox/specs/Checkbox.spec.ios.js.map +1 -1
  25. package/lib/E2E/Checkbox/specs/Checkbox.spec.win.js +7 -15
  26. package/lib/E2E/Checkbox/specs/Checkbox.spec.win.js.map +1 -1
  27. package/lib/E2E/Checkbox/specs/Checkbox.spec.windows.js +5 -13
  28. package/lib/E2E/Checkbox/specs/Checkbox.spec.windows.js.map +1 -1
  29. package/lib/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.ios.js +1 -1
  30. package/lib/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.ios.js.map +1 -1
  31. package/lib/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.win.js +7 -15
  32. package/lib/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.win.js.map +1 -1
  33. package/lib/E2E/ContextualMenu/specs/ContextualMenu.spec.win.js +7 -15
  34. package/lib/E2E/ContextualMenu/specs/ContextualMenu.spec.win.js.map +1 -1
  35. package/lib/E2E/FocusTrapZone/specs/FocusTrapZone.spec.win.js +7 -15
  36. package/lib/E2E/FocusTrapZone/specs/FocusTrapZone.spec.win.js.map +1 -1
  37. package/lib/E2E/FocusZone/specs/FocusZone.spec.win.js +7 -15
  38. package/lib/E2E/FocusZone/specs/FocusZone.spec.win.js.map +1 -1
  39. package/lib/E2E/Icon/specs/Icon.spec.ios.js +1 -1
  40. package/lib/E2E/Icon/specs/Icon.spec.ios.js.map +1 -1
  41. package/lib/E2E/Icon/specs/Icon.spec.win.js +7 -15
  42. package/lib/E2E/Icon/specs/Icon.spec.win.js.map +1 -1
  43. package/lib/E2E/Link/specs/Link.spec.ios.js +1 -1
  44. package/lib/E2E/Link/specs/Link.spec.ios.js.map +1 -1
  45. package/lib/E2E/Link/specs/Link.spec.win.js +7 -15
  46. package/lib/E2E/Link/specs/Link.spec.win.js.map +1 -1
  47. package/lib/E2E/LinkExperimental/pages/LinkPageObject.d.ts +15 -0
  48. package/lib/E2E/LinkExperimental/pages/LinkPageObject.d.ts.map +1 -0
  49. package/lib/E2E/LinkExperimental/pages/LinkPageObject.js +50 -0
  50. package/lib/E2E/LinkExperimental/pages/LinkPageObject.js.map +1 -0
  51. package/lib/E2E/LinkExperimental/specs/Link.spec.win.d.ts +2 -0
  52. package/lib/E2E/LinkExperimental/specs/Link.spec.win.d.ts.map +1 -0
  53. package/lib/E2E/LinkExperimental/specs/Link.spec.win.js +105 -0
  54. package/lib/E2E/LinkExperimental/specs/Link.spec.win.js.map +1 -0
  55. package/lib/E2E/Menu/specs/Menu.spec.win.js +7 -15
  56. package/lib/E2E/Menu/specs/Menu.spec.win.js.map +1 -1
  57. package/lib/E2E/MenuButton/specs/MenuButton.spec.win.js +7 -15
  58. package/lib/E2E/MenuButton/specs/MenuButton.spec.win.js.map +1 -1
  59. package/lib/E2E/MenuButtonExperimental/specs/ExperimentalMenuButton.spec.win.js +7 -15
  60. package/lib/E2E/MenuButtonExperimental/specs/ExperimentalMenuButton.spec.win.js.map +1 -1
  61. package/lib/E2E/Persona/specs/Persona.spec.ios.js +1 -1
  62. package/lib/E2E/Persona/specs/Persona.spec.ios.js.map +1 -1
  63. package/lib/E2E/Persona/specs/Persona.spec.win.js +7 -15
  64. package/lib/E2E/Persona/specs/Persona.spec.win.js.map +1 -1
  65. package/lib/E2E/PersonaCoin/specs/PersonaCoin.spec.ios.js +1 -1
  66. package/lib/E2E/PersonaCoin/specs/PersonaCoin.spec.ios.js.map +1 -1
  67. package/lib/E2E/PersonaCoin/specs/PersonaCoin.spec.win.js +7 -15
  68. package/lib/E2E/PersonaCoin/specs/PersonaCoin.spec.win.js.map +1 -1
  69. package/lib/E2E/Pressable/specs/Pressable.spec.ios.js +1 -1
  70. package/lib/E2E/Pressable/specs/Pressable.spec.ios.js.map +1 -1
  71. package/lib/E2E/Pressable/specs/Pressable.spec.win.js +7 -15
  72. package/lib/E2E/Pressable/specs/Pressable.spec.win.js.map +1 -1
  73. package/lib/E2E/RadioGroup/specs/RadioGroup.spec.win.js +7 -15
  74. package/lib/E2E/RadioGroup/specs/RadioGroup.spec.win.js.map +1 -1
  75. package/lib/E2E/Separator/specs/Separator.spec.ios.js +1 -1
  76. package/lib/E2E/Separator/specs/Separator.spec.ios.js.map +1 -1
  77. package/lib/E2E/Separator/specs/Separator.spec.win.js +7 -15
  78. package/lib/E2E/Separator/specs/Separator.spec.win.js.map +1 -1
  79. package/lib/E2E/Shimmer/specs/Shimmer.spec.ios.js +1 -1
  80. package/lib/E2E/Shimmer/specs/Shimmer.spec.ios.js.map +1 -1
  81. package/lib/E2E/Shimmer/specs/Shimmer.spec.win.js +7 -15
  82. package/lib/E2E/Shimmer/specs/Shimmer.spec.win.js.map +1 -1
  83. package/lib/E2E/Svg/specs/Svg.spec.ios.js +1 -1
  84. package/lib/E2E/Svg/specs/Svg.spec.ios.js.map +1 -1
  85. package/lib/E2E/Svg/specs/Svg.spec.win.js +7 -15
  86. package/lib/E2E/Svg/specs/Svg.spec.win.js.map +1 -1
  87. package/lib/E2E/Switch/specs/Switch.spec.win.js +7 -15
  88. package/lib/E2E/Switch/specs/Switch.spec.win.js.map +1 -1
  89. package/lib/E2E/Tabs/specs/Tabs.spec.win.js +7 -15
  90. package/lib/E2E/Tabs/specs/Tabs.spec.win.js.map +1 -1
  91. package/lib/E2E/Tabs/specs/Tabs.spec.windows.js +5 -11
  92. package/lib/E2E/Tabs/specs/Tabs.spec.windows.js.map +1 -1
  93. package/lib/E2E/TabsExperimental/specs/TabsExperimental.spec.win.js +7 -15
  94. package/lib/E2E/TabsExperimental/specs/TabsExperimental.spec.win.js.map +1 -1
  95. package/lib/E2E/Text/specs/Text.spec.ios.js +1 -1
  96. package/lib/E2E/Text/specs/Text.spec.ios.js.map +1 -1
  97. package/lib/E2E/Text/specs/Text.spec.win.js +7 -15
  98. package/lib/E2E/Text/specs/Text.spec.win.js.map +1 -1
  99. package/lib/E2E/TextExperimental/specs/ExperimentalText.spec.ios.js +1 -1
  100. package/lib/E2E/TextExperimental/specs/ExperimentalText.spec.ios.js.map +1 -1
  101. package/lib/E2E/TextExperimental/specs/ExperimentalText.spec.win.js +7 -15
  102. package/lib/E2E/TextExperimental/specs/ExperimentalText.spec.win.js.map +1 -1
  103. package/lib/E2E/Theme/specs/Theme.spec.ios.js +1 -1
  104. package/lib/E2E/Theme/specs/Theme.spec.ios.js.map +1 -1
  105. package/lib/E2E/Theme/specs/Theme.spec.win.js +8 -13
  106. package/lib/E2E/Theme/specs/Theme.spec.win.js.map +1 -1
  107. package/lib/E2E/Tokens/specs/Tokens.spec.ios.js +1 -1
  108. package/lib/E2E/Tokens/specs/Tokens.spec.ios.js.map +1 -1
  109. package/lib/E2E/Tokens/specs/Tokens.spec.win.js +7 -15
  110. package/lib/E2E/Tokens/specs/Tokens.spec.win.js.map +1 -1
  111. package/lib/E2E/common/BasePage.d.ts +9 -7
  112. package/lib/E2E/common/BasePage.d.ts.map +1 -1
  113. package/lib/E2E/common/BasePage.js +13 -76
  114. package/lib/E2E/common/BasePage.js.map +1 -1
  115. package/lib/E2E/common/NavigateAppPage.d.ts +2 -0
  116. package/lib/E2E/common/NavigateAppPage.d.ts.map +1 -1
  117. package/lib/E2E/common/NavigateAppPage.js +20 -0
  118. package/lib/E2E/common/NavigateAppPage.js.map +1 -1
  119. package/lib/TestComponents/Dropdown/DropdownTest.d.ts.map +1 -1
  120. package/lib/TestComponents/Dropdown/DropdownTest.js +3 -3
  121. package/lib/TestComponents/Dropdown/DropdownTest.js.map +1 -1
  122. package/lib/TestComponents/FocusZone/FocusZoneTest.d.ts.map +1 -1
  123. package/lib/TestComponents/FocusZone/FocusZoneTest.js +31 -2
  124. package/lib/TestComponents/FocusZone/FocusZoneTest.js.map +1 -1
  125. package/lib/TestComponents/FocusZone/styles.d.ts +12 -0
  126. package/lib/TestComponents/FocusZone/styles.d.ts.map +1 -1
  127. package/lib/TestComponents/FocusZone/styles.js +12 -0
  128. package/lib/TestComponents/FocusZone/styles.js.map +1 -1
  129. package/lib/TestComponents/LinkExperimental/E2ELinkTest.d.ts +3 -0
  130. package/lib/TestComponents/LinkExperimental/E2ELinkTest.d.ts.map +1 -0
  131. package/lib/TestComponents/LinkExperimental/E2ELinkTest.js +15 -0
  132. package/lib/TestComponents/LinkExperimental/E2ELinkTest.js.map +1 -0
  133. package/lib/TestComponents/LinkExperimental/LinkTest.d.ts +3 -0
  134. package/lib/TestComponents/LinkExperimental/LinkTest.d.ts.map +1 -0
  135. package/lib/TestComponents/LinkExperimental/LinkTest.js +134 -0
  136. package/lib/TestComponents/LinkExperimental/LinkTest.js.map +1 -0
  137. package/lib/TestComponents/LinkExperimental/consts.d.ts +7 -0
  138. package/lib/TestComponents/LinkExperimental/consts.d.ts.map +1 -0
  139. package/lib/TestComponents/LinkExperimental/consts.js +9 -0
  140. package/lib/TestComponents/LinkExperimental/consts.js.map +1 -0
  141. package/lib/TestComponents/LinkExperimental/index.d.ts +3 -0
  142. package/lib/TestComponents/LinkExperimental/index.d.ts.map +1 -0
  143. package/lib/TestComponents/LinkExperimental/index.js +3 -0
  144. package/lib/TestComponents/LinkExperimental/index.js.map +1 -0
  145. package/lib/testPages.d.ts.map +1 -1
  146. package/lib/testPages.js +7 -0
  147. package/lib/testPages.js.map +1 -1
  148. package/lib-commonjs/E2E/ActivityIndicator/specs/ActivityIndicator.spec.ios.js +1 -1
  149. package/lib-commonjs/E2E/ActivityIndicator/specs/ActivityIndicator.spec.ios.js.map +1 -1
  150. package/lib-commonjs/E2E/ActivityIndicator/specs/ActivityIndicator.spec.win.js +8 -13
  151. package/lib-commonjs/E2E/ActivityIndicator/specs/ActivityIndicator.spec.win.js.map +1 -1
  152. package/lib-commonjs/E2E/Avatar/specs/Avatar.spec.ios.js +1 -1
  153. package/lib-commonjs/E2E/Avatar/specs/Avatar.spec.ios.js.map +1 -1
  154. package/lib-commonjs/E2E/Avatar/specs/Avatar.spec.win.js +7 -15
  155. package/lib-commonjs/E2E/Avatar/specs/Avatar.spec.win.js.map +1 -1
  156. package/lib-commonjs/E2E/Badge/specs/Badge.spec.ios.js +1 -1
  157. package/lib-commonjs/E2E/Badge/specs/Badge.spec.ios.js.map +1 -1
  158. package/lib-commonjs/E2E/Badge/specs/Badge.spec.win.js +7 -15
  159. package/lib-commonjs/E2E/Badge/specs/Badge.spec.win.js.map +1 -1
  160. package/lib-commonjs/E2E/Button/specs/Button.spec.ios.js +1 -1
  161. package/lib-commonjs/E2E/Button/specs/Button.spec.ios.js.map +1 -1
  162. package/lib-commonjs/E2E/Button/specs/Button.spec.win.js +7 -15
  163. package/lib-commonjs/E2E/Button/specs/Button.spec.win.js.map +1 -1
  164. package/lib-commonjs/E2E/ButtonExperimental/specs/ButtonExperimental.spec.win.js +7 -15
  165. package/lib-commonjs/E2E/ButtonExperimental/specs/ButtonExperimental.spec.win.js.map +1 -1
  166. package/lib-commonjs/E2E/Callout/specs/Callout.spec.win.js +7 -15
  167. package/lib-commonjs/E2E/Callout/specs/Callout.spec.win.js.map +1 -1
  168. package/lib-commonjs/E2E/Checkbox/specs/Checkbox.spec.ios.js +1 -1
  169. package/lib-commonjs/E2E/Checkbox/specs/Checkbox.spec.ios.js.map +1 -1
  170. package/lib-commonjs/E2E/Checkbox/specs/Checkbox.spec.win.js +7 -15
  171. package/lib-commonjs/E2E/Checkbox/specs/Checkbox.spec.win.js.map +1 -1
  172. package/lib-commonjs/E2E/Checkbox/specs/Checkbox.spec.windows.js +5 -13
  173. package/lib-commonjs/E2E/Checkbox/specs/Checkbox.spec.windows.js.map +1 -1
  174. package/lib-commonjs/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.ios.js +1 -1
  175. package/lib-commonjs/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.ios.js.map +1 -1
  176. package/lib-commonjs/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.win.js +7 -15
  177. package/lib-commonjs/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.win.js.map +1 -1
  178. package/lib-commonjs/E2E/ContextualMenu/specs/ContextualMenu.spec.win.js +7 -15
  179. package/lib-commonjs/E2E/ContextualMenu/specs/ContextualMenu.spec.win.js.map +1 -1
  180. package/lib-commonjs/E2E/FocusTrapZone/specs/FocusTrapZone.spec.win.js +7 -15
  181. package/lib-commonjs/E2E/FocusTrapZone/specs/FocusTrapZone.spec.win.js.map +1 -1
  182. package/lib-commonjs/E2E/FocusZone/specs/FocusZone.spec.win.js +7 -15
  183. package/lib-commonjs/E2E/FocusZone/specs/FocusZone.spec.win.js.map +1 -1
  184. package/lib-commonjs/E2E/Icon/specs/Icon.spec.ios.js +1 -1
  185. package/lib-commonjs/E2E/Icon/specs/Icon.spec.ios.js.map +1 -1
  186. package/lib-commonjs/E2E/Icon/specs/Icon.spec.win.js +7 -15
  187. package/lib-commonjs/E2E/Icon/specs/Icon.spec.win.js.map +1 -1
  188. package/lib-commonjs/E2E/Link/specs/Link.spec.ios.js +1 -1
  189. package/lib-commonjs/E2E/Link/specs/Link.spec.ios.js.map +1 -1
  190. package/lib-commonjs/E2E/Link/specs/Link.spec.win.js +7 -15
  191. package/lib-commonjs/E2E/Link/specs/Link.spec.win.js.map +1 -1
  192. package/lib-commonjs/E2E/LinkExperimental/pages/LinkPageObject.d.ts +15 -0
  193. package/lib-commonjs/E2E/LinkExperimental/pages/LinkPageObject.d.ts.map +1 -0
  194. package/lib-commonjs/E2E/LinkExperimental/pages/LinkPageObject.js +52 -0
  195. package/lib-commonjs/E2E/LinkExperimental/pages/LinkPageObject.js.map +1 -0
  196. package/lib-commonjs/E2E/LinkExperimental/specs/Link.spec.win.d.ts +2 -0
  197. package/lib-commonjs/E2E/LinkExperimental/specs/Link.spec.win.d.ts.map +1 -0
  198. package/lib-commonjs/E2E/LinkExperimental/specs/Link.spec.win.js +107 -0
  199. package/lib-commonjs/E2E/LinkExperimental/specs/Link.spec.win.js.map +1 -0
  200. package/lib-commonjs/E2E/Menu/specs/Menu.spec.win.js +7 -15
  201. package/lib-commonjs/E2E/Menu/specs/Menu.spec.win.js.map +1 -1
  202. package/lib-commonjs/E2E/MenuButton/specs/MenuButton.spec.win.js +7 -15
  203. package/lib-commonjs/E2E/MenuButton/specs/MenuButton.spec.win.js.map +1 -1
  204. package/lib-commonjs/E2E/MenuButtonExperimental/specs/ExperimentalMenuButton.spec.win.js +7 -15
  205. package/lib-commonjs/E2E/MenuButtonExperimental/specs/ExperimentalMenuButton.spec.win.js.map +1 -1
  206. package/lib-commonjs/E2E/Persona/specs/Persona.spec.ios.js +1 -1
  207. package/lib-commonjs/E2E/Persona/specs/Persona.spec.ios.js.map +1 -1
  208. package/lib-commonjs/E2E/Persona/specs/Persona.spec.win.js +7 -15
  209. package/lib-commonjs/E2E/Persona/specs/Persona.spec.win.js.map +1 -1
  210. package/lib-commonjs/E2E/PersonaCoin/specs/PersonaCoin.spec.ios.js +1 -1
  211. package/lib-commonjs/E2E/PersonaCoin/specs/PersonaCoin.spec.ios.js.map +1 -1
  212. package/lib-commonjs/E2E/PersonaCoin/specs/PersonaCoin.spec.win.js +7 -15
  213. package/lib-commonjs/E2E/PersonaCoin/specs/PersonaCoin.spec.win.js.map +1 -1
  214. package/lib-commonjs/E2E/Pressable/specs/Pressable.spec.ios.js +1 -1
  215. package/lib-commonjs/E2E/Pressable/specs/Pressable.spec.ios.js.map +1 -1
  216. package/lib-commonjs/E2E/Pressable/specs/Pressable.spec.win.js +7 -15
  217. package/lib-commonjs/E2E/Pressable/specs/Pressable.spec.win.js.map +1 -1
  218. package/lib-commonjs/E2E/RadioGroup/specs/RadioGroup.spec.win.js +7 -15
  219. package/lib-commonjs/E2E/RadioGroup/specs/RadioGroup.spec.win.js.map +1 -1
  220. package/lib-commonjs/E2E/Separator/specs/Separator.spec.ios.js +1 -1
  221. package/lib-commonjs/E2E/Separator/specs/Separator.spec.ios.js.map +1 -1
  222. package/lib-commonjs/E2E/Separator/specs/Separator.spec.win.js +7 -15
  223. package/lib-commonjs/E2E/Separator/specs/Separator.spec.win.js.map +1 -1
  224. package/lib-commonjs/E2E/Shimmer/specs/Shimmer.spec.ios.js +1 -1
  225. package/lib-commonjs/E2E/Shimmer/specs/Shimmer.spec.ios.js.map +1 -1
  226. package/lib-commonjs/E2E/Shimmer/specs/Shimmer.spec.win.js +7 -15
  227. package/lib-commonjs/E2E/Shimmer/specs/Shimmer.spec.win.js.map +1 -1
  228. package/lib-commonjs/E2E/Svg/specs/Svg.spec.ios.js +1 -1
  229. package/lib-commonjs/E2E/Svg/specs/Svg.spec.ios.js.map +1 -1
  230. package/lib-commonjs/E2E/Svg/specs/Svg.spec.win.js +7 -15
  231. package/lib-commonjs/E2E/Svg/specs/Svg.spec.win.js.map +1 -1
  232. package/lib-commonjs/E2E/Switch/specs/Switch.spec.win.js +7 -15
  233. package/lib-commonjs/E2E/Switch/specs/Switch.spec.win.js.map +1 -1
  234. package/lib-commonjs/E2E/Tabs/specs/Tabs.spec.win.js +7 -15
  235. package/lib-commonjs/E2E/Tabs/specs/Tabs.spec.win.js.map +1 -1
  236. package/lib-commonjs/E2E/Tabs/specs/Tabs.spec.windows.js +5 -11
  237. package/lib-commonjs/E2E/Tabs/specs/Tabs.spec.windows.js.map +1 -1
  238. package/lib-commonjs/E2E/TabsExperimental/specs/TabsExperimental.spec.win.js +7 -15
  239. package/lib-commonjs/E2E/TabsExperimental/specs/TabsExperimental.spec.win.js.map +1 -1
  240. package/lib-commonjs/E2E/Text/specs/Text.spec.ios.js +1 -1
  241. package/lib-commonjs/E2E/Text/specs/Text.spec.ios.js.map +1 -1
  242. package/lib-commonjs/E2E/Text/specs/Text.spec.win.js +7 -15
  243. package/lib-commonjs/E2E/Text/specs/Text.spec.win.js.map +1 -1
  244. package/lib-commonjs/E2E/TextExperimental/specs/ExperimentalText.spec.ios.js +1 -1
  245. package/lib-commonjs/E2E/TextExperimental/specs/ExperimentalText.spec.ios.js.map +1 -1
  246. package/lib-commonjs/E2E/TextExperimental/specs/ExperimentalText.spec.win.js +7 -15
  247. package/lib-commonjs/E2E/TextExperimental/specs/ExperimentalText.spec.win.js.map +1 -1
  248. package/lib-commonjs/E2E/Theme/specs/Theme.spec.ios.js +1 -1
  249. package/lib-commonjs/E2E/Theme/specs/Theme.spec.ios.js.map +1 -1
  250. package/lib-commonjs/E2E/Theme/specs/Theme.spec.win.js +8 -13
  251. package/lib-commonjs/E2E/Theme/specs/Theme.spec.win.js.map +1 -1
  252. package/lib-commonjs/E2E/Tokens/specs/Tokens.spec.ios.js +1 -1
  253. package/lib-commonjs/E2E/Tokens/specs/Tokens.spec.ios.js.map +1 -1
  254. package/lib-commonjs/E2E/Tokens/specs/Tokens.spec.win.js +7 -15
  255. package/lib-commonjs/E2E/Tokens/specs/Tokens.spec.win.js.map +1 -1
  256. package/lib-commonjs/E2E/common/BasePage.d.ts +9 -7
  257. package/lib-commonjs/E2E/common/BasePage.d.ts.map +1 -1
  258. package/lib-commonjs/E2E/common/BasePage.js +13 -76
  259. package/lib-commonjs/E2E/common/BasePage.js.map +1 -1
  260. package/lib-commonjs/E2E/common/NavigateAppPage.d.ts +2 -0
  261. package/lib-commonjs/E2E/common/NavigateAppPage.d.ts.map +1 -1
  262. package/lib-commonjs/E2E/common/NavigateAppPage.js +54 -34
  263. package/lib-commonjs/E2E/common/NavigateAppPage.js.map +1 -1
  264. package/lib-commonjs/TestComponents/Dropdown/DropdownTest.d.ts.map +1 -1
  265. package/lib-commonjs/TestComponents/Dropdown/DropdownTest.js +3 -3
  266. package/lib-commonjs/TestComponents/Dropdown/DropdownTest.js.map +1 -1
  267. package/lib-commonjs/TestComponents/FocusZone/FocusZoneTest.d.ts.map +1 -1
  268. package/lib-commonjs/TestComponents/FocusZone/FocusZoneTest.js +29 -0
  269. package/lib-commonjs/TestComponents/FocusZone/FocusZoneTest.js.map +1 -1
  270. package/lib-commonjs/TestComponents/FocusZone/styles.d.ts +12 -0
  271. package/lib-commonjs/TestComponents/FocusZone/styles.d.ts.map +1 -1
  272. package/lib-commonjs/TestComponents/FocusZone/styles.js +12 -0
  273. package/lib-commonjs/TestComponents/FocusZone/styles.js.map +1 -1
  274. package/lib-commonjs/TestComponents/LinkExperimental/E2ELinkTest.d.ts +3 -0
  275. package/lib-commonjs/TestComponents/LinkExperimental/E2ELinkTest.d.ts.map +1 -0
  276. package/lib-commonjs/TestComponents/LinkExperimental/E2ELinkTest.js +20 -0
  277. package/lib-commonjs/TestComponents/LinkExperimental/E2ELinkTest.js.map +1 -0
  278. package/lib-commonjs/TestComponents/LinkExperimental/LinkTest.d.ts +3 -0
  279. package/lib-commonjs/TestComponents/LinkExperimental/LinkTest.d.ts.map +1 -0
  280. package/lib-commonjs/TestComponents/LinkExperimental/LinkTest.js +139 -0
  281. package/lib-commonjs/TestComponents/LinkExperimental/LinkTest.js.map +1 -0
  282. package/lib-commonjs/TestComponents/LinkExperimental/consts.d.ts +7 -0
  283. package/lib-commonjs/TestComponents/LinkExperimental/consts.d.ts.map +1 -0
  284. package/lib-commonjs/TestComponents/LinkExperimental/consts.js +12 -0
  285. package/lib-commonjs/TestComponents/LinkExperimental/consts.js.map +1 -0
  286. package/lib-commonjs/TestComponents/LinkExperimental/index.d.ts +3 -0
  287. package/lib-commonjs/TestComponents/LinkExperimental/index.d.ts.map +1 -0
  288. package/lib-commonjs/TestComponents/LinkExperimental/index.js +6 -0
  289. package/lib-commonjs/TestComponents/LinkExperimental/index.js.map +1 -0
  290. package/lib-commonjs/testPages.d.ts.map +1 -1
  291. package/lib-commonjs/testPages.js +7 -0
  292. package/lib-commonjs/testPages.js.map +1 -1
  293. package/package.json +17 -16
  294. package/src/E2E/ActivityIndicator/specs/ActivityIndicator.spec.ios.ts +2 -2
  295. package/src/E2E/ActivityIndicator/specs/ActivityIndicator.spec.win.ts +0 -4
  296. package/src/E2E/Avatar/specs/Avatar.spec.ios.ts +2 -2
  297. package/src/E2E/Avatar/specs/Avatar.spec.win.ts +0 -5
  298. package/src/E2E/Badge/specs/Badge.spec.ios.ts +2 -2
  299. package/src/E2E/Badge/specs/Badge.spec.win.ts +0 -5
  300. package/src/E2E/Button/specs/Button.spec.ios.ts +2 -2
  301. package/src/E2E/Button/specs/Button.spec.win.ts +1 -5
  302. package/src/E2E/ButtonExperimental/specs/ButtonExperimental.spec.win.ts +1 -5
  303. package/src/E2E/Callout/specs/Callout.spec.win.ts +0 -5
  304. package/src/E2E/Checkbox/specs/Checkbox.spec.ios.ts +2 -2
  305. package/src/E2E/Checkbox/specs/Checkbox.spec.win.ts +1 -5
  306. package/src/E2E/Checkbox/specs/Checkbox.spec.windows.ts +1 -5
  307. package/src/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.ios.ts +2 -2
  308. package/src/E2E/CheckboxExperimental/specs/ExperimentalCheckbox.spec.win.ts +1 -5
  309. package/src/E2E/ContextualMenu/specs/ContextualMenu.spec.win.ts +0 -5
  310. package/src/E2E/FocusTrapZone/specs/FocusTrapZone.spec.win.ts +0 -5
  311. package/src/E2E/FocusZone/specs/FocusZone.spec.win.ts +0 -5
  312. package/src/E2E/Icon/specs/Icon.spec.ios.ts +2 -2
  313. package/src/E2E/Icon/specs/Icon.spec.win.ts +0 -5
  314. package/src/E2E/Link/specs/Link.spec.ios.ts +2 -2
  315. package/src/E2E/Link/specs/Link.spec.win.ts +1 -5
  316. package/src/E2E/LinkExperimental/pages/LinkPageObject.ts +34 -0
  317. package/src/E2E/LinkExperimental/specs/Link.spec.win.ts +45 -0
  318. package/src/E2E/Menu/specs/Menu.spec.win.ts +0 -5
  319. package/src/E2E/MenuButton/specs/MenuButton.spec.win.ts +1 -5
  320. package/src/E2E/MenuButtonExperimental/specs/ExperimentalMenuButton.spec.win.ts +1 -5
  321. package/src/E2E/Persona/specs/Persona.spec.ios.ts +2 -2
  322. package/src/E2E/Persona/specs/Persona.spec.win.ts +0 -5
  323. package/src/E2E/PersonaCoin/specs/PersonaCoin.spec.ios.ts +2 -2
  324. package/src/E2E/PersonaCoin/specs/PersonaCoin.spec.win.ts +0 -5
  325. package/src/E2E/Pressable/specs/Pressable.spec.ios.ts +2 -2
  326. package/src/E2E/Pressable/specs/Pressable.spec.win.ts +0 -5
  327. package/src/E2E/RadioGroup/specs/RadioGroup.spec.win.ts +1 -5
  328. package/src/E2E/Separator/specs/Separator.spec.ios.ts +2 -2
  329. package/src/E2E/Separator/specs/Separator.spec.win.ts +0 -5
  330. package/src/E2E/Shimmer/specs/Shimmer.spec.ios.ts +2 -2
  331. package/src/E2E/Shimmer/specs/Shimmer.spec.win.ts +0 -5
  332. package/src/E2E/Svg/specs/Svg.spec.ios.ts +2 -2
  333. package/src/E2E/Svg/specs/Svg.spec.win.ts +0 -5
  334. package/src/E2E/Switch/specs/Switch.spec.win.ts +1 -5
  335. package/src/E2E/Tabs/specs/Tabs.spec.win.ts +0 -5
  336. package/src/E2E/Tabs/specs/Tabs.spec.windows.ts +0 -3
  337. package/src/E2E/TabsExperimental/specs/TabsExperimental.spec.win.ts +0 -5
  338. package/src/E2E/Text/specs/Text.spec.ios.ts +2 -2
  339. package/src/E2E/Text/specs/Text.spec.win.ts +1 -5
  340. package/src/E2E/TextExperimental/specs/ExperimentalText.spec.ios.ts +2 -2
  341. package/src/E2E/TextExperimental/specs/ExperimentalText.spec.win.ts +0 -5
  342. package/src/E2E/Theme/specs/Theme.spec.ios.ts +2 -2
  343. package/src/E2E/Theme/specs/Theme.spec.win.ts +0 -4
  344. package/src/E2E/Tokens/specs/Tokens.spec.ios.ts +2 -2
  345. package/src/E2E/Tokens/specs/Tokens.spec.win.ts +0 -5
  346. package/src/E2E/common/BasePage.ts +14 -47
  347. package/src/E2E/common/NavigateAppPage.ts +9 -0
  348. package/src/TestComponents/Dropdown/DropdownTest.tsx +4 -3
  349. package/src/TestComponents/FocusZone/FocusZoneTest.tsx +50 -2
  350. package/src/TestComponents/FocusZone/styles.ts +12 -0
  351. package/src/TestComponents/LinkExperimental/E2ELinkTest.tsx +32 -0
  352. package/src/TestComponents/LinkExperimental/LinkTest.tsx +210 -0
  353. package/src/TestComponents/LinkExperimental/consts.ts +10 -0
  354. package/src/TestComponents/LinkExperimental/index.ts +2 -0
  355. package/src/testPages.ts +7 -0
@@ -1,6 +1,6 @@
1
1
  import NavigateAppPage from '../../common/NavigateAppPage';
2
2
  import TextPageObject from '../pages/TextPageObject';
3
- import { ComponentSelector, Platform } from '../../common/BasePage';
3
+ import { ComponentSelector } from '../../common/BasePage';
4
4
  import { TEXT_A11Y_ROLE, PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/consts';
5
5
  import { TEXT_ACCESSIBILITY_LABEL, TEXT_COMPONENT_CONTENT } from '../../../TestComponents/Text/consts';
6
6
 
@@ -12,10 +12,6 @@ describe('Text Testing Initialization', function () {
12
12
  });
13
13
 
14
14
  it('Click and navigate to Text test page', async () => {
15
- /* Scroll to component test page button in scrollview if not already visible*/
16
- await TextPageObject.scrollToComponentButton(Platform.Win32);
17
- await TextPageObject.waitForButtonDisplayed(PAGE_TIMEOUT);
18
-
19
15
  /* Click on component button to navigate to test page */
20
16
  await NavigateAppPage.clickAndGoToTextPage();
21
17
  await TextPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
@@ -1,7 +1,7 @@
1
1
  import NavigateAppPage from '../../common/NavigateAppPage';
2
2
  import ExperimentalTextPageObject from '../pages/ExperimentalTextPageObject.win';
3
3
  import { PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/consts';
4
- import { Platform } from '../../common/BasePage';
4
+ import { MobilePlatform } from '../../common/BasePage';
5
5
 
6
6
  // Before testing begins, allow up to 60 seconds for app to open
7
7
  describe('Experimental Text Testing Initialization', function () {
@@ -11,7 +11,7 @@ describe('Experimental Text Testing Initialization', function () {
11
11
  });
12
12
 
13
13
  it('Click and navigate to Experimental Text test page', async () => {
14
- await ExperimentalTextPageObject.scrollToComponentButton(Platform.iOS);
14
+ await ExperimentalTextPageObject.mobileScrollToComponentButton(MobilePlatform.iOS);
15
15
  await ExperimentalTextPageObject.waitForButtonDisplayed(PAGE_TIMEOUT);
16
16
 
17
17
  /* Click on component button to navigate to test page */
@@ -1,7 +1,6 @@
1
1
  import NavigateAppPage from '../../common/NavigateAppPage';
2
2
  import ExperimentalTextPageObject from '../pages/ExperimentalTextPageObject.win';
3
3
  import { TEXT_A11Y_ROLE, PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/consts';
4
- import { Platform } from '../../common/BasePage';
5
4
 
6
5
  // Before testing begins, allow up to 60 seconds for app to open
7
6
  describe('Experimental Text Testing Initialization', function () {
@@ -11,10 +10,6 @@ describe('Experimental Text Testing Initialization', function () {
11
10
  });
12
11
 
13
12
  it('Click and navigate to Experimental Text test page', async () => {
14
- /* Scroll to component test page button in scrollview if not already visible*/
15
- await ExperimentalTextPageObject.scrollToComponentButton(Platform.Win32);
16
- await ExperimentalTextPageObject.waitForButtonDisplayed(PAGE_TIMEOUT);
17
-
18
13
  /* Click on component button to navigate to test page */
19
14
  await NavigateAppPage.clickAndGoToExperimentalTextPage();
20
15
  await ExperimentalTextPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
@@ -1,7 +1,7 @@
1
1
  import NavigateAppPage from '../../common/NavigateAppPage';
2
2
  import ThemePageObject from '../pages/ThemePageObject.win';
3
3
  import { PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/consts';
4
- import { Platform } from '../../common/BasePage';
4
+ import { MobilePlatform } from '../../common/BasePage';
5
5
 
6
6
  // Before testing begins, allow up to 60 seconds for app to open
7
7
  describe('Theme Testing Initialization', function () {
@@ -11,7 +11,7 @@ describe('Theme Testing Initialization', function () {
11
11
  });
12
12
 
13
13
  it('Click and navigate to Theme test page', async () => {
14
- await ThemePageObject.scrollToComponentButton(Platform.iOS);
14
+ await ThemePageObject.mobileScrollToComponentButton(MobilePlatform.iOS);
15
15
  await ThemePageObject.waitForButtonDisplayed(PAGE_TIMEOUT);
16
16
 
17
17
  /* Click on component button to navigate to test page */
@@ -1,7 +1,6 @@
1
1
  import NavigateAppPage from '../../common/NavigateAppPage';
2
2
  import ThemePageObject from '../pages/ThemePageObject.win';
3
3
  import { PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/consts';
4
- import { Platform } from '../../common/BasePage';
5
4
 
6
5
  // Before testing begins, allow up to 60 seconds for app to open
7
6
  describe('Theme Testing Initialization', function () {
@@ -11,9 +10,6 @@ describe('Theme Testing Initialization', function () {
11
10
  });
12
11
 
13
12
  it('Click and navigate to Theme test page', async () => {
14
- await ThemePageObject.scrollToComponentButton(Platform.Win32);
15
- await ThemePageObject.waitForButtonDisplayed(PAGE_TIMEOUT);
16
-
17
13
  /* Click on component button to navigate to test page */
18
14
  await NavigateAppPage.clickAndGoToThemePage();
19
15
  await ThemePageObject.waitForPageDisplayed(PAGE_TIMEOUT);
@@ -1,7 +1,7 @@
1
1
  import NavigateAppPage from '../../common/NavigateAppPage';
2
2
  import TokenPageObject from '../pages/TokensPageObject.win';
3
3
  import { PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/consts';
4
- import { Platform } from '../../common/BasePage';
4
+ import { MobilePlatform } from '../../common/BasePage';
5
5
 
6
6
  // Before testing begins, allow up to 60 seconds for app to open
7
7
  describe('Tokens Testing Initialization', function () {
@@ -11,7 +11,7 @@ describe('Tokens Testing Initialization', function () {
11
11
  });
12
12
 
13
13
  it('Click and navigate to Tokens test page', async () => {
14
- await TokenPageObject.scrollToComponentButton(Platform.iOS);
14
+ await TokenPageObject.mobileScrollToComponentButton(MobilePlatform.iOS);
15
15
  await TokenPageObject.waitForButtonDisplayed(PAGE_TIMEOUT);
16
16
 
17
17
  /* Click on component button to navigate to test page */
@@ -1,7 +1,6 @@
1
1
  import NavigateAppPage from '../../common/NavigateAppPage';
2
2
  import TokenPageObject from '../pages/TokensPageObject.win';
3
3
  import { PAGE_TIMEOUT, BOOT_APP_TIMEOUT } from '../../common/consts';
4
- import { Platform } from '../../common/BasePage';
5
4
 
6
5
  // Before testing begins, allow up to 60 seconds for app to open
7
6
  describe('Tokens Testing Initialization', function () {
@@ -11,10 +10,6 @@ describe('Tokens Testing Initialization', function () {
11
10
  });
12
11
 
13
12
  it('Click and navigate to Tokens test page', async () => {
14
- /* Scroll to component test page button in scrollview if not already visible*/
15
- await TokenPageObject.scrollToComponentButton(Platform.Win32);
16
- await TokenPageObject.waitForButtonDisplayed(PAGE_TIMEOUT);
17
-
18
13
  /* Click on component button to navigate to test page */
19
14
  await NavigateAppPage.clickAndGoToTokensPage();
20
15
  await TokenPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
@@ -18,13 +18,19 @@ export const enum ComponentSelector {
18
18
  Secondary, // this._secondaryComponent
19
19
  }
20
20
 
21
- export const enum Platform {
21
+ export const enum MobilePlatform {
22
+ iOS = 0,
23
+ Android,
24
+ }
25
+
26
+ export const enum NativePlatform {
22
27
  Win32 = 0,
23
- iOS,
28
+ Windows,
24
29
  macOS,
25
- Android,
26
30
  }
27
31
 
32
+ export type Platform = MobilePlatform | NativePlatform;
33
+
28
34
  /****************************** IMPORTANT! PLEASE READ! **************************************************
29
35
  * Every component's page object extends this. We can assume each test page will interact with at least
30
36
  * two UI elements, so we'll add integration for two UI elements in this file (See *Getters* section below).
@@ -72,8 +78,9 @@ export class BasePage {
72
78
  }
73
79
 
74
80
  /* Scrolls until the desired test page's button is displayed. We use the scroll viewer UI element as the point to start scrolling.
75
- * We use a negative number as the Y-coordinate because that enables us to scroll downwards */
76
- async scrollToComponentButton(platform: Platform): Promise<void> {
81
+ * We use a negative number as the Y-coordinate because that enables us to scroll downwards.
82
+ * There are no need for win32 and macos cases, as the click command automatically scrolls the element into view. */
83
+ async mobileScrollToComponentButton(platform: MobilePlatform): Promise<void> {
77
84
  if (await (await this._pageButton).isDisplayed()) {
78
85
  return;
79
86
  }
@@ -82,23 +89,7 @@ export class BasePage {
82
89
  'Could not scroll to the ' + this._pageName + "'s Button. Please see Pipeline artifacts for more debugging information.";
83
90
 
84
91
  switch (platform) {
85
- case Platform.Win32: {
86
- const scrollDownKeys = [Keys.PAGE_DOWN];
87
- await browser.waitUntil(
88
- async () => {
89
- await (await this._firstTestPageButton).addValue(scrollDownKeys);
90
- scrollDownKeys.push(Keys.PAGE_DOWN);
91
- return await (await this._pageButton).isDisplayed();
92
- },
93
- {
94
- timeout: this.waitForUiEvent,
95
- timeoutMsg: errorMsg,
96
- },
97
- );
98
- break;
99
- }
100
-
101
- case Platform.iOS: {
92
+ case MobilePlatform.iOS: {
102
93
  await browser.waitUntil(
103
94
  async () => {
104
95
  await driver.execute('mobile: scroll', { direction: 'down' });
@@ -111,13 +102,8 @@ export class BasePage {
111
102
  );
112
103
  break;
113
104
  }
114
-
115
- case Platform.macOS:
116
- // Not needed for macOS. It automatically scrolls
117
- break;
118
-
119
105
  default:
120
- case Platform.Android:
106
+ case MobilePlatform.Android:
121
107
  // Todo
122
108
  break;
123
109
  }
@@ -208,21 +194,6 @@ export class BasePage {
208
194
  return windowHandles.length > 1;
209
195
  }
210
196
 
211
- /* Finds the first test page button in the ScrollView */
212
- async SetFirstScrollViewButtonChild() {
213
- const TestChildren = await (await this._testPageButtonScrollViewer).$$('//*');
214
- const reg = new RegExp('Homepage_[a-zA-Z]*_Button');
215
-
216
- for (const child of TestChildren) {
217
- const autoId = await child.getAttribute('AutomationId');
218
- if (autoId && autoId !== TESTPAGE_BUTTONS_SCROLLVIEWER && autoId.match(reg)) {
219
- return await child;
220
- }
221
- }
222
-
223
- return null;
224
- }
225
-
226
197
  /*****************************************/
227
198
  /**************** Getters ****************/
228
199
  /*****************************************/
@@ -269,10 +240,6 @@ export class BasePage {
269
240
  return By(TESTPAGE_BUTTONS_SCROLLVIEWER);
270
241
  }
271
242
 
272
- get _firstTestPageButton() {
273
- return this.SetFirstScrollViewButtonChild();
274
- }
275
-
276
243
  /****************** Error Messages ******************/
277
244
  get ERRORMESSAGE_SUFFIX(): string {
278
245
  return 'Please review logs and error screenshots for more information.';
@@ -11,6 +11,7 @@ import { HOMEPAGE_FOCUSTRAPZONE_BUTTON } from '../../TestComponents/FocusTrapZon
11
11
  import { HOMEPAGE_FOCUSZONE_BUTTON } from '../../TestComponents/FocusZone/consts';
12
12
  import { HOMEPAGE_ICON_BUTTON } from '../../TestComponents/Icon/consts';
13
13
  import { HOMEPAGE_LINK_BUTTON } from '../../TestComponents/Link/consts';
14
+ import { HOMEPAGE_EXPERIMENTAL_LINK_BUTTON } from '../../TestComponents/LinkExperimental/consts';
14
15
  import { HOMEPAGE_MENU_BUTTON } from '../../TestComponents/Menu/consts';
15
16
  import { HOMEPAGE_MENUBUTTON_BUTTON } from '../../TestComponents/MenuButton/consts';
16
17
  import { HOMEPAGE_EXPERIMENTAL_MENU_BUTTON } from '../../TestComponents/MenuButtonExperimental/consts';
@@ -79,6 +80,10 @@ class NavigateAppPage extends BasePage {
79
80
  await this.linkPage.click();
80
81
  }
81
82
 
83
+ async clickAndGoToLinkExperimentalPage() {
84
+ await this.linkExperimentalPage.click();
85
+ }
86
+
82
87
  async clickAndGoToMenuPage() {
83
88
  await this.menuPage.click();
84
89
  }
@@ -203,6 +208,10 @@ class NavigateAppPage extends BasePage {
203
208
  return By(HOMEPAGE_LINK_BUTTON);
204
209
  }
205
210
 
211
+ private get linkExperimentalPage() {
212
+ return By(HOMEPAGE_EXPERIMENTAL_LINK_BUTTON);
213
+ }
214
+
206
215
  private get menuPage() {
207
216
  return By(HOMEPAGE_MENU_BUTTON);
208
217
  }
@@ -8,9 +8,10 @@ import { Test, TestSection, PlatformStatus } from '../Test';
8
8
  const DropdownDefault: React.FunctionComponent = () => {
9
9
  return (
10
10
  <Stack style={stackStyle}>
11
- <Dropdown />
12
- <Option>Test</Option>
13
- <Option disabled>Disabled Test</Option>
11
+ <Dropdown>
12
+ <Option>Test</Option>
13
+ <Option disabled>Disabled Test</Option>
14
+ </Dropdown>
14
15
  </Stack>
15
16
  );
16
17
  };
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { View, ScrollView } from 'react-native';
3
- import { FocusZone, FocusZoneDirection, Text } from '@fluentui/react-native';
2
+ import { View, ScrollView, Pressable } from 'react-native';
3
+ import { FocusZone, FocusZoneDirection, Text, useOnPressWithFocus } from '@fluentui/react-native';
4
4
  import { ButtonV1 as Button } from '@fluentui-react-native/button';
5
5
  import { Checkbox, CheckboxProps } from '@fluentui-react-native/experimental-checkbox';
6
6
  import { Test, TestSection, PlatformStatus } from '../Test';
@@ -87,6 +87,50 @@ const FocusZoneNoProps: React.FunctionComponent = () => {
87
87
  );
88
88
  };
89
89
 
90
+ const TinyBox = () => {
91
+ const ref = React.useRef<View>();
92
+ const onPress = useOnPressWithFocus(ref, null);
93
+
94
+ return <Pressable focusable style={focusZoneTestStyles.smallBoxStyle} ref={ref} onPress={onPress} />;
95
+ };
96
+
97
+ const WideBox = () => {
98
+ const ref = React.useRef<View>();
99
+ const onPress = useOnPressWithFocus(ref, null);
100
+
101
+ return <Pressable focusable style={focusZoneTestStyles.wideBoxStyle} ref={ref} onPress={onPress} />;
102
+ };
103
+
104
+ const TinyText = () => {
105
+ return (
106
+ <Text selectable style={focusZoneTestStyles.smallBoxStyle}>
107
+ Hi
108
+ </Text>
109
+ );
110
+ };
111
+
112
+ const WideText = () => {
113
+ return (
114
+ <Text selectable style={focusZoneTestStyles.wideBoxStyle}>
115
+ Hello world
116
+ </Text>
117
+ );
118
+ };
119
+
120
+ const DifferentSizesTest: React.FunctionComponent = () => {
121
+ return (
122
+ <FocusZone focusZoneDirection="bidirectional">
123
+ <View style={focusZoneTestStyles.dashedBorder}>
124
+ <WideBox />
125
+ <TinyBox />
126
+ <WideBox />
127
+ <TinyText />
128
+ <WideText />
129
+ </View>
130
+ </FocusZone>
131
+ );
132
+ };
133
+
90
134
  const NestedFocusZone: React.FunctionComponent = () => {
91
135
  return (
92
136
  <FocusZoneListWrapper>
@@ -132,6 +176,10 @@ const focusZoneSections: TestSection[] = [
132
176
  name: 'FocusZone with no props',
133
177
  component: FocusZoneNoProps,
134
178
  },
179
+ {
180
+ name: 'Different Sized Children',
181
+ component: DifferentSizesTest,
182
+ },
135
183
  {
136
184
  name: 'Nested FocusZone',
137
185
  component: NestedFocusZone,
@@ -43,6 +43,18 @@ export const focusZoneTestStyles = StyleSheet.create({
43
43
  marginHorizontal: 20,
44
44
  marginBottom: 100,
45
45
  },
46
+ smallBoxStyle: {
47
+ width: 20,
48
+ height: 20,
49
+ backgroundColor: 'lightgrey',
50
+ margin: 5,
51
+ },
52
+ wideBoxStyle: {
53
+ width: 150,
54
+ height: 20,
55
+ backgroundColor: 'lightgrey',
56
+ margin: 5,
57
+ },
46
58
  });
47
59
 
48
60
  export const GridButton = Button.compose({
@@ -0,0 +1,32 @@
1
+ import * as React from 'react';
2
+ import { Alert } from 'react-native';
3
+ import { Link } from '@fluentui-react-native/experimental-link';
4
+ import { Stack } from '@fluentui-react-native/stack';
5
+ import { stackStyle } from '../Common/styles';
6
+ import {
7
+ EXPERIMENTAL_LINK_TEST_COMPONENT,
8
+ EXPERIMENTAL_LINK_ACCESSIBILITY_LABEL,
9
+ EXPERIMENTAL_LINK_NO_A11Y_LABEL_COMPONENT,
10
+ EXPERIMENTAL_LINK_TEST_COMPONENT_LABEL,
11
+ } from './consts';
12
+
13
+ export const LinkE2ETest: React.FunctionComponent = () => {
14
+ const doPress = (): void => {
15
+ Alert.alert('Alert.', 'You have been alerted.');
16
+ };
17
+
18
+ return (
19
+ <Stack style={stackStyle}>
20
+ <Link
21
+ url="https://www.bing.com/"
22
+ testID={EXPERIMENTAL_LINK_TEST_COMPONENT}
23
+ accessibilityLabel={EXPERIMENTAL_LINK_ACCESSIBILITY_LABEL}
24
+ >
25
+ Link with Accessibility Label
26
+ </Link>
27
+ <Link onPress={doPress} testID={EXPERIMENTAL_LINK_NO_A11Y_LABEL_COMPONENT}>
28
+ {EXPERIMENTAL_LINK_TEST_COMPONENT_LABEL}
29
+ </Link>
30
+ </Stack>
31
+ );
32
+ };
@@ -0,0 +1,210 @@
1
+ import * as React from 'react';
2
+ import { Alert, View, StyleSheet, Text, TextInput } from 'react-native';
3
+ import { Link, LinkTokens } from '@fluentui-react-native/experimental-link';
4
+ import { Stack } from '@fluentui-react-native/stack';
5
+ import { stackStyle, commonTestStyles as commonStyles } from '../Common/styles';
6
+ import { EXPERIMENTAL_LINK_TESTPAGE } from './consts';
7
+ import { Test, TestSection, PlatformStatus } from '../Test';
8
+ import { LinkE2ETest } from './E2ELinkTest';
9
+
10
+ const DefaultLinks: React.FunctionComponent = () => {
11
+ const doPress = React.useCallback(() => Alert.alert('Alert.', 'You have been alerted.'), []);
12
+ const doAllyTap = React.useCallback(() => Alert.alert('Alert.', 'You have invoked onAllyTap.'), []);
13
+
14
+ return (
15
+ <Stack style={stackStyle}>
16
+ <Link tooltip={'https://www.bing.com/'} url="https://www.bing.com/">
17
+ Click to navigate.
18
+ </Link>
19
+ <Link onPress={doPress} onAccessibilityTap={doAllyTap}>
20
+ Click to alert.
21
+ </Link>
22
+ <Link disabled focusable>
23
+ Disabled focusable Link
24
+ </Link>
25
+ </Stack>
26
+ );
27
+ };
28
+
29
+ const InlineLinks: React.FunctionComponent = () => {
30
+ const doPress = React.useCallback(() => Alert.alert('Alert.', 'You have been alerted.'), []);
31
+ const doAllyTap = React.useCallback(() => Alert.alert('Alert.', 'You have invoked onAllyTap.'), []);
32
+
33
+ return (
34
+ <Stack style={stackStyle}>
35
+ <Text>
36
+ Click{' '}
37
+ <Link inline onPress={doPress} onAccessibilityTap={doAllyTap}>
38
+ this link
39
+ </Link>{' '}
40
+ to alert me.
41
+ </Text>
42
+ <Text>
43
+ This{' '}
44
+ <Link inline onPress={doPress} disabled focusable>
45
+ link
46
+ </Link>{' '}
47
+ is disabled but focusable.
48
+ </Text>
49
+ <Text>
50
+ Follow this{' '}
51
+ <Link inline url="https://www.bing.com/">
52
+ link
53
+ </Link>{' '}
54
+ to navigate.
55
+ </Text>
56
+ </Stack>
57
+ );
58
+ };
59
+
60
+ const SubtleLinks: React.FunctionComponent = () => {
61
+ const doPress = React.useCallback(() => Alert.alert('Alert.', 'You have been alerted.'), []);
62
+ const doAllyTap = React.useCallback(() => Alert.alert('Alert.', 'You have invoked onAllyTap.'), []);
63
+
64
+ return (
65
+ <Stack style={stackStyle}>
66
+ <Link appearance="subtle" url="https://www.bing.com/">
67
+ Click to navigate.
68
+ </Link>
69
+ <Text>
70
+ This is inline Link.{' '}
71
+ <Link appearance="subtle" inline onPress={doPress} onAccessibilityTap={doAllyTap}>
72
+ Click to alert.
73
+ </Link>
74
+ </Text>
75
+ <Link appearance="subtle" onPress={doPress} disabled>
76
+ Disabled Link
77
+ </Link>
78
+ </Stack>
79
+ );
80
+ };
81
+
82
+ const styles = StyleSheet.create({
83
+ tokensRow: {
84
+ flexDirection: 'row',
85
+ marginBottom: 10,
86
+ },
87
+ tokensColumn: {
88
+ flexDirection: 'column',
89
+ margin: 10,
90
+ },
91
+ });
92
+
93
+ const BlueHeaderBold = Link.customize({ variant: 'headerStandard', fontWeight: '700', color: '#0229c4', textAlign: 'right' });
94
+ const CustomLinks: React.FunctionComponent = () => {
95
+ const [linkColor, setLinkColor] = React.useState<string>('blue');
96
+ const [linkFont, setLinkFont] = React.useState<string>('Ariel');
97
+ const [linkFontSize, setLinkFontSize] = React.useState<number>(12);
98
+ const [linkText, setLinkText] = React.useState<string>('Click to Navigate');
99
+ const [linkUrl, setLinkUrl] = React.useState<string>('https://www.bing.com/');
100
+
101
+ const CustomLink = React.useMemo(() => {
102
+ const tokens: LinkTokens = {
103
+ color: linkColor,
104
+ fontFamily: linkFont,
105
+ fontSize: linkFontSize,
106
+ };
107
+ return Link.customize(tokens);
108
+ }, [linkColor, linkFont, linkFontSize, linkText, linkUrl]);
109
+
110
+ return (
111
+ <View style={styles.tokensColumn}>
112
+ <View style={styles.tokensRow}>
113
+ <View>
114
+ <Text>Text Tokens</Text>
115
+ <TextInput
116
+ accessibilityLabel="Link color"
117
+ style={commonStyles.textBox}
118
+ placeholder="Link color"
119
+ blurOnSubmit={true}
120
+ onSubmitEditing={(e) => {
121
+ setLinkColor(e.nativeEvent.text);
122
+ }}
123
+ />
124
+ <TextInput
125
+ accessibilityLabel="Link font"
126
+ style={commonStyles.textBox}
127
+ placeholder="Link font"
128
+ blurOnSubmit={true}
129
+ onSubmitEditing={(e) => {
130
+ setLinkFont(e.nativeEvent.text);
131
+ }}
132
+ />
133
+ <TextInput
134
+ accessibilityLabel="Link font size"
135
+ style={commonStyles.textBox}
136
+ placeholder="Link font size"
137
+ blurOnSubmit={true}
138
+ onSubmitEditing={(e) => {
139
+ setLinkFontSize(parseInt(e.nativeEvent.text));
140
+ }}
141
+ />
142
+ </View>
143
+ <View>
144
+ <Text>Content and URL customize</Text>
145
+ <TextInput
146
+ accessibilityLabel="Link text"
147
+ style={commonStyles.textBox}
148
+ placeholder="Link text"
149
+ blurOnSubmit={true}
150
+ onSubmitEditing={(e) => {
151
+ setLinkText(e.nativeEvent.text);
152
+ }}
153
+ />
154
+ <TextInput
155
+ accessibilityLabel="Link Url"
156
+ style={commonStyles.textBox}
157
+ placeholder="Link URL"
158
+ blurOnSubmit={true}
159
+ onSubmitEditing={(e) => {
160
+ setLinkUrl(e.nativeEvent.text);
161
+ }}
162
+ />
163
+ </View>
164
+ </View>
165
+ <CustomLink align="end" url={linkUrl}>
166
+ {linkText}
167
+ </CustomLink>
168
+ <BlueHeaderBold>BlueHeaderBold</BlueHeaderBold>
169
+ </View>
170
+ );
171
+ };
172
+
173
+ const linkSections: TestSection[] = [
174
+ {
175
+ name: 'Default Links',
176
+ testID: EXPERIMENTAL_LINK_TESTPAGE,
177
+ component: DefaultLinks,
178
+ },
179
+ {
180
+ name: 'Inline Links',
181
+ component: InlineLinks,
182
+ },
183
+ {
184
+ name: 'Subtle Links',
185
+ component: SubtleLinks,
186
+ },
187
+ {
188
+ name: 'Custom Link',
189
+ component: CustomLinks,
190
+ },
191
+ {
192
+ name: 'Link E2E Test',
193
+ component: LinkE2ETest,
194
+ },
195
+ ];
196
+
197
+ export const ExperimentalLinkTest: React.FunctionComponent = () => {
198
+ const status: PlatformStatus = {
199
+ win32Status: 'Beta',
200
+ uwpStatus: 'Experimental',
201
+ iosStatus: 'Experimental',
202
+ macosStatus: 'Beta',
203
+ androidStatus: 'Backlog',
204
+ };
205
+
206
+ const description =
207
+ 'With a Link, users can navigate to another page, window, or Help topic; display a definition; initiate a command; or choose an option. A Link indicates that it can be clicked, typically by being displayed using the visited or unvisited link system colors. Traditionally, Links are underlined as well, but that approach is often unnecessary and falling out of favor to reduce visual clutter.\n\nA Link is the lightest weight clickable control, and is often used to reduce the visual complexity of a design.';
208
+
209
+ return <Test name="Link Test" description={description} sections={linkSections} status={status}></Test>;
210
+ };
@@ -0,0 +1,10 @@
1
+ export const HOMEPAGE_EXPERIMENTAL_LINK_BUTTON = 'Homepage_LinkExperimental_Button';
2
+ export const EXPERIMENTAL_LINK_TESTPAGE = 'LinkExperimental_TestPage';
3
+
4
+ /* E2E Testing Link 1 */
5
+ export const EXPERIMENTAL_LINK_TEST_COMPONENT = 'Experimental_Link_Test_Component'; // A component on each specific test page
6
+ export const EXPERIMENTAL_LINK_ACCESSIBILITY_LABEL = 'E2E testing Experimental Link accessibility label';
7
+
8
+ /* E2E Testing Link 2 */
9
+ export const EXPERIMENTAL_LINK_NO_A11Y_LABEL_COMPONENT = 'Experimental Link_No_A11y_label_Component';
10
+ export const EXPERIMENTAL_LINK_TEST_COMPONENT_LABEL = 'Test Experimental Link2 - No Accessibility Label'; // A component on each specific test page
@@ -0,0 +1,2 @@
1
+ export * from './LinkTest';
2
+ export * from './consts';
package/src/testPages.ts CHANGED
@@ -36,6 +36,7 @@ import { TextTest, HOMEPAGE_TEXT_BUTTON } from './TestComponents/Text';
36
36
  import { TextExperimentalTest, HOMEPAGE_EXPERIMENTAL_TEXT_BUTTON } from './TestComponents/TextExperimental';
37
37
  import { ThemeTest, HOMEPAGE_THEME_BUTTON } from './TestComponents/Theme';
38
38
  import { TokenTest, HOMEPAGE_TOKEN_BUTTON } from './TestComponents/Tokens';
39
+ import { ExperimentalLinkTest, HOMEPAGE_EXPERIMENTAL_LINK_BUTTON } from './TestComponents/LinkExperimental';
39
40
 
40
41
  export const tests: TestDescription[] = [
41
42
  {
@@ -141,6 +142,12 @@ export const tests: TestDescription[] = [
141
142
  testPage: HOMEPAGE_LINK_BUTTON,
142
143
  platforms: ['android', 'ios', 'macos', 'web', 'win32', 'windows'],
143
144
  },
145
+ {
146
+ name: 'Link (Experimental)',
147
+ component: ExperimentalLinkTest,
148
+ testPage: HOMEPAGE_EXPERIMENTAL_LINK_BUTTON,
149
+ platforms: ['win32'],
150
+ },
144
151
  {
145
152
  name: 'Menu',
146
153
  component: MenuTest,