@fluentui/react-link 9.8.3 → 9.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +18 -2
  2. package/dist/index.d.cts +104 -0
  3. package/dist/index.d.ts +5 -5
  4. package/lib/Link.js +2 -2
  5. package/lib/Link.js.map +1 -1
  6. package/lib/components/Link/Link.js +5 -5
  7. package/lib/components/Link/Link.js.map +1 -1
  8. package/lib/components/Link/Link.types.js +1 -1
  9. package/lib/components/Link/Link.types.js.map +1 -1
  10. package/lib/components/Link/index.js +5 -5
  11. package/lib/components/Link/index.js.map +1 -1
  12. package/lib/components/Link/renderLink.js +1 -1
  13. package/lib/components/Link/useLink.js +9 -9
  14. package/lib/components/Link/useLink.js.map +1 -1
  15. package/lib/components/Link/useLinkState.js +1 -1
  16. package/lib/components/Link/useLinkStyles.styles.js +3 -3
  17. package/lib/components/Link/useLinkStyles.styles.js.map +1 -1
  18. package/lib/components/Link/useLinkStyles.styles.raw.js +3 -3
  19. package/lib/contexts/index.js +1 -1
  20. package/lib/contexts/index.js.map +1 -1
  21. package/lib/contexts/linkContext.js +1 -1
  22. package/lib/index.js +2 -2
  23. package/lib/index.js.map +1 -1
  24. package/lib-commonjs/{Link.js → Link.cjs} +5 -5
  25. package/lib-commonjs/{Link.js.map → Link.cjs.map} +1 -1
  26. package/lib-commonjs/components/Link/{Link.js → Link.cjs} +3 -3
  27. package/lib-commonjs/components/Link/{Link.js.map → Link.cjs.map} +1 -1
  28. package/lib-commonjs/components/Link/{Link.types.js → Link.types.cjs} +1 -1
  29. package/lib-commonjs/components/Link/{Link.types.js.map → Link.types.cjs.map} +1 -1
  30. package/lib-commonjs/components/Link/{index.js → index.cjs} +5 -5
  31. package/lib-commonjs/components/Link/{index.js.map → index.cjs.map} +1 -1
  32. package/lib-commonjs/components/Link/{useLink.js → useLink.cjs} +6 -6
  33. package/lib-commonjs/components/Link/useLink.cjs.map +1 -0
  34. package/lib-commonjs/components/Link/useLinkStyles.styles.cjs.map +1 -0
  35. package/lib-commonjs/contexts/{index.js → index.cjs} +1 -1
  36. package/lib-commonjs/contexts/{index.js.map → index.cjs.map} +1 -1
  37. package/lib-commonjs/{index.js → index.cjs} +5 -5
  38. package/lib-commonjs/{index.js.map → index.cjs.map} +1 -1
  39. package/package.json +19 -13
  40. package/lib-commonjs/components/Link/useLink.js.map +0 -1
  41. package/lib-commonjs/components/Link/useLinkStyles.styles.js.map +0 -1
  42. /package/lib-commonjs/components/Link/{renderLink.js → renderLink.cjs} +0 -0
  43. /package/lib-commonjs/components/Link/{renderLink.js.map → renderLink.cjs.map} +0 -0
  44. /package/lib-commonjs/components/Link/{useLinkState.js → useLinkState.cjs} +0 -0
  45. /package/lib-commonjs/components/Link/{useLinkState.js.map → useLinkState.cjs.map} +0 -0
  46. /package/lib-commonjs/components/Link/{useLinkStyles.styles.js → useLinkStyles.styles.cjs} +0 -0
  47. /package/lib-commonjs/components/Link/{useLinkStyles.styles.raw.js → useLinkStyles.styles.raw.cjs} +0 -0
  48. /package/lib-commonjs/components/Link/{useLinkStyles.styles.raw.js.map → useLinkStyles.styles.raw.cjs.map} +0 -0
  49. /package/lib-commonjs/contexts/{linkContext.js → linkContext.cjs} +0 -0
  50. /package/lib-commonjs/contexts/{linkContext.js.map → linkContext.cjs.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,12 +1,28 @@
1
1
  # Change Log - @fluentui/react-link
2
2
 
3
- This log was last generated on Wed, 24 Jun 2026 11:03:34 GMT and should not be manually modified.
3
+ <!-- This log was last generated on Tue, 11 Aug 2026 17:16:02 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [9.8.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-link_v9.8.4)
8
+
9
+ Tue, 11 Aug 2026 17:16:02 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-link_v9.8.3..@fluentui/react-link_v9.8.4)
11
+
12
+ ### Patches
13
+
14
+ - Ship ESM-first (type:module): valid ESM under lib/, CommonJS under lib-commonjs/*.cjs, and drop the `node` export condition - bare-Node `import` resolves ESM, `require` resolves CJS; node-targeted bundlers tree-shake. ([PR #36327](https://github.com/microsoft/fluentui/pull/36327) by martinhochel@microsoft.com)
15
+ - fix: move inline styling and context resolution out of the base hook ([PR #36542](https://github.com/microsoft/fluentui/pull/36542) by vgenaev@gmail.com)
16
+ - Bump @fluentui/keyboard-keys to v9.0.9 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
17
+ - Bump @fluentui/react-jsx-runtime to v9.4.5 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
18
+ - Bump @fluentui/react-shared-contexts to v9.26.3 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
19
+ - Bump @fluentui/react-tabster to v9.26.17 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
20
+ - Bump @fluentui/react-theme to v9.2.2 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
21
+ - Bump @fluentui/react-utilities to v9.26.6 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
22
+
7
23
  ## [9.8.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-link_v9.8.3)
8
24
 
9
- Wed, 24 Jun 2026 11:03:34 GMT
25
+ Wed, 24 Jun 2026 11:09:46 GMT
10
26
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-link_v9.8.2..@fluentui/react-link_v9.8.3)
11
27
 
12
28
  ### Patches
@@ -0,0 +1,104 @@
1
+ import type { BackgroundAppearanceContextValue } from '@fluentui/react-shared-contexts';
2
+ import type { ComponentProps } from '@fluentui/react-utilities';
3
+ import type { ComponentState } from '@fluentui/react-utilities';
4
+ import type { DistributiveOmit } from '@fluentui/react-utilities';
5
+ import type { ForwardRefComponent } from '@fluentui/react-utilities';
6
+ import type { JSXElement } from '@fluentui/react-utilities';
7
+ import * as React_2 from 'react';
8
+ import type { Slot } from '@fluentui/react-utilities';
9
+ import type { SlotClassNames } from '@fluentui/react-utilities';
10
+
11
+ /**
12
+ * A Link is a reference to data that a user can follow by clicking or tapping it.
13
+ */
14
+ export declare const Link: ForwardRefComponent<LinkProps>;
15
+
16
+ /**
17
+ * Link props without design-specific props (appearance, inline).
18
+ * Use this when building a base link that is unstyled or uses a custom design system.
19
+ */
20
+ export declare type LinkBaseProps = DistributiveOmit<LinkProps, 'appearance' | 'inline'>;
21
+
22
+ /**
23
+ * Link state without design-specific state (appearance, backgroundAppearance, inline).
24
+ */
25
+ export declare type LinkBaseState = DistributiveOmit<LinkState, 'appearance' | 'backgroundAppearance' | 'inline'>;
26
+
27
+ export declare const linkClassNames: SlotClassNames<LinkSlots>;
28
+
29
+ export declare const linkContextDefaultValue: LinkContextValue;
30
+
31
+ export declare const LinkContextProvider: React_2.Provider<LinkContextValue | undefined>;
32
+
33
+ export declare type LinkContextValue = {
34
+ inline?: boolean;
35
+ };
36
+
37
+ export declare type LinkProps = ComponentProps<LinkSlots> & {
38
+ /**
39
+ * A link can appear either with its default style or subtle.
40
+ * If not specified, the link appears with its default styling.
41
+ * @default 'default'
42
+ */
43
+ appearance?: 'default' | 'subtle';
44
+ /**
45
+ * Whether the link is disabled.
46
+ * @default false
47
+ */
48
+ disabled?: boolean;
49
+ /**
50
+ * When set, allows the link to be focusable even when it has been disabled. This is used in scenarios where it is
51
+ * important to keep a consistent tab order for screen reader and keyboard users.
52
+ * @default false
53
+ */
54
+ disabledFocusable?: boolean;
55
+ /**
56
+ * If true, changes styling when the link is being used alongside other text content.
57
+ * @default false
58
+ */
59
+ inline?: boolean;
60
+ };
61
+
62
+ export declare type LinkSlots = {
63
+ /**
64
+ * Root of the component that renders as either an <a> or a <button> tag.
65
+ */
66
+ root: Slot<'a', 'button' | 'span'>;
67
+ };
68
+
69
+ export declare type LinkState = ComponentState<LinkSlots> & Required<Pick<LinkProps, 'appearance' | 'disabled' | 'disabledFocusable' | 'inline'>> & {
70
+ backgroundAppearance?: BackgroundAppearanceContextValue;
71
+ };
72
+
73
+ /**
74
+ * Renders a Link component by passing the state defined props to the appropriate slots.
75
+ */
76
+ export declare const renderLink_unstable: (state: LinkBaseState) => JSXElement;
77
+
78
+ /**
79
+ * Given user props, defines default props for the Link, calls useLinkState_unstable, and returns processed state.
80
+ * @param props - User provided props to the Link component.
81
+ * @param ref - User provided ref to be passed to the Link component.
82
+ */
83
+ export declare const useLink_unstable: (props: LinkProps, ref: React_2.Ref<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>) => LinkState;
84
+
85
+ /**
86
+ * Base hook for Link component, which manages state related to ARIA, keyboard handling,
87
+ * disabled behavior, and slot structure. This hook excludes design-specific props (appearance, inline).
88
+ *
89
+ * @param props - User provided props to the Link component.
90
+ * @param ref - User provided ref to be passed to the Link component.
91
+ */
92
+ export declare const useLinkBase_unstable: (props: LinkBaseProps, ref: React_2.Ref<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>) => LinkBaseState;
93
+
94
+ export declare const useLinkContext: () => LinkContextValue;
95
+
96
+ /**
97
+ * The useLinkState_unstable hook processes the Link state.
98
+ * @param state - Link state to mutate.
99
+ */
100
+ export declare const useLinkState_unstable: (state: LinkBaseState) => LinkBaseState;
101
+
102
+ export declare const useLinkStyles_unstable: (state: LinkState) => LinkState;
103
+
104
+ export { }
package/dist/index.d.ts CHANGED
@@ -14,15 +14,15 @@ import type { SlotClassNames } from '@fluentui/react-utilities';
14
14
  export declare const Link: ForwardRefComponent<LinkProps>;
15
15
 
16
16
  /**
17
- * Link props without design-specific props (appearance).
17
+ * Link props without design-specific props (appearance, inline).
18
18
  * Use this when building a base link that is unstyled or uses a custom design system.
19
19
  */
20
- export declare type LinkBaseProps = DistributiveOmit<LinkProps, 'appearance'>;
20
+ export declare type LinkBaseProps = DistributiveOmit<LinkProps, 'appearance' | 'inline'>;
21
21
 
22
22
  /**
23
- * Link state without design-specific state (appearance, backgroundAppearance).
23
+ * Link state without design-specific state (appearance, backgroundAppearance, inline).
24
24
  */
25
- export declare type LinkBaseState = DistributiveOmit<LinkState, 'appearance' | 'backgroundAppearance'>;
25
+ export declare type LinkBaseState = DistributiveOmit<LinkState, 'appearance' | 'backgroundAppearance' | 'inline'>;
26
26
 
27
27
  export declare const linkClassNames: SlotClassNames<LinkSlots>;
28
28
 
