@fluentui-react-native/tester 0.101.6 → 0.101.7

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 (74) hide show
  1. package/CHANGELOG.json +16 -1
  2. package/CHANGELOG.md +10 -2
  3. package/lib/E2E/FocusZone/pages/FocusZonePageObject.d.ts +37 -0
  4. package/lib/E2E/FocusZone/pages/FocusZonePageObject.d.ts.map +1 -1
  5. package/lib/E2E/FocusZone/pages/FocusZonePageObject.js +197 -4
  6. package/lib/E2E/FocusZone/pages/FocusZonePageObject.js.map +1 -1
  7. package/lib/E2E/FocusZone/specs/FocusZone.spec.win.js +457 -0
  8. package/lib/E2E/FocusZone/specs/FocusZone.spec.win.js.map +1 -1
  9. package/lib/E2E/common/BasePage.d.ts +2 -0
  10. package/lib/E2E/common/BasePage.d.ts.map +1 -1
  11. package/lib/E2E/common/BasePage.js +34 -14
  12. package/lib/E2E/common/BasePage.js.map +1 -1
  13. package/lib/E2E/common/consts.d.ts +15 -0
  14. package/lib/E2E/common/consts.d.ts.map +1 -1
  15. package/lib/TestComponents/Common/MenuPicker.d.ts +2 -0
  16. package/lib/TestComponents/Common/MenuPicker.d.ts.map +1 -1
  17. package/lib/TestComponents/Common/MenuPicker.js +2 -2
  18. package/lib/TestComponents/Common/MenuPicker.js.map +1 -1
  19. package/lib/TestComponents/FocusZone/FocusZoneE2ETest.d.ts +20 -0
  20. package/lib/TestComponents/FocusZone/FocusZoneE2ETest.d.ts.map +1 -0
  21. package/lib/TestComponents/FocusZone/FocusZoneE2ETest.js +51 -0
  22. package/lib/TestComponents/FocusZone/FocusZoneE2ETest.js.map +1 -0
  23. package/lib/TestComponents/FocusZone/FocusZoneTest.d.ts.map +1 -1
  24. package/lib/TestComponents/FocusZone/FocusZoneTest.js +26 -70
  25. package/lib/TestComponents/FocusZone/FocusZoneTest.js.map +1 -1
  26. package/lib/TestComponents/FocusZone/consts.d.ts +10 -0
  27. package/lib/TestComponents/FocusZone/consts.d.ts.map +1 -1
  28. package/lib/TestComponents/FocusZone/consts.js +11 -0
  29. package/lib/TestComponents/FocusZone/consts.js.map +1 -1
  30. package/lib/TestComponents/FocusZone/styles.d.ts +5 -0
  31. package/lib/TestComponents/FocusZone/styles.d.ts.map +1 -1
  32. package/lib/TestComponents/FocusZone/styles.js +5 -0
  33. package/lib/TestComponents/FocusZone/styles.js.map +1 -1
  34. package/lib-commonjs/E2E/FocusZone/pages/FocusZonePageObject.d.ts +37 -0
  35. package/lib-commonjs/E2E/FocusZone/pages/FocusZonePageObject.d.ts.map +1 -1
  36. package/lib-commonjs/E2E/FocusZone/pages/FocusZonePageObject.js +196 -3
  37. package/lib-commonjs/E2E/FocusZone/pages/FocusZonePageObject.js.map +1 -1
  38. package/lib-commonjs/E2E/FocusZone/specs/FocusZone.spec.win.js +457 -0
  39. package/lib-commonjs/E2E/FocusZone/specs/FocusZone.spec.win.js.map +1 -1
  40. package/lib-commonjs/E2E/common/BasePage.d.ts +2 -0
  41. package/lib-commonjs/E2E/common/BasePage.d.ts.map +1 -1
  42. package/lib-commonjs/E2E/common/BasePage.js +34 -14
  43. package/lib-commonjs/E2E/common/BasePage.js.map +1 -1
  44. package/lib-commonjs/E2E/common/consts.d.ts +15 -0
  45. package/lib-commonjs/E2E/common/consts.d.ts.map +1 -1
  46. package/lib-commonjs/TestComponents/Common/MenuPicker.d.ts +2 -0
  47. package/lib-commonjs/TestComponents/Common/MenuPicker.d.ts.map +1 -1
  48. package/lib-commonjs/TestComponents/Common/MenuPicker.js +2 -2
  49. package/lib-commonjs/TestComponents/Common/MenuPicker.js.map +1 -1
  50. package/lib-commonjs/TestComponents/FocusZone/FocusZoneE2ETest.d.ts +20 -0
  51. package/lib-commonjs/TestComponents/FocusZone/FocusZoneE2ETest.d.ts.map +1 -0
  52. package/lib-commonjs/TestComponents/FocusZone/FocusZoneE2ETest.js +57 -0
  53. package/lib-commonjs/TestComponents/FocusZone/FocusZoneE2ETest.js.map +1 -0
  54. package/lib-commonjs/TestComponents/FocusZone/FocusZoneTest.d.ts.map +1 -1
  55. package/lib-commonjs/TestComponents/FocusZone/FocusZoneTest.js +27 -71
  56. package/lib-commonjs/TestComponents/FocusZone/FocusZoneTest.js.map +1 -1
  57. package/lib-commonjs/TestComponents/FocusZone/consts.d.ts +10 -0
  58. package/lib-commonjs/TestComponents/FocusZone/consts.d.ts.map +1 -1
  59. package/lib-commonjs/TestComponents/FocusZone/consts.js +14 -1
  60. package/lib-commonjs/TestComponents/FocusZone/consts.js.map +1 -1
  61. package/lib-commonjs/TestComponents/FocusZone/styles.d.ts +5 -0
  62. package/lib-commonjs/TestComponents/FocusZone/styles.d.ts.map +1 -1
  63. package/lib-commonjs/TestComponents/FocusZone/styles.js +5 -0
  64. package/lib-commonjs/TestComponents/FocusZone/styles.js.map +1 -1
  65. package/package.json +1 -1
  66. package/src/E2E/FocusZone/pages/FocusZonePageObject.ts +135 -4
  67. package/src/E2E/FocusZone/specs/FocusZone.spec.win.ts +177 -2
  68. package/src/E2E/common/BasePage.ts +8 -3
  69. package/src/E2E/common/consts.ts +17 -0
  70. package/src/TestComponents/Common/MenuPicker.tsx +5 -2
  71. package/src/TestComponents/FocusZone/FocusZoneE2ETest.tsx +126 -0
  72. package/src/TestComponents/FocusZone/FocusZoneTest.tsx +40 -127
  73. package/src/TestComponents/FocusZone/consts.ts +17 -0
  74. package/src/TestComponents/FocusZone/styles.ts +5 -0
