@fluentui/react-tabster 0.0.0-nightlya372ad979820211103.1 → 0.0.0-nightlya54302c0b220211124.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 (44) hide show
  1. package/CHANGELOG.json +61 -14
  2. package/CHANGELOG.md +22 -9
  3. package/dist/react-tabster.d.ts +2 -17
  4. package/lib/hooks/useArrowNavigationGroup.js +2 -2
  5. package/lib/hooks/useArrowNavigationGroup.js.map +1 -1
  6. package/lib/hooks/useFocusFinders.js +23 -33
  7. package/lib/hooks/useFocusFinders.js.map +1 -1
  8. package/lib/hooks/useFocusIndicatorStyle.js +34 -47
  9. package/lib/hooks/useFocusIndicatorStyle.js.map +1 -1
  10. package/lib/hooks/useFocusableGroup.d.ts +2 -16
  11. package/lib/hooks/useFocusableGroup.js +19 -22
  12. package/lib/hooks/useFocusableGroup.js.map +1 -1
  13. package/lib/hooks/useKeyboardNavAttribute.js +9 -11
  14. package/lib/hooks/useKeyboardNavAttribute.js.map +1 -1
  15. package/lib/hooks/useModalAttributes.js +12 -14
  16. package/lib/hooks/useModalAttributes.js.map +1 -1
  17. package/lib/hooks/useTabster.js +8 -5
  18. package/lib/hooks/useTabster.js.map +1 -1
  19. package/lib/hooks/useTabsterAttributes.js +1 -1
  20. package/lib/hooks/useTabsterAttributes.js.map +1 -1
  21. package/lib/symbols.js +2 -2
  22. package/lib/symbols.js.map +1 -1
  23. package/lib-commonjs/hooks/index.js +1 -1
  24. package/lib-commonjs/hooks/useArrowNavigationGroup.js +5 -5
  25. package/lib-commonjs/hooks/useArrowNavigationGroup.js.map +1 -1
  26. package/lib-commonjs/hooks/useFocusFinders.js +25 -35
  27. package/lib-commonjs/hooks/useFocusFinders.js.map +1 -1
  28. package/lib-commonjs/hooks/useFocusIndicatorStyle.js +35 -49
  29. package/lib-commonjs/hooks/useFocusIndicatorStyle.js.map +1 -1
  30. package/lib-commonjs/hooks/useFocusableGroup.d.ts +2 -16
  31. package/lib-commonjs/hooks/useFocusableGroup.js +23 -26
  32. package/lib-commonjs/hooks/useFocusableGroup.js.map +1 -1
  33. package/lib-commonjs/hooks/useKeyboardNavAttribute.js +13 -15
  34. package/lib-commonjs/hooks/useKeyboardNavAttribute.js.map +1 -1
  35. package/lib-commonjs/hooks/useModalAttributes.js +16 -18
  36. package/lib-commonjs/hooks/useModalAttributes.js.map +1 -1
  37. package/lib-commonjs/hooks/useTabster.js +10 -7
  38. package/lib-commonjs/hooks/useTabster.js.map +1 -1
  39. package/lib-commonjs/hooks/useTabsterAttributes.js +3 -3
  40. package/lib-commonjs/hooks/useTabsterAttributes.js.map +1 -1
  41. package/lib-commonjs/index.js +1 -1
  42. package/lib-commonjs/symbols.js +1 -1
  43. package/lib-commonjs/symbols.js.map +1 -1
  44. package/package.json +7 -8
package/CHANGELOG.json CHANGED
@@ -2,40 +2,87 @@
2
2
  "name": "@fluentui/react-tabster",