@@ -84,7 +84,7 @@ export declare const useLink_unstable: (props: LinkProps, ref: React_2.Ref<HTMLA
84
84
 
85
85
  /**
86
86
  * Base hook for Link component, which manages state related to ARIA, keyboard handling,
87
- * disabled behavior, and slot structure. This hook excludes design-specific props (appearance).
87
+ * disabled behavior, and slot structure. This hook excludes design-specific props (appearance, inline).
88
88
  *
89
89
  * @param props - User provided props to the Link component.
90
90
  * @param ref - User provided ref to be passed to the Link component.
package/lib/Link.js CHANGED
@@ -1,2 +1,2 @@
1
- export { Link, linkClassNames, renderLink_unstable, useLinkState_unstable, useLinkStyles_unstable, useLink_unstable, useLinkBase_unstable } from './components/Link/index';
2
- export { LinkContextProvider, linkContextDefaultValue, useLinkContext } from './contexts';
1
+ export { Link, linkClassNames, renderLink_unstable, useLinkState_unstable, useLinkStyles_unstable, useLink_unstable, useLinkBase_unstable } from "./components/Link/index.js";
2
+ export { LinkContextProvider, linkContextDefaultValue, useLinkContext } from "./contexts/index.js";
package/lib/Link.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Link.ts"],"sourcesContent":["export type { LinkProps, LinkSlots, LinkState, LinkBaseProps, LinkBaseState } from './components/Link/index';\nexport {\n Link,\n linkClassNames,\n renderLink_unstable,\n useLinkState_unstable,\n useLinkStyles_unstable,\n useLink_unstable,\n useLinkBase_unstable,\n} from './components/Link/index';\nexport type { LinkContextValue } from './contexts';\nexport { LinkContextProvider, linkContextDefaultValue, useLinkContext } from './contexts';\n"],"names":["Link","linkClassNames","renderLink_unstable","useLinkState_unstable","useLinkStyles_unstable","useLink_unstable","useLinkBase_unstable","LinkContextProvider","linkContextDefaultValue","useLinkContext"],"mappings":"AACA,SACEA,IAAI,EACJC,cAAc,EACdC,mBAAmB,EACnBC,qBAAqB,EACrBC,sBAAsB,EACtBC,gBAAgB,EAChBC,oBAAoB,QACf,0BAA0B;AAEjC,SAASC,mBAAmB,EAAEC,uBAAuB,EAAEC,cAAc,QAAQ,aAAa"}
1
+ {"version":3,"sources":["../src/Link.ts"],"sourcesContent":["export type { LinkProps, LinkSlots, LinkState, LinkBaseProps, LinkBaseState } from './components/Link/index';\nexport {\n Link,\n linkClassNames,\n renderLink_unstable,\n useLinkState_unstable,\n useLinkStyles_unstable,\n useLink_unstable,\n useLinkBase_unstable,\n} from './components/Link/index';\nexport type { LinkContextValue } from './contexts';\nexport { LinkContextProvider, linkContextDefaultValue, useLinkContext } from './contexts';\n"],"names":["Link","linkClassNames","renderLink_unstable","useLinkState_unstable","useLinkStyles_unstable","useLink_unstable","useLinkBase_unstable","LinkContextProvider","linkContextDefaultValue","useLinkContext"],"mappings":"AACA,SACEA,IAAI,EACJC,cAAc,EACdC,mBAAmB,EACnBC,qBAAqB,EACrBC,sBAAsB,EACtBC,gBAAgB,EAChBC,oBAAoB,QACf,6BAA0B;AAEjC,SAASC,mBAAmB,EAAEC,uBAAuB,EAAEC,cAAc,QAAQ,sBAAa"}
@@ -1,9 +1,9 @@
1
1
  'use client';
2
- import * as React from 'react';
3
- import { useLink_unstable } from './useLink';
4
- import { useLinkStyles_unstable } from './useLinkStyles.styles';
5
- import { renderLink_unstable } from './renderLink';
6
- import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
2
+ import * as React from "react";
3
+ import { useLink_unstable } from "./useLink.js";
4
+ import { useLinkStyles_unstable } from "./useLinkStyles.styles.js";
5
+ import { renderLink_unstable } from "./renderLink.js";
6
+ import { useCustomStyleHook_unstable } from "@fluentui/react-shared-contexts";
7
7
  /**
8
8
  * A Link is a reference to data that a user can follow by clicking or tapping it.
9
9
  */ export const Link = /*#__PURE__*/ React.forwardRef((props, ref)=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Link/Link.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useLink_unstable } from './useLink';\nimport { useLinkStyles_unstable } from './useLinkStyles.styles';\nimport { renderLink_unstable } from './renderLink';\nimport type { LinkProps } from './Link.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * A Link is a reference to data that a user can follow by clicking or tapping it.\n */\nexport const Link: ForwardRefComponent<LinkProps> = React.forwardRef((props, ref) => {\n const state = useLink_unstable(props, ref);\n\n useLinkStyles_unstable(state);\n\n useCustomStyleHook_unstable('useLinkStyles_unstable')(state);\n\n return renderLink_unstable(state);\n // Work around some small mismatches in inferred types which don't matter in practice\n}) as ForwardRefComponent<LinkProps>;\n\nLink.displayName = 'Link';\n"],"names":["React","useLink_unstable","useLinkStyles_unstable","renderLink_unstable","useCustomStyleHook_unstable","Link","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,gBAAgB,QAAQ,YAAY;AAC7C,SAASC,sBAAsB,QAAQ,yBAAyB;AAChE,SAASC,mBAAmB,QAAQ,eAAe;AAGnD,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;CAEC,GACD,OAAO,MAAMC,qBAAuCL,MAAMM,UAAU,CAAC,CAACC,OAAOC;IAC3E,MAAMC,QAAQR,iBAAiBM,OAAOC;IAEtCN,uBAAuBO;IAEvBL,4BAA4B,0BAA0BK;IAEtD,OAAON,oBAAoBM;AAC3B,qFAAqF;AACvF,GAAqC;AAErCJ,KAAKK,WAAW,GAAG"}
1
+ {"version":3,"sources":["../src/components/Link/Link.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useLink_unstable } from './useLink';\nimport { useLinkStyles_unstable } from './useLinkStyles.styles';\nimport { renderLink_unstable } from './renderLink';\nimport type { LinkProps } from './Link.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * A Link is a reference to data that a user can follow by clicking or tapping it.\n */\nexport const Link: ForwardRefComponent<LinkProps> = React.forwardRef((props, ref) => {\n const state = useLink_unstable(props, ref);\n\n useLinkStyles_unstable(state);\n\n useCustomStyleHook_unstable('useLinkStyles_unstable')(state);\n\n return renderLink_unstable(state);\n // Work around some small mismatches in inferred types which don't matter in practice\n}) as ForwardRefComponent<LinkProps>;\n\nLink.displayName = 'Link';\n"],"names":["React","useLink_unstable","useLinkStyles_unstable","renderLink_unstable","useCustomStyleHook_unstable","Link","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,gBAAgB,QAAQ,eAAY;AAC7C,SAASC,sBAAsB,QAAQ,4BAAyB;AAChE,SAASC,mBAAmB,QAAQ,kBAAe;AAGnD,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;CAEC,GACD,OAAO,MAAMC,qBAAuCL,MAAMM,UAAU,CAAC,CAACC,OAAOC;IAC3E,MAAMC,QAAQR,iBAAiBM,OAAOC;IAEtCN,uBAAuBO;IAEvBL,4BAA4B,0BAA0BK;IAEtD,OAAON,oBAAoBM;AAC3B,qFAAqF;AACvF,GAAqC;AAErCJ,KAAKK,WAAW,GAAG"}
@@ -1,3 +1,3 @@
1
1
  /**
2
- * Link state without design-specific state (appearance, backgroundAppearance).
2
+ * Link state without design-specific state (appearance, backgroundAppearance, inline).
3
3
  */ export { };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Link/Link.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, DistributiveOmit, Slot } from '@fluentui/react-utilities';\nimport type { BackgroundAppearanceContextValue } from '@fluentui/react-shared-contexts';\n\nexport type LinkSlots = {\n /**\n * Root of the component that renders as either an <a> or a <button> tag.\n */\n root: Slot<'a', 'button' | 'span'>;\n};\n\nexport type LinkProps = ComponentProps<LinkSlots> & {\n /**\n * A link can appear either with its default style or subtle.\n * If not specified, the link appears with its default styling.\n * @default 'default'\n */\n appearance?: 'default' | 'subtle';\n\n /**\n * Whether the link is disabled.\n * @default false\n */\n disabled?: boolean;\n\n /**\n * When set, allows the link to be focusable even when it has been disabled. This is used in scenarios where it is\n * important to keep a consistent tab order for screen reader and keyboard users.\n * @default false\n */\n disabledFocusable?: boolean;\n\n /**\n * If true, changes styling when the link is being used alongside other text content.\n * @default false\n */\n inline?: boolean;\n};\n\n/**\n * Link props without design-specific props (appearance).\n * Use this when building a base link that is unstyled or uses a custom design system.\n */\nexport type LinkBaseProps = DistributiveOmit<LinkProps, 'appearance'>;\n\nexport type LinkState = ComponentState<LinkSlots> &\n Required<Pick<LinkProps, 'appearance' | 'disabled' | 'disabledFocusable' | 'inline'>> & {\n backgroundAppearance?: BackgroundAppearanceContextValue;\n };\n\n/**\n * Link state without design-specific state (appearance, backgroundAppearance).\n */\nexport type LinkBaseState = DistributiveOmit<LinkState, 'appearance' | 'backgroundAppearance'>;\n"],"names":[],"mappings":"AAiDA;;CAEC,GACD,WAA+F"}