@@ -12,6 +12,21 @@ export declare const TABITEM_A11Y_ROLE = "ControlType.TabItem";
12
12
  export declare const TEXT_A11Y_ROLE = "ControlType.Text";
13
13
  export declare const BOOT_APP_TIMEOUT = 60000;
14
14
  export declare const PAGE_TIMEOUT = 15000;
15
+ export declare const enum Attribute {
16
+ AccessibilityLabel = "Name",
17
+ AccessibilityRole = "ControlType",
18
+ IsEnabled = "IsEnabled",
19
+ IsFocused = "HasKeyboardFocus",
20
+ IsRequiredForForm = "IsRequiredForForm",
21
+ IsTogglePatternAvailable = "IsTogglePatternAvailable",
22
+ ToggleState = "Toggle.ToggleState"
23
+ }
24
+ export declare const enum AttributeValue {
25
+ on = "1",
26
+ off = "0",
27
+ true = "True",
28
+ false = "False"
29
+ }
15
30
  export declare const enum Keys {
16
31
  NULL = "\uE000",
17
32
  CANCEL = "\uE001",
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/E2E/common/consts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AACrD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,kBAAkB,yBAAyB,CAAC;AACzD,eAAO,MAAM,cAAc,0BAA0B,CAAC;AACtD,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AACzD,eAAO,MAAM,cAAc,qBAAqB,CAAC;AACjD,eAAO,MAAM,kBAAkB,yBAAyB,CAAC;AACzD,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAC/D,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,cAAc,qBAAqB,CAAC;AAGjD,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,YAAY,QAAQ,CAAC;AAGlC,0BAAkB,IAAI;IACpB,IAAI,WAAW;IACf,MAAM,WAAW;IACjB,IAAI,WAAW;IACf,UAAU,WAAW;IACrB,GAAG,WAAW;IACd,KAAK,WAAW;IAChB,MAAM,WAAW;IACjB,KAAK,WAAW;IAChB,KAAK,WAAW;IAChB,OAAO,WAAW;IAClB,GAAG,WAAW;IACd,KAAK,WAAW;IAChB,MAAM,WAAW;IACjB,KAAK,WAAW;IAChB,OAAO,WAAW;IAClB,SAAS,WAAW;IACpB,GAAG,WAAW;IACd,IAAI,WAAW;IACf,UAAU,WAAW;IACrB,IAAI,WAAW;IACf,QAAQ,WAAW;IACnB,EAAE,WAAW;IACb,WAAW,WAAW;IACtB,KAAK,WAAW;IAChB,UAAU,WAAW;IACrB,IAAI,WAAW;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,WAAW;IACpB,MAAM,WAAW;IAEjB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,QAAQ,WAAW;IACnB,GAAG,WAAW;IACd,SAAS,WAAW;IACpB,QAAQ,WAAW;IACnB,OAAO,WAAW;IAClB,MAAM,WAAW;IAEjB,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,GAAG,WAAW;IACd,GAAG,WAAW;IACd,GAAG,WAAW;CACf"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/E2E/common/consts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AACrD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,kBAAkB,yBAAyB,CAAC;AACzD,eAAO,MAAM,cAAc,0BAA0B,CAAC;AACtD,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AACzD,eAAO,MAAM,cAAc,qBAAqB,CAAC;AACjD,eAAO,MAAM,kBAAkB,yBAAyB,CAAC;AACzD,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAC/D,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,cAAc,qBAAqB,CAAC;AAGjD,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC,0BAAkB,SAAS;IACzB,kBAAkB,SAAS;IAC3B,iBAAiB,gBAAgB;IACjC,SAAS,cAAc;IACvB,SAAS,qBAAqB;IAC9B,iBAAiB,sBAAsB;IACvC,wBAAwB,6BAA6B;IACrD,WAAW,uBAAuB;CACnC;AAED,0BAAkB,cAAc;IAC9B,EAAE,MAAM;IACR,GAAG,MAAM;IACT,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAGD,0BAAkB,IAAI;IACpB,IAAI,WAAW;IACf,MAAM,WAAW;IACjB,IAAI,WAAW;IACf,UAAU,WAAW;IACrB,GAAG,WAAW;IACd,KAAK,WAAW;IAChB,MAAM,WAAW;IACjB,KAAK,WAAW;IAChB,KAAK,WAAW;IAChB,OAAO,WAAW;IAClB,GAAG,WAAW;IACd,KAAK,WAAW;IAChB,MAAM,WAAW;IACjB,KAAK,WAAW;IAChB,OAAO,WAAW;IAClB,SAAS,WAAW;IACpB,GAAG,WAAW;IACd,IAAI,WAAW;IACf,UAAU,WAAW;IACrB,IAAI,WAAW;IACf,QAAQ,WAAW;IACnB,EAAE,WAAW;IACb,WAAW,WAAW;IACtB,KAAK,WAAW;IAChB,UAAU,WAAW;IACrB,IAAI,WAAW;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,WAAW;IACpB,MAAM,WAAW;IAEjB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,QAAQ,WAAW;IACnB,GAAG,WAAW;IACd,SAAS,WAAW;IACpB,QAAQ,WAAW;IACnB,OAAO,WAAW;IAClB,MAAM,WAAW;IAEjB,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,EAAE,WAAW;IACb,GAAG,WAAW;IACd,GAAG,WAAW;IACd,GAAG,WAAW;CACf"}
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  export interface CollectionItem<T = string> {
3
3
  label: string;
4
4
  value?: T;
5
+ testID?: string;
5
6
  }
