@fluentui/react-aria 0.0.0-nightly0e0cf06c3420211029.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 (38) hide show
  1. package/CHANGELOG.json +1118 -0
  2. package/CHANGELOG.md +471 -0
  3. package/LICENSE +15 -0
  4. package/README.md +5 -0
  5. package/Spec.md +63 -0
  6. package/dist/react-aria.d.ts +28 -0
  7. package/lib/hooks/index.d.ts +1 -0
  8. package/lib/hooks/index.js +2 -0
  9. package/lib/hooks/index.js.map +1 -0
  10. package/lib/hooks/useARIAButton.d.ts +11 -0
  11. package/lib/hooks/useARIAButton.js +98 -0
  12. package/lib/hooks/useARIAButton.js.map +1 -0
  13. package/lib/index.d.ts +2 -0
  14. package/lib/index.js +3 -0
  15. package/lib/index.js.map +1 -0
  16. package/lib/tsdoc-metadata.json +11 -0
  17. package/lib/utils/index.d.ts +1 -0
  18. package/lib/utils/index.js +2 -0
  19. package/lib/utils/index.js.map +1 -0
  20. package/lib/utils/mergeARIADisabled.d.ts +10 -0
  21. package/lib/utils/mergeARIADisabled.js +15 -0
  22. package/lib/utils/mergeARIADisabled.js.map +1 -0
  23. package/lib-commonjs/hooks/index.d.ts +1 -0
  24. package/lib-commonjs/hooks/index.js +10 -0
  25. package/lib-commonjs/hooks/index.js.map +1 -0
  26. package/lib-commonjs/hooks/useARIAButton.d.ts +11 -0
  27. package/lib-commonjs/hooks/useARIAButton.js +109 -0
  28. package/lib-commonjs/hooks/useARIAButton.js.map +1 -0
  29. package/lib-commonjs/index.d.ts +2 -0
  30. package/lib-commonjs/index.js +12 -0
  31. package/lib-commonjs/index.js.map +1 -0
  32. package/lib-commonjs/utils/index.d.ts +1 -0
  33. package/lib-commonjs/utils/index.js +10 -0
  34. package/lib-commonjs/utils/index.js.map +1 -0
  35. package/lib-commonjs/utils/mergeARIADisabled.d.ts +10 -0
  36. package/lib-commonjs/utils/mergeARIADisabled.js +24 -0
  37. package/lib-commonjs/utils/mergeARIADisabled.js.map +1 -0
  38. package/package.json +62 -0