3
3
  "entries": [
4
4
  {
5
- "date": "Wed, 03 Nov 2021 08:24:06 GMT",
6
- "tag": "@fluentui/react-tabster_v0.0.0-nightlya372ad979820211103.1",
7
- "version": "0.0.0-nightlya372ad979820211103.1",
5
+ "date": "Wed, 24 Nov 2021 04:12:46 GMT",
6
+ "tag": "@fluentui/react-tabster_v0.0.0-nightlya54302c0b220211124.1",
7
+ "version": "0.0.0-nightlya54302c0b220211124.1",
8
8
  "comments": {
9
9
  "prerelease": [
10
10
  {
11
- "author": "email not defined",
11
+ "author": "beachball",
12
+ "package": "@fluentui/react-tabster",
13
+ "comment": "Bump @fluentui/make-styles to v0.0.0-nightlya54302c0b220211124.1",
14
+ "commit": "e3c1bd15060ac276670338660c7965b877e333f4"
15
+ },
16
+ {
17
+ "author": "beachball",
12
18
  "package": "@fluentui/react-tabster",
13
- "commit": "ff9c0a60767a2dbd1afdc71659a5daee5f2068dd",
14
- "comment": "Release nightly v9"
19
+ "comment": "Bump @fluentui/react-make-styles to v0.0.0-nightlya54302c0b220211124.1",
20
+ "commit": "e3c1bd15060ac276670338660c7965b877e333f4"
15
21
  },
16
22
  {
17
23
  "author": "beachball",
18
24
  "package": "@fluentui/react-tabster",
19
- "comment": "Bump @fluentui/make-styles to v0.0.0-nightlya372ad979820211103.1",
20
- "commit": "ff9c0a60767a2dbd1afdc71659a5daee5f2068dd"
25
+ "comment": "Bump @fluentui/react-shared-contexts to v0.0.0-nightlya54302c0b220211124.1",
26
+ "commit": "e3c1bd15060ac276670338660c7965b877e333f4"
27
+ }
28
+ ]
29
+ }
30
+ },
31
+ {
32
+ "date": "Fri, 12 Nov 2021 13:25:07 GMT",
33
+ "tag": "@fluentui/react-tabster_v9.0.0-beta.4",
34
+ "version": "9.0.0-beta.4",
35
+ "comments": {
36
+ "prerelease": [
37
+ {
38
+ "author": "andredias@microsoft.com",
39
+ "package": "@fluentui/react-tabster",
40
+ "commit": "bdd19e2bb827fc1d8eb329e6ed48cd0542048358",
41
+ "comment": "Add useFocusableGroup hook"
42
+ },
43
+ {
44
+ "author": "lingfangao@hotmail.com",
45
+ "package": "@fluentui/react-tabster",
46
+ "commit": "ed2d7c8d638535c89e24e3c3de3534c4fae30172",
47
+ "comment": "Use uncontrolled tabbing by default"
48
+ },
49
+ {
50
+ "author": "gcox@microsoft.com",
51
+ "package": "@fluentui/react-tabster",
52
+ "commit": "c9bd5b5a02ae94a8239ce1b56cac2f0d0dbd3586",
53
+ "comment": "Updated beta and RC components to ES2019"
54
+ },
55
+ {
56
+ "author": "lingfangao@hotmail.com",
57
+ "package": "@fluentui/react-tabster",
58
+ "commit": "da10ba8b6cca0c4cf921dc176bb9b7ea57fde9fa",
59
+ "comment": "Bump tabster and keyborg to 1.0.7"
21
60
  },
22
61
  {
23
62
  "author": "beachball",
24
63
  "package": "@fluentui/react-tabster",
25
- "comment": "Bump @fluentui/react-make-styles to v0.0.0-nightlya372ad979820211103.1",
26
- "commit": "ff9c0a60767a2dbd1afdc71659a5daee5f2068dd"
64
+ "comment": "Bump @fluentui/react-make-styles to v9.0.0-beta.3",
65
+ "commit": "742342e52c65066f779232e4e1302fedf0dd460d"
27
66
  },
28
67
  {
29
68
  "author": "beachball",
30
69
  "package": "@fluentui/react-tabster",
31
- "comment": "Bump @fluentui/react-shared-contexts to v0.0.0-nightlya372ad979820211103.1",
32
- "commit": "ff9c0a60767a2dbd1afdc71659a5daee5f2068dd"
70
+ "comment": "Bump @fluentui/react-shared-contexts to v9.0.0-beta.3",
71
+ "commit": "742342e52c65066f779232e4e1302fedf0dd460d"
33
72
  },
34
73
  {
35
74
  "author": "beachball",
36
75
  "package": "@fluentui/react-tabster",
37
- "comment": "Bump @fluentui/react-utilities to v0.0.0-nightlya372ad979820211103.1",
38
- "commit": "ff9c0a60767a2dbd1afdc71659a5daee5f2068dd"
76
+ "comment": "Bump @fluentui/react-utilities to v9.0.0-beta.3",
77
+ "commit": "742342e52c65066f779232e4e1302fedf0dd460d"
78
+ }
79
+ ],
80
+ "none": [
81
+ {
82
+ "author": "lingfangao@hotmail.com",
83
+ "package": "@fluentui/react-tabster",
84
+ "commit": "00f70581480b536e723fb69edf0ae617beac4807",
85
+ "comment": "Remove beta release tag"
39
86
  }
40
87
  ]
41
88
  }
package/CHANGELOG.md CHANGED
@@ -1,21 +1,34 @@
1
1
  # Change Log - @fluentui/react-tabster
2
2
 
3
- This log was last generated on Wed, 03 Nov 2021 08:24:06 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 24 Nov 2021 04:12:46 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
- ## [0.0.0-nightlya372ad979820211103.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-tabster_v0.0.0-nightlya372ad979820211103.1)
7
+ ## [0.0.0-nightlya54302c0b220211124.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-tabster_v0.0.0-nightlya54302c0b220211124.1)
8
8
 
9
- Wed, 03 Nov 2021 08:24:06 GMT
10
- [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tabster_v9.0.0-beta.3..@fluentui/react-tabster_v0.0.0-nightlya372ad979820211103.1)
9
+ Wed, 24 Nov 2021 04:12:46 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tabster_v9.0.0-beta.4..@fluentui/react-tabster_v0.0.0-nightlya54302c0b220211124.1)
11
11
 
12
12
  ### Changes
13
13
 
14
- - Release nightly v9 ([commit](https://github.com/microsoft/fluentui/commit/ff9c0a60767a2dbd1afdc71659a5daee5f2068dd) by email not defined)
15
- - Bump @fluentui/make-styles to v0.0.0-nightlya372ad979820211103.1 ([commit](https://github.com/microsoft/fluentui/commit/ff9c0a60767a2dbd1afdc71659a5daee5f2068dd) by beachball)
16
- - Bump @fluentui/react-make-styles to v0.0.0-nightlya372ad979820211103.1 ([commit](https://github.com/microsoft/fluentui/commit/ff9c0a60767a2dbd1afdc71659a5daee5f2068dd) by beachball)
17
- - Bump @fluentui/react-shared-contexts to v0.0.0-nightlya372ad979820211103.1 ([commit](https://github.com/microsoft/fluentui/commit/ff9c0a60767a2dbd1afdc71659a5daee5f2068dd) by beachball)
18
- - Bump @fluentui/react-utilities to v0.0.0-nightlya372ad979820211103.1 ([commit](https://github.com/microsoft/fluentui/commit/ff9c0a60767a2dbd1afdc71659a5daee5f2068dd) by beachball)
14
+ - Bump @fluentui/make-styles to v0.0.0-nightlya54302c0b220211124.1 ([commit](https://github.com/microsoft/fluentui/commit/e3c1bd15060ac276670338660c7965b877e333f4) by beachball)
15
+ - Bump @fluentui/react-make-styles to v0.0.0-nightlya54302c0b220211124.1 ([commit](https://github.com/microsoft/fluentui/commit/e3c1bd15060ac276670338660c7965b877e333f4) by beachball)
16
+ - Bump @fluentui/react-shared-contexts to v0.0.0-nightlya54302c0b220211124.1 ([commit](https://github.com/microsoft/fluentui/commit/e3c1bd15060ac276670338660c7965b877e333f4) by beachball)
17
+
18
+ ## [9.0.0-beta.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-tabster_v9.0.0-beta.4)
19
+
20
+ Fri, 12 Nov 2021 13:25:07 GMT
21
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tabster_v9.0.0-beta.3..@fluentui/react-tabster_v9.0.0-beta.4)
22
+
23
+ ### Changes
24
+
25
+ - Add useFocusableGroup hook ([PR #20132](https://github.com/microsoft/fluentui/pull/20132) by andredias@microsoft.com)
26
+ - Use uncontrolled tabbing by default ([PR #20571](https://github.com/microsoft/fluentui/pull/20571) by lingfangao@hotmail.com)
27
+ - Updated beta and RC components to ES2019 ([PR #20405](https://github.com/microsoft/fluentui/pull/20405) by gcox@microsoft.com)
28
+ - Bump tabster and keyborg to 1.0.7 ([PR #20593](https://github.com/microsoft/fluentui/pull/20593) by lingfangao@hotmail.com)
29
+ - Bump @fluentui/react-make-styles to v9.0.0-beta.3 ([PR #20583](https://github.com/microsoft/fluentui/pull/20583) by beachball)
30
+ - Bump @fluentui/react-shared-contexts to v9.0.0-beta.3 ([PR #20583](https://github.com/microsoft/fluentui/pull/20583) by beachball)
31
+ - Bump @fluentui/react-utilities to v9.0.0-beta.3 ([PR #20583](https://github.com/microsoft/fluentui/pull/20583) by beachball)
19
32
 
20
33
  ## [9.0.0-beta.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-tabster_v9.0.0-beta.3)
21
34
 
@@ -28,21 +28,6 @@ export declare const createFocusOutlineStyle: (theme: Theme, options?: {
28
28
  style: Partial<FocusOutlineStyleOptions>;
29
29
  } & CreateFocusIndicatorStyleRuleOptions) => MakeStyles;
30
30
 
31
- export declare enum FocusableGroupTabBehavior {
32
- /**
33
- * Tab will cycle into and out of the groupper content.
34
- */
35
- Unlimited,
36
- /**
37
- * Tab will cycle out of the container, but not into it.
38
- */
39
- Limited,
40
- /**
41
- * Tab only cycles the inner elements.
42
- */
43
- LimitedTrapFocus
44
- }
45
-
46
31
  export declare type FocusOutlineOffset = Record<'top' | 'bottom' | 'left' | 'right', string>;
47
32
 
48
33
  export declare type FocusOutlineStyleOptions = {
@@ -87,9 +72,9 @@ export declare const useFocusableGroup: (options?: UseFocusableGroupOptions | un
87
72
 
88
73
  export declare interface UseFocusableGroupOptions {
89
74
  /**
90
- * Type of TAB key interaction.
75
+ * Behavior for the Tab key.
91
76
  */
92
- tabBehavior?: FocusableGroupTabBehavior;
77
+ tabBehavior?: 'unlimited' | 'limited' | 'limitedTrapFocus';
93
78
  }
94
79
 
95
80
  /**
@@ -6,10 +6,10 @@ import { useTabster } from './useTabster';
6
6
  * @param options - Options to configure keyboard navigation
7
7
  */
8
8
 
9
- export var useArrowNavigationGroup = function (options) {
9
+ export const useArrowNavigationGroup = options => {
10
10
  var _a;
11
11
 
12
- var tabster = useTabster();
12
+ const tabster = useTabster();
13
13
 
14
14
  if (tabster) {
15
15
  getMover(tabster);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useArrowNavigationGroup.ts"],"names":[],"mappings":"AAAA,SAAS,KAAT,EAAgB,QAAhB,QAAgC,SAAhC;AACA,SAAS,oBAAT,QAAqC,wBAArC;AACA,SAAS,UAAT,QAA2B,cAA3B;AAmBA;;;AAGG;;AACH,OAAO,IAAM,uBAAuB,GAAG,UAAC,OAAD,EAAyC;;;AAC9E,MAAM,OAAO,GAAG,UAAU,EAA1B;;AAEA,MAAI,OAAJ,EAAa;AACX,IAAA,QAAQ,CAAC,OAAD,CAAR;AACD;;AAED,SAAO,oBAAoB,CAAC;AAC1B,IAAA,KAAK,EAAE;AACL,MAAA,MAAM,EAAE,CAAC,EAAC,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,QAAV,CADJ;AAEL,MAAA,SAAS,EAAE,oBAAoB,CAAA,CAAA,EAAA,GAAC,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,IAAV,MAAc,IAAd,IAAc,EAAA,KAAA,KAAA,CAAd,GAAc,EAAd,GAAkB,UAAlB,CAF1B;AAGL,MAAA,eAAe,EAAE,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE;AAHrB;AADmB,GAAD,CAA3B;AAOD,CAdM;;AAgBP,SAAS,oBAAT,CAA8B,IAA9B,EAA0E;AACxE,UAAQ,IAAR;AACE,SAAK,YAAL;AACE,aAAO,KAAK,CAAC,eAAN,CAAsB,UAA7B;;AAEF,SAAK,UAAL;AACA;AACE,aAAO,KAAK,CAAC,eAAN,CAAsB,QAA7B;AANJ;AAQD","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/useArrowNavigationGroup.ts"],"names":[],"mappings":"AAAA,SAAS,KAAT,EAAgB,QAAhB,QAAgC,SAAhC;AACA,SAAS,oBAAT,QAAqC,wBAArC;AACA,SAAS,UAAT,QAA2B,cAA3B;AAmBA;;;AAGG;;AACH,OAAO,MAAM,uBAAuB,GAAI,OAAD,IAA6C;;;AAClF,QAAM,OAAO,GAAG,UAAU,EAA1B;;AAEA,MAAI,OAAJ,EAAa;AACX,IAAA,QAAQ,CAAC,OAAD,CAAR;AACD;;AAED,SAAO,oBAAoB,CAAC;AAC1B,IAAA,KAAK,EAAE;AACL,MAAA,MAAM,EAAE,CAAC,EAAC,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,QAAV,CADJ;AAEL,MAAA,SAAS,EAAE,oBAAoB,CAAA,CAAA,EAAA,GAAC,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,IAAV,MAAc,IAAd,IAAc,EAAA,KAAA,KAAA,CAAd,GAAc,EAAd,GAAkB,UAAlB,CAF1B;AAGL,MAAA,eAAe,EAAE,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE;AAHrB;AADmB,GAAD,CAA3B;AAOD,CAdM;;AAgBP,SAAS,oBAAT,CAA8B,IAA9B,EAA0E;AACxE,UAAQ,IAAR;AACE,SAAK,YAAL;AACE,aAAO,KAAK,CAAC,eAAN,CAAsB,UAA7B;;AAEF,SAAK,UAAL;AACA;AACE,aAAO,KAAK,CAAC,eAAN,CAAsB,QAA7B;AANJ;AAQD","sourceRoot":""}
@@ -4,41 +4,31 @@ import { useTabster } from './useTabster';
4
4
  * Returns a set of helper functions that will traverse focusable elements in the context of a root DOM element
5
5
  */
6
6
 
7
- export var useFocusFinders = function () {
8
- var tabster = useTabster(); // Narrow props for now and let need dictate additional props in the future
7
+ export const useFocusFinders = () => {
8
+ const tabster = useTabster(); // Narrow props for now and let need dictate additional props in the future
9
9
 
10
- var findAllFocusable = React.useCallback(function (container, acceptCondition) {
11
- return (tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findAll({
12
- container: container,
13
- acceptCondition: acceptCondition
14
- })) || [];
15
- }, [tabster]);
16
- var findFirstFocusable = React.useCallback(function (container) {
17
- return tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findFirst({
18
- container: container
19
- });
20
- }, [tabster]);
21
- var findLastFocusable = React.useCallback(function (container) {
22
- return tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findLast({
23
- container: container
24
- });
25
- }, [tabster]);
26
- var findNextFocusable = React.useCallback(function (currentElement) {
27
- return tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findNext({
28
- currentElement: currentElement
29
- });
30
- }, [tabster]);
31
- var findPrevFocusable = React.useCallback(function (currentElement) {
32
- return tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findPrev({
33
- currentElement: currentElement
34
- });
35
- }, [tabster]);
10
+ const findAllFocusable = React.useCallback((container, acceptCondition) => (tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findAll({
11
+ container,
12
+ acceptCondition
13
+ })) || [], [tabster]);
14
+ const findFirstFocusable = React.useCallback(container => tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findFirst({
15
+ container
16
+ }), [tabster]);
17
+ const findLastFocusable = React.useCallback(container => tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findLast({
18
+ container
19
+ }), [tabster]);
20
+ const findNextFocusable = React.useCallback(currentElement => tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findNext({
21
+ currentElement
22
+ }), [tabster]);
23
+ const findPrevFocusable = React.useCallback(currentElement => tabster === null || tabster === void 0 ? void 0 : tabster.focusable.findPrev({
24
+ currentElement
25
+ }), [tabster]);
36
26
  return {
37
- findAllFocusable: findAllFocusable,
38
- findFirstFocusable: findFirstFocusable,
39
- findLastFocusable: findLastFocusable,
40
- findNextFocusable: findNextFocusable,
41
- findPrevFocusable: findPrevFocusable
27
+ findAllFocusable,
28
+ findFirstFocusable,
29
+ findLastFocusable,
30
+ findNextFocusable,
31
+ findPrevFocusable
42
32
  };
43
33
  };
44
34
  //# sourceMappingURL=useFocusFinders.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useFocusFinders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,UAAT,QAA2B,cAA3B;AAEA;;AAEG;;AACH,OAAO,IAAM,eAAe,GAAG,YAAA;AAC7B,MAAM,OAAO,GAAG,UAAU,EAA1B,CAD6B,CAG7B;;AACA,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAN,CACvB,UAAC,SAAD,EAAyB,eAAzB,EAAsE;AACpE,WAAA,CAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,SAAT,CAAmB,OAAnB,CAA2B;AAAE,MAAA,SAAS,EAAA,SAAX;AAAa,MAAA,eAAe,EAAA;AAA5B,KAA3B,CAAA,KAA8D,EAA9D;AAAgE,GAF3C,EAGvB,CAAC,OAAD,CAHuB,CAAzB;AAMA,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAN,CACzB,UAAC,SAAD,EAAuB;AAAA,WAAK,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,SAAT,CAAmB,SAAnB,CAA6B;AAAE,MAAA,SAAS,EAAA;AAAX,KAA7B,CAAL;AAAgD,GAD9C,EAEzB,CAAC,OAAD,CAFyB,CAA3B;AAKA,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAN,CAAkB,UAAC,SAAD,EAAuB;AAAA,WAAK,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,SAAT,CAAmB,QAAnB,CAA4B;AAAE,MAAA,SAAS,EAAA;AAAX,KAA5B,CAAL;AAA+C,GAAxF,EAA0F,CAClH,OADkH,CAA1F,CAA1B;AAIA,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAN,CACxB,UAAC,cAAD,EAA4B;AAAA,WAAK,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,SAAT,CAAmB,QAAnB,CAA4B;AAAE,MAAA,cAAc,EAAA;AAAhB,KAA5B,CAAL;AAAoD,GADxD,EAExB,CAAC,OAAD,CAFwB,CAA1B;AAKA,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAN,CACxB,UAAC,cAAD,EAA4B;AAAA,WAAK,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,SAAT,CAAmB,QAAnB,CAA4B;AAAE,MAAA,cAAc,EAAA;AAAhB,KAA5B,CAAL;AAAoD,GADxD,EAExB,CAAC,OAAD,CAFwB,CAA1B;AAKA,SAAO;AACL,IAAA,gBAAgB,EAAA,gBADX;AAEL,IAAA,kBAAkB,EAAA,kBAFb;AAGL,IAAA,iBAAiB,EAAA,iBAHZ;AAIL,IAAA,iBAAiB,EAAA,iBAJZ;AAKL,IAAA,iBAAiB,EAAA;AALZ,GAAP;AAOD,CApCM","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/useFocusFinders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,UAAT,QAA2B,cAA3B;AAEA;;AAEG;;AACH,OAAO,MAAM,eAAe,GAAG,MAAK;AAClC,QAAM,OAAO,GAAG,UAAU,EAA1B,CADkC,CAGlC;;AACA,QAAM,gBAAgB,GAAG,KAAK,CAAC,WAAN,CACvB,CAAC,SAAD,EAAyB,eAAzB,KACE,CAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,SAAT,CAAmB,OAAnB,CAA2B;AAAE,IAAA,SAAF;AAAa,IAAA;AAAb,GAA3B,CAAA,KAA8D,EAFzC,EAGvB,CAAC,OAAD,CAHuB,CAAzB;AAMA,QAAM,kBAAkB,GAAG,KAAK,CAAC,WAAN,CACxB,SAAD,IAA4B,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,SAAT,CAAmB,SAAnB,CAA6B;AAAE,IAAA;AAAF,GAA7B,CADH,EAEzB,CAAC,OAAD,CAFyB,CAA3B;AAKA,QAAM,iBAAiB,GAAG,KAAK,CAAC,WAAN,CAAmB,SAAD,IAA4B,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,SAAT,CAAmB,QAAnB,CAA4B;AAAE,IAAA;AAAF,GAA5B,CAA9C,EAA0F,CAClH,OADkH,CAA1F,CAA1B;AAIA,QAAM,iBAAiB,GAAG,KAAK,CAAC,WAAN,CACvB,cAAD,IAAiC,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,SAAT,CAAmB,QAAnB,CAA4B;AAAE,IAAA;AAAF,GAA5B,CADT,EAExB,CAAC,OAAD,CAFwB,CAA1B;AAKA,QAAM,iBAAiB,GAAG,KAAK,CAAC,WAAN,CACvB,cAAD,IAAiC,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,SAAT,CAAmB,QAAnB,CAA4B;AAAE,IAAA;AAAF,GAA5B,CADT,EAExB,CAAC,OAAD,CAFwB,CAA1B;AAKA,SAAO;AACL,IAAA,gBADK;AAEL,IAAA,kBAFK;AAGL,IAAA,iBAHK;AAIL,IAAA,iBAJK;AAKL,IAAA;AALK,GAAP;AAOD,CApCM","sourceRoot":""}
@@ -1,4 +1,3 @@
1
- import { __assign } from "tslib";
2
1
  import { KEYBOARD_NAV_SELECTOR } from '../symbols';
3
2
  /**
4
3
  * NOTE: the element with the focus outline needs to have `position: relative` so that the
@@ -8,17 +7,19 @@ import { KEYBOARD_NAV_SELECTOR } from '../symbols';
8
7
  * @returns focus outline styles object
9
8
  */
10
9
 
11
- var getFocusOutlineStyles = function (options) {
10
+ const getFocusOutlineStyles = options => {
12
11
  var _a, _b, _c, _d;
13
12
 
14
- var outlineRadius = options.outlineRadius,
15
- outlineColor = options.outlineColor,
16
- outlineOffset = options.outlineOffset,
17
- outlineWidth = options.outlineWidth;
18
- var outlineOffsetTop = ((_a = outlineOffset) === null || _a === void 0 ? void 0 : _a.top) || outlineOffset;
19
- var outlineOffsetBottom = ((_b = outlineOffset) === null || _b === void 0 ? void 0 : _b.bottom) || outlineOffset;
20
- var outlineOffsetLeft = ((_c = outlineOffset) === null || _c === void 0 ? void 0 : _c.left) || outlineOffset;
21
- var outlineOffsetRight = ((_d = outlineOffset) === null || _d === void 0 ? void 0 : _d.right) || outlineOffset;
13
+ const {
14
+ outlineRadius,
15
+ outlineColor,
16
+ outlineOffset,
17
+ outlineWidth
18
+ } = options;
19
+ const outlineOffsetTop = ((_a = outlineOffset) === null || _a === void 0 ? void 0 : _a.top) || outlineOffset;
20
+ const outlineOffsetBottom = ((_b = outlineOffset) === null || _b === void 0 ? void 0 : _b.bottom) || outlineOffset;
21
+ const outlineOffsetLeft = ((_c = outlineOffset) === null || _c === void 0 ? void 0 : _c.left) || outlineOffset;
22
+ const outlineOffsetRight = ((_d = outlineOffset) === null || _d === void 0 ? void 0 : _d.right) || outlineOffset;
22
23
  return {
23
24
  borderColor: 'transparent',
24
25
  ':after': {
@@ -31,15 +32,15 @@ var getFocusOutlineStyles = function (options) {
31
32
  borderWidth: outlineWidth,
32
33
  borderRadius: outlineRadius,
33
34
  borderColor: outlineColor,
34
- top: !outlineOffset ? "-" + outlineWidth : "calc(0px - " + outlineWidth + " - " + outlineOffsetTop + ")",
35
- bottom: !outlineOffset ? "-" + outlineWidth : "calc(0px - " + outlineWidth + " - " + outlineOffsetBottom + ")",
36
- left: !outlineOffset ? "-" + outlineWidth : "calc(0px - " + outlineWidth + " - " + outlineOffsetLeft + ")",
37
- right: !outlineOffset ? "-" + outlineWidth : "calc(0px - " + outlineWidth + " - " + outlineOffsetRight + ")"
35
+ top: !outlineOffset ? `-${outlineWidth}` : `calc(0px - ${outlineWidth} - ${outlineOffsetTop})`,
36
+ bottom: !outlineOffset ? `-${outlineWidth}` : `calc(0px - ${outlineWidth} - ${outlineOffsetBottom})`,
37
+ left: !outlineOffset ? `-${outlineWidth}` : `calc(0px - ${outlineWidth} - ${outlineOffsetLeft})`,
38
+ right: !outlineOffset ? `-${outlineWidth}` : `calc(0px - ${outlineWidth} - ${outlineOffsetRight})`
38
39
  }
39
40
  };
40
41
  };
41
42
 
42
- var defaultOptions = {
43
+ const defaultOptions = {
43
44
  selector: 'focus'
44
45
  };
45
46
  /**
@@ -51,26 +52,21 @@ var defaultOptions = {
51
52
  * @returns focus outline styles object for @see makeStyles
52
53
  */
53
54
 
54
- export var createFocusOutlineStyle = function (theme, options) {
55
- var _a;
56
-
57
- if (options === void 0) {
58
- options = __assign({
59
- style: {}
60
- }, defaultOptions);
61
- }
62
-
63
- return _a = {
64
- ':focus-visible': {
65
- outline: 'none'
66
- }
67
- }, _a[KEYBOARD_NAV_SELECTOR + " :" + (options.selector || defaultOptions.selector)] = getFocusOutlineStyles(__assign({
55
+ export const createFocusOutlineStyle = (theme, options = {
56
+ style: {},
57
+ ...defaultOptions
58
+ }) => ({
59
+ ':focus-visible': {
60
+ outline: 'none'
61
+ },
62
+ [`${KEYBOARD_NAV_SELECTOR} :${options.selector || defaultOptions.selector}`]: getFocusOutlineStyles({
68
63
  outlineColor: theme.colorStrokeFocus2,
69
64
  outlineRadius: theme.borderRadiusMedium,
70
65
  // FIXME: theme.global.strokeWidth.thick causes some weird bugs
71
- outlineWidth: '2px'
72
- }, options.style)), _a;
73
- };
66
+ outlineWidth: '2px',
67
+ ...options.style
68
+ })
69
+ });
74
70
  /**
75
71
  * Creates a style rule for @see makeStyles that includes the necessary selectors for focus.
76
72
  * Should be used only when @see createFocusOutlineStyle does not fit requirements
@@ -78,19 +74,10 @@ export var createFocusOutlineStyle = function (theme, options) {
78
74
  * @param rule - styling applied on focus, defaults to @see getDefaultFocusOutlineStyes
79
75
  */
80
76
 
81
- export var createCustomFocusIndicatorStyle = function (rule, options) {
82
- if (options === void 0) {
83
- options = defaultOptions;
84
- }
85
-
86
- return function (theme) {
87
- var _a;
88
-
89
- return _a = {
90
- ':focus-visible': {
91
- outline: 'none'
92
- }
93
- }, _a[KEYBOARD_NAV_SELECTOR + " :" + (options.selector || defaultOptions.selector)] = typeof rule === 'function' ? rule(theme) : rule, _a;
94
- };
95
- };
77
+ export const createCustomFocusIndicatorStyle = (rule, options = defaultOptions) => theme => ({
78
+ ':focus-visible': {
79
+ outline: 'none'
80
+ },
81
+ [`${KEYBOARD_NAV_SELECTOR} :${options.selector || defaultOptions.selector}`]: typeof rule === 'function' ? rule(theme) : rule
82
+ });
96
83
  //# sourceMappingURL=useFocusIndicatorStyle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useFocusIndicatorStyle.ts"],"names":[],"mappings":"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","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/useFocusIndicatorStyle.ts"],"names":[],"mappings":"AAEA,SAAS,qBAAT,QAAsC,YAAtC;AAcA;;;;;;AAMG;;AACH,MAAM,qBAAqB,GAAI,OAAD,IAAsC;;;AAClE,QAAM;AAAE,IAAA,aAAF;AAAiB,IAAA,YAAjB;AAA+B,IAAA,aAA/B;AAA8C,IAAA;AAA9C,MAA+D,OAArE;AAEA,QAAM,gBAAgB,GAAG,CAAA,CAAA,EAAA,GAAC,aAAD,MAAqC,IAArC,IAAqC,EAAA,KAAA,KAAA,CAArC,GAAqC,KAAA,CAArC,GAAqC,EAAA,CAAE,GAAvC,KAA8C,aAAvE;AACA,QAAM,mBAAmB,GAAG,CAAA,CAAA,EAAA,GAAC,aAAD,MAAqC,IAArC,IAAqC,EAAA,KAAA,KAAA,CAArC,GAAqC,KAAA,CAArC,GAAqC,EAAA,CAAE,MAAvC,KAAiD,aAA7E;AACA,QAAM,iBAAiB,GAAG,CAAA,CAAA,EAAA,GAAC,aAAD,MAAqC,IAArC,IAAqC,EAAA,KAAA,KAAA,CAArC,GAAqC,KAAA,CAArC,GAAqC,EAAA,CAAE,IAAvC,KAA+C,aAAzE;AACA,QAAM,kBAAkB,GAAG,CAAA,CAAA,EAAA,GAAC,aAAD,MAAqC,IAArC,IAAqC,EAAA,KAAA,KAAA,CAArC,GAAqC,KAAA,CAArC,GAAqC,EAAA,CAAE,KAAvC,KAAgD,aAA3E;AAEA,SAAO;AACL,IAAA,WAAW,EAAE,aADR;AAEL,cAAU;AACR,MAAA,OAAO,EAAE,IADD;AAER,MAAA,QAAQ,EAAE,UAFF;AAGR,MAAA,aAAa,EAAE,MAHP;AAIR,MAAA,SAAS,EAAE,aAJH;AAKR,MAAA,MAAM,EAAE,CALA;AAOR,MAAA,WAAW,EAAE,OAPL;AAQR,MAAA,WAAW,EAAE,YARL;AASR,MAAA,YAAY,EAAE,aATN;AAUR,MAAA,WAAW,EAAE,YAVL;AAYR,MAAA,GAAG,EAAE,CAAC,aAAD,GAAiB,IAAI,YAAY,EAAjC,GAAsC,cAAc,YAAY,MAAM,gBAAgB,GAZnF;AAaR,MAAA,MAAM,EAAE,CAAC,aAAD,GAAiB,IAAI,YAAY,EAAjC,GAAsC,cAAc,YAAY,MAAM,mBAAmB,GAbzF;AAcR,MAAA,IAAI,EAAE,CAAC,aAAD,GAAiB,IAAI,YAAY,EAAjC,GAAsC,cAAc,YAAY,MAAM,iBAAiB,GAdrF;AAeR,MAAA,KAAK,EAAE,CAAC,aAAD,GAAiB,IAAI,YAAY,EAAjC,GAAsC,cAAc,YAAY,MAAM,kBAAkB;AAfvF;AAFL,GAAP;AAoBD,CA5BD;;AAkCA,MAAM,cAAc,GAAyC;AAC3D,EAAA,QAAQ,EAAE;AADiD,CAA7D;AAIA;;;;;;;AAOG;;AACH,OAAO,MAAM,uBAAuB,GAAG,CACrC,KADqC,EAErC,OAAA,GAE2C;AAAE,EAAA,KAAK,EAAE,EAAT;AAAa,KAAG;AAAhB,CAJN,MAKrB;AAChB,oBAAkB;AAChB,IAAA,OAAO,EAAE;AADO,GADF;AAIhB,GAAC,GAAG,qBAAqB,KAAK,OAAO,CAAC,QAAR,IAAoB,cAAc,CAAC,QAAQ,EAAzE,GAA8E,qBAAqB,CAAC;AAClG,IAAA,YAAY,EAAE,KAAK,CAAC,iBAD8E;AAElG,IAAA,aAAa,EAAE,KAAK,CAAC,kBAF6E;AAGlG;AACA,IAAA,YAAY,EAAE,KAJoF;AAKlG,OAAG,OAAO,CAAC;AALuF,GAAD;AAJnF,CALqB,CAAhC;AAkBP;;;;;AAKG;;AACH,OAAO,MAAM,+BAA+B,GAAG,CAC7C,IAD6C,EAE7C,OAAA,GAAgD,cAFH,KAGd,KAAK,KAAK;AACzC,oBAAkB;AAChB,IAAA,OAAO,EAAE;AADO,GADuB;AAIzC,GAAC,GAAG,qBAAqB,KAAK,OAAO,CAAC,QAAR,IAAoB,cAAc,CAAC,QAAQ,EAAzE,GACE,OAAO,IAAP,KAAgB,UAAhB,GAA6B,IAAI,CAAC,KAAD,CAAjC,GAA2C;AALJ,CAAL,CAH/B","sourceRoot":""}
@@ -1,23 +1,9 @@
1
1
  import { Types } from 'tabster';
2
- export declare enum FocusableGroupTabBehavior {
3
- /**
4
- * Tab will cycle into and out of the groupper content.
5
- */
6
- Unlimited,
7
- /**
8
- * Tab will cycle out of the container, but not into it.
9
- */
10
- Limited,
11
- /**
12
- * Tab only cycles the inner elements.
13
- */
14
- LimitedTrapFocus
15
- }
16
2
  export interface UseFocusableGroupOptions {
17
3
  /**
18
- * Type of TAB key interaction.
4
+ * Behavior for the Tab key.
19
5
  */
20
- tabBehavior?: FocusableGroupTabBehavior;
6
+ tabBehavior?: 'unlimited' | 'limited' | 'limitedTrapFocus';
21
7
  }
22
8
  /**
23
9
  * A hook that returns the necessary tabster attributes to support groupping.
@@ -1,32 +1,13 @@
1
1
  import { Types, getGroupper } from 'tabster';
2
2
  import { useTabsterAttributes } from './useTabsterAttributes';
3
3
  import { useTabster } from './useTabster';
4
- export var FocusableGroupTabBehavior;
5
-
6
- (function (FocusableGroupTabBehavior) {
7
- /**
8
- * Tab will cycle into and out of the groupper content.
9
- */
10
- FocusableGroupTabBehavior[FocusableGroupTabBehavior["Unlimited"] = Types.GroupperTabbabilities.Unlimited] = "Unlimited";
11
- /**
12
- * Tab will cycle out of the container, but not into it.
13
- */
14
-
15
- FocusableGroupTabBehavior[FocusableGroupTabBehavior["Limited"] = Types.GroupperTabbabilities.Limited] = "Limited";
16
- /**
17
- * Tab only cycles the inner elements.
18
- */
19
-
20
- FocusableGroupTabBehavior[FocusableGroupTabBehavior["LimitedTrapFocus"] = Types.GroupperTabbabilities.LimitedTrapFocus] = "LimitedTrapFocus";
21
- })(FocusableGroupTabBehavior || (FocusableGroupTabBehavior = {}));
22
4
  /**
23
5
  * A hook that returns the necessary tabster attributes to support groupping.
24
6
  * @param options - Options to configure keyboard navigation
25
7
  */
26
8
 
27
-
28
- export var useFocusableGroup = function (options) {
29
- var tabster = useTabster();
9
+ export const useFocusableGroup = options => {
10
+ const tabster = useTabster();
30
11
 
31
12
  if (tabster) {
32
13
  getGroupper(tabster);
@@ -34,8 +15,24 @@ export var useFocusableGroup = function (options) {
34
15
 
35
16
  return useTabsterAttributes({
36
17
  groupper: {
37
- tabbability: options === null || options === void 0 ? void 0 : options.tabBehavior
18
+ tabbability: getTabbability(options === null || options === void 0 ? void 0 : options.tabBehavior)
38
19
  }
39
20
  });
40
21
  };
22
+
23
+ const getTabbability = tabBehavior => {
24
+ switch (tabBehavior) {
25
+ case 'unlimited':
26
+ return Types.GroupperTabbabilities.Unlimited;
27
+
28
+ case 'limited':
29
+ return Types.GroupperTabbabilities.Limited;
30
+
31
+ case 'limitedTrapFocus':
32
+ return Types.GroupperTabbabilities.LimitedTrapFocus;
33
+
34
+ default:
35
+ return undefined;
36
+ }
37
+ };
41
38
  //# sourceMappingURL=useFocusableGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useFocusableGroup.ts"],"names":[],"mappings":"AAAA,SAAS,KAAT,EAAgB,WAAhB,QAAmC,SAAnC;AACA,SAAS,oBAAT,QAAqC,wBAArC;AACA,SAAS,UAAT,QAA2B,cAA3B;AAEA,OAAA,IAAY,yBAAZ;;AAAA,CAAA,UAAY,yBAAZ,EAAqC;AACnC;;AAEG;AACH,EAAA,yBAAA,CAAA,yBAAA,CAAA,WAAA,CAAA,GAAY,KAAK,CAAC,qBAAN,CAA4B,SAAxC,CAAA,GAAiD,WAAjD;AACA;;AAEG;;AACH,EAAA,yBAAA,CAAA,yBAAA,CAAA,SAAA,CAAA,GAAU,KAAK,CAAC,qBAAN,CAA4B,OAAtC,CAAA,GAA6C,SAA7C;AACA;;AAEG;;AACH,EAAA,yBAAA,CAAA,yBAAA,CAAA,kBAAA,CAAA,GAAmB,KAAK,CAAC,qBAAN,CAA4B,gBAA/C,CAAA,GAA+D,kBAA/D;AACD,CAbD,EAAY,yBAAyB,KAAzB,yBAAyB,GAAA,EAAA,CAArC;AAsBA;;;AAGG;;;AACH,OAAO,IAAM,iBAAiB,GAAG,UAAC,OAAD,EAAmC;AAClE,MAAM,OAAO,GAAG,UAAU,EAA1B;;AAEA,MAAI,OAAJ,EAAa;AACX,IAAA,WAAW,CAAC,OAAD,CAAX;AACD;;AAED,SAAO,oBAAoB,CAAC;AAC1B,IAAA,QAAQ,EAAE;AACR,MAAA,WAAW,EAAE,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE;AADd;AADgB,GAAD,CAA3B;AAKD,CAZM","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/useFocusableGroup.ts"],"names":[],"mappings":"AAAA,SAAS,KAAT,EAAgB,WAAhB,QAAmC,SAAnC;AACA,SAAS,oBAAT,QAAqC,wBAArC;AACA,SAAS,UAAT,QAA2B,cAA3B;AASA;;;AAGG;;AACH,OAAO,MAAM,iBAAiB,GAAI,OAAD,IAAuC;AACtE,QAAM,OAAO,GAAG,UAAU,EAA1B;;AAEA,MAAI,OAAJ,EAAa;AACX,IAAA,WAAW,CAAC,OAAD,CAAX;AACD;;AAED,SAAO,oBAAoB,CAAC;AAC1B,IAAA,QAAQ,EAAE;AACR,MAAA,WAAW,EAAE,cAAc,CAAC,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,WAAV;AADnB;AADgB,GAAD,CAA3B;AAKD,CAZM;;AAcP,MAAM,cAAc,GAClB,WADqB,IAEoB;AACzC,UAAQ,WAAR;AACE,SAAK,WAAL;AACE,aAAO,KAAK,CAAC,qBAAN,CAA4B,SAAnC;;AACF,SAAK,SAAL;AACE,aAAO,KAAK,CAAC,qBAAN,CAA4B,OAAnC;;AACF,SAAK,kBAAL;AACE,aAAO,KAAK,CAAC,qBAAN,CAA4B,gBAAnC;;AACF;AACE,aAAO,SAAP;AARJ;AAUD,CAbD","sourceRoot":""}
@@ -7,23 +7,21 @@ import { useFluent } from '@fluentui/react-shared-contexts';
7
7
  */
8
8
 
9
9
  export function useKeyboardNavAttribute() {
10
- var targetDocument = useFluent().targetDocument;
11
- var keyborg = useMemo(function () {
12
- return targetDocument && createKeyborg(targetDocument.defaultView);
13
- }, [targetDocument]);
14
- var ref = useRef(null);
15
- useEffect(function () {
10
+ const {
11
+ targetDocument
12
+ } = useFluent();
13
+ const keyborg = useMemo(() => targetDocument && createKeyborg(targetDocument.defaultView), [targetDocument]);
14
+ const ref = useRef(null);
15
+ useEffect(() => {
16
16
  if (keyborg) {
17
17
  setBooleanAttribute(ref, KEYBOARD_NAV_ATTRIBUTE, keyborg.isNavigatingWithKeyboard());
18
18
 
19
- var cb_1 = function (next) {
19
+ const cb = next => {
20
20
  setBooleanAttribute(ref, KEYBOARD_NAV_ATTRIBUTE, next);
21
21
  };
22
22
 
23
- keyborg.subscribe(cb_1);
24
- return function () {
25
- return keyborg.unsubscribe(cb_1);
26
- };
23
+ keyborg.subscribe(cb);
24
+ return () => keyborg.unsubscribe(cb);
27
25
  }
28
26
  }, [keyborg]);
29
27
  return ref;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useKeyboardNavAttribute.ts"],"names":[],"mappings":"AAAA,SAAS,aAAT,QAA8B,SAA9B;AACA,SAAS,SAAT,EAAoB,OAApB,EAA6B,MAA7B,QAA2C,OAA3C;AACA,SAAS,sBAAT,QAAuC,YAAvC;AACA,SAAS,SAAT,QAA0B,iCAA1B;AAIA;;AAEG;;AACH,OAAM,SAAU,uBAAV,GAAiC;AAC7B,MAAA,cAAc,GAAK,SAAS,GAAd,cAAd;AACR,MAAM,OAAO,GAAG,OAAO,CAAC,YAAA;AAAM,WAAA,cAAc,IAAI,aAAa,CAAC,cAAc,CAA9C,WAA+B,CAA/B;AAA4D,GAAnE,EAAqE,CAAC,cAAD,CAArE,CAAvB;AACA,MAAM,GAAG,GAAG,MAAM,CAAI,IAAJ,CAAlB;AACA,EAAA,SAAS,CAAC,YAAA;AACR,QAAI,OAAJ,EAAa;AACX,MAAA,mBAAmB,CAAC,GAAD,EAAM,sBAAN,EAA8B,OAAO,CAAC,wBAAR,EAA9B,CAAnB;;AACA,UAAM,IAAE,GAAoB,UAAA,IAAA,EAAI;AAC9B,QAAA,mBAAmB,CAAC,GAAD,EAAM,sBAAN,EAA8B,IAA9B,CAAnB;AACD,OAFD;;AAGA,MAAA,OAAO,CAAC,SAAR,CAAkB,IAAlB;AACA,aAAO,YAAA;AAAM,eAAA,OAAO,CAAC,WAAR,CAAA,IAAA,CAAA;AAAuB,OAApC;AACD;AACF,GATQ,EASN,CAAC,OAAD,CATM,CAAT;AAUA,SAAO,GAAP;AACD;;AAED,SAAS,mBAAT,CAA6B,UAA7B,EAAiE,SAAjE,EAAoF,KAApF,EAAkG;AAChG,MAAI,CAAC,UAAU,CAAC,OAAhB,EAAyB;AACvB;AACD;;AACD,MAAI,KAAJ,EAAW;AACT,IAAA,UAAU,CAAC,OAAX,CAAmB,YAAnB,CAAgC,SAAhC,EAA2C,EAA3C;AACD,GAFD,MAEO;AACL,IAAA,UAAU,CAAC,OAAX,CAAmB,eAAnB,CAAmC,SAAnC;AACD;AACF","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/useKeyboardNavAttribute.ts"],"names":[],"mappings":"AAAA,SAAS,aAAT,QAA8B,SAA9B;AACA,SAAS,SAAT,EAAoB,OAApB,EAA6B,MAA7B,QAA2C,OAA3C;AACA,SAAS,sBAAT,QAAuC,YAAvC;AACA,SAAS,SAAT,QAA0B,iCAA1B;AAIA;;AAEG;;AACH,OAAM,SAAU,uBAAV,GAAiC;AACrC,QAAM;AAAE,IAAA;AAAF,MAAqB,SAAS,EAApC;AACA,QAAM,OAAO,GAAG,OAAO,CAAC,MAAM,cAAc,IAAI,aAAa,CAAC,cAAc,CAAC,WAAhB,CAAtC,EAAqE,CAAC,cAAD,CAArE,CAAvB;AACA,QAAM,GAAG,GAAG,MAAM,CAAI,IAAJ,CAAlB;AACA,EAAA,SAAS,CAAC,MAAK;AACb,QAAI,OAAJ,EAAa;AACX,MAAA,mBAAmB,CAAC,GAAD,EAAM,sBAAN,EAA8B,OAAO,CAAC,wBAAR,EAA9B,CAAnB;;AACA,YAAM,EAAE,GAAoB,IAAI,IAAG;AACjC,QAAA,mBAAmB,CAAC,GAAD,EAAM,sBAAN,EAA8B,IAA9B,CAAnB;AACD,OAFD;;AAGA,MAAA,OAAO,CAAC,SAAR,CAAkB,EAAlB;AACA,aAAO,MAAM,OAAO,CAAC,WAAR,CAAoB,EAApB,CAAb;AACD;AACF,GATQ,EASN,CAAC,OAAD,CATM,CAAT;AAUA,SAAO,GAAP;AACD;;AAED,SAAS,mBAAT,CAA6B,UAA7B,EAAiE,SAAjE,EAAoF,KAApF,EAAkG;AAChG,MAAI,CAAC,UAAU,CAAC,OAAhB,EAAyB;AACvB;AACD;;AACD,MAAI,KAAJ,EAAW;AACT,IAAA,UAAU,CAAC,OAAX,CAAmB,YAAnB,CAAgC,SAAhC,EAA2C,EAA3C;AACD,GAFD,MAEO;AACL,IAAA,UAAU,CAAC,OAAX,CAAmB,eAAnB,CAAmC,SAAnC;AACD;AACF","sourceRoot":""}
@@ -10,35 +10,33 @@ import { useTabster } from './useTabster';
10
10
  * @returns DOM attributes to apply to the modal element and its trigger
11
11
  */
12
12
 
13
- export var useModalAttributes = function (options) {
14
- if (options === void 0) {
15
- options = {};
16
- }
17
-
18
- var trapFocus = options.trapFocus,
19
- alwaysFocusable = options.alwaysFocusable;
20
- var tabster = useTabster(); // Initializes the modalizer and deloser APIs
13
+ export const useModalAttributes = (options = {}) => {
14
+ const {
15
+ trapFocus,
16
+ alwaysFocusable
17
+ } = options;
18
+ const tabster = useTabster(); // Initializes the modalizer and deloser APIs
21
19
 
22
20
  if (tabster) {
23
21
  getModalizer(tabster);
24
22
  getDeloser(tabster);
25
23
  }
26
24
 
27
- var id = useId('modal-');
28
- var modalAttributes = useTabsterAttributes({
25
+ const id = useId('modal-');
26
+ const modalAttributes = useTabsterAttributes({
29
27
  deloser: {},
30
28
  modalizer: {
31
- id: id,
29
+ id,
32
30
  isOthersAccessible: !trapFocus,
33
31
  isAlwaysAccessible: alwaysFocusable
34
32
  }
35
33
  });
36
- var triggerAttributes = useTabsterAttributes({
34
+ const triggerAttributes = useTabsterAttributes({
37
35
  deloser: {}
38
36
  });
39
37
  return {
40
- modalAttributes: modalAttributes,
41
- triggerAttributes: triggerAttributes
38
+ modalAttributes,
39
+ triggerAttributes
42
40
  };
43
41
  };
44
42
  //# sourceMappingURL=useModalAttributes.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useModalAttributes.ts"],"names":[],"mappings":"AAAA,SAAS,KAAT,QAAsB,2BAAtB;AACA,SAAS,oBAAT,QAAqC,wBAArC;AACA,SAAS,UAAT,EAAqB,YAArB,QAAgE,SAAhE;AACA,SAAS,UAAT,QAA2B,cAA3B;AAcA;;;;;;AAMG;;AACH,OAAO,IAAM,kBAAkB,GAAG,UAChC,OADgC,EACO;AAAvC,MAAA,OAAA,KAAA,KAAA,CAAA,EAAA;AAAA,IAAA,OAAA,GAAA,EAAA;AAAuC;;AAE/B,MAAA,SAAS,GAAsB,OAAO,CAA7B,SAAT;AAAA,MAAW,eAAe,GAAK,OAAO,CAAZ,eAA1B;AACR,MAAM,OAAO,GAAG,UAAU,EAA1B,CAHuC,CAIvC;;AACA,MAAI,OAAJ,EAAa;AACX,IAAA,YAAY,CAAC,OAAD,CAAZ;AACA,IAAA,UAAU,CAAC,OAAD,CAAV;AACD;;AAED,MAAM,EAAE,GAAG,KAAK,CAAC,QAAD,CAAhB;AACA,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAC3C,IAAA,OAAO,EAAE,EADkC;AAE3C,IAAA,SAAS,EAAE;AAAE,MAAA,EAAE,EAAA,EAAJ;AAAM,MAAA,kBAAkB,EAAE,CAAC,SAA3B;AAAsC,MAAA,kBAAkB,EAAE;AAA1D;AAFgC,GAAD,CAA5C;AAKA,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAC7C,IAAA,OAAO,EAAE;AADoC,GAAD,CAA9C;AAIA,SAAO;AAAE,IAAA,eAAe,EAAA,eAAjB;AAAmB,IAAA,iBAAiB,EAAA;AAApC,GAAP;AACD,CAtBM","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/useModalAttributes.ts"],"names":[],"mappings":"AAAA,SAAS,KAAT,QAAsB,2BAAtB;AACA,SAAS,oBAAT,QAAqC,wBAArC;AACA,SAAS,UAAT,EAAqB,YAArB,QAAgE,SAAhE;AACA,SAAS,UAAT,QAA2B,cAA3B;AAcA;;;;;;AAMG;;AACH,OAAO,MAAM,kBAAkB,GAAG,CAChC,OAAA,GAAqC,EADL,KAE8E;AAC9G,QAAM;AAAE,IAAA,SAAF;AAAa,IAAA;AAAb,MAAiC,OAAvC;AACA,QAAM,OAAO,GAAG,UAAU,EAA1B,CAF8G,CAG9G;;AACA,MAAI,OAAJ,EAAa;AACX,IAAA,YAAY,CAAC,OAAD,CAAZ;AACA,IAAA,UAAU,CAAC,OAAD,CAAV;AACD;;AAED,QAAM,EAAE,GAAG,KAAK,CAAC,QAAD,CAAhB;AACA,QAAM,eAAe,GAAG,oBAAoB,CAAC;AAC3C,IAAA,OAAO,EAAE,EADkC;AAE3C,IAAA,SAAS,EAAE;AAAE,MAAA,EAAF;AAAM,MAAA,kBAAkB,EAAE,CAAC,SAA3B;AAAsC,MAAA,kBAAkB,EAAE;AAA1D;AAFgC,GAAD,CAA5C;AAKA,QAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAC7C,IAAA,OAAO,EAAE;AADoC,GAAD,CAA9C;AAIA,SAAO;AAAE,IAAA,eAAF;AAAmB,IAAA;AAAnB,GAAP;AACD,CAtBM","sourceRoot":""}