6
7
  export interface MenuPickerProps {
7
8
  prompt?: string;
@@ -9,6 +10,7 @@ export interface MenuPickerProps {
9
10
  onChange?: (value: any, index?: number) => void;
10
11
  collection?: CollectionItem[];
11
12
  style?: any;
13
+ testID?: string;
12
14
  }
13
15
  export declare const MenuPicker: React.FunctionComponent<MenuPickerProps>;
14
16
  //# sourceMappingURL=MenuPicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPicker.d.ts","sourceRoot":"","sources":["../../../src/TestComponents/Common/MenuPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,MAAM;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,CAAC,CAAC;CACX;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAsB/D,CAAC"}
1
+ {"version":3,"file":"MenuPicker.d.ts","sourceRoot":"","sources":["../../../src/TestComponents/Common/MenuPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,MAAM;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAuB/D,CAAC"}
@@ -5,14 +5,14 @@ var tslib_1 = require("tslib");
5
5
  var React = (0, tslib_1.__importStar)(require("react"));
6
6
  var picker_1 = require("@react-native-picker/picker");
7
7
  var MenuPicker = function (props) {
8
- var prompt = props.prompt, selected = props.selected, onChange = props.onChange, collection = props.collection, style = props.style;
8
+ var prompt = props.prompt, selected = props.selected, onChange = props.onChange, collection = props.collection, style = props.style, testID = props.testID;
9
9
  var selectedItemKey;
10
10
  collection.forEach(function (item) {
11
11
  if (item.value == selected) {
12
12
  selectedItemKey = item.value;
13
13
  }
14
14
  });
15
- return (React.createElement(picker_1.Picker, { prompt: prompt, selectedValue: selectedItemKey, onValueChange: function (value, index) { return onChange(value, index); }, style: (0, tslib_1.__assign)({}, style) }, collection.map(function (item, index) { return (React.createElement(picker_1.Picker.Item, { label: item.label, key: index, value: item.value })); })));
15
+ return (React.createElement(picker_1.Picker, { testID: testID, prompt: prompt, selectedValue: selectedItemKey, onValueChange: function (value, index) { return onChange(value, index); }, style: (0, tslib_1.__assign)({}, style) }, collection.map(function (item, index) { return (React.createElement(picker_1.Picker.Item, { label: item.label, key: index, value: item.value, testID: item.testID })); })));
16
16
  };
17
17
  exports.MenuPicker = MenuPicker;
18
18
  //# sourceMappingURL=MenuPicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPicker.js","sourceRoot":"","sources":["../../../src/TestComponents/Common/MenuPicker.tsx"],"names":[],"mappings":";;;;AAAA,wDAA+B;AAC/B,sDAAqD;AAoB9C,IAAM,UAAU,GAA6C,UAAC,KAAsB;IACjF,IAAA,MAAM,GAA4C,KAAK,OAAjD,EAAE,QAAQ,GAAkC,KAAK,SAAvC,EAAE,QAAQ,GAAwB,KAAK,SAA7B,EAAE,UAAU,GAAY,KAAK,WAAjB,EAAE,KAAK,GAAK,KAAK,MAAV,CAAW;IAChE,IAAI,eAAe,CAAC;IAEpB,UAAU,CAAC,OAAO,CAAC,UAAC,IAAI;QACtB,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE;YAC1B,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;SAC9B;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,eAAM,IACL,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,eAAe,EAC9B,aAAa,EAAE,UAAC,KAAa,EAAE,KAAa,IAAK,OAAA,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAtB,CAAsB,EACvE,KAAK,4BAAO,KAAK,KAEhB,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,CAC/B,oBAAC,eAAM,CAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,CAClE,EAFgC,CAEhC,CAAC,CACK,CACV,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,UAAU,cAsBrB"}
1
+ {"version":3,"file":"MenuPicker.js","sourceRoot":"","sources":["../../../src/TestComponents/Common/MenuPicker.tsx"],"names":[],"mappings":";;;;AAAA,wDAA+B;AAC/B,sDAAqD;AAsB9C,IAAM,UAAU,GAA6C,UAAC,KAAsB;IACjF,IAAA,MAAM,GAAoD,KAAK,OAAzD,EAAE,QAAQ,GAA0C,KAAK,SAA/C,EAAE,QAAQ,GAAgC,KAAK,SAArC,EAAE,UAAU,GAAoB,KAAK,WAAzB,EAAE,KAAK,GAAa,KAAK,MAAlB,EAAE,MAAM,GAAK,KAAK,OAAV,CAAW;IACxE,IAAI,eAAe,CAAC;IAEpB,UAAU,CAAC,OAAO,CAAC,UAAC,IAAI;QACtB,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE;YAC1B,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;SAC9B;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,eAAM,IACL,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,eAAe,EAC9B,aAAa,EAAE,UAAC,KAAa,EAAE,KAAa,IAAK,OAAA,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAtB,CAAsB,EACvE,KAAK,4BAAO,KAAK,KAEhB,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,CAC/B,oBAAC,eAAM,CAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAI,CACvF,EAFgC,CAEhC,CAAC,CACK,CACV,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,UAAU,cAuBrB"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import { FocusZoneDirection } from '@fluentui/react-native';
4
+ export declare const FocusZoneDirections: FocusZoneDirection[];
5
+ declare type FocusZoneListWrapperProps = {
6
+ beforeID?: string;
7
+ afterID?: string;
8
+ };
9
+ export declare const FocusZoneListWrapper: React.FunctionComponent<FocusZoneListWrapperProps>;
10
+ declare type GridOfButtonsProps = {
11
+ gridWidth: number;
12
+ gridHeight: number;
13
+ tabRef?: React.RefObject<View>;
14
+ tabbableIdx?: number;
15
+ e2etesting?: boolean;
16
+ };
17
+ export declare const GridOfButtons: React.FunctionComponent<GridOfButtonsProps>;
18
+ export declare const FocusZone2D: React.FunctionComponent;
19
+ export {};
20
+ //# sourceMappingURL=FocusZoneE2ETest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusZoneE2ETest.d.ts","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/FocusZoneE2ETest.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAA+B,MAAM,wBAAwB,CAAC;AAkBzF,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,EAAwD,CAAC;AAE7G,aAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,iBAAiB,CAAC,yBAAyB,CASnF,CAAC;AAEF,aAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAwBrE,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,iBAsD/B,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FocusZone2D = exports.GridOfButtons = exports.FocusZoneListWrapper = exports.FocusZoneDirections = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ var react_native_1 = require("react-native");
7
+ var react_native_2 = require("@fluentui/react-native");
8
+ var switch_1 = require("@fluentui-react-native/switch");
9
+ var button_1 = require("@fluentui-react-native/button");
10
+ var styles_1 = require("../Common/styles");
11
+ var consts_1 = require("./consts");
12
+ var styles_2 = require("./styles");
13
+ exports.FocusZoneDirections = ['bidirectional', 'horizontal', 'vertical', 'none'];
14
+ var FocusZoneListWrapper = function (_a) {
15
+ var beforeID = _a.beforeID, afterID = _a.afterID, children = _a.children;
16
+ var buttonProps = { children: 'Click to Focus', style: styles_2.focusZoneTestStyles.listWrapperButton };
17
+ return (react_1.default.createElement(react_1.default.Fragment, null,
18
+ react_1.default.createElement(button_1.ButtonV1, (0, tslib_1.__assign)({}, buttonProps, { testID: beforeID })),
19
+ children,
20
+ react_1.default.createElement(button_1.ButtonV1, (0, tslib_1.__assign)({}, buttonProps, { testID: afterID }))));
21
+ };
22
+ exports.FocusZoneListWrapper = FocusZoneListWrapper;
23
+ var GridOfButtons = function (props) {
24
+ return (react_1.default.createElement(react_native_1.View, { style: styles_2.focusZoneTestStyles.dashedBorder }, (0, tslib_1.__spreadArray)([], Array(props.gridHeight), true).map(function (_value, heightIndex) {
25
+ return (react_1.default.createElement(react_native_1.View, { key: heightIndex, style: styles_2.focusZoneTestStyles.focusZoneViewStyle }, (0, tslib_1.__spreadArray)([], Array(props.gridWidth), true).map(function (_value, widthIndex) {
26
+ var gridIndex = heightIndex * props.gridWidth + widthIndex + 1;
27
+ return (react_1.default.createElement(styles_2.GridButton, { testID: props.e2etesting ? (0, consts_1.FOCUSZONE_GRID_BUTTON)(gridIndex) : undefined, key: widthIndex, style: styles_2.focusZoneTestStyles.focusZoneButton, componentRef: gridIndex === props.tabbableIdx ? props.tabRef : undefined },
28
+ react_1.default.createElement(react_native_2.Text, null, gridIndex)));
29
+ })));
30
+ })));
31
+ };
32
+ exports.GridOfButtons = GridOfButtons;
33
+ var FocusZone2D = function () {
34
+ var _a = react_1.default.useState(false), is2DNav = _a[0], set2dNav = _a[1];
35
+ var _b = react_1.default.useState(false), isDisabled = _b[0], setDisabled = _b[1];
36
+ var _c = react_1.default.useState(false), isCircularNav = _c[0], setIsCircularNav = _c[1];
37
+ var _d = react_1.default.useState(false), useDeffaultTabbableElement = _d[0], setUseDeffaultTabbableElement = _d[1];
38
+ var _e = react_1.default.useState('bidirectional'), direction = _e[0], setDirection = _e[1];
39
+ var tabbableRef = react_1.default.useRef(null);
40
+ return (react_1.default.createElement(react_native_1.View, { style: styles_1.commonTestStyles.root },
41
+ react_1.default.createElement(react_native_1.View, { style: styles_1.commonTestStyles.settings },
42
+ react_1.default.createElement(react_native_2.Text, { variant: "subheaderSemibold", testID: consts_1.FOCUSZONE_TEST_COMPONENT }, "FocusZone Direction"),
43
+ react_1.default.createElement(react_native_2.MenuButton, { testID: consts_1.FOCUSZONE_DIRECTION_PICKER, content: "Current direction: ".concat(direction), menuItems: exports.FocusZoneDirections.map(function (dir) { return ({
44
+ itemKey: dir,
45
+ text: dir,
46
+ testID: (0, consts_1.FOCUSZONE_DIRECTION_ID)(dir),
47
+ }); }), onItemClick: function (dir) { return setDirection(dir); } }),
48
+ react_1.default.createElement(switch_1.Switch, { testID: consts_1.FOCUSZONE_TWO_DIM_SWITCH, label: "2D Navigation", checked: is2DNav, onChange: function (_, checked) { return set2dNav(checked); } }),
49
+ react_1.default.createElement(switch_1.Switch, { testID: consts_1.FOCUSZONE_DISABLED_SWITCH, label: "Disabled", checked: isDisabled, onChange: function (_, checked) { return setDisabled(checked); } }),
50
+ react_1.default.createElement(switch_1.Switch, { testID: consts_1.FOCUSZONE_CIRCLE_NAV_SWITCH, label: "Circular Navigation", checked: isCircularNav, onChange: function (_, checked) { return setIsCircularNav(checked); } }),
51
+ react_1.default.createElement(switch_1.Switch, { testID: consts_1.FOCUSZONE_DEFAULT_TABBABLE_SWITCH, label: "Use Default Tabbable Element", checked: useDeffaultTabbableElement, onChange: function (_, checked) { return setUseDeffaultTabbableElement(checked); } })),
52
+ react_1.default.createElement(exports.FocusZoneListWrapper, { beforeID: consts_1.FOCUSZONE_GRID_BEFORE, afterID: consts_1.FOCUSZONE_GRID_AFTER },
53
+ react_1.default.createElement(react_native_2.FocusZone, { disabled: isDisabled, use2DNavigation: is2DNav, focusZoneDirection: direction, isCircularNavigation: isCircularNav, defaultTabbableElement: useDeffaultTabbableElement ? tabbableRef : undefined },
54
+ react_1.default.createElement(exports.GridOfButtons, { gridWidth: 3, gridHeight: 3, tabRef: tabbableRef, tabbableIdx: 4, e2etesting: true })))));
55
+ };
56
+ exports.FocusZone2D = FocusZone2D;
57
+ //# sourceMappingURL=FocusZoneE2ETest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusZoneE2ETest.js","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/FocusZoneE2ETest.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FocusZoneTest.d.ts","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/FocusZoneTest.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuO/B,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,iBAUjC,CAAC"}
1
+ {"version":3,"file":"FocusZoneTest.d.ts","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/FocusZoneTest.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgJ/B,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,iBAUjC,CAAC"}
@@ -10,21 +10,33 @@ var experimental_checkbox_1 = require("@fluentui-react-native/experimental-check
10
10
  var Test_1 = require("../Test");
11
11
  var consts_1 = require("./consts");
12
12
  var styles_1 = require("./styles");
13
- var styles_2 = require("../Common/styles");
13
+ var FocusZoneE2ETest_1 = require("./FocusZoneE2ETest");
14
14
  var MenuPicker_1 = require("../Common/MenuPicker");
15
- var FocusZoneDirections = ['bidirectional', 'horizontal', 'vertical', 'none'];
16
- var directionCollection = FocusZoneDirections.map(function (x) { return ({
17
- label: x,
18
- value: x,
19
- }); });
15
+ var directionCollection = FocusZoneE2ETest_1.FocusZoneDirections.map(function (dir) { return ({ label: dir, value: dir }); });
20
16
  var Checkboxes = function (props) {
21
17
  return (React.createElement(react_native_1.View, { style: styles_1.focusZoneTestStyles.dashedBorder },
22
18
  React.createElement(experimental_checkbox_1.Checkbox, (0, tslib_1.__assign)({ label: "Option A" }, props)),
23
19
  React.createElement(experimental_checkbox_1.Checkbox, (0, tslib_1.__assign)({ label: "Option B" }, props)),
24
20
  React.createElement(experimental_checkbox_1.Checkbox, (0, tslib_1.__assign)({ label: "Option C" }, props))));
25
21
  };
22
+ var DirectionalFocusZone = function () {
23
+ var _a = React.useState('none'), direction = _a[0], setDirection = _a[1];
24
+ return (React.createElement(React.Fragment, null,
25
+ React.createElement(MenuPicker_1.MenuPicker, { prompt: "Direction", selected: direction, onChange: setDirection, collection: directionCollection }),
26
+ React.createElement(react_native_2.FocusZone, { focusZoneDirection: direction },
27
+ React.createElement(Checkboxes, null))));
28
+ };
29
+ var CommonUsageFocusZone = function () {
30
+ return (React.createElement(FocusZoneE2ETest_1.FocusZoneListWrapper, null,
31
+ React.createElement(react_native_2.FocusZone, { isCircularNavigation: true },
32
+ React.createElement(styles_1.SubheaderText, null, "FocusZone with Circular Navigation"),
33
+ React.createElement(Checkboxes, null)),
34
+ React.createElement(react_native_2.FocusZone, { disabled: true },
35
+ React.createElement(styles_1.SubheaderText, null, "Disabled FocusZone"),
36
+ React.createElement(Checkboxes, null))));
37
+ };
26
38
  var FocusZoneInsideScrollView = function () {
27
- return (React.createElement(FocusZoneListWrapper, null,
39
+ return (React.createElement(FocusZoneE2ETest_1.FocusZoneListWrapper, null,
28
40
  React.createElement(react_native_2.FocusZone, { focusZoneDirection: "bidirectional" },
29
41
  React.createElement(react_native_1.View, { style: styles_1.focusZoneTestStyles.dashedBorder },
30
42
  React.createElement(button_1.ButtonV1, { style: styles_1.focusZoneTestStyles.listWrapperButton }, "Inside Focus Zone"),
@@ -42,89 +54,29 @@ var FocusZoneNoProps = function () {
42
54
  React.createElement(Checkboxes, null)));
43
55
  };
44
56
  var NestedFocusZone = function () {
45
- return (React.createElement(FocusZoneListWrapper, null,
57
+ return (React.createElement(FocusZoneE2ETest_1.FocusZoneListWrapper, null,
46
58
  React.createElement(React.Fragment, null,
47
59
  React.createElement(react_native_2.Text, null, "Parent FocusZone, vertical"),
48
60
  React.createElement(react_native_1.View, { style: styles_1.focusZoneTestStyles.nestedFocusZoneStyle },
49
61
  React.createElement(react_native_2.FocusZone, { focusZoneDirection: "vertical" },
50
62
  React.createElement(react_native_2.Text, null, "Inner FocusZone 1, horizontal"),
51
63
  React.createElement(react_native_2.FocusZone, { focusZoneDirection: "horizontal" },
52
- React.createElement(GridOfButtons, { gridWidth: 3, gridHeight: 1 })),
64
+ React.createElement(FocusZoneE2ETest_1.GridOfButtons, { gridWidth: 3, gridHeight: 1 })),
53
65
  React.createElement(react_native_2.Text, null, "Inner FocusZone 2, horizontal"),
54
66
  React.createElement(react_native_2.FocusZone, { focusZoneDirection: "horizontal" },
55
- React.createElement(GridOfButtons, { gridWidth: 3, gridHeight: 1 })),
67
+ React.createElement(FocusZoneE2ETest_1.GridOfButtons, { gridWidth: 3, gridHeight: 1 })),
56
68
  React.createElement(button_1.ButtonV1, null, "Inside Focus Zone"))))));
57
69
  };
58
- var FocusZoneListWrapper = function (props) {
59
- var buttonProps = { children: 'Click to Focus', style: styles_1.focusZoneTestStyles.listWrapperButton };
60
- return (React.createElement(React.Fragment, null,
61
- React.createElement(button_1.ButtonV1, (0, tslib_1.__assign)({}, buttonProps)),
62
- React.Children.map(props.children, function (child) {
63
- return (React.createElement(React.Fragment, null,
64
- child,
65
- React.createElement(button_1.ButtonV1, (0, tslib_1.__assign)({}, buttonProps))));
66
- })));
67
- };
68
- var DirectionalFocusZone = function () {
69
- var _a = React.useState('none'), direction = _a[0], setDirection = _a[1];
70
- return (React.createElement(React.Fragment, null,
71
- React.createElement(MenuPicker_1.MenuPicker, { prompt: "Direction", selected: direction, onChange: setDirection, collection: directionCollection }),
72
- React.createElement(react_native_2.FocusZone, { focusZoneDirection: direction },
73
- React.createElement(Checkboxes, null))));
74
- };
75
- var CommonUsageFocusZone = function () {
76
- return (React.createElement(FocusZoneListWrapper, null,
77
- React.createElement(react_native_2.FocusZone, { isCircularNavigation: true },
78
- React.createElement(styles_1.SubheaderText, null, "FocusZone with Circular Navigation"),
79
- React.createElement(Checkboxes, null)),
80
- React.createElement(react_native_2.FocusZone, { disabled: true },
81
- React.createElement(styles_1.SubheaderText, null, "Disabled FocusZone"),
82
- React.createElement(Checkboxes, null))));
83
- };
84
- var GridOfButtons = function (props) {
85
- return (React.createElement(react_native_1.View, { style: styles_1.focusZoneTestStyles.dashedBorder }, (0, tslib_1.__spreadArray)([], Array(props.gridHeight), true).map(function (_value, heightIndex) {
86
- return (React.createElement(react_native_1.View, { key: heightIndex, style: styles_1.focusZoneTestStyles.focusZoneViewStyle }, (0, tslib_1.__spreadArray)([], Array(props.gridWidth), true).map(function (_value, widthIndex) {
87
- var gridIndex = heightIndex * props.gridWidth + widthIndex + 1;
88
- return (React.createElement(styles_1.GridButton, { key: widthIndex, style: styles_1.focusZoneTestStyles.focusZoneButton },
89
- React.createElement(react_native_2.Text, null, gridIndex)));
90
- })));
91
- })));
92
- };
93
- function SwitchWithLabel(props) {
94
- var label = props.label, value = props.value, onValueChange = props.onValueChange;
95
- return (React.createElement(react_native_1.View, { style: styles_2.commonTestStyles.switch },
96
- React.createElement(react_native_2.Text, null, label),
97
- React.createElement(react_native_1.Switch, { value: value, onValueChange: onValueChange })));
98
- }
99
- var FocusZone2D = function () {
100
- var _a = React.useState(false), is2DNav = _a[0], set2dNav = _a[1];
101
- var _b = React.useState(false), isDisabled = _b[0], setDisabled = _b[1];
102
- var _c = React.useState(false), isCircularNav = _c[0], setIsCircularNav = _c[1];
103
- var _d = React.useState('bidirectional'), direction = _d[0], setDirection = _d[1];
104
- return (React.createElement(react_native_1.View, { style: styles_2.commonTestStyles.root },
105
- React.createElement(react_native_1.View, { style: styles_2.commonTestStyles.settings },
106
- React.createElement(SwitchWithLabel, { label: "2D Navigation", value: is2DNav, onValueChange: set2dNav }),
107
- React.createElement(SwitchWithLabel, { label: "Disabled", value: isDisabled, onValueChange: setDisabled }),
108
- React.createElement(SwitchWithLabel, { label: "Circular Navigation", value: isCircularNav, onValueChange: setIsCircularNav }),
109
- React.createElement(MenuPicker_1.MenuPicker, { prompt: "Direction", selected: direction, onChange: setDirection, collection: directionCollection })),
110
- React.createElement(FocusZoneListWrapper, null,
111
- React.createElement(react_native_2.FocusZone, { disabled: isDisabled, use2DNavigation: is2DNav, focusZoneDirection: direction, isCircularNavigation: isCircularNav },
112
- React.createElement(GridOfButtons, { gridWidth: 3, gridHeight: 3 })))));
113
- };
114
70
  var focusZoneSections = [
115
71
  {
116
72
  name: 'Common FocusZone Usage',
117
73
  component: CommonUsageFocusZone,
74
+ testID: consts_1.FOCUSZONE_TESTPAGE,
118
75
  },
119
76
  {
120
77
  name: 'Directional FocusZone Usage',
121
- testID: consts_1.FOCUSZONE_TESTPAGE,
122
78
  component: DirectionalFocusZone,
123
79
  },
124
- {
125
- name: '2D Navigation',
126
- component: FocusZone2D,
127
- },
128
80
  {
129
81
  name: 'ScrollView inside FocusZone',
130
82
  component: FocusZoneInsideScrollView,
@@ -141,6 +93,10 @@ var focusZoneSections = [
141
93
  name: 'Nested FocusZone',
142
94
  component: NestedFocusZone,
143
95
  },
96
+ {
97
+ name: '2D Navigation + E2E Testing',
98
+ component: FocusZoneE2ETest_1.FocusZone2D,
99
+ },
144
100
  ];
145
101
  var FocusZoneTest = function () {
146
102
  var status = {
@@ -1 +1 @@
1
- {"version":3,"file":"FocusZoneTest.js","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/FocusZoneTest.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FocusZoneTest.js","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/FocusZoneTest.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
+ import { FocusZoneDirection } from '@fluentui/react-native';
1
2
  export declare const HOMEPAGE_FOCUSZONE_BUTTON = "Homepage_FocusZone_Button";
2
3
  export declare const FOCUSZONE_TESTPAGE = "FocusZone_TestPage";
3
4
  export declare const FOCUSZONE_TEST_COMPONENT = "FocusZone_Test_Component";
4
5
  export declare const FOCUSZONE_SECOND_TEST_COMPONENT = "FocusZone_Second_Test_Component";
6
+ export declare const FOCUSZONE_GRID_BEFORE = "FocusZone_Grid_Before";
7
+ export declare const FOCUSZONE_GRID_AFTER = "FocusZone_Grid_After";
8
+ export declare const FOCUSZONE_GRID_BUTTON: (idx: number) => string;
9
+ export declare const FOCUSZONE_TWO_DIM_SWITCH = "FocusZone_2D_Switch";
10
+ export declare const FOCUSZONE_DISABLED_SWITCH = "FocusZone_Disabled_Switch";
11
+ export declare const FOCUSZONE_DEFAULT_TABBABLE_SWITCH = "FocusZone_Default_Tabbable_Switch";
12
+ export declare const FOCUSZONE_CIRCLE_NAV_SWITCH = "FocusZone_Circular_Navigation_Switch";
13
+ export declare const FOCUSZONE_DIRECTION_PICKER = "FocusZone_Direction_Picker";
14
+ export declare const FOCUSZONE_DIRECTION_ID: (direction: FocusZoneDirection) => string;
5
15
  //# sourceMappingURL=consts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/consts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AACrE,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAGvD,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAGnE,eAAO,MAAM,+BAA+B,oCAAoC,CAAC"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AACrE,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAGvD,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAGnE,eAAO,MAAM,+BAA+B,oCAAoC,CAAC;AAGjF,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAC7D,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAG3D,eAAO,MAAM,qBAAqB,QAAS,MAAM,WAAkC,CAAC;AAEpF,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAC9D,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AACrE,eAAO,MAAM,iCAAiC,sCAAsC,CAAC;AACrF,eAAO,MAAM,2BAA2B,yCAAyC,CAAC;AAElF,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AACvE,eAAO,MAAM,sBAAsB,cAAe,kBAAkB,WAA2C,CAAC"}
@@ -1,10 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FOCUSZONE_SECOND_TEST_COMPONENT = exports.FOCUSZONE_TEST_COMPONENT = exports.FOCUSZONE_TESTPAGE = exports.HOMEPAGE_FOCUSZONE_BUTTON = void 0;
3
+ exports.FOCUSZONE_DIRECTION_ID = exports.FOCUSZONE_DIRECTION_PICKER = exports.FOCUSZONE_CIRCLE_NAV_SWITCH = exports.FOCUSZONE_DEFAULT_TABBABLE_SWITCH = exports.FOCUSZONE_DISABLED_SWITCH = exports.FOCUSZONE_TWO_DIM_SWITCH = exports.FOCUSZONE_GRID_BUTTON = exports.FOCUSZONE_GRID_AFTER = exports.FOCUSZONE_GRID_BEFORE = exports.FOCUSZONE_SECOND_TEST_COMPONENT = exports.FOCUSZONE_TEST_COMPONENT = exports.FOCUSZONE_TESTPAGE = exports.HOMEPAGE_FOCUSZONE_BUTTON = void 0;
4
4
  exports.HOMEPAGE_FOCUSZONE_BUTTON = 'Homepage_FocusZone_Button';
5
5
  exports.FOCUSZONE_TESTPAGE = 'FocusZone_TestPage';
6
6
  /* E2E Testing FocusZone 1 */
7
7
  exports.FOCUSZONE_TEST_COMPONENT = 'FocusZone_Test_Component'; // A component on each specific test page
8
8
  /* E2E Testing FocusZone 2 */
9
9
  exports.FOCUSZONE_SECOND_TEST_COMPONENT = 'FocusZone_Second_Test_Component';
10
+ /* FocusZone List Wrapper Buttons Keys */
11
+ exports.FOCUSZONE_GRID_BEFORE = 'FocusZone_Grid_Before';
12
+ exports.FOCUSZONE_GRID_AFTER = 'FocusZone_Grid_After';
13
+ /* Grid Button Test IDs */
14
+ var FOCUSZONE_GRID_BUTTON = function (idx) { return "FocusZone_GridButton_".concat(idx); };
15
+ exports.FOCUSZONE_GRID_BUTTON = FOCUSZONE_GRID_BUTTON;
16
+ exports.FOCUSZONE_TWO_DIM_SWITCH = 'FocusZone_2D_Switch';
17
+ exports.FOCUSZONE_DISABLED_SWITCH = 'FocusZone_Disabled_Switch';
18
+ exports.FOCUSZONE_DEFAULT_TABBABLE_SWITCH = 'FocusZone_Default_Tabbable_Switch';
19
+ exports.FOCUSZONE_CIRCLE_NAV_SWITCH = 'FocusZone_Circular_Navigation_Switch';
20
+ exports.FOCUSZONE_DIRECTION_PICKER = 'FocusZone_Direction_Picker';
21
+ var FOCUSZONE_DIRECTION_ID = function (direction) { return "FocusZone_Direction_Opt_".concat(direction); };
22
+ exports.FOCUSZONE_DIRECTION_ID = FOCUSZONE_DIRECTION_ID;
10
23
  //# sourceMappingURL=consts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AACxD,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAEvD,6BAA6B;AAChB,QAAA,wBAAwB,GAAG,0BAA0B,CAAC,CAAC,yCAAyC;AAE7G,6BAA6B;AAChB,QAAA,+BAA+B,GAAG,iCAAiC,CAAC"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/consts.ts"],"names":[],"mappings":";;;AAEa,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AACxD,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAEvD,6BAA6B;AAChB,QAAA,wBAAwB,GAAG,0BAA0B,CAAC,CAAC,yCAAyC;AAE7G,6BAA6B;AAChB,QAAA,+BAA+B,GAAG,iCAAiC,CAAC;AAEjF,yCAAyC;AAC5B,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAChD,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D,0BAA0B;AACnB,IAAM,qBAAqB,GAAG,UAAC,GAAW,IAAK,OAAA,+BAAwB,GAAG,CAAE,EAA7B,CAA6B,CAAC;AAAvE,QAAA,qBAAqB,yBAAkD;AAEvE,QAAA,wBAAwB,GAAG,qBAAqB,CAAC;AACjD,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AACxD,QAAA,iCAAiC,GAAG,mCAAmC,CAAC;AACxE,QAAA,2BAA2B,GAAG,sCAAsC,CAAC;AAErE,QAAA,0BAA0B,GAAG,4BAA4B,CAAC;AAChE,IAAM,sBAAsB,GAAG,UAAC,SAA6B,IAAK,OAAA,kCAA2B,SAAS,CAAE,EAAtC,CAAsC,CAAC;AAAnG,QAAA,sBAAsB,0BAA6E"}
@@ -22,6 +22,11 @@ export declare const focusZoneTestStyles: {
22
22
  borderWidth: number;
23
23
  borderStyle: "dashed";
24
24
  };
25
+ radioGroup: {
26
+ display: "flex";
27
+ flexDirection: "row";
28
+ fontSize: number;
29
+ };
25
30
  scrollViewStyle: {
26
31
  height: number;
27
32
  width: number;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC9B,CAAC;AAEH,eAAO,MAAM,UAAU,iRAWrB,CAAC;AAEH,eAAO,MAAM,aAAa;;yQAGxB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC9B,CAAC;AAEH,eAAO,MAAM,UAAU,iRAWrB,CAAC;AAEH,eAAO,MAAM,aAAa;;yQAGxB,CAAC"}
@@ -29,6 +29,11 @@ exports.focusZoneTestStyles = react_native_1.StyleSheet.create({
29
29
  borderWidth: 1,
30
30
  borderStyle: 'dashed',
31
31
  },
32
+ radioGroup: {
33
+ display: 'flex',
34
+ flexDirection: 'row',
35
+ fontSize: 12,
36
+ },
32
37
  scrollViewStyle: {
33
38
  height: 100,
34
39
  width: 300,
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/styles.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAChD,uDAA8C;AAC9C,wDAAmE;AACnE,oDAAmD;AAEtC,QAAA,mBAAmB,GAAG,yBAAU,CAAC,MAAM,CAAC;IACnD,kBAAkB,EAAE;QAClB,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,EAAE;KACZ;IACD,oBAAoB,EAAE;QACpB,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;KACV;IACD,eAAe,EAAE;QACf,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,EAAE;KACX;IACD,iBAAiB,EAAE;QACjB,cAAc,EAAE,EAAE;KACnB;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,QAAQ;KACtB;IACD,eAAe,EAAE;QACf,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,GAAG;KACX;IACD,sBAAsB,EAAE;QACtB,eAAe,EAAE,MAAM;KACxB;IACD,gBAAgB,EAAE;QAChB,gBAAgB,EAAE,EAAE;QACpB,YAAY,EAAE,GAAG;KAClB;CACF,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,iBAAM,CAAC,OAAO,CAAC;IACvC,KAAK,EAAE;QACL,IAAI,EAAE,mBAAI;QACV,IAAI,EAAE,WAAI;QACV,OAAO,EAAE,mBAAI;KACd;IACD,SAAS,EAAE;QACT,OAAO,EAAE;YACP,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE;SAC1E;KACF;CACF,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,mBAAI,CAAC,SAAS,CAAC;IAC1C,MAAM,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;IACxC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE;CACrD,CAAC,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/TestComponents/FocusZone/styles.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAChD,uDAA8C;AAC9C,wDAAmE;AACnE,oDAAmD;AAEtC,QAAA,mBAAmB,GAAG,yBAAU,CAAC,MAAM,CAAC;IACnD,kBAAkB,EAAE;QAClB,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,EAAE;KACZ;IACD,oBAAoB,EAAE;QACpB,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;KACV;IACD,eAAe,EAAE;QACf,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,EAAE;KACX;IACD,iBAAiB,EAAE;QACjB,cAAc,EAAE,EAAE;KACnB;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,QAAQ;KACtB;IACD,UAAU,EAAE;QACV,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,EAAE;KACb;IACD,eAAe,EAAE;QACf,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,GAAG;KACX;IACD,sBAAsB,EAAE;QACtB,eAAe,EAAE,MAAM;KACxB;IACD,gBAAgB,EAAE;QAChB,gBAAgB,EAAE,EAAE;QACpB,YAAY,EAAE,GAAG;KAClB;CACF,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,iBAAM,CAAC,OAAO,CAAC;IACvC,KAAK,EAAE;QACL,IAAI,EAAE,mBAAI;QACV,IAAI,EAAE,WAAI;QACV,OAAO,EAAE,mBAAI;KACd;IACD,SAAS,EAAE;QACT,OAAO,EAAE;YACP,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE;SAC1E;KACF;CACF,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,mBAAI,CAAC,SAAS,CAAC;IAC1C,MAAM,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;IACxC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE;CACrD,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui-react-native/tester",
3
- "version": "0.101.6",
3
+ "version": "0.101.7",
4
4
  "description": "A test app to test FluentUI React Native Components during development",
5
5
  "license": "MIT",
6
6
  "author": "Microsoft <fluentuinativeowners@microsoft.com>",
@@ -1,12 +1,115 @@
1
- import { FOCUSZONE_TESTPAGE, FOCUSZONE_TEST_COMPONENT, HOMEPAGE_FOCUSZONE_BUTTON } from '../../../TestComponents/FocusZone/consts';
1
+ import { FocusZoneDirection } from '@fluentui/react-native';
2
+ import { Attribute, AttributeValue, Keys } from '../../common/consts';
3
+ import {
4
+ FOCUSZONE_CIRCLE_NAV_SWITCH,
5
+ FOCUSZONE_DEFAULT_TABBABLE_SWITCH,
6
+ FOCUSZONE_DIRECTION_ID,
7
+ FOCUSZONE_DIRECTION_PICKER,
8
+ FOCUSZONE_DISABLED_SWITCH,
9
+ FOCUSZONE_GRID_AFTER,
10
+ FOCUSZONE_GRID_BEFORE,
11
+ FOCUSZONE_GRID_BUTTON,
12
+ FOCUSZONE_TESTPAGE,
13
+ FOCUSZONE_TEST_COMPONENT,
14
+ FOCUSZONE_TWO_DIM_SWITCH,
15
+ HOMEPAGE_FOCUSZONE_BUTTON,
16
+ } from '../../../TestComponents/FocusZone/consts';
2
17
  import { BasePage, By } from '../../common/BasePage';
3
18
 
19
+ export const enum GridFocusZoneOption {
20
+ SetDirection = 0,
21
+ Set2DNavigation,
22
+ SetCircularNavigation,
23
+ UseDefaultTabbableElement,
24
+ Disable,
25
+ }
26
+
27
+ export const enum GridButtonSelector {
28
+ Before = 0,
29
+ One,
30
+ Two,
31
+ Three,
32
+ Four,
33
+ Five,
34
+ Six,
35
+ Seven,
36
+ Eight,
37
+ Nine,
38
+ After,
39
+ }
40
+
41
+ type BooleanGridFocusZoneOption =
42
+ | GridFocusZoneOption.UseDefaultTabbableElement
43
+ | GridFocusZoneOption.Set2DNavigation
44
+ | GridFocusZoneOption.SetCircularNavigation
45
+ | GridFocusZoneOption.Disable;
46
+
4
47
  class FocusZonePageObject extends BasePage {
5
- // OVERRIDE: We use isExisting() here instead of isDisplayed() because FocusZone does not have any UI to it, it's simply
6
- // a wrapper that adds keyboard focus functionality
7
48
  async waitForPrimaryElementDisplayed(timeout?: number): Promise<void> {
8
49
  const errorMsg = 'The FocusZone UI Element did not load correctly. Please see logs.';
9
- await this.waitForCondition(async () => await this._primaryComponent.isExisting(), errorMsg, timeout);
50
+ await this.waitForCondition(async () => await this._primaryComponent.isDisplayed(), errorMsg, timeout);
51
+ }
52
+
53
+ async resetTest() {
54
+ await this.configureGridFocusZone(GridFocusZoneOption.SetDirection, 'bidirectional');
55
+ await this.configureGridFocusZone(GridFocusZoneOption.Set2DNavigation, false);
56
+ await this.configureGridFocusZone(GridFocusZoneOption.SetCircularNavigation, false);
57
+ await this.configureGridFocusZone(GridFocusZoneOption.Disable, false);
58
+ }
59
+
60
+ async configureGridFocusZone(option: GridFocusZoneOption.SetDirection, direction: FocusZoneDirection);
61
+ async configureGridFocusZone(option: BooleanGridFocusZoneOption, value: boolean);
62
+ async configureGridFocusZone(option: GridFocusZoneOption, arg: any): Promise<void> {
63
+ let switchElement: WebdriverIO.Element;
64
+ switch (option) {
65
+ case GridFocusZoneOption.SetDirection:
66
+ await (await this._directionPicker).click();
67
+ await browser.waitUntil(async () => await (await this._getGridFocusZoneMenuOption(arg)).isDisplayed());
68
+ await (await this._getGridFocusZoneMenuOption(arg)).click();
69
+ return;
70
+ case GridFocusZoneOption.Set2DNavigation:
71
+ switchElement = await this._twoDimSwitch;
72
+ break;
73
+ case GridFocusZoneOption.SetCircularNavigation:
74
+ switchElement = await this._circleNavSwitch;
75
+ break;
76
+ case GridFocusZoneOption.UseDefaultTabbableElement:
77
+ switchElement = await this._defaultTabbableElementSwitch;
78
+ break;
79
+ case GridFocusZoneOption.Disable:
80
+ switchElement = await this._disabledSwitch;
81
+ break;
82
+ default:
83
+ }
84
+ const switchValue = await switchElement.isSelected();
85
+ if (switchValue !== arg) {
86
+ await switchElement.click();
87
+ }
88
+ }
89
+
90
+ async sendKeys(selector: GridButtonSelector, keys: Keys[]): Promise<void> {
91
+ const btn = await this._getGridButton(selector);
92
+ await btn.addValue(keys);
93
+ }
94
+
95
+ async gridButtonIsFocused(selector: GridButtonSelector): Promise<boolean> {
96
+ const btn = await this._getGridButton(selector);
97
+ return (await this.getElementAttribute(btn, Attribute.IsFocused)) === AttributeValue.true;
98
+ }
99
+
100
+ private async _getGridButton(selector: GridButtonSelector): Promise<WebdriverIO.Element> {
101
+ switch (selector) {
102
+ case GridButtonSelector.Before:
103
+ return await this._gridBeforeButton;
104
+ case GridButtonSelector.After:
105
+ return await this._gridAfterButton;
106
+ default:
107
+ return await By(FOCUSZONE_GRID_BUTTON(selector));
108
+ }
109
+ }
110
+
111
+ private async _getGridFocusZoneMenuOption(direction: FocusZoneDirection) {
112
+ return await By(FOCUSZONE_DIRECTION_ID(direction));
10
113
  }
11
114
 
12
115
  /*****************************************/
@@ -27,6 +130,34 @@ class FocusZonePageObject extends BasePage {
27
130
  get _pageButton() {
28
131
  return By(HOMEPAGE_FOCUSZONE_BUTTON);
29
132
  }
133
+
134
+ get _directionPicker() {
135
+ return By(FOCUSZONE_DIRECTION_PICKER);
136
+ }
137
+
138
+ get _twoDimSwitch() {
139
+ return By(FOCUSZONE_TWO_DIM_SWITCH);
140
+ }
141
+
142
+ get _disabledSwitch() {
143
+ return By(FOCUSZONE_DISABLED_SWITCH);
144
+ }
145
+
146
+ get _circleNavSwitch() {
147
+ return By(FOCUSZONE_CIRCLE_NAV_SWITCH);
148
+ }
149
+
150
+ get _defaultTabbableElementSwitch() {
151
+ return By(FOCUSZONE_DEFAULT_TABBABLE_SWITCH);
152
+ }
153
+
154
+ get _gridBeforeButton() {
155
+ return By(FOCUSZONE_GRID_BEFORE);
156
+ }
157
+
158
+ get _gridAfterButton() {
159
+ return By(FOCUSZONE_GRID_AFTER);
160
+ }
30
161
  }
31
162
 
32
163
  export default new FocusZonePageObject();