@@ -0,0 +1,98 @@
1
+ import { Enter, Space } from '@fluentui/keyboard-keys';
2
+ import { resolveShorthand, useEventCallback } from '@fluentui/react-utilities';
3
+ /**
4
+ * Button keyboard handling, role, disabled and tabIndex implementation that ensures ARIA spec
5
+ * for multiple scenarios of shorthand properties. Ensuring 1st rule of ARIA for cases
6
+ * where no attribute addition is required.
7
+ */
8
+
9
+ export function useARIAButton(shorthand, options) {
10
+ var _a;
11
+
12
+ var shorthandProps = resolveShorthand(shorthand, options);
13
+
14
+ var _b = shorthandProps || {},
15
+ disabled = _b.disabled,
16
+ disabledFocusable = _b.disabledFocusable,
17
+ onClick = _b.onClick,
18
+ onKeyDown = _b.onKeyDown,
19
+ onKeyUp = _b.onKeyUp,
20
+ tabIndex = _b.tabIndex;
21
+
22
+ var onClickHandler = useEventCallback(function (ev) {
23
+ if (disabled || disabledFocusable) {
24
+ ev.preventDefault();
25
+ ev.stopPropagation();
26
+ } else {
27
+ onClick === null || onClick === void 0 ? void 0 : onClick(ev);
28
+ }
29
+ });
30
+ var onKeyDownHandler = useEventCallback(function (ev) {
31
+ onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(ev);
32
+
33
+ if (ev.isDefaultPrevented()) {
34
+ return;
35
+ }
36
+
37
+ var key = ev.key;
38
+
39
+ if ((disabled || disabledFocusable) && (key === Enter || key === Space)) {
40
+ ev.preventDefault();
41
+ ev.stopPropagation();
42
+ return;
43
+ }
44
+
45
+ if (key === Space) {
46
+ ev.preventDefault();
47
+ return;
48
+ } // If enter is pressed, activate the button
49
+ else if (key === Enter) {
50
+ ev.preventDefault();
51
+ ev.currentTarget.click();
52
+ }
53
+ });
54
+ var onKeyupHandler = useEventCallback(function (ev) {
55
+ onKeyUp === null || onKeyUp === void 0 ? void 0 : onKeyUp(ev);
56
+
57
+ if (ev.isDefaultPrevented()) {
58
+ return;
59
+ }
60
+
61
+ var key = ev.key;
62
+
63
+ if ((disabled || disabledFocusable) && (key === Enter || key === Space)) {
64
+ ev.preventDefault();
65
+ ev.stopPropagation();
66
+ return;
67
+ }
68
+
69
+ if (key === Space) {
70
+ ev.preventDefault();
71
+ ev.currentTarget.click();
72
+ }
73
+ });
74
+
75
+ if (shorthandProps) {
76
+ // If a <button> tag is to be rendered we just need to set disabled and aria-disabled correctly
77
+ if (shorthandProps.as === 'button' || shorthandProps.as === undefined) {
78
+ shorthandProps.disabled = disabled && !disabledFocusable;
79
+ shorthandProps['aria-disabled'] = disabledFocusable;
80
+ } // If an <a> tag is to be rendered we have to remove disabled and set aria-disabled, role and tabIndex as well as
81
+ // some event handlers.
82
+ else {
83
+ delete shorthandProps.disabled;
84
+ shorthandProps['aria-disabled'] = disabled || disabledFocusable;
85
+ shorthandProps.onClick = onClickHandler;
86
+ shorthandProps.onKeyDown = onKeyDownHandler;
87
+ shorthandProps.onKeyUp = onKeyupHandler;
88
+ shorthandProps.role = (_a = shorthandProps.role) !== null && _a !== void 0 ? _a : 'button';
89
+ shorthandProps.tabIndex = disabled && !disabledFocusable ? undefined : tabIndex !== null && tabIndex !== void 0 ? tabIndex : 0;
90
+ } // Remove non-DOM disabledFocusable prop
91
+
92
+
93
+ delete shorthandProps.disabledFocusable;
94
+ }
95
+
96
+ return shorthandProps;
97
+ }
98
+ //# sourceMappingURL=useARIAButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/useARIAButton.ts"],"names":[],"mappings":"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","sourceRoot":""}
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './hooks/index';
2
+ export * from './utils/index';
package/lib/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from './hooks/index';
2
+ export * from './utils/index';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.18.1"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1 @@
1
+ export * from './mergeARIADisabled';
@@ -0,0 +1,2 @@
1
+ export * from './mergeARIADisabled';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { ObjectShorthandProps } from '@fluentui/react-utilities';
3
+ /**
4
+ * Merges disabled declaration with `aria-disabled`
5
+ */
6
+ export declare function mergeARIADisabled(shorthand: ObjectShorthandProps<{
7
+ 'aria-disabled'?: string | boolean;
8
+ children?: React.ReactNode;
9
+ disabled?: boolean;
10
+ }>): boolean;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Merges disabled declaration with `aria-disabled`
3
+ */
4
+ export function mergeARIADisabled(shorthand) {
5
+ var _a;
6
+
7
+ var disabled = (_a = shorthand.disabled) !== null && _a !== void 0 ? _a : shorthand['aria-disabled'];
8
+
9
+ if (typeof disabled === 'string') {
10
+ return disabled === 'false' ? false : true;
11
+ }
12
+
13
+ return disabled !== null && disabled !== void 0 ? disabled : false;
14
+ }
15
+ //# sourceMappingURL=mergeARIADisabled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/mergeARIADisabled.ts"],"names":[],"mappings":"AAGA;;AAEG;AACH,OAAM,SAAU,iBAAV,CACJ,SADI,EAKF;;;AAEF,MAAM,QAAQ,GAAA,CAAA,EAAA,GAAG,SAAS,CAAC,QAAb,MAAqB,IAArB,IAAqB,EAAA,KAAA,KAAA,CAArB,GAAqB,EAArB,GAAyB,SAAS,CAAC,eAAD,CAAhD;;AACA,MAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC;AAChC,WAAO,QAAQ,KAAK,OAAb,GAAuB,KAAvB,GAA+B,IAAtC;AACD;;AACD,SAAO,QAAQ,KAAA,IAAR,IAAA,QAAQ,KAAA,KAAA,CAAR,GAAA,QAAA,GAAY,KAAnB;AACD","sourceRoot":""}
@@ -0,0 +1 @@
1
+ export * from './useARIAButton';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./useARIAButton"), exports);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,iBAAA,CAAA,EAAA,OAAA","sourceRoot":""}
@@ -0,0 +1,11 @@
1
+ import type { IntrinsicShorthandProps, ResolveShorthandOptions, ShorthandProps } from '@fluentui/react-utilities';
2
+ export declare type ARIAButtonShorthandProps = IntrinsicShorthandProps<'button', 'a'> & {
3
+ disabled?: boolean;
4
+ disabledFocusable?: boolean;
5
+ };
6
+ /**
7
+ * Button keyboard handling, role, disabled and tabIndex implementation that ensures ARIA spec
8
+ * for multiple scenarios of shorthand properties. Ensuring 1st rule of ARIA for cases
9
+ * where no attribute addition is required.
10
+ */
11
+ export declare function useARIAButton<Required extends boolean = false>(shorthand: ShorthandProps<ARIAButtonShorthandProps>, options?: ResolveShorthandOptions<ARIAButtonShorthandProps, Required>): Required extends false ? ARIAButtonShorthandProps | undefined : ARIAButtonShorthandProps;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useARIAButton = void 0;
7
+
8
+ var keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
9
+
10
+ var react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
+ /**
12
+ * Button keyboard handling, role, disabled and tabIndex implementation that ensures ARIA spec
13
+ * for multiple scenarios of shorthand properties. Ensuring 1st rule of ARIA for cases
14
+ * where no attribute addition is required.
15
+ */
16
+
17
+
18
+ function useARIAButton(shorthand, options) {
19
+ var _a;
20
+
21
+ var shorthandProps = react_utilities_1.resolveShorthand(shorthand, options);
22
+
23
+ var _b = shorthandProps || {},
24
+ disabled = _b.disabled,
25
+ disabledFocusable = _b.disabledFocusable,
26
+ onClick = _b.onClick,
27
+ onKeyDown = _b.onKeyDown,
28
+ onKeyUp = _b.onKeyUp,
29
+ tabIndex = _b.tabIndex;
30
+
31
+ var onClickHandler = react_utilities_1.useEventCallback(function (ev) {
32
+ if (disabled || disabledFocusable) {
33
+ ev.preventDefault();
34
+ ev.stopPropagation();
35
+ } else {
36
+ onClick === null || onClick === void 0 ? void 0 : onClick(ev);
37
+ }
38
+ });
39
+ var onKeyDownHandler = react_utilities_1.useEventCallback(function (ev) {
40
+ onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(ev);
41
+
42
+ if (ev.isDefaultPrevented()) {
43
+ return;
44
+ }
45
+
46
+ var key = ev.key;
47
+
48
+ if ((disabled || disabledFocusable) && (key === keyboard_keys_1.Enter || key === keyboard_keys_1.Space)) {
49
+ ev.preventDefault();
50
+ ev.stopPropagation();
51
+ return;
52
+ }
53
+
54
+ if (key === keyboard_keys_1.Space) {
55
+ ev.preventDefault();
56
+ return;
57
+ } // If enter is pressed, activate the button
58
+ else if (key === keyboard_keys_1.Enter) {
59
+ ev.preventDefault();
60
+ ev.currentTarget.click();
61
+ }
62
+ });
63
+ var onKeyupHandler = react_utilities_1.useEventCallback(function (ev) {
64
+ onKeyUp === null || onKeyUp === void 0 ? void 0 : onKeyUp(ev);
65
+
66
+ if (ev.isDefaultPrevented()) {
67
+ return;
68
+ }
69
+
70
+ var key = ev.key;
71
+
72
+ if ((disabled || disabledFocusable) && (key === keyboard_keys_1.Enter || key === keyboard_keys_1.Space)) {
73
+ ev.preventDefault();
74
+ ev.stopPropagation();
75
+ return;
76
+ }
77
+
78
+ if (key === keyboard_keys_1.Space) {
79
+ ev.preventDefault();
80
+ ev.currentTarget.click();
81
+ }
82
+ });
83
+
84
+ if (shorthandProps) {
85
+ // If a <button> tag is to be rendered we just need to set disabled and aria-disabled correctly
86
+ if (shorthandProps.as === 'button' || shorthandProps.as === undefined) {
87
+ shorthandProps.disabled = disabled && !disabledFocusable;
88
+ shorthandProps['aria-disabled'] = disabledFocusable;
89
+ } // If an <a> tag is to be rendered we have to remove disabled and set aria-disabled, role and tabIndex as well as
90
+ // some event handlers.
91
+ else {
92
+ delete shorthandProps.disabled;
93
+ shorthandProps['aria-disabled'] = disabled || disabledFocusable;
94
+ shorthandProps.onClick = onClickHandler;
95
+ shorthandProps.onKeyDown = onKeyDownHandler;
96
+ shorthandProps.onKeyUp = onKeyupHandler;
97
+ shorthandProps.role = (_a = shorthandProps.role) !== null && _a !== void 0 ? _a : 'button';
98
+ shorthandProps.tabIndex = disabled && !disabledFocusable ? undefined : tabIndex !== null && tabIndex !== void 0 ? tabIndex : 0;
99
+ } // Remove non-DOM disabledFocusable prop
100
+
101
+
102
+ delete shorthandProps.disabledFocusable;
103
+ }
104
+
105
+ return shorthandProps;
106
+ }
107
+
108
+ exports.useARIAButton = useARIAButton;
109
+ //# sourceMappingURL=useARIAButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/useARIAButton.ts"],"names":[],"mappings":"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","sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ export * from './hooks/index';
2
+ export * from './utils/index';
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./hooks/index"), exports);
10
+
11
+ tslib_1.__exportStar(require("./utils/index"), exports);
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,eAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,eAAA,CAAA,EAAA,OAAA","sourceRoot":""}
@@ -0,0 +1 @@
1
+ export * from './mergeARIADisabled';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./mergeARIADisabled"), exports);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,qBAAA,CAAA,EAAA,OAAA","sourceRoot":""}
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { ObjectShorthandProps } from '@fluentui/react-utilities';
3
+ /**
4
+ * Merges disabled declaration with `aria-disabled`
5
+ */
6
+ export declare function mergeARIADisabled(shorthand: ObjectShorthandProps<{
7
+ 'aria-disabled'?: string | boolean;
8
+ children?: React.ReactNode;
9
+ disabled?: boolean;
10
+ }>): boolean;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mergeARIADisabled = void 0;
7
+ /**
8
+ * Merges disabled declaration with `aria-disabled`
9
+ */
10
+
11
+ function mergeARIADisabled(shorthand) {
12
+ var _a;
13
+
14
+ var disabled = (_a = shorthand.disabled) !== null && _a !== void 0 ? _a : shorthand['aria-disabled'];
15
+
16
+ if (typeof disabled === 'string') {
17
+ return disabled === 'false' ? false : true;
18
+ }
19
+
20
+ return disabled !== null && disabled !== void 0 ? disabled : false;
21
+ }
22
+
23
+ exports.mergeARIADisabled = mergeARIADisabled;
24
+ //# sourceMappingURL=mergeARIADisabled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/mergeARIADisabled.ts"],"names":[],"mappings":";;;;;;AAGA;;AAEG;;AACH,SAAgB,iBAAhB,CACE,SADF,EAKI;;;AAEF,MAAM,QAAQ,GAAA,CAAA,EAAA,GAAG,SAAS,CAAC,QAAb,MAAqB,IAArB,IAAqB,EAAA,KAAA,KAAA,CAArB,GAAqB,EAArB,GAAyB,SAAS,CAAC,eAAD,CAAhD;;AACA,MAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC;AAChC,WAAO,QAAQ,KAAK,OAAb,GAAuB,KAAvB,GAA+B,IAAtC;AACD;;AACD,SAAO,QAAQ,KAAA,IAAR,IAAA,QAAQ,KAAA,KAAA,CAAR,GAAA,QAAA,GAAY,KAAnB;AACD;;AAZD,OAAA,CAAA,iBAAA,GAAA,iBAAA","sourceRoot":""}
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "@fluentui/react-aria",
3
+ "version": "0.0.0-nightly0e0cf06c3420211029.1",
4
+ "description": "React helper to ensure ARIA",
5
+ "main": "lib-commonjs/index.js",
6
+ "module": "lib/index.js",
7
+ "typings": "lib/index.d.ts",
8
+ "sideEffects": false,
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/microsoft/fluentui"
12
+ },
13
+ "license": "MIT",
14
+ "scripts": {
15
+ "build": "just-scripts build",
16
+ "clean": "just-scripts clean",
17
+ "code-style": "just-scripts code-style",
18
+ "just": "just-scripts",
19
+ "lint": "just-scripts lint",
20
+ "start": "yarn storybook",
21
+ "test": "jest",
22
+ "docs": "api-extractor run --config=config/api-extractor.local.json --local",
23
+ "build:local": "tsc -p . --module esnext --emitDeclarationOnly && node ../../scripts/typescript/normalize-import --output dist/react-aria/src && yarn docs",
24
+ "storybook": "start-storybook"
25
+ },
26
+ "devDependencies": {
27
+ "@fluentui/eslint-plugin": "*",
28
+ "@fluentui/jest-serializer-make-styles": "0.0.0-nightly0e0cf06c3420211029.1",
29
+ "@fluentui/react-conformance": "*",
30
+ "@fluentui/scripts": "^1.0.0",
31
+ "@types/enzyme": "3.10.3",
32
+ "@types/enzyme-adapter-react-16": "1.0.3",
33
+ "@types/react": "16.9.42",
34
+ "@types/react-dom": "16.9.10",
35
+ "@types/react-test-renderer": "^16.0.0",
36
+ "enzyme": "~3.10.0",
37
+ "enzyme-adapter-react-16": "^1.15.0",
38
+ "react": "16.8.6",
39
+ "react-dom": "16.8.6",
40
+ "react-test-renderer": "^16.3.0"
41
+ },
42
+ "dependencies": {
43
+ "@fluentui/keyboard-keys": "0.0.0-nightly0e0cf06c3420211029.1",
44
+ "@fluentui/react-make-styles": "0.0.0-nightly0e0cf06c3420211029.1",
45
+ "@fluentui/react-utilities": "0.0.0-nightly0e0cf06c3420211029.1",
46
+ "tslib": "^2.1.0"
47
+ },
48
+ "peerDependencies": {
49
+ "@types/react": ">=16.8.0 <18.0.0",
50
+ "@types/react-dom": ">=16.8.0 <18.0.0",
51
+ "react": ">=16.8.0 <18.0.0",
52
+ "react-dom": ">=16.8.0 <18.0.0"
53
+ },
54
+ "beachball": {
55
+ "tag": "beta",
56
+ "disallowedChangeTypes": [
57
+ "major",
58
+ "minor",
59
+ "patch"
60
+ ]
61
+ }
62
+ }