@fluentui/react-link 9.0.19 → 9.0.21

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,55 @@
2
2
  "name": "@fluentui/react-link",
3
3
  "entries": [
4
4
  {
5
- "date": "Wed, 18 Jan 2023 16:30:58 GMT",
5
+ "date": "Tue, 31 Jan 2023 19:50:42 GMT",
6
+ "tag": "@fluentui/react-link_v9.0.21",
7
+ "version": "9.0.21",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "beachball",
12
+ "package": "@fluentui/react-link",
13
+ "comment": "Bump @fluentui/react-tabster to v9.4.2",
14
+ "commit": "22477ef4202cd24add6ebf823196b5888c9d8083"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@fluentui/react-link",
19
+ "comment": "Bump @fluentui/react-utilities to v9.5.1",
20
+ "commit": "22477ef4202cd24add6ebf823196b5888c9d8083"
21
+ }
22
+ ]
23
+ }
24
+ },
25
+ {
26
+ "date": "Thu, 26 Jan 2023 13:30:57 GMT",
27
+ "tag": "@fluentui/react-link_v9.0.20",
28
+ "version": "9.0.20",
29
+ "comments": {
30
+ "patch": [
31
+ {
32
+ "author": "olfedias@microsoft.com",
33
+ "package": "@fluentui/react-link",
34
+ "commit": "a2eb0b3b09c9b6007977e273311d327f43df42e1",
35
+ "comment": "fix: handle \"tabIndex\" from user's input"
36
+ },
37
+ {
38
+ "author": "beachball",
39
+ "package": "@fluentui/react-link",
40
+ "comment": "Bump @fluentui/react-tabster to v9.4.1",
41
+ "commit": "403e1370f1effca7d3db131eda381abf31cf66b1"
42
+ },
43
+ {
44
+ "author": "beachball",
45
+ "package": "@fluentui/react-link",
46
+ "comment": "Bump @fluentui/react-utilities to v9.5.0",
47
+ "commit": "403e1370f1effca7d3db131eda381abf31cf66b1"
48
+ }
49
+ ]
50
+ }
51
+ },
52
+ {
53
+ "date": "Wed, 18 Jan 2023 16:32:57 GMT",
6
54
  "tag": "@fluentui/react-link_v9.0.19",
7
55
  "version": "9.0.19",
8
56
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,33 @@
1
1
  # Change Log - @fluentui/react-link
2
2
 
3
- This log was last generated on Wed, 18 Jan 2023 16:30:58 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 31 Jan 2023 19:50:42 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [9.0.21](https://github.com/microsoft/fluentui/tree/@fluentui/react-link_v9.0.21)
8
+
9
+ Tue, 31 Jan 2023 19:50:42 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-link_v9.0.20..@fluentui/react-link_v9.0.21)
11
+
12
+ ### Patches
13
+
14
+ - Bump @fluentui/react-tabster to v9.4.2 ([PR #26491](https://github.com/microsoft/fluentui/pull/26491) by beachball)
15
+ - Bump @fluentui/react-utilities to v9.5.1 ([PR #26491](https://github.com/microsoft/fluentui/pull/26491) by beachball)
16
+
17
+ ## [9.0.20](https://github.com/microsoft/fluentui/tree/@fluentui/react-link_v9.0.20)
18
+
19
+ Thu, 26 Jan 2023 13:30:57 GMT
20
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-link_v9.0.19..@fluentui/react-link_v9.0.20)
21
+
22
+ ### Patches
23
+
24
+ - fix: handle "tabIndex" from user's input ([PR #26456](https://github.com/microsoft/fluentui/pull/26456) by olfedias@microsoft.com)
25
+ - Bump @fluentui/react-tabster to v9.4.1 ([PR #26496](https://github.com/microsoft/fluentui/pull/26496) by beachball)
26
+ - Bump @fluentui/react-utilities to v9.5.0 ([PR #26496](https://github.com/microsoft/fluentui/pull/26496) by beachball)
27
+
7
28
  ## [9.0.19](https://github.com/microsoft/fluentui/tree/@fluentui/react-link_v9.0.19)
8
29
 
9
- Wed, 18 Jan 2023 16:30:58 GMT
30
+ Wed, 18 Jan 2023 16:32:57 GMT
10
31
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-link_v9.0.18..@fluentui/react-link_v9.0.19)
11
32
 
12
33
  ### 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,CAAE,GAAGN,KAAK,CAACO,IAAI;EAErD;EACA,IAAIP,KAAK,CAACO,IAAI,CAACC,EAAE,KAAK,GAAG,EAAE;IACzBR,KAAK,CAACO,IAAI,CAACE,IAAI,GAAGR,QAAQ,GAAGS,SAAS,GAAGV,KAAK,CAACO,IAAI,CAACE,IAAI;IACxDT,KAAK,CAACO,IAAI,CAACI,QAAQ,GAAGV,QAAQ,IAAI,CAACC,iBAAiB,GAAGQ,SAAS,GAAG,CAAC;IAEpE;IACA,IAAIT,QAAQ,IAAIC,iBAAiB,EAAE;MACjCF,KAAK,CAACO,IAAI,CAACF,IAAI,GAAGA,IAAI,IAAI,MAAM;;;EAGpC;EAAA,KACK;IACHL,KAAK,CAACO,IAAI,CAACD,IAAI,GAAGA,IAAI,IAAI,QAAQ;;EAGpC;EACAN,KAAK,CAACO,IAAI,CAACJ,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,CAACO,IAAI,CAACH,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,CAACO,IAAI,CAAC,eAAe,CAAC,GAAGN,QAAQ,IAAIC,iBAAiB,IAAIQ,SAAS;EACxE,IAAIV,KAAK,CAACO,IAAI,CAACC,EAAE,KAAK,QAAQ,EAAE;IAC9BR,KAAK,CAACO,IAAI,CAACN,QAAQ,GAAGA,QAAQ,IAAI,CAACC,iBAAiB;;EAGtD,OAAOF,KAAK;AACd,CAAC","names":["Enter","Space","useLinkState_unstable","state","disabled","disabledFocusable","onClick","onKeyDown","role","type","root","as","href","undefined","tabIndex","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, 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 = 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"]}
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,KAAqC,KAAK,CAAC,IAAI,EAA7C,OAAO,aAAA,EAAE,SAAS,eAAA,EAAE,IAAI,UAAA,EAAE,IAAI,UAAe,CAAC;QAEtD,+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,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAErE,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, 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 = 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"]}
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,CAAE,GAAGN,KAAK,CAACO,IAAI;EAErD;EACA,IAAIP,KAAK,CAACO,IAAI,CAACC,EAAE,KAAK,GAAG,EAAE;IACzBR,KAAK,CAACO,IAAI,CAACE,IAAI,GAAGR,QAAQ,GAAGS,SAAS,GAAGV,KAAK,CAACO,IAAI,CAACE,IAAI;IACxDT,KAAK,CAACO,IAAI,CAACI,QAAQ,GAAGV,QAAQ,IAAI,CAACC,iBAAiB,GAAGQ,SAAS,GAAG,CAAC;IAEpE;IACA,IAAIT,QAAQ,IAAIC,iBAAiB,EAAE;MACjCF,KAAK,CAACO,IAAI,CAACF,IAAI,GAAGA,IAAI,IAAI,MAAM;;;EAGpC;EAAA,KACK;IACHL,KAAK,CAACO,IAAI,CAACD,IAAI,GAAGA,IAAI,IAAI,QAAQ;;EAGpC;EACAN,KAAK,CAACO,IAAI,CAACJ,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,CAACO,IAAI,CAACH,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,CAACO,IAAI,CAAC,eAAe,CAAC,GAAGN,QAAQ,IAAIC,iBAAiB,IAAIQ,SAAS;EACxE,IAAIV,KAAK,CAACO,IAAI,CAACC,EAAE,KAAK,QAAQ,EAAE;IAC9BR,KAAK,CAACO,IAAI,CAACN,QAAQ,GAAGA,QAAQ,IAAI,CAACC,iBAAiB;;EAGtD,OAAOF,KAAK;AACd,CAAC;AA9CYiB,6BAAqB","names":["useLinkState_unstable","state","disabled","disabledFocusable","onClick","onKeyDown","role","type","root","as","href","undefined","tabIndex","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, 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 = 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"]}
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.19",
3
+ "version": "9.0.21",
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.0",
37
+ "@fluentui/react-tabster": "^9.4.2",
38
38
  "@fluentui/react-theme": "^9.1.5",
39
- "@fluentui/react-utilities": "^9.4.0",
39
+ "@fluentui/react-utilities": "^9.5.1",
40
40
  "@griffel/react": "^1.5.2",
41
41
  "tslib": "^2.1.0"
42
42
  },