@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.
- package/CHANGELOG.json +1118 -0
- package/CHANGELOG.md +471 -0
- package/LICENSE +15 -0
- package/README.md +5 -0
- package/Spec.md +63 -0
- package/dist/react-aria.d.ts +28 -0
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.js +2 -0
- package/lib/hooks/index.js.map +1 -0
- package/lib/hooks/useARIAButton.d.ts +11 -0
- package/lib/hooks/useARIAButton.js +98 -0
- package/lib/hooks/useARIAButton.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -0
- package/lib/tsdoc-metadata.json +11 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +2 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/mergeARIADisabled.d.ts +10 -0
- package/lib/utils/mergeARIADisabled.js +15 -0
- package/lib/utils/mergeARIADisabled.js.map +1 -0
- package/lib-commonjs/hooks/index.d.ts +1 -0
- package/lib-commonjs/hooks/index.js +10 -0
- package/lib-commonjs/hooks/index.js.map +1 -0
- package/lib-commonjs/hooks/useARIAButton.d.ts +11 -0
- package/lib-commonjs/hooks/useARIAButton.js +109 -0
- package/lib-commonjs/hooks/useARIAButton.js.map +1 -0
- package/lib-commonjs/index.d.ts +2 -0
- package/lib-commonjs/index.js +12 -0
- package/lib-commonjs/index.js.map +1 -0
- package/lib-commonjs/utils/index.d.ts +1 -0
- package/lib-commonjs/utils/index.js +10 -0
- package/lib-commonjs/utils/index.js.map +1 -0
- package/lib-commonjs/utils/mergeARIADisabled.d.ts +10 -0
- package/lib-commonjs/utils/mergeARIADisabled.js +24 -0
- package/lib-commonjs/utils/mergeARIADisabled.js.map +1 -0
- 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
package/lib/index.js
ADDED
package/lib/index.js.map
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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,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 @@
|
|
|
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
|
+
}
|