1
+ {"version":3,"sources":["../src/components/Link/Link.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, DistributiveOmit, Slot } from '@fluentui/react-utilities';\nimport type { BackgroundAppearanceContextValue } from '@fluentui/react-shared-contexts';\n\nexport type LinkSlots = {\n /**\n * Root of the component that renders as either an <a> or a <button> tag.\n */\n root: Slot<'a', 'button' | 'span'>;\n};\n\nexport type LinkProps = ComponentProps<LinkSlots> & {\n /**\n * A link can appear either with its default style or subtle.\n * If not specified, the link appears with its default styling.\n * @default 'default'\n */\n appearance?: 'default' | 'subtle';\n\n /**\n * Whether the link is disabled.\n * @default false\n */\n disabled?: boolean;\n\n /**\n * When set, allows the link to be focusable even when it has been disabled. This is used in scenarios where it is\n * important to keep a consistent tab order for screen reader and keyboard users.\n * @default false\n */\n disabledFocusable?: boolean;\n\n /**\n * If true, changes styling when the link is being used alongside other text content.\n * @default false\n */\n inline?: boolean;\n};\n\n/**\n * Link props without design-specific props (appearance, inline).\n * Use this when building a base link that is unstyled or uses a custom design system.\n */\nexport type LinkBaseProps = DistributiveOmit<LinkProps, 'appearance' | 'inline'>;\n\nexport type LinkState = ComponentState<LinkSlots> &\n Required<Pick<LinkProps, 'appearance' | 'disabled' | 'disabledFocusable' | 'inline'>> & {\n backgroundAppearance?: BackgroundAppearanceContextValue;\n };\n\n/**\n * Link state without design-specific state (appearance, backgroundAppearance, inline).\n */\nexport type LinkBaseState = DistributiveOmit<LinkState, 'appearance' | 'backgroundAppearance' | 'inline'>;\n"],"names":[],"mappings":"AAiDA;;CAEC,GACD,WAA0G"}
@@ -1,5 +1,5 @@
1
- export { Link } from './Link';
2
- export { renderLink_unstable } from './renderLink';
3
- export { useLink_unstable, useLinkBase_unstable } from './useLink';
4
- export { useLinkState_unstable } from './useLinkState';
5
- export { linkClassNames, useLinkStyles_unstable } from './useLinkStyles.styles';
1
+ export { Link } from "./Link.js";
2
+ export { renderLink_unstable } from "./renderLink.js";
3
+ export { useLink_unstable, useLinkBase_unstable } from "./useLink.js";
4
+ export { useLinkState_unstable } from "./useLinkState.js";
5
+ export { linkClassNames, useLinkStyles_unstable } from "./useLinkStyles.styles.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Link/index.ts"],"sourcesContent":["export { Link } from './Link';\nexport type { LinkBaseProps, LinkBaseState, LinkProps, LinkSlots, LinkState } from './Link.types';\nexport { renderLink_unstable } from './renderLink';\nexport { useLink_unstable, useLinkBase_unstable } from './useLink';\nexport { useLinkState_unstable } from './useLinkState';\nexport { linkClassNames, useLinkStyles_unstable } from './useLinkStyles.styles';\n"],"names":["Link","renderLink_unstable","useLink_unstable","useLinkBase_unstable","useLinkState_unstable","linkClassNames","useLinkStyles_unstable"],"mappings":"AAAA,SAASA,IAAI,QAAQ,SAAS;AAE9B,SAASC,mBAAmB,QAAQ,eAAe;AACnD,SAASC,gBAAgB,EAAEC,oBAAoB,QAAQ,YAAY;AACnE,SAASC,qBAAqB,QAAQ,iBAAiB;AACvD,SAASC,cAAc,EAAEC,sBAAsB,QAAQ,yBAAyB"}
1
+ {"version":3,"sources":["../src/components/Link/index.ts"],"sourcesContent":["export { Link } from './Link';\nexport type { LinkBaseProps, LinkBaseState, LinkProps, LinkSlots, LinkState } from './Link.types';\nexport { renderLink_unstable } from './renderLink';\nexport { useLink_unstable, useLinkBase_unstable } from './useLink';\nexport { useLinkState_unstable } from './useLinkState';\nexport { linkClassNames, useLinkStyles_unstable } from './useLinkStyles.styles';\n"],"names":["Link","renderLink_unstable","useLink_unstable","useLinkBase_unstable","useLinkState_unstable","linkClassNames","useLinkStyles_unstable"],"mappings":"AAAA,SAASA,IAAI,QAAQ,YAAS;AAE9B,SAASC,mBAAmB,QAAQ,kBAAe;AACnD,SAASC,gBAAgB,EAAEC,oBAAoB,QAAQ,eAAY;AACnE,SAASC,qBAAqB,QAAQ,oBAAiB;AACvD,SAASC,cAAc,EAAEC,sBAAsB,QAAQ,4BAAyB"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "@fluentui/react-jsx-runtime/jsx-runtime";
2
- import { assertSlots } from '@fluentui/react-utilities';
2
+ import { assertSlots } from "@fluentui/react-utilities";
3
3
  /**
4
4
  * Renders a Link component by passing the state defined props to the appropriate slots.
5
5
  */ export const renderLink_unstable = (state)=>{
@@ -1,31 +1,32 @@
1
1
  'use client';
2
- import { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';
3
- import { useBackgroundAppearance } from '@fluentui/react-shared-contexts';
4
- import { useLinkState_unstable } from './useLinkState';
5
- import { useLinkContext } from '../../contexts/linkContext';
2
+ import { getIntrinsicElementProps, slot } from "@fluentui/react-utilities";
3
+ import { useBackgroundAppearance } from "@fluentui/react-shared-contexts";
4
+ import { useLinkState_unstable } from "./useLinkState.js";
5
+ import { useLinkContext } from "../../contexts/linkContext.js";
6
6
  /**
7
7
  * Given user props, defines default props for the Link, calls useLinkState_unstable, and returns processed state.
8
8
  * @param props - User provided props to the Link component.
9
9
  * @param ref - User provided ref to be passed to the Link component.
10
10
  */ export const useLink_unstable = (props, ref)=>{
11
11
  const backgroundAppearance = useBackgroundAppearance();
12
- const { appearance = 'default', ...baseProps } = props;
12
+ const { inline: inlineContext } = useLinkContext();
13
+ const { appearance = 'default', inline: inlineProp, ...baseProps } = props;
13
14
  const state = useLinkBase_unstable(baseProps, ref);
14
15
  return {
15
16
  appearance,
16
17
  backgroundAppearance,
18
+ inline: inlineProp !== null && inlineProp !== void 0 ? inlineProp : !!inlineContext,
17
19
  ...state
18
20
  };
19
21
  };
20
22
  /**
21
23
  * Base hook for Link component, which manages state related to ARIA, keyboard handling,
22
- * disabled behavior, and slot structure. This hook excludes design-specific props (appearance).
24
+ * disabled behavior, and slot structure. This hook excludes design-specific props (appearance, inline).
23
25
  *
24
26
  * @param props - User provided props to the Link component.
25
27
  * @param ref - User provided ref to be passed to the Link component.
26
28
  */ export const useLinkBase_unstable = (props, ref)=>{
27
- const { inline: inlineContext } = useLinkContext();
28
- const { disabled = false, disabledFocusable = false, inline = false } = props;
29
+ const { disabled = false, disabledFocusable = false } = props;
29
30
  const elementType = props.as || (props.href ? 'a' : 'button');
30
31
  // Casting is required here as `as` prop would break the union between `a`, `button` and `span` types
31
32
  const propsWithAssignedAs = {
@@ -38,7 +39,6 @@ import { useLinkContext } from '../../contexts/linkContext';
38
39
  // Props passed at the top-level
39
40
  disabled,
40
41
  disabledFocusable,
41
- inline: inline !== null && inline !== void 0 ? inline : !!inlineContext,
42
42
  // Slots definition
43
43
  components: {
44
44
  root: elementType
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Link/useLink.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useBackgroundAppearance } from '@fluentui/react-shared-contexts';\nimport { useLinkState_unstable } from './useLinkState';\nimport type { LinkBaseProps, LinkBaseState, LinkProps, LinkState } from './Link.types';\nimport { useLinkContext } from '../../contexts/linkContext';\n\n/**\n * Given user props, defines default props for the Link, calls useLinkState_unstable, and returns processed state.\n * @param props - User provided props to the Link component.\n * @param ref - User provided ref to be passed to the Link component.\n */\nexport const useLink_unstable = (\n props: LinkProps,\n ref: React.Ref<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>,\n): LinkState => {\n const backgroundAppearance = useBackgroundAppearance();\n const { appearance = 'default', ...baseProps } = props;\n\n const state = useLinkBase_unstable(baseProps, ref);\n\n return {\n appearance,\n backgroundAppearance,\n ...state,\n };\n};\n\n/**\n * Base hook for Link component, which manages state related to ARIA, keyboard handling,\n * disabled behavior, and slot structure. This hook excludes design-specific props (appearance).\n *\n * @param props - User provided props to the Link component.\n * @param ref - User provided ref to be passed to the Link component.\n */\nexport const useLinkBase_unstable = (\n props: LinkBaseProps,\n ref: React.Ref<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>,\n): LinkBaseState => {\n const { inline: inlineContext } = useLinkContext();\n const { disabled = false, disabledFocusable = false, inline = false } = props;\n\n const elementType = props.as || (props.href ? 'a' : 'button');\n\n // Casting is required here as `as` prop would break the union between `a`, `button` and `span` types\n const propsWithAssignedAs = {\n role: elementType === 'span' ? 'button' : undefined,\n type: elementType === 'button' ? 'button' : undefined,\n ...props,\n as: elementType,\n } as LinkBaseProps;\n\n const state: LinkBaseState = {\n // Props passed at the top-level\n disabled,\n disabledFocusable,\n inline: inline ?? !!inlineContext,\n\n // Slots definition\n components: {\n root: elementType,\n },\n\n root: slot.always(\n getIntrinsicElementProps<LinkBaseProps>(elementType, {\n ref,\n ...propsWithAssignedAs,\n } as const),\n { elementType },\n ),\n };\n\n useLinkState_unstable(state);\n\n return state;\n};\n"],"names":["getIntrinsicElementProps","slot","useBackgroundAppearance","useLinkState_unstable","useLinkContext","useLink_unstable","props","ref","backgroundAppearance","appearance","baseProps","state","useLinkBase_unstable","inline","inlineContext","disabled","disabledFocusable","elementType","as","href","propsWithAssignedAs","role","undefined","type","components","root","always"],"mappings":"AAAA;AAGA,SAASA,wBAAwB,EAAEC,IAAI,QAAQ,4BAA4B;AAC3E,SAASC,uBAAuB,QAAQ,kCAAkC;AAC1E,SAASC,qBAAqB,QAAQ,iBAAiB;AAEvD,SAASC,cAAc,QAAQ,6BAA6B;AAE5D;;;;CAIC,GACD,OAAO,MAAMC,mBAAmB,CAC9BC,OACAC;IAEA,MAAMC,uBAAuBN;IAC7B,MAAM,EAAEO,aAAa,SAAS,EAAE,GAAGC,WAAW,GAAGJ;IAEjD,MAAMK,QAAQC,qBAAqBF,WAAWH;IAE9C,OAAO;QACLE;QACAD;QACA,GAAGG,KAAK;IACV;AACF,EAAE;AAEF;;;;;;CAMC,GACD,OAAO,MAAMC,uBAAuB,CAClCN,OACAC;IAEA,MAAM,EAAEM,QAAQC,aAAa,EAAE,GAAGV;IAClC,MAAM,EAAEW,WAAW,KAAK,EAAEC,oBAAoB,KAAK,EAAEH,SAAS,KAAK,EAAE,GAAGP;IAExE,MAAMW,cAAcX,MAAMY,EAAE,IAAKZ,CAAAA,MAAMa,IAAI,GAAG,MAAM,QAAO;IAE3D,qGAAqG;IACrG,MAAMC,sBAAsB;QAC1BC,MAAMJ,gBAAgB,SAAS,WAAWK;QAC1CC,MAAMN,gBAAgB,WAAW,WAAWK;QAC5C,GAAGhB,KAAK;QACRY,IAAID;IACN;IAEA,MAAMN,QAAuB;QAC3B,gCAAgC;QAChCI;QACAC;QACAH,QAAQA,mBAAAA,oBAAAA,SAAU,CAAC,CAACC;QAEpB,mBAAmB;QACnBU,YAAY;YACVC,MAAMR;QACR;QAEAQ,MAAMxB,KAAKyB,MAAM,CACf1B,yBAAwCiB,aAAa;YACnDV;YACA,GAAGa,mBAAmB;QACxB,IACA;YAAEH;QAAY;IAElB;IAEAd,sBAAsBQ;IAEtB,OAAOA;AACT,EAAE"}
1
+ {"version":3,"sources":["../src/components/Link/useLink.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useBackgroundAppearance } from '@fluentui/react-shared-contexts';\nimport { useLinkState_unstable } from './useLinkState';\nimport type { LinkBaseProps, LinkBaseState, LinkProps, LinkState } from './Link.types';\nimport { useLinkContext } from '../../contexts/linkContext';\n\n/**\n * Given user props, defines default props for the Link, calls useLinkState_unstable, and returns processed state.\n * @param props - User provided props to the Link component.\n * @param ref - User provided ref to be passed to the Link component.\n */\nexport const useLink_unstable = (\n props: LinkProps,\n ref: React.Ref<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>,\n): LinkState => {\n const backgroundAppearance = useBackgroundAppearance();\n const { inline: inlineContext } = useLinkContext();\n const { appearance = 'default', inline: inlineProp, ...baseProps } = props;\n\n const state = useLinkBase_unstable(baseProps, ref);\n\n return {\n appearance,\n backgroundAppearance,\n inline: inlineProp ?? !!inlineContext,\n ...state,\n };\n};\n\n/**\n * Base hook for Link component, which manages state related to ARIA, keyboard handling,\n * disabled behavior, and slot structure. This hook excludes design-specific props (appearance, inline).\n *\n * @param props - User provided props to the Link component.\n * @param ref - User provided ref to be passed to the Link component.\n */\nexport const useLinkBase_unstable = (\n props: LinkBaseProps,\n ref: React.Ref<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>,\n): LinkBaseState => {\n const { disabled = false, disabledFocusable = false } = props;\n\n const elementType = props.as || (props.href ? 'a' : 'button');\n\n // Casting is required here as `as` prop would break the union between `a`, `button` and `span` types\n const propsWithAssignedAs = {\n role: elementType === 'span' ? 'button' : undefined,\n type: elementType === 'button' ? 'button' : undefined,\n ...props,\n as: elementType,\n } as LinkBaseProps;\n\n const state: LinkBaseState = {\n // Props passed at the top-level\n disabled,\n disabledFocusable,\n\n // Slots definition\n components: {\n root: elementType,\n },\n\n root: slot.always(\n getIntrinsicElementProps<LinkBaseProps>(elementType, {\n ref,\n ...propsWithAssignedAs,\n } as const),\n { elementType },\n ),\n };\n\n useLinkState_unstable(state);\n\n return state;\n};\n"],"names":["getIntrinsicElementProps","slot","useBackgroundAppearance","useLinkState_unstable","useLinkContext","useLink_unstable","props","ref","backgroundAppearance","inline","inlineContext","appearance","inlineProp","baseProps","state","useLinkBase_unstable","disabled","disabledFocusable","elementType","as","href","propsWithAssignedAs","role","undefined","type","components","root","always"],"mappings":"AAAA;AAGA,SAASA,wBAAwB,EAAEC,IAAI,QAAQ,4BAA4B;AAC3E,SAASC,uBAAuB,QAAQ,kCAAkC;AAC1E,SAASC,qBAAqB,QAAQ,oBAAiB;AAEvD,SAASC,cAAc,QAAQ,gCAA6B;AAE5D;;;;CAIC,GACD,OAAO,MAAMC,mBAAmB,CAC9BC,OACAC;IAEA,MAAMC,uBAAuBN;IAC7B,MAAM,EAAEO,QAAQC,aAAa,EAAE,GAAGN;IAClC,MAAM,EAAEO,aAAa,SAAS,EAAEF,QAAQG,UAAU,EAAE,GAAGC,WAAW,GAAGP;IAErE,MAAMQ,QAAQC,qBAAqBF,WAAWN;IAE9C,OAAO;QACLI;QACAH;QACAC,QAAQG,uBAAAA,wBAAAA,aAAc,CAAC,CAACF;QACxB,GAAGI,KAAK;IACV;AACF,EAAE;AAEF;;;;;;CAMC,GACD,OAAO,MAAMC,uBAAuB,CAClCT,OACAC;IAEA,MAAM,EAAES,WAAW,KAAK,EAAEC,oBAAoB,KAAK,EAAE,GAAGX;IAExD,MAAMY,cAAcZ,MAAMa,EAAE,IAAKb,CAAAA,MAAMc,IAAI,GAAG,MAAM,QAAO;IAE3D,qGAAqG;IACrG,MAAMC,sBAAsB;QAC1BC,MAAMJ,gBAAgB,SAAS,WAAWK;QAC1CC,MAAMN,gBAAgB,WAAW,WAAWK;QAC5C,GAAGjB,KAAK;QACRa,IAAID;IACN;IAEA,MAAMJ,QAAuB;QAC3B,gCAAgC;QAChCE;QACAC;QAEA,mBAAmB;QACnBQ,YAAY;YACVC,MAAMR;QACR;QAEAQ,MAAMzB,KAAK0B,MAAM,CACf3B,yBAAwCkB,aAAa;YACnDX;YACA,GAAGc,mBAAmB;QACxB,IACA;YAAEH;QAAY;IAElB;IAEAf,sBAAsBW;IAEtB,OAAOA;AACT,EAAE"}
@@ -1,4 +1,4 @@
1
- import { Enter, Space } from '@fluentui/keyboard-keys';
1
+ import { Enter, Space } from "@fluentui/keyboard-keys";
2
2
  /**
3
3
  * The useLinkState_unstable hook processes the Link state.
4
4
  * @param state - Link state to mutate.
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
 
3
- import { shorthands, __styles, mergeClasses } from '@griffel/react';
4
- import { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';
5
- import { tokens } from '@fluentui/react-theme';
3
+ import { shorthands, __styles, mergeClasses } from "@griffel/react";
4
+ import { createCustomFocusIndicatorStyle } from "@fluentui/react-tabster";
5
+ import { tokens } from "@fluentui/react-theme";
6
6
  export const linkClassNames = {
7
7
  root: 'fui-Link'
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"names":["shorthands","__styles","mergeClasses","createCustomFocusIndicatorStyle","tokens","linkClassNames","root","useStyles","focusIndicator","Bttzg6e","B3uz8dt","B6ihwck","g9k6zt","B486eqv","De3pzq","B7ck84d","sj55zd","Bceei9c","mc9l5x","Bahqtrf","Be2twd7","Bhrd7zp","jrapky","Frg6f3","t21cq0","B6of3ja","B74szlk","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","B68tc82","Bmxbyg5","Bpg54ce","fsow6f","w71qe1","Bkioxbp","ygn44y","famaaq","Bde5pd6","Bi91k9c","i089h6","lj723h","button","icvyot","vrafjx","oivjwe","wvpqe5","href","subtle","inline","disabled","B7iucu3","Bahaeuw","Boo3t63","inverted","brand","d","p","i","h","a","m","useLinkStyles_unstable","state","styles","appearance","backgroundAppearance","className","as"],"sources":["useLinkStyles.styles.js"],"sourcesContent":["'use client';\nimport { shorthands, makeStyles, mergeClasses } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nexport const linkClassNames = {\n root: 'fui-Link'\n};\nconst useStyles = makeStyles({\n focusIndicator: createCustomFocusIndicatorStyle({\n textDecorationColor: tokens.colorStrokeFocus2,\n textDecorationLine: 'underline',\n textDecorationStyle: 'double',\n outlineStyle: 'none'\n }),\n // Common styles.\n root: {\n ':focus-visible': {\n outlineStyle: 'none'\n },\n backgroundColor: 'transparent',\n boxSizing: 'border-box',\n color: tokens.colorBrandForegroundLink,\n cursor: 'pointer',\n display: 'inline',\n fontFamily: tokens.fontFamilyBase,\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightRegular,\n margin: '0',\n padding: '0',\n overflow: 'inherit',\n textAlign: 'left',\n textDecorationLine: 'none',\n textDecorationThickness: tokens.strokeWidthThin,\n textOverflow: 'inherit',\n userSelect: 'text',\n ':hover': {\n textDecorationLine: 'underline',\n color: tokens.colorBrandForegroundLinkHover\n },\n ':active': {\n textDecorationLine: 'underline',\n color: tokens.colorBrandForegroundLinkPressed\n }\n },\n // Overrides when the Link renders as a button.\n button: {\n ...shorthands.borderStyle('none')\n },\n // Overrides when an href is present so the Link renders as an anchor.\n href: {\n fontSize: 'inherit'\n },\n // Overrides when the Link appears subtle.\n subtle: {\n color: tokens.colorNeutralForeground2Link,\n ':hover': {\n textDecorationLine: 'underline',\n color: tokens.colorNeutralForeground2LinkHover\n },\n ':active': {\n textDecorationLine: 'underline',\n color: tokens.colorNeutralForeground2LinkPressed\n }\n },\n // Overrides when the Link is rendered inline within text.\n inline: {\n textDecorationLine: 'underline'\n },\n // Overrides when the Link is disabled.\n disabled: {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n ':hover': {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled\n },\n ':active': {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled\n },\n // There is no native disabled state for links, so we need to explicitly style the disabled state for high contrast mode.\n '@media (forced-colors: active)': {\n color: 'GrayText',\n ':hover': {\n color: 'GrayText'\n },\n ':active': {\n color: 'GrayText'\n }\n }\n },\n inverted: {\n color: tokens.colorBrandForegroundInverted,\n ':hover': {\n color: tokens.colorBrandForegroundInverted\n },\n ':active': {\n color: tokens.colorBrandForegroundInverted\n }\n },\n brand: {\n color: tokens.colorNeutralForegroundInvertedLink,\n ':hover': {\n color: tokens.colorNeutralForegroundInvertedLinkHover\n },\n ':active': {\n color: tokens.colorNeutralForegroundInvertedLinkPressed\n }\n }\n});\nexport const useLinkStyles_unstable = (state)=>{\n const styles = useStyles();\n const { appearance, disabled, inline, root, backgroundAppearance } = state;\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = mergeClasses(linkClassNames.root, styles.root, styles.focusIndicator, root.as === 'a' && root.href && styles.href, root.as === 'button' && styles.button, appearance === 'subtle' && styles.subtle, backgroundAppearance === 'inverted' && styles.inverted, backgroundAppearance === 'brand' && styles.brand, inline && styles.inline, disabled && styles.disabled, state.root.className);\n return state;\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAASA,UAAU,EAAAC,QAAA,EAAcC,YAAY,QAAQ,gBAAgB;AACrE,SAASC,+BAA+B,QAAQ,yBAAyB;AACzE,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,OAAO,MAAMC,cAAc,GAAG;EAC1BC,IAAI,EAAE;AACV,CAAC;AACD,MAAMC,SAAS,gBAAGN,QAAA;EAAAO,cAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;EAAA;EAAAN,IAAA;IAAAO,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;EAAA;EAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;EAAA;EAAAC,IAAA;IAAA7B,OAAA;EAAA;EAAA8B,MAAA;IAAAlC,MAAA;IAAAwB,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;EAAA;EAAAQ,MAAA;IAAAf,MAAA;EAAA;EAAAgB,QAAA;IAAAhB,MAAA;IAAApB,MAAA;IAAAC,OAAA;IAAAuB,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAU,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;EAAAC,QAAA;IAAAxC,MAAA;IAAAyB,OAAA;IAAAE,MAAA;EAAA;EAAAc,KAAA;IAAAzC,MAAA;IAAAyB,OAAA;IAAAE,MAAA;EAAA;AAAA;EAAAe,CAAA;IAAAC,CAAA;EAAA;IAAAA,CAAA;EAAA;IAAAA,CAAA;EAAA;EAAAC,CAAA;EAAAC,CAAA;EAAAC,CAAA;EAAAC,CAAA;IAAAA,CAAA;EAAA;IAAAA,CAAA;EAAA;IAAAA,CAAA;EAAA;AAAA,CAuGjB,CAAC;AACF,OAAO,MAAMC,sBAAsB,GAAIC,KAAK,IAAG;EAC3C,MAAMC,MAAM,GAAG3D,SAAS,CAAC,CAAC;EAC1B,MAAM;IAAE4D,UAAU;IAAEf,QAAQ;IAAED,MAAM;IAAE7C,IAAI;IAAE8D;EAAqB,CAAC,GAAGH,KAAK;EAC1E;EACAA,KAAK,CAAC3D,IAAI,CAAC+D,SAAS,GAAGnE,YAAY,CAACG,cAAc,CAACC,IAAI,EAAE4D,MAAM,CAAC5D,IAAI,EAAE4D,MAAM,CAAC1D,cAAc,EAAEF,IAAI,CAACgE,EAAE,KAAK,GAAG,IAAIhE,IAAI,CAAC2C,IAAI,IAAIiB,MAAM,CAACjB,IAAI,EAAE3C,IAAI,CAACgE,EAAE,KAAK,QAAQ,IAAIJ,MAAM,CAACtB,MAAM,EAAEuB,UAAU,KAAK,QAAQ,IAAID,MAAM,CAAChB,MAAM,EAAEkB,oBAAoB,KAAK,UAAU,IAAIF,MAAM,CAACV,QAAQ,EAAEY,oBAAoB,KAAK,OAAO,IAAIF,MAAM,CAACT,KAAK,EAAEN,MAAM,IAAIe,MAAM,CAACf,MAAM,EAAEC,QAAQ,IAAIc,MAAM,CAACd,QAAQ,EAAEa,KAAK,CAAC3D,IAAI,CAAC+D,SAAS,CAAC;EAChZ,OAAOJ,KAAK;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["shorthands","__styles","mergeClasses","createCustomFocusIndicatorStyle","tokens","linkClassNames","root","useStyles","focusIndicator","Bttzg6e","B3uz8dt","B6ihwck","g9k6zt","B486eqv","De3pzq","B7ck84d","sj55zd","Bceei9c","mc9l5x","Bahqtrf","Be2twd7","Bhrd7zp","jrapky","Frg6f3","t21cq0","B6of3ja","B74szlk","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","B68tc82","Bmxbyg5","Bpg54ce","fsow6f","w71qe1","Bkioxbp","ygn44y","famaaq","Bde5pd6","Bi91k9c","i089h6","lj723h","button","icvyot","vrafjx","oivjwe","wvpqe5","href","subtle","inline","disabled","B7iucu3","Bahaeuw","Boo3t63","inverted","brand","d","p","i","h","a","m","useLinkStyles_unstable","state","styles","appearance","backgroundAppearance","className","as"],"sources":["useLinkStyles.styles.js"],"sourcesContent":["'use client';\nimport { shorthands, makeStyles, mergeClasses } from \"@griffel/react\";\nimport { createCustomFocusIndicatorStyle } from \"@fluentui/react-tabster\";\nimport { tokens } from \"@fluentui/react-theme\";\nexport const linkClassNames = {\n root: 'fui-Link'\n};\nconst useStyles = makeStyles({\n focusIndicator: createCustomFocusIndicatorStyle({\n textDecorationColor: tokens.colorStrokeFocus2,\n textDecorationLine: 'underline',\n textDecorationStyle: 'double',\n outlineStyle: 'none'\n }),\n // Common styles.\n root: {\n ':focus-visible': {\n outlineStyle: 'none'\n },\n backgroundColor: 'transparent',\n boxSizing: 'border-box',\n color: tokens.colorBrandForegroundLink,\n cursor: 'pointer',\n display: 'inline',\n fontFamily: tokens.fontFamilyBase,\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightRegular,\n margin: '0',\n padding: '0',\n overflow: 'inherit',\n textAlign: 'left',\n textDecorationLine: 'none',\n textDecorationThickness: tokens.strokeWidthThin,\n textOverflow: 'inherit',\n userSelect: 'text',\n ':hover': {\n textDecorationLine: 'underline',\n color: tokens.colorBrandForegroundLinkHover\n },\n ':active': {\n textDecorationLine: 'underline',\n color: tokens.colorBrandForegroundLinkPressed\n }\n },\n // Overrides when the Link renders as a button.\n button: {\n ...shorthands.borderStyle('none')\n },\n // Overrides when an href is present so the Link renders as an anchor.\n href: {\n fontSize: 'inherit'\n },\n // Overrides when the Link appears subtle.\n subtle: {\n color: tokens.colorNeutralForeground2Link,\n ':hover': {\n textDecorationLine: 'underline',\n color: tokens.colorNeutralForeground2LinkHover\n },\n ':active': {\n textDecorationLine: 'underline',\n color: tokens.colorNeutralForeground2LinkPressed\n }\n },\n // Overrides when the Link is rendered inline within text.\n inline: {\n textDecorationLine: 'underline'\n },\n // Overrides when the Link is disabled.\n disabled: {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n ':hover': {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled\n },\n ':active': {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled\n },\n // There is no native disabled state for links, so we need to explicitly style the disabled state for high contrast mode.\n '@media (forced-colors: active)': {\n color: 'GrayText',\n ':hover': {\n color: 'GrayText'\n },\n ':active': {\n color: 'GrayText'\n }\n }\n },\n inverted: {\n color: tokens.colorBrandForegroundInverted,\n ':hover': {\n color: tokens.colorBrandForegroundInverted\n },\n ':active': {\n color: tokens.colorBrandForegroundInverted\n }\n },\n brand: {\n color: tokens.colorNeutralForegroundInvertedLink,\n ':hover': {\n color: tokens.colorNeutralForegroundInvertedLinkHover\n },\n ':active': {\n color: tokens.colorNeutralForegroundInvertedLinkPressed\n }\n }\n});\nexport const useLinkStyles_unstable = (state)=>{\n const styles = useStyles();\n const { appearance, disabled, inline, root, backgroundAppearance } = state;\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = mergeClasses(linkClassNames.root, styles.root, styles.focusIndicator, root.as === 'a' && root.href && styles.href, root.as === 'button' && styles.button, appearance === 'subtle' && styles.subtle, backgroundAppearance === 'inverted' && styles.inverted, backgroundAppearance === 'brand' && styles.brand, inline && styles.inline, disabled && styles.disabled, state.root.className);\n return state;\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAASA,UAAU,EAAAC,QAAA,EAAcC,YAAY,QAAQ,gBAAgB;AACrE,SAASC,+BAA+B,QAAQ,yBAAyB;AACzE,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,OAAO,MAAMC,cAAc,GAAG;EAC1BC,IAAI,EAAE;AACV,CAAC;AACD,MAAMC,SAAS,gBAAGN,QAAA;EAAAO,cAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;EAAA;EAAAN,IAAA;IAAAO,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;EAAA;EAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;EAAA;EAAAC,IAAA;IAAA7B,OAAA;EAAA;EAAA8B,MAAA;IAAAlC,MAAA;IAAAwB,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;EAAA;EAAAQ,MAAA;IAAAf,MAAA;EAAA;EAAAgB,QAAA;IAAAhB,MAAA;IAAApB,MAAA;IAAAC,OAAA;IAAAuB,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAU,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;EAAAC,QAAA;IAAAxC,MAAA;IAAAyB,OAAA;IAAAE,MAAA;EAAA;EAAAc,KAAA;IAAAzC,MAAA;IAAAyB,OAAA;IAAAE,MAAA;EAAA;AAAA;EAAAe,CAAA;IAAAC,CAAA;EAAA;IAAAA,CAAA;EAAA;IAAAA,CAAA;EAAA;EAAAC,CAAA;EAAAC,CAAA;EAAAC,CAAA;EAAAC,CAAA;IAAAA,CAAA;EAAA;IAAAA,CAAA;EAAA;IAAAA,CAAA;EAAA;AAAA,CAuGjB,CAAC;AACF,OAAO,MAAMC,sBAAsB,GAAIC,KAAK,IAAG;EAC3C,MAAMC,MAAM,GAAG3D,SAAS,CAAC,CAAC;EAC1B,MAAM;IAAE4D,UAAU;IAAEf,QAAQ;IAAED,MAAM;IAAE7C,IAAI;IAAE8D;EAAqB,CAAC,GAAGH,KAAK;EAC1E;EACAA,KAAK,CAAC3D,IAAI,CAAC+D,SAAS,GAAGnE,YAAY,CAACG,cAAc,CAACC,IAAI,EAAE4D,MAAM,CAAC5D,IAAI,EAAE4D,MAAM,CAAC1D,cAAc,EAAEF,IAAI,CAACgE,EAAE,KAAK,GAAG,IAAIhE,IAAI,CAAC2C,IAAI,IAAIiB,MAAM,CAACjB,IAAI,EAAE3C,IAAI,CAACgE,EAAE,KAAK,QAAQ,IAAIJ,MAAM,CAACtB,MAAM,EAAEuB,UAAU,KAAK,QAAQ,IAAID,MAAM,CAAChB,MAAM,EAAEkB,oBAAoB,KAAK,UAAU,IAAIF,MAAM,CAACV,QAAQ,EAAEY,oBAAoB,KAAK,OAAO,IAAIF,MAAM,CAACT,KAAK,EAAEN,MAAM,IAAIe,MAAM,CAACf,MAAM,EAAEC,QAAQ,IAAIc,MAAM,CAACd,QAAQ,EAAEa,KAAK,CAAC3D,IAAI,CAAC+D,SAAS,CAAC;EAChZ,OAAOJ,KAAK;AAChB,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import { shorthands, makeStyles, mergeClasses } from '@griffel/react';
3
- import { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';
4
- import { tokens } from '@fluentui/react-theme';
2
+ import { shorthands, makeStyles, mergeClasses } from "@griffel/react";
3
+ import { createCustomFocusIndicatorStyle } from "@fluentui/react-tabster";
4
+ import { tokens } from "@fluentui/react-theme";
5
5
  export const linkClassNames = {
6
6
  root: 'fui-Link'
7
7
  };
@@ -1 +1 @@
1
- export { LinkContextProvider, linkContextDefaultValue, useLinkContext } from './linkContext';
1
+ export { LinkContextProvider, linkContextDefaultValue, useLinkContext } from "./linkContext.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/contexts/index.ts"],"sourcesContent":["export type { LinkContextValue } from './linkContext';\nexport { LinkContextProvider, linkContextDefaultValue, useLinkContext } from './linkContext';\n"],"names":["LinkContextProvider","linkContextDefaultValue","useLinkContext"],"mappings":"AACA,SAASA,mBAAmB,EAAEC,uBAAuB,EAAEC,cAAc,QAAQ,gBAAgB"}
1
+ {"version":3,"sources":["../src/contexts/index.ts"],"sourcesContent":["export type { LinkContextValue } from './linkContext';\nexport { LinkContextProvider, linkContextDefaultValue, useLinkContext } from './linkContext';\n"],"names":["LinkContextProvider","linkContextDefaultValue","useLinkContext"],"mappings":"AACA,SAASA,mBAAmB,EAAEC,uBAAuB,EAAEC,cAAc,QAAQ,mBAAgB"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import * as React from 'react';
2
+ import * as React from "react";
3
3
  const LinkContext = React.createContext(undefined);
4
4
  export const linkContextDefaultValue = {
5
5
  inline: false
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { Link, linkClassNames, renderLink_unstable, useLinkState_unstable, useLinkStyles_unstable, useLink_unstable, useLinkBase_unstable } from './Link';
2
- export { linkContextDefaultValue, LinkContextProvider, useLinkContext } from './contexts';
1
+ export { Link, linkClassNames, renderLink_unstable, useLinkState_unstable, useLinkStyles_unstable, useLink_unstable, useLinkBase_unstable } from "./Link.js";
2
+ export { linkContextDefaultValue, LinkContextProvider, useLinkContext } from "./contexts/index.js";
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n Link,\n linkClassNames,\n renderLink_unstable,\n useLinkState_unstable,\n useLinkStyles_unstable,\n useLink_unstable,\n useLinkBase_unstable,\n} from './Link';\nexport type { LinkProps, LinkSlots, LinkState, LinkBaseProps, LinkBaseState } from './Link';\nexport { linkContextDefaultValue, LinkContextProvider, useLinkContext } from './contexts';\nexport type { LinkContextValue } from './contexts';\n"],"names":["Link","linkClassNames","renderLink_unstable","useLinkState_unstable","useLinkStyles_unstable","useLink_unstable","useLinkBase_unstable","linkContextDefaultValue","LinkContextProvider","useLinkContext"],"mappings":"AAAA,SACEA,IAAI,EACJC,cAAc,EACdC,mBAAmB,EACnBC,qBAAqB,EACrBC,sBAAsB,EACtBC,gBAAgB,EAChBC,oBAAoB,QACf,SAAS;AAEhB,SAASC,uBAAuB,EAAEC,mBAAmB,EAAEC,cAAc,QAAQ,aAAa"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n Link,\n linkClassNames,\n renderLink_unstable,\n useLinkState_unstable,\n useLinkStyles_unstable,\n useLink_unstable,\n useLinkBase_unstable,\n} from './Link';\nexport type { LinkProps, LinkSlots, LinkState, LinkBaseProps, LinkBaseState } from './Link';\nexport { linkContextDefaultValue, LinkContextProvider, useLinkContext } from './contexts';\nexport type { LinkContextValue } from './contexts';\n"],"names":["Link","linkClassNames","renderLink_unstable","useLinkState_unstable","useLinkStyles_unstable","useLink_unstable","useLinkBase_unstable","linkContextDefaultValue","LinkContextProvider","useLinkContext"],"mappings":"AAAA,SACEA,IAAI,EACJC,cAAc,EACdC,mBAAmB,EACnBC,qBAAqB,EACrBC,sBAAsB,EACtBC,gBAAgB,EAChBC,oBAAoB,QACf,YAAS;AAEhB,SAASC,uBAAuB,EAAEC,mBAAmB,EAAEC,cAAc,QAAQ,sBAAa"}
@@ -13,13 +13,13 @@ _export(exports, {
13
13
  return _index.Link;
14
14
  },
15
15
  LinkContextProvider: function() {
16
- return _contexts.LinkContextProvider;
16
+ return _index1.LinkContextProvider;
17
17
  },
18
18
  linkClassNames: function() {
19
19
  return _index.linkClassNames;
20
20
  },
21
21
  linkContextDefaultValue: function() {
22
- return _contexts.linkContextDefaultValue;
22
+ return _index1.linkContextDefaultValue;
23
23
  },
24
24
  renderLink_unstable: function() {
25
25
  return _index.renderLink_unstable;
@@ -28,7 +28,7 @@ _export(exports, {
28
28
  return _index.useLinkBase_unstable;
29
29
  },
30
30
  useLinkContext: function() {
31
- return _contexts.useLinkContext;
31
+ return _index1.useLinkContext;
32
32
  },
33
33
  useLinkState_unstable: function() {
34
34
  return _index.useLinkState_unstable;
@@ -40,5 +40,5 @@ _export(exports, {
40
40
  return _index.useLink_unstable;
41
41
  }
42
42
  });
43
- const _index = require("./components/Link/index");
44
- const _contexts = require("./contexts");
43
+ const _index = require("./components/Link/index.cjs");
44
+ const _index1 = require("./contexts/index.cjs");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Link.ts"],"sourcesContent":["export type { LinkProps, LinkSlots, LinkState, LinkBaseProps, LinkBaseState } from './components/Link/index';\nexport {\n Link,\n linkClassNames,\n renderLink_unstable,\n useLinkState_unstable,\n useLinkStyles_unstable,\n useLink_unstable,\n useLinkBase_unstable,\n} from './components/Link/index';\nexport type { LinkContextValue } from './contexts';\nexport { LinkContextProvider, linkContextDefaultValue, useLinkContext } from './contexts';\n"],"names":["Link","linkClassNames","renderLink_unstable","useLinkState_unstable","useLinkStyles_unstable","useLink_unstable","useLinkBase_unstable","LinkContextProvider","linkContextDefaultValue","useLinkContext"],"mappings":";;;;;;;;;;;IAEEA;0BAAI;;uBASsB;eAAnBO;;;eARPN,qBAAc;;;eAQcO,iCAAuB;;;eAPnDN,0BAAmB;;;eAInBI,2BAAoB;;;eAGiCG,wBAAc;;;eANnEN,4BAAqB;;0BACC;eAAtBC;;;eACAC,uBAAgB;;;uBAEX,0BAA0B;0BAE4C,aAAa"}
1
+ {"version":3,"sources":["../src/Link.ts"],"sourcesContent":["export type { LinkProps, LinkSlots, LinkState, LinkBaseProps, LinkBaseState } from './components/Link/index';\nexport {\n Link,\n linkClassNames,\n renderLink_unstable,\n useLinkState_unstable,\n useLinkStyles_unstable,\n useLink_unstable,\n useLinkBase_unstable,\n} from './components/Link/index';\nexport type { LinkContextValue } from './contexts';\nexport { LinkContextProvider, linkContextDefaultValue, useLinkContext } from './contexts';\n"],"names":["Link","linkClassNames","renderLink_unstable","useLinkState_unstable","useLinkStyles_unstable","useLink_unstable","useLinkBase_unstable","LinkContextProvider","linkContextDefaultValue","useLinkContext"],"mappings":";;;;;;;;;;;IAEEA;0BAAI;;uBASsB;eAAnBO;;;eARPN,qBAAc;;;eAQcO,+BAAuB;;;eAPnDN,0BAAmB;;;eAInBI,2BAAoB;;;eAGiCG,sBAAc;;;eANnEN,4BAAqB;;0BACC;eAAtBC;;;eACAC,uBAAgB;;;uBAEX,6BAA0B;wBAE4C,sBAAa"}
@@ -11,9 +11,9 @@ Object.defineProperty(exports, "Link", {
11
11
  });
12
12
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
13
13
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
14
- const _useLink = require("./useLink");
15
- const _useLinkStylesstyles = require("./useLinkStyles.styles");
16
- const _renderLink = require("./renderLink");
14
+ const _useLink = require("./useLink.cjs");
15
+ const _useLinkStylesstyles = require("./useLinkStyles.styles.cjs");
16
+ const _renderLink = require("./renderLink.cjs");
17
17
  const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
18
18
  const Link = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
19
19
  const state = (0, _useLink.useLink_unstable)(props, ref);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Link/Link.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useLink_unstable } from './useLink';\nimport { useLinkStyles_unstable } from './useLinkStyles.styles';\nimport { renderLink_unstable } from './renderLink';\nimport type { LinkProps } from './Link.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * A Link is a reference to data that a user can follow by clicking or tapping it.\n */\nexport const Link: ForwardRefComponent<LinkProps> = React.forwardRef((props, ref) => {\n const state = useLink_unstable(props, ref);\n\n useLinkStyles_unstable(state);\n\n useCustomStyleHook_unstable('useLinkStyles_unstable')(state);\n\n return renderLink_unstable(state);\n // Work around some small mismatches in inferred types which don't matter in practice\n}) as ForwardRefComponent<LinkProps>;\n\nLink.displayName = 'Link';\n"],"names":["React","useLink_unstable","useLinkStyles_unstable","renderLink_unstable","useCustomStyleHook_unstable","Link","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;yBACE,YAAY;qCACN,yBAAyB;4BAC5B,eAAe;qCAGP,kCAAkC;AAKvE,MAAMK,OAAAA,WAAAA,GAAuCL,OAAMM,UAAU,CAAC,CAACC,OAAOC;IAC3E,MAAMC,YAAQR,yBAAAA,EAAiBM,OAAOC;QAEtCN,2CAAAA,EAAuBO;QAEvBL,gDAAAA,EAA4B,0BAA0BK;IAEtD,WAAON,+BAAAA,EAAoBM;AAC3B,qFAAqF;AACvF,GAAqC;AAErCJ,KAAKK,WAAW,GAAG"}
1
+ {"version":3,"sources":["../src/components/Link/Link.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useLink_unstable } from './useLink';\nimport { useLinkStyles_unstable } from './useLinkStyles.styles';\nimport { renderLink_unstable } from './renderLink';\nimport type { LinkProps } from './Link.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * A Link is a reference to data that a user can follow by clicking or tapping it.\n */\nexport const Link: ForwardRefComponent<LinkProps> = React.forwardRef((props, ref) => {\n const state = useLink_unstable(props, ref);\n\n useLinkStyles_unstable(state);\n\n useCustomStyleHook_unstable('useLinkStyles_unstable')(state);\n\n return renderLink_unstable(state);\n // Work around some small mismatches in inferred types which don't matter in practice\n}) as ForwardRefComponent<LinkProps>;\n\nLink.displayName = 'Link';\n"],"names":["React","useLink_unstable","useLinkStyles_unstable","renderLink_unstable","useCustomStyleHook_unstable","Link","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;yBACE,eAAY;qCACN,4BAAyB;4BAC5B,kBAAe;qCAGP,kCAAkC;AAKvE,MAAMK,OAAAA,WAAAA,GAAuCL,OAAMM,UAAU,CAAC,CAACC,OAAOC;IAC3E,MAAMC,YAAQR,yBAAAA,EAAiBM,OAAOC;QAEtCN,2CAAAA,EAAuBO;QAEvBL,gDAAAA,EAA4B,0BAA0BK;IAEtD,WAAON,+BAAAA,EAAoBM;AAC3B,qFAAqF;AACvF,GAAqC;AAErCJ,KAAKK,WAAW,GAAG"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Link state without design-specific state (appearance, backgroundAppearance).
2
+ * Link state without design-specific state (appearance, backgroundAppearance, inline).
3
3
  */ "use strict";
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Link/Link.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, DistributiveOmit, Slot } from '@fluentui/react-utilities';\nimport type { BackgroundAppearanceContextValue } from '@fluentui/react-shared-contexts';\n\nexport type LinkSlots = {\n /**\n * Root of the component that renders as either an <a> or a <button> tag.\n */\n root: Slot<'a', 'button' | 'span'>;\n};\n\nexport type LinkProps = ComponentProps<LinkSlots> & {\n /**\n * A link can appear either with its default style or subtle.\n * If not specified, the link appears with its default styling.\n * @default 'default'\n */\n appearance?: 'default' | 'subtle';\n\n /**\n * Whether the link is disabled.\n * @default false\n */\n disabled?: boolean;\n\n /**\n * When set, allows the link to be focusable even when it has been disabled. This is used in scenarios where it is\n * important to keep a consistent tab order for screen reader and keyboard users.\n * @default false\n */\n disabledFocusable?: boolean;\n\n /**\n * If true, changes styling when the link is being used alongside other text content.\n * @default false\n */\n inline?: boolean;\n};\n\n/**\n * Link props without design-specific props (appearance).\n * Use this when building a base link that is unstyled or uses a custom design system.\n */\nexport type LinkBaseProps = DistributiveOmit<LinkProps, 'appearance'>;\n\nexport type LinkState = ComponentState<LinkSlots> &\n Required<Pick<LinkProps, 'appearance' | 'disabled' | 'disabledFocusable' | 'inline'>> & {\n backgroundAppearance?: BackgroundAppearanceContextValue;\n };\n\n/**\n * Link state without design-specific state (appearance, backgroundAppearance).\n */\nexport type LinkBaseState = DistributiveOmit<LinkState, 'appearance' | 'backgroundAppearance'>;\n"],"names":[],"mappings":"AAiDA;;CAEC,GACD,WAA+F"}
1
+ {"version":3,"sources":["../src/components/Link/Link.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, DistributiveOmit, Slot } from '@fluentui/react-utilities';\nimport type { BackgroundAppearanceContextValue } from '@fluentui/react-shared-contexts';\n\nexport type LinkSlots = {\n /**\n * Root of the component that renders as either an <a> or a <button> tag.\n */\n root: Slot<'a', 'button' | 'span'>;\n};\n\nexport type LinkProps = ComponentProps<LinkSlots> & {\n /**\n * A link can appear either with its default style or subtle.\n * If not specified, the link appears with its default styling.\n * @default 'default'\n */\n appearance?: 'default' | 'subtle';\n\n /**\n * Whether the link is disabled.\n * @default false\n */\n disabled?: boolean;\n\n /**\n * When set, allows the link to be focusable even when it has been disabled. This is used in scenarios where it is\n * important to keep a consistent tab order for screen reader and keyboard users.\n * @default false\n */\n disabledFocusable?: boolean;\n\n /**\n * If true, changes styling when the link is being used alongside other text content.\n * @default false\n */\n inline?: boolean;\n};\n\n/**\n * Link props without design-specific props (appearance, inline).\n * Use this when building a base link that is unstyled or uses a custom design system.\n */\nexport type LinkBaseProps = DistributiveOmit<LinkProps, 'appearance' | 'inline'>;\n\nexport type LinkState = ComponentState<LinkSlots> &\n Required<Pick<LinkProps, 'appearance' | 'disabled' | 'disabledFocusable' | 'inline'>> & {\n backgroundAppearance?: BackgroundAppearanceContextValue;\n };\n\n/**\n * Link state without design-specific state (appearance, backgroundAppearance, inline).\n */\nexport type LinkBaseState = DistributiveOmit<LinkState, 'appearance' | 'backgroundAppearance' | 'inline'>;\n"],"names":[],"mappings":"AAiDA;;CAEC,GACD,WAA0G"}
@@ -31,8 +31,8 @@ _export(exports, {
31
31
  return _useLink.useLink_unstable;
32
32
  }
33
33
  });
34
- const _Link = require("./Link");
35
- const _renderLink = require("./renderLink");
36
- const _useLink = require("./useLink");
37
- const _useLinkState = require("./useLinkState");
38
- const _useLinkStylesstyles = require("./useLinkStyles.styles");
34
+ const _Link = require("./Link.cjs");
35
+ const _renderLink = require("./renderLink.cjs");
36
+ const _useLink = require("./useLink.cjs");
37
+ const _useLinkState = require("./useLinkState.cjs");
38
+ const _useLinkStylesstyles = require("./useLinkStyles.styles.cjs");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Link/index.ts"],"sourcesContent":["export { Link } from './Link';\nexport type { LinkBaseProps, LinkBaseState, LinkProps, LinkSlots, LinkState } from './Link.types';\nexport { renderLink_unstable } from './renderLink';\nexport { useLink_unstable, useLinkBase_unstable } from './useLink';\nexport { useLinkState_unstable } from './useLinkState';\nexport { linkClassNames, useLinkStyles_unstable } from './useLinkStyles.styles';\n"],"names":["Link","renderLink_unstable","useLink_unstable","useLinkBase_unstable","useLinkState_unstable","linkClassNames","useLinkStyles_unstable"],"mappings":";;;;;;;;;;;IAASA;yBAAI;;IAKJK;kDAAc;;;eAHdJ,+BAAmB;;;eACDE,6BAAoB;;;eACtCC,mCAAqB;;;eACLE,2CAAsB;;;eAFtCJ,yBAAgB;;;sBAHJ,SAAS;4BAEM,eAAe;yBACI,YAAY;8BAC7B,iBAAiB;qCACA,yBAAyB"}
1
+ {"version":3,"sources":["../src/components/Link/index.ts"],"sourcesContent":["export { Link } from './Link';\nexport type { LinkBaseProps, LinkBaseState, LinkProps, LinkSlots, LinkState } from './Link.types';\nexport { renderLink_unstable } from './renderLink';\nexport { useLink_unstable, useLinkBase_unstable } from './useLink';\nexport { useLinkState_unstable } from './useLinkState';\nexport { linkClassNames, useLinkStyles_unstable } from './useLinkStyles.styles';\n"],"names":["Link","renderLink_unstable","useLink_unstable","useLinkBase_unstable","useLinkState_unstable","linkClassNames","useLinkStyles_unstable"],"mappings":";;;;;;;;;;;IAASA;yBAAI;;IAKJK;kDAAc;;;eAHdJ,+BAAmB;;;eACDE,6BAAoB;;;eACtCC,mCAAqB;;;eACLE,2CAAsB;;;eAFtCJ,yBAAgB;;;sBAHJ,YAAS;4BAEM,kBAAe;yBACI,eAAY;8BAC7B,oBAAiB;qCACA,4BAAyB"}
@@ -19,21 +19,22 @@ _export(exports, {
19
19
  });
20
20
  const _reactutilities = require("@fluentui/react-utilities");
21
21
  const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
22
- const _useLinkState = require("./useLinkState");
23
- const _linkContext = require("../../contexts/linkContext");
22
+ const _useLinkState = require("./useLinkState.cjs");
23
+ const _linkContext = require("../../contexts/linkContext.cjs");
24
24
  const useLink_unstable = (props, ref)=>{
25
25
  const backgroundAppearance = (0, _reactsharedcontexts.useBackgroundAppearance)();
26
- const { appearance = 'default', ...baseProps } = props;
26
+ const { inline: inlineContext } = (0, _linkContext.useLinkContext)();
27
+ const { appearance = 'default', inline: inlineProp, ...baseProps } = props;
27
28
  const state = useLinkBase_unstable(baseProps, ref);
28
29
  return {
29
30
  appearance,
30
31
  backgroundAppearance,
32
+ inline: inlineProp !== null && inlineProp !== void 0 ? inlineProp : !!inlineContext,
31
33
  ...state
32
34
  };
33
35
  };
34
36
  const useLinkBase_unstable = (props, ref)=>{
35
- const { inline: inlineContext } = (0, _linkContext.useLinkContext)();
36
- const { disabled = false, disabledFocusable = false, inline = false } = props;
37
+ const { disabled = false, disabledFocusable = false } = props;
37
38
  const elementType = props.as || (props.href ? 'a' : 'button');
38
39
  // Casting is required here as `as` prop would break the union between `a`, `button` and `span` types
39
40
  const propsWithAssignedAs = {
@@ -46,7 +47,6 @@ const useLinkBase_unstable = (props, ref)=>{
46
47
  // Props passed at the top-level
47
48
  disabled,
48
49
  disabledFocusable,
49
- inline: inline !== null && inline !== void 0 ? inline : !!inlineContext,
50
50
  // Slots definition
51
51
  components: {
52
52
  root: elementType
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Link/useLink.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useBackgroundAppearance } from '@fluentui/react-shared-contexts';\nimport { useLinkState_unstable } from './useLinkState';\nimport type { LinkBaseProps, LinkBaseState, LinkProps, LinkState } from './Link.types';\nimport { useLinkContext } from '../../contexts/linkContext';\n\n/**\n * Given user props, defines default props for the Link, calls useLinkState_unstable, and returns processed state.\n * @param props - User provided props to the Link component.\n * @param ref - User provided ref to be passed to the Link component.\n */\nexport const useLink_unstable = (\n props: LinkProps,\n ref: React.Ref<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>,\n): LinkState => {\n const backgroundAppearance = useBackgroundAppearance();\n const { inline: inlineContext } = useLinkContext();\n const { appearance = 'default', inline: inlineProp, ...baseProps } = props;\n\n const state = useLinkBase_unstable(baseProps, ref);\n\n return {\n appearance,\n backgroundAppearance,\n inline: inlineProp ?? !!inlineContext,\n ...state,\n };\n};\n\n/**\n * Base hook for Link component, which manages state related to ARIA, keyboard handling,\n * disabled behavior, and slot structure. This hook excludes design-specific props (appearance, inline).\n *\n * @param props - User provided props to the Link component.\n * @param ref - User provided ref to be passed to the Link component.\n */\nexport const useLinkBase_unstable = (\n props: LinkBaseProps,\n ref: React.Ref<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>,\n): LinkBaseState => {\n const { disabled = false, disabledFocusable = false } = props;\n\n const elementType = props.as || (props.href ? 'a' : 'button');\n\n // Casting is required here as `as` prop would break the union between `a`, `button` and `span` types\n const propsWithAssignedAs = {\n role: elementType === 'span' ? 'button' : undefined,\n type: elementType === 'button' ? 'button' : undefined,\n ...props,\n as: elementType,\n } as LinkBaseProps;\n\n const state: LinkBaseState = {\n // Props passed at the top-level\n disabled,\n disabledFocusable,\n\n // Slots definition\n components: {\n root: elementType,\n },\n\n root: slot.always(\n getIntrinsicElementProps<LinkBaseProps>(elementType, {\n ref,\n ...propsWithAssignedAs,\n } as const),\n { elementType },\n ),\n };\n\n useLinkState_unstable(state);\n\n return state;\n};\n"],"names":["getIntrinsicElementProps","slot","useBackgroundAppearance","useLinkState_unstable","useLinkContext","useLink_unstable","props","ref","backgroundAppearance","inline","inlineContext","appearance","inlineProp","baseProps","state","useLinkBase_unstable","disabled","disabledFocusable","elementType","as","href","propsWithAssignedAs","role","undefined","type","components","root","always"],"mappings":"AAAA;;;;;;;;;;;;wBAuCae;eAAAA;;oBAzBAV;;;;gCAXkC,4BAA4B;qCACnC,kCAAkC;8BACpC,oBAAiB;6BAExB,gCAA6B;AAOrD,MAAMA,mBAAmB,CAC9BC,OACAC;IAEA,MAAMC,2BAAuBN,4CAAAA;IAC7B,MAAM,EAAEO,QAAQC,aAAa,EAAE,OAAGN,2BAAAA;IAClC,MAAM,EAAEO,aAAa,SAAS,EAAEF,QAAQG,UAAU,EAAE,GAAGC,WAAW,GAAGP;IAErE,MAAMQ,QAAQC,qBAAqBF,WAAWN;IAE9C,OAAO;QACLI;QACAH;QACAC,QAAQG,eAAAA,QAAAA,eAAAA,KAAAA,IAAAA,aAAc,CAAC,CAACF;QACxB,GAAGI,KAAK;IACV;AACF,EAAE;AASK,6BAA6B,CAClCR,OACAC;IAEA,MAAM,EAAES,WAAW,KAAK,EAAEC,oBAAoB,KAAK,EAAE,GAAGX;IAExD,MAAMY,cAAcZ,MAAMa,EAAE,IAAKb,OAAMc,IAAI,GAAG,MAAM,QAAA,CAAO;IAE3D,qGAAqG;IACrG,MAAMC,sBAAsB;QAC1BC,MAAMJ,gBAAgB,SAAS,WAAWK;QAC1CC,MAAMN,gBAAgB,WAAW,WAAWK;QAC5C,GAAGjB,KAAK;QACRa,IAAID;IACN;IAEA,MAAMJ,QAAuB;QAC3B,gCAAgC;QAChCE;QACAC;QAEA,mBAAmB;QACnBQ,YAAY;YACVC,MAAMR;QACR;QAEAQ,MAAMzB,oBAAAA,CAAK0B,MAAM,KACf3B,wCAAAA,EAAwCkB,aAAa;YACnDX;YACA,GAAGc,mBAAmB;QACxB,IACA;YAAEH;QAAY;IAElB;QAEAf,mCAAAA,EAAsBW;IAEtB,OAAOA;AACT,EAAE"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useLinkStyles.styles.js"],"sourcesContent":["'use client';\nimport { shorthands, makeStyles, mergeClasses } from \"@griffel/react\";\nimport { createCustomFocusIndicatorStyle } from \"@fluentui/react-tabster\";\nimport { tokens } from \"@fluentui/react-theme\";\nexport const linkClassNames = {\n root: 'fui-Link'\n};\nconst useStyles = makeStyles({\n focusIndicator: createCustomFocusIndicatorStyle({\n textDecorationColor: tokens.colorStrokeFocus2,\n textDecorationLine: 'underline',\n textDecorationStyle: 'double',\n outlineStyle: 'none'\n }),\n // Common styles.\n root: {\n ':focus-visible': {\n outlineStyle: 'none'\n },\n backgroundColor: 'transparent',\n boxSizing: 'border-box',\n color: tokens.colorBrandForegroundLink,\n cursor: 'pointer',\n display: 'inline',\n fontFamily: tokens.fontFamilyBase,\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightRegular,\n margin: '0',\n padding: '0',\n overflow: 'inherit',\n textAlign: 'left',\n textDecorationLine: 'none',\n textDecorationThickness: tokens.strokeWidthThin,\n textOverflow: 'inherit',\n userSelect: 'text',\n ':hover': {\n textDecorationLine: 'underline',\n color: tokens.colorBrandForegroundLinkHover\n },\n ':active': {\n textDecorationLine: 'underline',\n color: tokens.colorBrandForegroundLinkPressed\n }\n },\n // Overrides when the Link renders as a button.\n button: {\n ...shorthands.borderStyle('none')\n },\n // Overrides when an href is present so the Link renders as an anchor.\n href: {\n fontSize: 'inherit'\n },\n // Overrides when the Link appears subtle.\n subtle: {\n color: tokens.colorNeutralForeground2Link,\n ':hover': {\n textDecorationLine: 'underline',\n color: tokens.colorNeutralForeground2LinkHover\n },\n ':active': {\n textDecorationLine: 'underline',\n color: tokens.colorNeutralForeground2LinkPressed\n }\n },\n // Overrides when the Link is rendered inline within text.\n inline: {\n textDecorationLine: 'underline'\n },\n // Overrides when the Link is disabled.\n disabled: {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n ':hover': {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled\n },\n ':active': {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled\n },\n // There is no native disabled state for links, so we need to explicitly style the disabled state for high contrast mode.\n '@media (forced-colors: active)': {\n color: 'GrayText',\n ':hover': {\n color: 'GrayText'\n },\n ':active': {\n color: 'GrayText'\n }\n }\n },\n inverted: {\n color: tokens.colorBrandForegroundInverted,\n ':hover': {\n color: tokens.colorBrandForegroundInverted\n },\n ':active': {\n color: tokens.colorBrandForegroundInverted\n }\n },\n brand: {\n color: tokens.colorNeutralForegroundInvertedLink,\n ':hover': {\n color: tokens.colorNeutralForegroundInvertedLinkHover\n },\n ':active': {\n color: tokens.colorNeutralForegroundInvertedLinkPressed\n }\n }\n});\nexport const useLinkStyles_unstable = (state)=>{\n const styles = useStyles();\n const { appearance, disabled, inline, root, backgroundAppearance } = state;\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = mergeClasses(linkClassNames.root, styles.root, styles.focusIndicator, root.as === 'a' && root.href && styles.href, root.as === 'button' && styles.button, appearance === 'subtle' && styles.subtle, backgroundAppearance === 'inverted' && styles.inverted, backgroundAppearance === 'brand' && styles.brand, inline && styles.inline, disabled && styles.disabled, state.root.className);\n return state;\n};\n"],"names":["shorthands","__styles","mergeClasses","createCustomFocusIndicatorStyle","tokens","linkClassNames","root","useStyles","focusIndicator","Bttzg6e","B3uz8dt","B6ihwck","g9k6zt","B486eqv","De3pzq","B7ck84d","sj55zd","Bceei9c","mc9l5x","Bahqtrf","Be2twd7","Bhrd7zp","jrapky","Frg6f3","t21cq0","B6of3ja","B74szlk","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","B68tc82","Bmxbyg5","Bpg54ce","fsow6f","w71qe1","Bkioxbp","ygn44y","famaaq","Bde5pd6","Bi91k9c","i089h6","lj723h","button","icvyot","vrafjx","oivjwe","wvpqe5","href","subtle","inline","disabled","B7iucu3","Bahaeuw","Boo3t63","inverted","brand","d","p","i","h","a","m","useLinkStyles_unstable","state","styles","appearance","backgroundAppearance","className","as"],"mappings":"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"}
@@ -19,4 +19,4 @@ _export(exports, {
19
19
  return _linkContext.useLinkContext;
20
20
  }
21
21
  });
22
- const _linkContext = require("./linkContext");
22
+ const _linkContext = require("./linkContext.cjs");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/contexts/index.ts"],"sourcesContent":["export type { LinkContextValue } from './linkContext';\nexport { LinkContextProvider, linkContextDefaultValue, useLinkContext } from './linkContext';\n"],"names":["LinkContextProvider","linkContextDefaultValue","useLinkContext"],"mappings":";;;;;;;;;;;;eACSA,gCAAmB;;;eAAEC,oCAAuB;;;eAAEC,2BAAc;;;6BAAQ,gBAAgB"}
1
+ {"version":3,"sources":["../src/contexts/index.ts"],"sourcesContent":["export type { LinkContextValue } from './linkContext';\nexport { LinkContextProvider, linkContextDefaultValue, useLinkContext } from './linkContext';\n"],"names":["LinkContextProvider","linkContextDefaultValue","useLinkContext"],"mappings":";;;;;;;;;;;;eACSA,gCAAmB;;;eAAEC,oCAAuB;;;eAAEC,2BAAc;;;6BAAQ,mBAAgB"}
@@ -13,13 +13,13 @@ _export(exports, {
13
13
  return _Link.Link;
14
14
  },
15
15
  LinkContextProvider: function() {
16
- return _contexts.LinkContextProvider;
16
+ return _index.LinkContextProvider;
17
17
  },
18
18
  linkClassNames: function() {
19
19
  return _Link.linkClassNames;
20
20
  },
21
21
  linkContextDefaultValue: function() {
22
- return _contexts.linkContextDefaultValue;
22
+ return _index.linkContextDefaultValue;
23
23
  },
24
24
  renderLink_unstable: function() {
25
25
  return _Link.renderLink_unstable;
@@ -28,7 +28,7 @@ _export(exports, {
28
28
  return _Link.useLinkBase_unstable;
29
29
  },
30
30
  useLinkContext: function() {
31
- return _contexts.useLinkContext;
31
+ return _index.useLinkContext;
32
32
  },
33
33
  useLinkState_unstable: function() {
34
34
  return _Link.useLinkState_unstable;
@@ -40,5 +40,5 @@ _export(exports, {
40
40
  return _Link.useLink_unstable;
41
41
  }
42
42
  });
43
- const _Link = require("./Link");
44
- const _contexts = require("./contexts");
43
+ const _Link = require("./Link.cjs");
44
+ const _index = require("./contexts/index.cjs");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n Link,\n linkClassNames,\n renderLink_unstable,\n useLinkState_unstable,\n useLinkStyles_unstable,\n useLink_unstable,\n useLinkBase_unstable,\n} from './Link';\nexport type { LinkProps, LinkSlots, LinkState, LinkBaseProps, LinkBaseState } from './Link';\nexport { linkContextDefaultValue, LinkContextProvider, useLinkContext } from './contexts';\nexport type { LinkContextValue } from './contexts';\n"],"names":["Link","linkClassNames","renderLink_unstable","useLinkState_unstable","useLinkStyles_unstable","useLink_unstable","useLinkBase_unstable","linkContextDefaultValue","LinkContextProvider","useLinkContext"],"mappings":";;;;;;;;;;;IACEA;yBAAI;;uBAS+C;eAAnBQ;;;eARhCP,oBAAc;;;eAQPM,iCAAuB;;;eAP9BL,yBAAmB;;;eAInBI,0BAAoB;;;eAGiCG,wBAAc;;;eANnEN,2BAAqB;;0BACC;eAAtBC;;;eACAC,sBAAgB;;;sBAEX,SAAS;0BAE6D,aAAa"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n Link,\n linkClassNames,\n renderLink_unstable,\n useLinkState_unstable,\n useLinkStyles_unstable,\n useLink_unstable,\n useLinkBase_unstable,\n} from './Link';\nexport type { LinkProps, LinkSlots, LinkState, LinkBaseProps, LinkBaseState } from './Link';\nexport { linkContextDefaultValue, LinkContextProvider, useLinkContext } from './contexts';\nexport type { LinkContextValue } from './contexts';\n"],"names":["Link","linkClassNames","renderLink_unstable","useLinkState_unstable","useLinkStyles_unstable","useLink_unstable","useLinkBase_unstable","linkContextDefaultValue","LinkContextProvider","useLinkContext"],"mappings":";;;;;;;;;;;IACEA;yBAAI;;uBAS+C;eAAnBQ;;;eARhCP,oBAAc;;;eAQPM,8BAAuB;;;eAP9BL,yBAAmB;;;eAInBI,0BAAoB;;;eAGiCG,qBAAc;;;eANnEN,2BAAqB;;0BACC;eAAtBC;;;eACAC,sBAAgB;;;sBAEX,YAAS;uBAE6D,sBAAa"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@fluentui/react-link",
3
- "version": "9.8.3",
3
+ "version": "9.8.4",
4
4
  "description": "Fluent UI React Link component",
5
- "main": "lib-commonjs/index.js",
5
+ "main": "lib-commonjs/index.cjs",
6
6
  "module": "lib/index.js",
7
7
  "typings": "./dist/index.d.ts",
8
8
  "sideEffects": false,
@@ -12,12 +12,12 @@
12
12
  },
13
13
  "license": "MIT",
14
14
  "dependencies": {
15
- "@fluentui/keyboard-keys": "^9.0.8",
16
- "@fluentui/react-jsx-runtime": "^9.4.4",
17
- "@fluentui/react-shared-contexts": "^9.26.2",
18
- "@fluentui/react-tabster": "^9.26.16",
19
- "@fluentui/react-theme": "^9.2.1",
20
- "@fluentui/react-utilities": "^9.26.5",
15
+ "@fluentui/keyboard-keys": "^9.0.9",
16
+ "@fluentui/react-jsx-runtime": "^9.4.5",
17
+ "@fluentui/react-shared-contexts": "^9.26.3",
18
+ "@fluentui/react-tabster": "^9.26.17",
19
+ "@fluentui/react-theme": "^9.2.2",
20
+ "@fluentui/react-utilities": "^9.26.6",
21
21
  "@griffel/react": "^1.5.32",
22
22
  "@swc/helpers": "^0.5.1"
23
23
  },
@@ -35,17 +35,23 @@
35
35
  },
36
36
  "exports": {
37
37
  ".": {
38
- "types": "./dist/index.d.ts",
39
- "node": "./lib-commonjs/index.js",
40
- "import": "./lib/index.js",
41
- "require": "./lib-commonjs/index.js"
38
+ "import": {
39
+ "types": "./dist/index.d.ts",
40
+ "default": "./lib/index.js"
41
+ },
42
+ "require": {
43
+ "types": "./dist/index.d.cts",
44
+ "default": "./lib-commonjs/index.cjs"
45
+ }
42
46
  },
43
47
  "./package.json": "./package.json"
44
48
  },
45
49
  "files": [
46
50
  "*.md",
47
51
  "dist/*.d.ts",
52
+ "dist/*.d.cts",
48
53
  "lib",
49
54
  "lib-commonjs"
50
- ]
55
+ ],
56
+ "type": "module"
51
57
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Link/useLink.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useBackgroundAppearance } from '@fluentui/react-shared-contexts';\nimport { useLinkState_unstable } from './useLinkState';\nimport type { LinkBaseProps, LinkBaseState, LinkProps, LinkState } from './Link.types';\nimport { useLinkContext } from '../../contexts/linkContext';\n\n/**\n * Given user props, defines default props for the Link, calls useLinkState_unstable, and returns processed state.\n * @param props - User provided props to the Link component.\n * @param ref - User provided ref to be passed to the Link component.\n */\nexport const useLink_unstable = (\n props: LinkProps,\n ref: React.Ref<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>,\n): LinkState => {\n const backgroundAppearance = useBackgroundAppearance();\n const { appearance = 'default', ...baseProps } = props;\n\n const state = useLinkBase_unstable(baseProps, ref);\n\n return {\n appearance,\n backgroundAppearance,\n ...state,\n };\n};\n\n/**\n * Base hook for Link component, which manages state related to ARIA, keyboard handling,\n * disabled behavior, and slot structure. This hook excludes design-specific props (appearance).\n *\n * @param props - User provided props to the Link component.\n * @param ref - User provided ref to be passed to the Link component.\n */\nexport const useLinkBase_unstable = (\n props: LinkBaseProps,\n ref: React.Ref<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>,\n): LinkBaseState => {\n const { inline: inlineContext } = useLinkContext();\n const { disabled = false, disabledFocusable = false, inline = false } = props;\n\n const elementType = props.as || (props.href ? 'a' : 'button');\n\n // Casting is required here as `as` prop would break the union between `a`, `button` and `span` types\n const propsWithAssignedAs = {\n role: elementType === 'span' ? 'button' : undefined,\n type: elementType === 'button' ? 'button' : undefined,\n ...props,\n as: elementType,\n } as LinkBaseProps;\n\n const state: LinkBaseState = {\n // Props passed at the top-level\n disabled,\n disabledFocusable,\n inline: inline ?? !!inlineContext,\n\n // Slots definition\n components: {\n root: elementType,\n },\n\n root: slot.always(\n getIntrinsicElementProps<LinkBaseProps>(elementType, {\n ref,\n ...propsWithAssignedAs,\n } as const),\n { elementType },\n ),\n };\n\n useLinkState_unstable(state);\n\n return state;\n};\n"],"names":["getIntrinsicElementProps","slot","useBackgroundAppearance","useLinkState_unstable","useLinkContext","useLink_unstable","props","ref","backgroundAppearance","appearance","baseProps","state","useLinkBase_unstable","inline","inlineContext","disabled","disabledFocusable","elementType","as","href","propsWithAssignedAs","role","undefined","type","components","root","always"],"mappings":"AAAA;;;;;;;;;;;;wBAqCaY;eAAAA;;oBAvBAP;;;;gCAXkC,4BAA4B;qCACnC,kCAAkC;8BACpC,iBAAiB;6BAExB,6BAA6B;AAOrD,MAAMA,mBAAmB,CAC9BC,OACAC;IAEA,MAAMC,2BAAuBN,4CAAAA;IAC7B,MAAM,EAAEO,aAAa,SAAS,EAAE,GAAGC,WAAW,GAAGJ;IAEjD,MAAMK,QAAQC,qBAAqBF,WAAWH;IAE9C,OAAO;QACLE;QACAD;QACA,GAAGG,KAAK;IACV;AACF,EAAE;AASK,6BAA6B,CAClCL,OACAC;IAEA,MAAM,EAAEM,QAAQC,aAAa,EAAE,OAAGV,2BAAAA;IAClC,MAAM,EAAEW,WAAW,KAAK,EAAEC,oBAAoB,KAAK,EAAEH,SAAS,KAAK,EAAE,GAAGP;IAExE,MAAMW,cAAcX,MAAMY,EAAE,IAAKZ,CAAAA,MAAMa,IAAI,GAAG,MAAM,QAAA,CAAO;IAE3D,qGAAqG;IACrG,MAAMC,sBAAsB;QAC1BC,MAAMJ,gBAAgB,SAAS,WAAWK;QAC1CC,MAAMN,gBAAgB,WAAW,WAAWK;QAC5C,GAAGhB,KAAK;QACRY,IAAID;IACN;IAEA,MAAMN,QAAuB;QAC3B,gCAAgC;QAChCI;QACAC;QACAH,QAAQA,WAAAA,QAAAA,WAAAA,KAAAA,IAAAA,SAAU,CAAC,CAACC;QAEpB,mBAAmB;QACnBU,YAAY;YACVC,MAAMR;QACR;QAEAQ,MAAMxB,oBAAAA,CAAKyB,MAAM,KACf1B,wCAAAA,EAAwCiB,aAAa;YACnDV;YACA,GAAGa,mBAAmB;QACxB,IACA;YAAEH;QAAY;IAElB;QAEAd,mCAAAA,EAAsBQ;IAEtB,OAAOA;AACT,EAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["useLinkStyles.styles.js"],"sourcesContent":["'use client';\nimport { shorthands, makeStyles, mergeClasses } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nexport const linkClassNames = {\n root: 'fui-Link'\n};\nconst useStyles = makeStyles({\n focusIndicator: createCustomFocusIndicatorStyle({\n textDecorationColor: tokens.colorStrokeFocus2,\n textDecorationLine: 'underline',\n textDecorationStyle: 'double',\n outlineStyle: 'none'\n }),\n // Common styles.\n root: {\n ':focus-visible': {\n outlineStyle: 'none'\n },\n backgroundColor: 'transparent',\n boxSizing: 'border-box',\n color: tokens.colorBrandForegroundLink,\n cursor: 'pointer',\n display: 'inline',\n fontFamily: tokens.fontFamilyBase,\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightRegular,\n margin: '0',\n padding: '0',\n overflow: 'inherit',\n textAlign: 'left',\n textDecorationLine: 'none',\n textDecorationThickness: tokens.strokeWidthThin,\n textOverflow: 'inherit',\n userSelect: 'text',\n ':hover': {\n textDecorationLine: 'underline',\n color: tokens.colorBrandForegroundLinkHover\n },\n ':active': {\n textDecorationLine: 'underline',\n color: tokens.colorBrandForegroundLinkPressed\n }\n },\n // Overrides when the Link renders as a button.\n button: {\n ...shorthands.borderStyle('none')\n },\n // Overrides when an href is present so the Link renders as an anchor.\n href: {\n fontSize: 'inherit'\n },\n // Overrides when the Link appears subtle.\n subtle: {\n color: tokens.colorNeutralForeground2Link,\n ':hover': {\n textDecorationLine: 'underline',\n color: tokens.colorNeutralForeground2LinkHover\n },\n ':active': {\n textDecorationLine: 'underline',\n color: tokens.colorNeutralForeground2LinkPressed\n }\n },\n // Overrides when the Link is rendered inline within text.\n inline: {\n textDecorationLine: 'underline'\n },\n // Overrides when the Link is disabled.\n disabled: {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n ':hover': {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled\n },\n ':active': {\n textDecorationLine: 'none',\n color: tokens.colorNeutralForegroundDisabled\n },\n // There is no native disabled state for links, so we need to explicitly style the disabled state for high contrast mode.\n '@media (forced-colors: active)': {\n color: 'GrayText',\n ':hover': {\n color: 'GrayText'\n },\n ':active': {\n color: 'GrayText'\n }\n }\n },\n inverted: {\n color: tokens.colorBrandForegroundInverted,\n ':hover': {\n color: tokens.colorBrandForegroundInverted\n },\n ':active': {\n color: tokens.colorBrandForegroundInverted\n }\n },\n brand: {\n color: tokens.colorNeutralForegroundInvertedLink,\n ':hover': {\n color: tokens.colorNeutralForegroundInvertedLinkHover\n },\n ':active': {\n color: tokens.colorNeutralForegroundInvertedLinkPressed\n }\n }\n});\nexport const useLinkStyles_unstable = (state)=>{\n const styles = useStyles();\n const { appearance, disabled, inline, root, backgroundAppearance } = state;\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = mergeClasses(linkClassNames.root, styles.root, styles.focusIndicator, root.as === 'a' && root.href && styles.href, root.as === 'button' && styles.button, appearance === 'subtle' && styles.subtle, backgroundAppearance === 'inverted' && styles.inverted, backgroundAppearance === 'brand' && styles.brand, inline && styles.inline, disabled && styles.disabled, state.root.className);\n return state;\n};\n"],"names":["shorthands","__styles","mergeClasses","createCustomFocusIndicatorStyle","tokens","linkClassNames","root","useStyles","focusIndicator","Bttzg6e","B3uz8dt","B6ihwck","g9k6zt","B486eqv","De3pzq","B7ck84d","sj55zd","Bceei9c","mc9l5x","Bahqtrf","Be2twd7","Bhrd7zp","jrapky","Frg6f3","t21cq0","B6of3ja","B74szlk","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","B68tc82","Bmxbyg5","Bpg54ce","fsow6f","w71qe1","Bkioxbp","ygn44y","famaaq","Bde5pd6","Bi91k9c","i089h6","lj723h","button","icvyot","vrafjx","oivjwe","wvpqe5","href","subtle","inline","disabled","B7iucu3","Bahaeuw","Boo3t63","inverted","brand","d","p","i","h","a","m","useLinkStyles_unstable","state","styles","appearance","backgroundAppearance","className","as"],"mappings":"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"}