@fluentui/react-link 9.0.19 → 9.0.20
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 +28 -1
- package/CHANGELOG.md +13 -2
- package/lib/components/Link/useLinkState.js +2 -1
- package/lib/components/Link/useLinkState.js.map +1 -1
- package/lib-amd/components/Link/useLinkState.js +2 -2
- package/lib-amd/components/Link/useLinkState.js.map +1 -1
- package/lib-commonjs/components/Link/useLinkState.js +2 -1
- package/lib-commonjs/components/Link/useLinkState.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,34 @@
|
|
|
2
2
|
"name": "@fluentui/react-link",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Thu, 26 Jan 2023 13:27:47 GMT",
|
|
6
|
+
"tag": "@fluentui/react-link_v9.0.20",
|
|
7
|
+
"version": "9.0.20",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"author": "olfedias@microsoft.com",
|
|
12
|
+
"package": "@fluentui/react-link",
|
|
13
|
+
"commit": "a2eb0b3b09c9b6007977e273311d327f43df42e1",
|
|
14
|
+
"comment": "fix: handle \"tabIndex\" from user's input"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"author": "beachball",
|
|
18
|
+
"package": "@fluentui/react-link",
|
|
19
|
+
"comment": "Bump @fluentui/react-tabster to v9.4.1",
|
|
20
|
+
"commit": "403e1370f1effca7d3db131eda381abf31cf66b1"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"author": "beachball",
|
|
24
|
+
"package": "@fluentui/react-link",
|
|
25
|
+
"comment": "Bump @fluentui/react-utilities to v9.5.0",
|
|
26
|
+
"commit": "403e1370f1effca7d3db131eda381abf31cf66b1"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"date": "Wed, 18 Jan 2023 16:32:57 GMT",
|
|
6
33
|
"tag": "@fluentui/react-link_v9.0.19",
|
|
7
34
|
"version": "9.0.19",
|
|
8
35
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
# Change Log - @fluentui/react-link
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Thu, 26 Jan 2023 13:27:47 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## [9.0.20](https://github.com/microsoft/fluentui/tree/@fluentui/react-link_v9.0.20)
|
|
8
|
+
|
|
9
|
+
Thu, 26 Jan 2023 13:27:47 GMT
|
|
10
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-link_v9.0.19..@fluentui/react-link_v9.0.20)
|
|
11
|
+
|
|
12
|
+
### Patches
|
|
13
|
+
|
|
14
|
+
- fix: handle "tabIndex" from user's input ([PR #26456](https://github.com/microsoft/fluentui/pull/26456) by olfedias@microsoft.com)
|
|
15
|
+
- Bump @fluentui/react-tabster to v9.4.1 ([PR #26496](https://github.com/microsoft/fluentui/pull/26496) by beachball)
|
|
16
|
+
- Bump @fluentui/react-utilities to v9.5.0 ([PR #26496](https://github.com/microsoft/fluentui/pull/26496) by beachball)
|
|
17
|
+
|
|
7
18
|
## [9.0.19](https://github.com/microsoft/fluentui/tree/@fluentui/react-link_v9.0.19)
|
|
8
19
|
|
|
9
|
-
Wed, 18 Jan 2023 16:
|
|
20
|
+
Wed, 18 Jan 2023 16:32:57 GMT
|
|
10
21
|
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-link_v9.0.18..@fluentui/react-link_v9.0.19)
|
|
11
22
|
|
|
12
23
|
### Patches
|
|
@@ -12,12 +12,13 @@ export const useLinkState_unstable = state => {
|
|
|
12
12
|
onClick,
|
|
13
13
|
onKeyDown,
|
|
14
14
|
role,
|
|
15
|
+
tabIndex,
|
|
15
16
|
type
|
|
16
17
|
} = state.root;
|
|
17
18
|
// Add href and tabIndex=0 for anchor elements.
|
|
18
19
|
if (state.root.as === 'a') {
|
|
19
20
|
state.root.href = disabled ? undefined : state.root.href;
|
|
20
|
-
state.root.tabIndex = disabled && !disabledFocusable ? undefined : 0;
|
|
21
|
+
state.root.tabIndex = tabIndex !== null && tabIndex !== void 0 ? tabIndex : disabled && !disabledFocusable ? undefined : 0;
|
|
21
22
|
// Add role="link" for disabled and disabledFocusable links.
|
|
22
23
|
if (disabled || disabledFocusable) {
|
|
23
24
|
state.root.role = role || 'link';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"AACA,SAASA,KAAK,EAAEC,KAAK,QAAQ,yBAAyB;AAGtD;;;;AAIA,OAAO,MAAMC,qBAAqB,GAAIC,KAAgB,IAAe;EACnE,MAAM;IAAEC,QAAQ;IAAEC;EAAiB,CAAE,GAAGF,KAAK;EAC7C,MAAM;IAAEG,OAAO;IAAEC,SAAS;IAAEC,IAAI;IAAEC;EAAI,
|
|
1
|
+
{"version":3,"mappings":"AACA,SAASA,KAAK,EAAEC,KAAK,QAAQ,yBAAyB;AAGtD;;;;AAIA,OAAO,MAAMC,qBAAqB,GAAIC,KAAgB,IAAe;EACnE,MAAM;IAAEC,QAAQ;IAAEC;EAAiB,CAAE,GAAGF,KAAK;EAC7C,MAAM;IAAEG,OAAO;IAAEC,SAAS;IAAEC,IAAI;IAAEC,QAAQ;IAAEC;EAAI,CAAC,GAAGP,KAAK,CAACQ,IAAI;EAE9D;EACA,IAAIR,KAAK,CAACQ,IAAI,CAACC,EAAE,KAAK,GAAG,EAAE;IACzBT,KAAK,CAACQ,IAAI,CAACE,IAAI,GAAGT,QAAQ,GAAGU,SAAS,GAAGX,KAAK,CAACQ,IAAI,CAACE,IAAI;IACxDV,KAAK,CAACQ,IAAI,CAACF,QAAQ,GAAGA,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAKL,QAAQ,IAAI,CAACC,iBAAiB,GAAGS,SAAS,GAAG,CAAE;IAElF;IACA,IAAIV,QAAQ,IAAIC,iBAAiB,EAAE;MACjCF,KAAK,CAACQ,IAAI,CAACH,IAAI,GAAGA,IAAI,IAAI,MAAM;;;EAGpC;EAAA,KACK;IACHL,KAAK,CAACQ,IAAI,CAACD,IAAI,GAAGA,IAAI,IAAI,QAAQ;;EAGpC;EACAP,KAAK,CAACQ,IAAI,CAACL,OAAO,GAAIS,EAA2D,IAAI;IACnF,IAAIX,QAAQ,IAAIC,iBAAiB,EAAE;MACjCU,EAAE,CAACC,cAAc,EAAE;KACpB,MAAM;MACLV,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGS,EAAE,CAAC;;EAEjB,CAAC;EAED;EACAZ,KAAK,CAACQ,IAAI,CAACJ,SAAS,GAAIQ,EAA8D,IAAI;IACxF,IAAI,CAACX,QAAQ,IAAIC,iBAAiB,MAAMU,EAAE,CAACE,GAAG,KAAKjB,KAAK,IAAIe,EAAE,CAACE,GAAG,KAAKhB,KAAK,CAAC,EAAE;MAC7Ec,EAAE,CAACC,cAAc,EAAE;MACnBD,EAAE,CAACG,eAAe,EAAE;KACrB,MAAM;MACLX,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAGQ,EAAE,CAAC;;EAEnB,CAAC;EAED;EACAZ,KAAK,CAACC,QAAQ,GAAGA,QAAQ,IAAIC,iBAAiB;EAC9CF,KAAK,CAACQ,IAAI,CAAC,eAAe,CAAC,GAAGP,QAAQ,IAAIC,iBAAiB,IAAIS,SAAS;EACxE,IAAIX,KAAK,CAACQ,IAAI,CAACC,EAAE,KAAK,QAAQ,EAAE;IAC9BT,KAAK,CAACQ,IAAI,CAACP,QAAQ,GAAGA,QAAQ,IAAI,CAACC,iBAAiB;;EAGtD,OAAOF,KAAK;AACd,CAAC","names":["Enter","Space","useLinkState_unstable","state","disabled","disabledFocusable","onClick","onKeyDown","role","tabIndex","type","root","as","href","undefined","ev","preventDefault","key","stopPropagation"],"sourceRoot":"../src/","sources":["packages/react-components/react-link/src/components/Link/useLinkState.ts"],"sourcesContent":["import * as React from 'react';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nimport type { LinkState } from './Link.types';\n\n/**\n * The useLinkState_unstable hook processes the Link state.\n * @param state - Link state to mutate.\n */\nexport const useLinkState_unstable = (state: LinkState): LinkState => {\n const { disabled, disabledFocusable } = state;\n const { onClick, onKeyDown, role, tabIndex, type} = state.root;\n\n // Add href and tabIndex=0 for anchor elements.\n if (state.root.as === 'a') {\n state.root.href = disabled ? undefined : state.root.href;\n state.root.tabIndex = tabIndex ?? (disabled && !disabledFocusable ? undefined : 0);\n\n // Add role=\"link\" for disabled and disabledFocusable links.\n if (disabled || disabledFocusable) {\n state.root.role = role || 'link';\n }\n }\n // Add type=\"button\" for button elements.\n else {\n state.root.type = type || 'button';\n }\n\n // Disallow click event when component is disabled and eat events when disabledFocusable is set to true.\n state.root.onClick = (ev: React.MouseEvent<HTMLAnchorElement & HTMLButtonElement>) => {\n if (disabled || disabledFocusable) {\n ev.preventDefault();\n } else {\n onClick?.(ev);\n }\n };\n\n // Disallow keydown event when component is disabled and eat events when disabledFocusable is set to true.\n state.root.onKeyDown = (ev: React.KeyboardEvent<HTMLAnchorElement & HTMLButtonElement>) => {\n if ((disabled || disabledFocusable) && (ev.key === Enter || ev.key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n } else {\n onKeyDown?.(ev);\n }\n };\n\n // Set the aria-disabled and disabled props correctly.\n state.disabled = disabled || disabledFocusable;\n state.root['aria-disabled'] = disabled || disabledFocusable || undefined;\n if (state.root.as === 'button') {\n state.root.disabled = disabled && !disabledFocusable;\n }\n\n return state;\n};\n"]}
|
|
@@ -8,11 +8,11 @@ define(["require", "exports", "@fluentui/keyboard-keys"], function (require, exp
|
|
|
8
8
|
*/
|
|
9
9
|
var useLinkState_unstable = function (state) {
|
|
10
10
|
var disabled = state.disabled, disabledFocusable = state.disabledFocusable;
|
|
11
|
-
var _a = state.root, onClick = _a.onClick, onKeyDown = _a.onKeyDown, role = _a.role, type = _a.type;
|
|
11
|
+
var _a = state.root, onClick = _a.onClick, onKeyDown = _a.onKeyDown, role = _a.role, tabIndex = _a.tabIndex, type = _a.type;
|
|
12
12
|
// Add href and tabIndex=0 for anchor elements.
|
|
13
13
|
if (state.root.as === 'a') {
|
|
14
14
|
state.root.href = disabled ? undefined : state.root.href;
|
|
15
|
-
state.root.tabIndex = disabled && !disabledFocusable ? undefined : 0;
|
|
15
|
+
state.root.tabIndex = tabIndex !== null && tabIndex !== void 0 ? tabIndex : (disabled && !disabledFocusable ? undefined : 0);
|
|
16
16
|
// Add role="link" for disabled and disabledFocusable links.
|
|
17
17
|
if (disabled || disabledFocusable) {
|
|
18
18
|
state.root.role = role || 'link';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLinkState.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-link/src/components/Link/useLinkState.ts"],"names":[],"mappings":";;;;IAIA;;;OAGG;IACI,IAAM,qBAAqB,GAAG,UAAC,KAAgB;QAC5C,IAAA,QAAQ,GAAwB,KAAK,SAA7B,EAAE,iBAAiB,GAAK,KAAK,kBAAV,CAAW;QACxC,IAAA,
|
|
1
|
+
{"version":3,"file":"useLinkState.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-link/src/components/Link/useLinkState.ts"],"names":[],"mappings":";;;;IAIA;;;OAGG;IACI,IAAM,qBAAqB,GAAG,UAAC,KAAgB;QAC5C,IAAA,QAAQ,GAAwB,KAAK,SAA7B,EAAE,iBAAiB,GAAK,KAAK,kBAAV,CAAW;QACxC,IAAA,KAA8C,KAAK,CAAC,IAAI,EAAtD,OAAO,aAAA,EAAE,SAAS,eAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAc,CAAC;QAE/D,+CAA+C;QAC/C,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE;YACzB,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,CAAC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnF,4DAA4D;YAC5D,IAAI,QAAQ,IAAI,iBAAiB,EAAE;gBACjC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC;aAClC;SACF;QACD,yCAAyC;aACpC;YACH,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC;SACpC;QAED,wGAAwG;QACxG,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,UAAC,EAA2D;YAC/E,IAAI,QAAQ,IAAI,iBAAiB,EAAE;gBACjC,EAAE,CAAC,cAAc,EAAE,CAAC;aACrB;iBAAM;gBACL,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,EAAE,CAAC,CAAC;aACf;QACH,CAAC,CAAC;QAEF,0GAA0G;QAC1G,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,UAAC,EAA8D;YACpF,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,qBAAK,IAAI,EAAE,CAAC,GAAG,KAAK,qBAAK,CAAC,EAAE;gBAC7E,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;aACtB;iBAAM;gBACL,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,EAAE,CAAC,CAAC;aACjB;QACH,CAAC,CAAC;QAEF,sDAAsD;QACtD,KAAK,CAAC,QAAQ,GAAG,QAAQ,IAAI,iBAAiB,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,QAAQ,IAAI,iBAAiB,IAAI,SAAS,CAAC;QACzE,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE;YAC9B,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,CAAC,iBAAiB,CAAC;SACtD;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IA9CW,QAAA,qBAAqB,yBA8ChC","sourcesContent":["import * as React from 'react';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nimport type { LinkState } from './Link.types';\n\n/**\n * The useLinkState_unstable hook processes the Link state.\n * @param state - Link state to mutate.\n */\nexport const useLinkState_unstable = (state: LinkState): LinkState => {\n const { disabled, disabledFocusable } = state;\n const { onClick, onKeyDown, role, tabIndex, type} = state.root;\n\n // Add href and tabIndex=0 for anchor elements.\n if (state.root.as === 'a') {\n state.root.href = disabled ? undefined : state.root.href;\n state.root.tabIndex = tabIndex ?? (disabled && !disabledFocusable ? undefined : 0);\n\n // Add role=\"link\" for disabled and disabledFocusable links.\n if (disabled || disabledFocusable) {\n state.root.role = role || 'link';\n }\n }\n // Add type=\"button\" for button elements.\n else {\n state.root.type = type || 'button';\n }\n\n // Disallow click event when component is disabled and eat events when disabledFocusable is set to true.\n state.root.onClick = (ev: React.MouseEvent<HTMLAnchorElement & HTMLButtonElement>) => {\n if (disabled || disabledFocusable) {\n ev.preventDefault();\n } else {\n onClick?.(ev);\n }\n };\n\n // Disallow keydown event when component is disabled and eat events when disabledFocusable is set to true.\n state.root.onKeyDown = (ev: React.KeyboardEvent<HTMLAnchorElement & HTMLButtonElement>) => {\n if ((disabled || disabledFocusable) && (ev.key === Enter || ev.key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n } else {\n onKeyDown?.(ev);\n }\n };\n\n // Set the aria-disabled and disabled props correctly.\n state.disabled = disabled || disabledFocusable;\n state.root['aria-disabled'] = disabled || disabledFocusable || undefined;\n if (state.root.as === 'button') {\n state.root.disabled = disabled && !disabledFocusable;\n }\n\n return state;\n};\n"]}
|
|
@@ -18,12 +18,13 @@ const useLinkState_unstable = state => {
|
|
|
18
18
|
onClick,
|
|
19
19
|
onKeyDown,
|
|
20
20
|
role,
|
|
21
|
+
tabIndex,
|
|
21
22
|
type
|
|
22
23
|
} = state.root;
|
|
23
24
|
// Add href and tabIndex=0 for anchor elements.
|
|
24
25
|
if (state.root.as === 'a') {
|
|
25
26
|
state.root.href = disabled ? undefined : state.root.href;
|
|
26
|
-
state.root.tabIndex = disabled && !disabledFocusable ? undefined : 0;
|
|
27
|
+
state.root.tabIndex = tabIndex !== null && tabIndex !== void 0 ? tabIndex : disabled && !disabledFocusable ? undefined : 0;
|
|
27
28
|
// Add role="link" for disabled and disabledFocusable links.
|
|
28
29
|
if (disabled || disabledFocusable) {
|
|
29
30
|
state.root.role = role || 'link';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":";;;;;;AACA;AAGA;;;;AAIO,MAAMA,qBAAqB,GAAIC,KAAgB,IAAe;EACnE,MAAM;IAAEC,QAAQ;IAAEC;EAAiB,CAAE,GAAGF,KAAK;EAC7C,MAAM;IAAEG,OAAO;IAAEC,SAAS;IAAEC,IAAI;IAAEC;EAAI,
|
|
1
|
+
{"version":3,"mappings":";;;;;;AACA;AAGA;;;;AAIO,MAAMA,qBAAqB,GAAIC,KAAgB,IAAe;EACnE,MAAM;IAAEC,QAAQ;IAAEC;EAAiB,CAAE,GAAGF,KAAK;EAC7C,MAAM;IAAEG,OAAO;IAAEC,SAAS;IAAEC,IAAI;IAAEC,QAAQ;IAAEC;EAAI,CAAC,GAAGP,KAAK,CAACQ,IAAI;EAE9D;EACA,IAAIR,KAAK,CAACQ,IAAI,CAACC,EAAE,KAAK,GAAG,EAAE;IACzBT,KAAK,CAACQ,IAAI,CAACE,IAAI,GAAGT,QAAQ,GAAGU,SAAS,GAAGX,KAAK,CAACQ,IAAI,CAACE,IAAI;IACxDV,KAAK,CAACQ,IAAI,CAACF,QAAQ,GAAGA,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAKL,QAAQ,IAAI,CAACC,iBAAiB,GAAGS,SAAS,GAAG,CAAE;IAElF;IACA,IAAIV,QAAQ,IAAIC,iBAAiB,EAAE;MACjCF,KAAK,CAACQ,IAAI,CAACH,IAAI,GAAGA,IAAI,IAAI,MAAM;;;EAGpC;EAAA,KACK;IACHL,KAAK,CAACQ,IAAI,CAACD,IAAI,GAAGA,IAAI,IAAI,QAAQ;;EAGpC;EACAP,KAAK,CAACQ,IAAI,CAACL,OAAO,GAAIS,EAA2D,IAAI;IACnF,IAAIX,QAAQ,IAAIC,iBAAiB,EAAE;MACjCU,EAAE,CAACC,cAAc,EAAE;KACpB,MAAM;MACLV,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGS,EAAE,CAAC;;EAEjB,CAAC;EAED;EACAZ,KAAK,CAACQ,IAAI,CAACJ,SAAS,GAAIQ,EAA8D,IAAI;IACxF,IAAI,CAACX,QAAQ,IAAIC,iBAAiB,MAAMU,EAAE,CAACE,GAAG,KAAKC,qBAAK,IAAIH,EAAE,CAACE,GAAG,KAAKC,qBAAK,CAAC,EAAE;MAC7EH,EAAE,CAACC,cAAc,EAAE;MACnBD,EAAE,CAACI,eAAe,EAAE;KACrB,MAAM;MACLZ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAGQ,EAAE,CAAC;;EAEnB,CAAC;EAED;EACAZ,KAAK,CAACC,QAAQ,GAAGA,QAAQ,IAAIC,iBAAiB;EAC9CF,KAAK,CAACQ,IAAI,CAAC,eAAe,CAAC,GAAGP,QAAQ,IAAIC,iBAAiB,IAAIS,SAAS;EACxE,IAAIX,KAAK,CAACQ,IAAI,CAACC,EAAE,KAAK,QAAQ,EAAE;IAC9BT,KAAK,CAACQ,IAAI,CAACP,QAAQ,GAAGA,QAAQ,IAAI,CAACC,iBAAiB;;EAGtD,OAAOF,KAAK;AACd,CAAC;AA9CYiB,6BAAqB","names":["useLinkState_unstable","state","disabled","disabledFocusable","onClick","onKeyDown","role","tabIndex","type","root","as","href","undefined","ev","preventDefault","key","keyboard_keys_1","stopPropagation","exports"],"sourceRoot":"../src/","sources":["packages/react-components/react-link/src/components/Link/useLinkState.ts"],"sourcesContent":["import * as React from 'react';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nimport type { LinkState } from './Link.types';\n\n/**\n * The useLinkState_unstable hook processes the Link state.\n * @param state - Link state to mutate.\n */\nexport const useLinkState_unstable = (state: LinkState): LinkState => {\n const { disabled, disabledFocusable } = state;\n const { onClick, onKeyDown, role, tabIndex, type} = state.root;\n\n // Add href and tabIndex=0 for anchor elements.\n if (state.root.as === 'a') {\n state.root.href = disabled ? undefined : state.root.href;\n state.root.tabIndex = tabIndex ?? (disabled && !disabledFocusable ? undefined : 0);\n\n // Add role=\"link\" for disabled and disabledFocusable links.\n if (disabled || disabledFocusable) {\n state.root.role = role || 'link';\n }\n }\n // Add type=\"button\" for button elements.\n else {\n state.root.type = type || 'button';\n }\n\n // Disallow click event when component is disabled and eat events when disabledFocusable is set to true.\n state.root.onClick = (ev: React.MouseEvent<HTMLAnchorElement & HTMLButtonElement>) => {\n if (disabled || disabledFocusable) {\n ev.preventDefault();\n } else {\n onClick?.(ev);\n }\n };\n\n // Disallow keydown event when component is disabled and eat events when disabledFocusable is set to true.\n state.root.onKeyDown = (ev: React.KeyboardEvent<HTMLAnchorElement & HTMLButtonElement>) => {\n if ((disabled || disabledFocusable) && (ev.key === Enter || ev.key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n } else {\n onKeyDown?.(ev);\n }\n };\n\n // Set the aria-disabled and disabled props correctly.\n state.disabled = disabled || disabledFocusable;\n state.root['aria-disabled'] = disabled || disabledFocusable || undefined;\n if (state.root.as === 'button') {\n state.root.disabled = disabled && !disabledFocusable;\n }\n\n return state;\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui/react-link",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.20",
|
|
4
4
|
"description": "Fluent UI React Link component",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@fluentui/keyboard-keys": "^9.0.1",
|
|
37
|
-
"@fluentui/react-tabster": "^9.4.
|
|
37
|
+
"@fluentui/react-tabster": "^9.4.1",
|
|
38
38
|
"@fluentui/react-theme": "^9.1.5",
|
|
39
|
-
"@fluentui/react-utilities": "^9.
|
|
39
|
+
"@fluentui/react-utilities": "^9.5.0",
|
|
40
40
|
"@griffel/react": "^1.5.2",
|
|
41
41
|
"tslib": "^2.1.0"
|
|
42
42
|
},
|