@fluentui/react-aria 9.0.0-rc.9 → 9.0.2

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 CHANGED
@@ -2,7 +2,107 @@
2
2
  "name": "@fluentui/react-aria",
3
3
  "entries": [
4
4
  {
5
- "date": "Mon, 23 May 2022 12:10:50 GMT",
5
+ "date": "Thu, 14 Jul 2022 21:18:43 GMT",
6
+ "tag": "@fluentui/react-aria_v9.0.2",
7
+ "version": "9.0.2",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "Humberto.Morimoto@microsoft.com",
12
+ "package": "@fluentui/react-aria",
13
+ "commit": "802bc4e3730a88b0fc61b5bf42ef7fc6b6543fe2",
14
+ "comment": "fix: Fixing bad version bump of @fluentui/react-utilities."
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@fluentui/react-aria",
19
+ "comment": "Bump @fluentui/react-utilities to v9.0.2",
20
+ "commit": "802bc4e3730a88b0fc61b5bf42ef7fc6b6543fe2"
21
+ }
22
+ ]
23
+ }
24
+ },
25
+ {
26
+ "date": "Thu, 14 Jul 2022 17:06:26 GMT",
27
+ "tag": "@fluentui/react-aria_v9.0.1",
28
+ "version": "9.0.1",
29
+ "comments": {
30
+ "patch": [
31
+ {
32
+ "author": "beachball",
33
+ "package": "@fluentui/react-aria",
34
+ "comment": "Bump @fluentui/react-utilities to v9.0.1-0",
35
+ "commit": "35237381e941c8935b1892c9217096cea3e5601f"
36
+ }
37
+ ]
38
+ }
39
+ },
40
+ {
41
+ "date": "Tue, 28 Jun 2022 15:14:13 GMT",
42
+ "tag": "@fluentui/react-aria_v9.0.0",
43
+ "version": "9.0.0",
44
+ "comments": {
45
+ "prerelease": [
46
+ {
47
+ "author": "lingfangao@hotmail.com",
48
+ "package": "@fluentui/react-aria",
49
+ "commit": "e0aabd850b15adf9c151ebd4e332f7c50ad6cfdf",
50
+ "comment": "Update 9.0.0-rc dependencies to use caret range"
51
+ },
52
+ {
53
+ "author": "lingfangao@hotmail.com",
54
+ "package": "@fluentui/react-aria",
55
+ "commit": "2da4428ae7d6e464c538b7ed10e425ce0e531144",
56
+ "comment": "chore: Mark internal APIs with @internal"
57
+ }
58
+ ],
59
+ "none": [
60
+ {
61
+ "author": "tristan.watanabe@gmail.com",
62
+ "package": "@fluentui/react-aria",
63
+ "commit": "319c07f0ef9ffdda6106b60d9f5f75018445fcf8",
64
+ "comment": "chore: Update Aria storybook config to index.stories.tsx entrypoint."
65
+ }
66
+ ],
67
+ "patch": [
68
+ {
69
+ "author": "lingfangao@hotmail.com",
70
+ "package": "@fluentui/react-aria",
71
+ "commit": "c7b1348bdad7aa883c29bfbc96ef2a32e6ebc7dd",
72
+ "comment": "feat: Initial 9.0.0 release"
73
+ },
74
+ {
75
+ "author": "beachball",
76
+ "package": "@fluentui/react-aria",
77
+ "comment": "Bump @fluentui/keyboard-keys to v9.0.0",
78
+ "commit": "ba6c5d651559b91c815429c9a9357c4d5a390f3e"
79
+ },
80
+ {
81
+ "author": "beachball",
82
+ "package": "@fluentui/react-aria",
83
+ "comment": "Bump @fluentui/react-utilities to v9.0.0",
84
+ "commit": "ba6c5d651559b91c815429c9a9357c4d5a390f3e"
85
+ }
86
+ ]
87
+ }
88
+ },
89
+ {
90
+ "date": "Tue, 31 May 2022 21:28:50 GMT",
91
+ "tag": "@fluentui/react-aria_v9.0.0-rc.10",
92
+ "version": "9.0.0-rc.10",
93
+ "comments": {
94
+ "prerelease": [
95
+ {
96
+ "author": "beachball",
97
+ "package": "@fluentui/react-aria",
98
+ "comment": "Bump @fluentui/react-utilities to v9.0.0-rc.10",
99
+ "commit": "335ebfcfd47005003901b5e319782bfe9ccd89fd"
100
+ }
101
+ ]
102
+ }
103
+ },
104
+ {
105
+ "date": "Mon, 23 May 2022 12:14:24 GMT",
6
106
  "tag": "@fluentui/react-aria_v9.0.0-rc.9",
7
107
  "version": "9.0.0-rc.9",
8
108
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,56 @@
1
1
  # Change Log - @fluentui/react-aria
2
2
 
3
- This log was last generated on Mon, 23 May 2022 12:10:50 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 14 Jul 2022 21:18:43 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [9.0.2](https://github.com/microsoft/fluentui/tree/@fluentui/react-aria_v9.0.2)
8
+
9
+ Thu, 14 Jul 2022 21:18:43 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-aria_v9.0.1..@fluentui/react-aria_v9.0.2)
11
+
12
+ ### Patches
13
+
14
+ - fix: Fixing bad version bump of @fluentui/react-utilities. ([PR #23920](https://github.com/microsoft/fluentui/pull/23920) by Humberto.Morimoto@microsoft.com)
15
+ - Bump @fluentui/react-utilities to v9.0.2 ([PR #23920](https://github.com/microsoft/fluentui/pull/23920) by beachball)
16
+
17
+ ## [9.0.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-aria_v9.0.1)
18
+
19
+ Thu, 14 Jul 2022 17:06:26 GMT
20
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-aria_v9.0.0..@fluentui/react-aria_v9.0.1)
21
+
22
+ ### Patches
23
+
24
+ - Bump @fluentui/react-utilities to v9.0.1-0 ([PR #23897](https://github.com/microsoft/fluentui/pull/23897) by beachball)
25
+
26
+ ## [9.0.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-aria_v9.0.0)
27
+
28
+ Tue, 28 Jun 2022 15:14:13 GMT
29
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-aria_v9.0.0-rc.10..@fluentui/react-aria_v9.0.0)
30
+
31
+ ### Patches
32
+
33
+ - feat: Initial 9.0.0 release ([PR #23733](https://github.com/microsoft/fluentui/pull/23733) by lingfangao@hotmail.com)
34
+ - Bump @fluentui/keyboard-keys to v9.0.0 ([commit](https://github.com/microsoft/fluentui/commit/ba6c5d651559b91c815429c9a9357c4d5a390f3e) by beachball)
35
+ - Bump @fluentui/react-utilities to v9.0.0 ([commit](https://github.com/microsoft/fluentui/commit/ba6c5d651559b91c815429c9a9357c4d5a390f3e) by beachball)
36
+
37
+ ### Changes
38
+
39
+ - Update 9.0.0-rc dependencies to use caret range ([PR #23732](https://github.com/microsoft/fluentui/pull/23732) by lingfangao@hotmail.com)
40
+ - chore: Mark internal APIs with @internal ([PR #23689](https://github.com/microsoft/fluentui/pull/23689) by lingfangao@hotmail.com)
41
+
42
+ ## [9.0.0-rc.10](https://github.com/microsoft/fluentui/tree/@fluentui/react-aria_v9.0.0-rc.10)
43
+
44
+ Tue, 31 May 2022 21:28:50 GMT
45
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-aria_v9.0.0-rc.9..@fluentui/react-aria_v9.0.0-rc.10)
46
+
47
+ ### Changes
48
+
49
+ - Bump @fluentui/react-utilities to v9.0.0-rc.10 ([PR #23325](https://github.com/microsoft/fluentui/pull/23325) by beachball)
50
+
7
51
  ## [9.0.0-rc.9](https://github.com/microsoft/fluentui/tree/@fluentui/react-aria_v9.0.0-rc.9)
8
52
 
9
- Mon, 23 May 2022 12:10:50 GMT
53
+ Mon, 23 May 2022 12:14:24 GMT
10
54
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-aria_v9.0.0-rc.8..@fluentui/react-aria_v9.0.0-rc.9)
11
55
 
12
56
  ### Changes
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export declare type ARIAButtonSlotProps = ExtractSlotProps<Slot<'button', 'a'>>
8
8
  };
9
9
 
10
10
  /**
11
+ * @internal
11
12
  * Merges disabled declaration with `aria-disabled`
12
13
  */
13
14
  export declare function mergeARIADisabled(shorthand: {
@@ -1 +1 @@
1
- {"version":3,"sources":["hooks/useARIAButton.ts"],"names":[],"mappings":"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","sourcesContent":["import { Enter, Space } from '@fluentui/keyboard-keys';\nimport { resolveShorthand, useEventCallback } from '@fluentui/react-utilities';\nimport type { ExtractSlotProps, ResolveShorthandFunction, Slot } from '@fluentui/react-utilities';\n\nexport type ARIAButtonSlotProps = ExtractSlotProps<Slot<'button', 'a'>> & {\n disabled?: boolean;\n disabledFocusable?: boolean;\n};\n\n/**\n * Button keyboard handling, role, disabled and tabIndex implementation that ensures ARIA spec\n * for multiple scenarios of shorthand properties. Ensuring 1st rule of ARIA for cases\n * where no attribute addition is required.\n */\nexport const useARIAButton: ResolveShorthandFunction<ARIAButtonSlotProps> = (shorthand, options) => {\n const shorthandProps = resolveShorthand(shorthand, options);\n\n const { disabled, disabledFocusable, onClick, onKeyDown, onKeyUp, tabIndex } = (shorthandProps ||\n {}) as ARIAButtonSlotProps;\n\n const onClickHandler: ARIAButtonSlotProps['onClick'] = useEventCallback(ev => {\n if (disabled || disabledFocusable) {\n ev.preventDefault();\n ev.stopPropagation();\n } else {\n onClick?.(ev);\n }\n });\n\n const onKeyDownHandler: ARIAButtonSlotProps['onKeyDown'] = useEventCallback(ev => {\n onKeyDown?.(ev);\n\n if (ev.isDefaultPrevented()) {\n return;\n }\n\n const key = ev.key;\n\n if ((disabled || disabledFocusable) && (key === Enter || key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n if (key === Space) {\n ev.preventDefault();\n return;\n }\n\n // If enter is pressed, activate the button\n else if (key === Enter) {\n ev.preventDefault();\n ev.currentTarget.click();\n }\n });\n\n const onKeyupHandler: ARIAButtonSlotProps['onKeyUp'] = useEventCallback(ev => {\n onKeyUp?.(ev);\n\n if (ev.isDefaultPrevented()) {\n return;\n }\n\n const key = ev.key;\n\n if ((disabled || disabledFocusable) && (key === Enter || key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n if (key === Space) {\n ev.preventDefault();\n ev.currentTarget.click();\n }\n });\n\n if (shorthandProps) {\n // If a <button> tag is to be rendered we just need to set disabled and aria-disabled correctly\n if (shorthandProps.as === 'button' || shorthandProps.as === undefined) {\n shorthandProps.disabled = disabled && !disabledFocusable;\n shorthandProps['aria-disabled'] = disabledFocusable ? true : undefined;\n\n // Undefine events if disabledFocusable is passed in\n if (disabledFocusable) {\n shorthandProps.onClick = undefined;\n shorthandProps.onKeyDown = undefined;\n shorthandProps.onKeyUp = undefined;\n }\n }\n\n // If an <a> tag is to be rendered we have to remove disabled and type, and set aria-disabled, role and tabIndex.\n else {\n delete shorthandProps.disabled;\n shorthandProps['aria-disabled'] = disabled || disabledFocusable;\n (shorthandProps as JSX.IntrinsicElements['a']).href = disabled\n ? undefined\n : (shorthandProps as JSX.IntrinsicElements['a']).href;\n shorthandProps.onClick = onClickHandler;\n shorthandProps.onKeyDown = onKeyDownHandler;\n shorthandProps.onKeyUp = onKeyupHandler;\n shorthandProps.role = shorthandProps.role ?? 'button';\n shorthandProps.tabIndex = disabled && !disabledFocusable ? undefined : tabIndex ?? 0;\n }\n\n // Remove non-DOM disabledFocusable prop\n delete shorthandProps.disabledFocusable;\n }\n\n return shorthandProps;\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"sources":["hooks/useARIAButton.ts"],"names":[],"mappings":"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","sourcesContent":["import { Enter, Space } from '@fluentui/keyboard-keys';\nimport { resolveShorthand, useEventCallback } from '@fluentui/react-utilities';\nimport type { ExtractSlotProps, ResolveShorthandFunction, Slot } from '@fluentui/react-utilities';\n\nexport type ARIAButtonSlotProps = ExtractSlotProps<Slot<'button', 'a'>> & {\n disabled?: boolean;\n disabledFocusable?: boolean;\n};\n\n/**\n * Button keyboard handling, role, disabled and tabIndex implementation that ensures ARIA spec\n * for multiple scenarios of shorthand properties. Ensuring 1st rule of ARIA for cases\n * where no attribute addition is required.\n */\nexport const useARIAButton: ResolveShorthandFunction<ARIAButtonSlotProps> = (shorthand, options) => {\n const shorthandProps = resolveShorthand(shorthand, options);\n\n const { disabled, disabledFocusable, onClick, onKeyDown, onKeyUp, tabIndex } = (shorthandProps ||\n {}) as ARIAButtonSlotProps;\n\n const onClickHandler: ARIAButtonSlotProps['onClick'] = useEventCallback(ev => {\n if (disabled || disabledFocusable) {\n ev.preventDefault();\n ev.stopPropagation();\n } else {\n onClick?.(ev);\n }\n });\n\n const onKeyDownHandler: ARIAButtonSlotProps['onKeyDown'] = useEventCallback(ev => {\n onKeyDown?.(ev);\n\n if (ev.isDefaultPrevented()) {\n return;\n }\n\n const key = ev.key;\n\n if ((disabled || disabledFocusable) && (key === Enter || key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n if (key === Space) {\n ev.preventDefault();\n return;\n }\n\n // If enter is pressed, activate the button\n else if (key === Enter) {\n ev.preventDefault();\n ev.currentTarget.click();\n }\n });\n\n const onKeyupHandler: ARIAButtonSlotProps['onKeyUp'] = useEventCallback(ev => {\n onKeyUp?.(ev);\n\n if (ev.isDefaultPrevented()) {\n return;\n }\n\n const key = ev.key;\n\n if ((disabled || disabledFocusable) && (key === Enter || key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n if (key === Space) {\n ev.preventDefault();\n ev.currentTarget.click();\n }\n });\n\n if (shorthandProps) {\n // If a <button> tag is to be rendered we just need to set disabled and aria-disabled correctly\n if (shorthandProps.as === 'button' || shorthandProps.as === undefined) {\n shorthandProps.disabled = disabled && !disabledFocusable;\n shorthandProps['aria-disabled'] = disabledFocusable ? true : undefined;\n\n // Undefine events if disabledFocusable is passed in\n if (disabledFocusable) {\n shorthandProps.onClick = undefined;\n shorthandProps.onKeyDown = undefined;\n shorthandProps.onKeyUp = undefined;\n }\n }\n\n // If an <a> tag is to be rendered we have to remove disabled and type, and set aria-disabled, role and tabIndex.\n else {\n delete shorthandProps.disabled;\n shorthandProps['aria-disabled'] = disabled || disabledFocusable;\n (shorthandProps as JSX.IntrinsicElements['a']).href = disabled\n ? undefined\n : (shorthandProps as JSX.IntrinsicElements['a']).href;\n shorthandProps.onClick = onClickHandler;\n shorthandProps.onKeyDown = onKeyDownHandler;\n shorthandProps.onKeyUp = onKeyupHandler;\n shorthandProps.role = shorthandProps.role ?? 'button';\n shorthandProps.tabIndex = disabled && !disabledFocusable ? undefined : tabIndex ?? 0;\n }\n\n // Remove non-DOM disabledFocusable prop\n delete shorthandProps.disabledFocusable;\n }\n\n return shorthandProps;\n};\n"],"sourceRoot":"../src/"}
@@ -1,4 +1,5 @@
1
1
  /**
2
+ * @internal
2
3
  * Merges disabled declaration with `aria-disabled`
3
4
  */
4
5
  export function mergeARIADisabled(shorthand) {
@@ -1 +1 @@
1
- {"version":3,"sources":["utils/mergeARIADisabled.ts"],"names":[],"mappings":"AAAA;;AAEG;AACH,OAAM,SAAU,iBAAV,CAA4B,SAA5B,EAAiG;;;AACrG,QAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,SAAS,CAAC,QAAV,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,EAAlB,GAAsB,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","sourcesContent":["/**\n * Merges disabled declaration with `aria-disabled`\n */\nexport function mergeARIADisabled(shorthand: { 'aria-disabled'?: string | boolean; disabled?: boolean }) {\n const disabled = shorthand.disabled ?? shorthand['aria-disabled'];\n if (typeof disabled === 'string') {\n return disabled === 'false' ? false : true;\n }\n return disabled ?? false;\n}\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"sources":["utils/mergeARIADisabled.ts"],"names":[],"mappings":"AAAA;;;AAGG;AACH,OAAM,SAAU,iBAAV,CAA4B,SAA5B,EAAiG;;;EACrG,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,SAAS,CAAC,QAAV,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,EAAlB,GAAsB,SAAS,CAAC,eAAD,CAAhD;;EACA,IAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC;IAChC,OAAO,QAAQ,KAAK,OAAb,GAAuB,KAAvB,GAA+B,IAAtC;EACD;;EACD,OAAO,QAAQ,KAAA,IAAR,IAAA,QAAQ,KAAA,KAAA,CAAR,GAAA,QAAA,GAAY,KAAnB;AACD","sourcesContent":["/**\n * @internal\n * Merges disabled declaration with `aria-disabled`\n */\nexport function mergeARIADisabled(shorthand: { 'aria-disabled'?: string | boolean; disabled?: boolean }) {\n const disabled = shorthand.disabled ?? shorthand['aria-disabled'];\n if (typeof disabled === 'string') {\n return disabled === 'false' ? false : true;\n }\n return disabled ?? false;\n}\n"],"sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"sources":["hooks/useARIAButton.ts"],"names":[],"mappings":"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","sourcesContent":["import { Enter, Space } from '@fluentui/keyboard-keys';\nimport { resolveShorthand, useEventCallback } from '@fluentui/react-utilities';\nimport type { ExtractSlotProps, ResolveShorthandFunction, Slot } from '@fluentui/react-utilities';\n\nexport type ARIAButtonSlotProps = ExtractSlotProps<Slot<'button', 'a'>> & {\n disabled?: boolean;\n disabledFocusable?: boolean;\n};\n\n/**\n * Button keyboard handling, role, disabled and tabIndex implementation that ensures ARIA spec\n * for multiple scenarios of shorthand properties. Ensuring 1st rule of ARIA for cases\n * where no attribute addition is required.\n */\nexport const useARIAButton: ResolveShorthandFunction<ARIAButtonSlotProps> = (shorthand, options) => {\n const shorthandProps = resolveShorthand(shorthand, options);\n\n const { disabled, disabledFocusable, onClick, onKeyDown, onKeyUp, tabIndex } = (shorthandProps ||\n {}) as ARIAButtonSlotProps;\n\n const onClickHandler: ARIAButtonSlotProps['onClick'] = useEventCallback(ev => {\n if (disabled || disabledFocusable) {\n ev.preventDefault();\n ev.stopPropagation();\n } else {\n onClick?.(ev);\n }\n });\n\n const onKeyDownHandler: ARIAButtonSlotProps['onKeyDown'] = useEventCallback(ev => {\n onKeyDown?.(ev);\n\n if (ev.isDefaultPrevented()) {\n return;\n }\n\n const key = ev.key;\n\n if ((disabled || disabledFocusable) && (key === Enter || key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n if (key === Space) {\n ev.preventDefault();\n return;\n }\n\n // If enter is pressed, activate the button\n else if (key === Enter) {\n ev.preventDefault();\n ev.currentTarget.click();\n }\n });\n\n const onKeyupHandler: ARIAButtonSlotProps['onKeyUp'] = useEventCallback(ev => {\n onKeyUp?.(ev);\n\n if (ev.isDefaultPrevented()) {\n return;\n }\n\n const key = ev.key;\n\n if ((disabled || disabledFocusable) && (key === Enter || key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n if (key === Space) {\n ev.preventDefault();\n ev.currentTarget.click();\n }\n });\n\n if (shorthandProps) {\n // If a <button> tag is to be rendered we just need to set disabled and aria-disabled correctly\n if (shorthandProps.as === 'button' || shorthandProps.as === undefined) {\n shorthandProps.disabled = disabled && !disabledFocusable;\n shorthandProps['aria-disabled'] = disabledFocusable ? true : undefined;\n\n // Undefine events if disabledFocusable is passed in\n if (disabledFocusable) {\n shorthandProps.onClick = undefined;\n shorthandProps.onKeyDown = undefined;\n shorthandProps.onKeyUp = undefined;\n }\n }\n\n // If an <a> tag is to be rendered we have to remove disabled and type, and set aria-disabled, role and tabIndex.\n else {\n delete shorthandProps.disabled;\n shorthandProps['aria-disabled'] = disabled || disabledFocusable;\n (shorthandProps as JSX.IntrinsicElements['a']).href = disabled\n ? undefined\n : (shorthandProps as JSX.IntrinsicElements['a']).href;\n shorthandProps.onClick = onClickHandler;\n shorthandProps.onKeyDown = onKeyDownHandler;\n shorthandProps.onKeyUp = onKeyupHandler;\n shorthandProps.role = shorthandProps.role ?? 'button';\n shorthandProps.tabIndex = disabled && !disabledFocusable ? undefined : tabIndex ?? 0;\n }\n\n // Remove non-DOM disabledFocusable prop\n delete shorthandProps.disabledFocusable;\n }\n\n return shorthandProps;\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"sources":["hooks/useARIAButton.ts"],"names":[],"mappings":"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","sourcesContent":["import { Enter, Space } from '@fluentui/keyboard-keys';\nimport { resolveShorthand, useEventCallback } from '@fluentui/react-utilities';\nimport type { ExtractSlotProps, ResolveShorthandFunction, Slot } from '@fluentui/react-utilities';\n\nexport type ARIAButtonSlotProps = ExtractSlotProps<Slot<'button', 'a'>> & {\n disabled?: boolean;\n disabledFocusable?: boolean;\n};\n\n/**\n * Button keyboard handling, role, disabled and tabIndex implementation that ensures ARIA spec\n * for multiple scenarios of shorthand properties. Ensuring 1st rule of ARIA for cases\n * where no attribute addition is required.\n */\nexport const useARIAButton: ResolveShorthandFunction<ARIAButtonSlotProps> = (shorthand, options) => {\n const shorthandProps = resolveShorthand(shorthand, options);\n\n const { disabled, disabledFocusable, onClick, onKeyDown, onKeyUp, tabIndex } = (shorthandProps ||\n {}) as ARIAButtonSlotProps;\n\n const onClickHandler: ARIAButtonSlotProps['onClick'] = useEventCallback(ev => {\n if (disabled || disabledFocusable) {\n ev.preventDefault();\n ev.stopPropagation();\n } else {\n onClick?.(ev);\n }\n });\n\n const onKeyDownHandler: ARIAButtonSlotProps['onKeyDown'] = useEventCallback(ev => {\n onKeyDown?.(ev);\n\n if (ev.isDefaultPrevented()) {\n return;\n }\n\n const key = ev.key;\n\n if ((disabled || disabledFocusable) && (key === Enter || key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n if (key === Space) {\n ev.preventDefault();\n return;\n }\n\n // If enter is pressed, activate the button\n else if (key === Enter) {\n ev.preventDefault();\n ev.currentTarget.click();\n }\n });\n\n const onKeyupHandler: ARIAButtonSlotProps['onKeyUp'] = useEventCallback(ev => {\n onKeyUp?.(ev);\n\n if (ev.isDefaultPrevented()) {\n return;\n }\n\n const key = ev.key;\n\n if ((disabled || disabledFocusable) && (key === Enter || key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n if (key === Space) {\n ev.preventDefault();\n ev.currentTarget.click();\n }\n });\n\n if (shorthandProps) {\n // If a <button> tag is to be rendered we just need to set disabled and aria-disabled correctly\n if (shorthandProps.as === 'button' || shorthandProps.as === undefined) {\n shorthandProps.disabled = disabled && !disabledFocusable;\n shorthandProps['aria-disabled'] = disabledFocusable ? true : undefined;\n\n // Undefine events if disabledFocusable is passed in\n if (disabledFocusable) {\n shorthandProps.onClick = undefined;\n shorthandProps.onKeyDown = undefined;\n shorthandProps.onKeyUp = undefined;\n }\n }\n\n // If an <a> tag is to be rendered we have to remove disabled and type, and set aria-disabled, role and tabIndex.\n else {\n delete shorthandProps.disabled;\n shorthandProps['aria-disabled'] = disabled || disabledFocusable;\n (shorthandProps as JSX.IntrinsicElements['a']).href = disabled\n ? undefined\n : (shorthandProps as JSX.IntrinsicElements['a']).href;\n shorthandProps.onClick = onClickHandler;\n shorthandProps.onKeyDown = onKeyDownHandler;\n shorthandProps.onKeyUp = onKeyupHandler;\n shorthandProps.role = shorthandProps.role ?? 'button';\n shorthandProps.tabIndex = disabled && !disabledFocusable ? undefined : tabIndex ?? 0;\n }\n\n // Remove non-DOM disabledFocusable prop\n delete shorthandProps.disabledFocusable;\n }\n\n return shorthandProps;\n};\n"],"sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;AAAA,IAAA,OAAA,gBAAA,OAAA,CAAA,eAAA,CAAA;;AAAS,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,eAAA,EAAA;AAAA,EAAA,UAAA,EAAA,IAAA;AAAA,EAAA,GAAA,EAAA,YAAA;AAAA,WAAA,OAAA,CAAA,aAAA;AAAa;AAAb,CAAA;;AAET,IAAA,OAAA,gBAAA,OAAA,CAAA,eAAA,CAAA;;AAAS,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,mBAAA,EAAA;AAAA,EAAA,UAAA,EAAA,IAAA;AAAA,EAAA,GAAA,EAAA,YAAA;AAAA,WAAA,OAAA,CAAA,iBAAA;AAAiB;AAAjB,CAAA","sourcesContent":["export { useARIAButton } from './hooks/index';\nexport type { ARIAButtonSlotProps } from './hooks/index';\nexport { mergeARIADisabled } from './utils/index';\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;AAAA,IAAA,OAAA,gBAAA,OAAA,CAAA,eAAA,CAAA;;AAAS,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,eAAA,EAAA;EAAA,UAAA,EAAA,IAAA;EAAA,GAAA,EAAA,YAAA;IAAA,OAAA,OAAA,CAAA,aAAA;EAAa;AAAb,CAAA;;AAET,IAAA,OAAA,gBAAA,OAAA,CAAA,eAAA,CAAA;;AAAS,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,mBAAA,EAAA;EAAA,UAAA,EAAA,IAAA;EAAA,GAAA,EAAA,YAAA;IAAA,OAAA,OAAA,CAAA,iBAAA;EAAiB;AAAjB,CAAA","sourcesContent":["export { useARIAButton } from './hooks/index';\nexport type { ARIAButtonSlotProps } from './hooks/index';\nexport { mergeARIADisabled } from './utils/index';\n"],"sourceRoot":"../src/"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.mergeARIADisabled = void 0;
7
7
  /**
8
+ * @internal
8
9
  * Merges disabled declaration with `aria-disabled`
9
10
  */
10
11
 
@@ -1 +1 @@
1
- {"version":3,"sources":["utils/mergeARIADisabled.ts"],"names":[],"mappings":";;;;;;AAAA;;AAEG;;AACH,SAAgB,iBAAhB,CAAkC,SAAlC,EAAuG;;;AACrG,QAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,SAAS,CAAC,QAAV,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,EAAlB,GAAsB,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;;AAND,OAAA,CAAA,iBAAA,GAAA,iBAAA","sourcesContent":["/**\n * Merges disabled declaration with `aria-disabled`\n */\nexport function mergeARIADisabled(shorthand: { 'aria-disabled'?: string | boolean; disabled?: boolean }) {\n const disabled = shorthand.disabled ?? shorthand['aria-disabled'];\n if (typeof disabled === 'string') {\n return disabled === 'false' ? false : true;\n }\n return disabled ?? false;\n}\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"sources":["utils/mergeARIADisabled.ts"],"names":[],"mappings":";;;;;;AAAA;;;AAGG;;AACH,SAAgB,iBAAhB,CAAkC,SAAlC,EAAuG;;;EACrG,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,SAAS,CAAC,QAAV,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,EAAlB,GAAsB,SAAS,CAAC,eAAD,CAAhD;;EACA,IAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC;IAChC,OAAO,QAAQ,KAAK,OAAb,GAAuB,KAAvB,GAA+B,IAAtC;EACD;;EACD,OAAO,QAAQ,KAAA,IAAR,IAAA,QAAQ,KAAA,KAAA,CAAR,GAAA,QAAA,GAAY,KAAnB;AACD;;AAND,OAAA,CAAA,iBAAA,GAAA,iBAAA","sourcesContent":["/**\n * @internal\n * Merges disabled declaration with `aria-disabled`\n */\nexport function mergeARIADisabled(shorthand: { 'aria-disabled'?: string | boolean; disabled?: boolean }) {\n const disabled = shorthand.disabled ?? shorthand['aria-disabled'];\n if (typeof disabled === 'string') {\n return disabled === 'false' ? false : true;\n }\n return disabled ?? false;\n}\n"],"sourceRoot":"../src/"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-aria",
3
- "version": "9.0.0-rc.9",
3
+ "version": "9.0.2",
4
4
  "description": "React helper to ensure ARIA",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -30,8 +30,8 @@
30
30
  "@fluentui/scripts": "^1.0.0"
31
31
  },
32
32
  "dependencies": {
33
- "@fluentui/keyboard-keys": "9.0.0-rc.6",
34
- "@fluentui/react-utilities": "9.0.0-rc.9",
33
+ "@fluentui/keyboard-keys": "^9.0.0",
34
+ "@fluentui/react-utilities": "^9.0.2",
35
35
  "tslib": "^2.1.0"
36
36
  },
37
37
  "peerDependencies": {
@@ -42,9 +42,7 @@
42
42
  },
43
43
  "beachball": {
44
44
  "disallowedChangeTypes": [
45
- "major",
46
- "minor",
47
- "patch"
45
+ "major"
48
46
  ]
49
47
  },
50
48
  "exports": {