@fluentui/react-tooltip 0.0.0-nightlyf3ce1fbe1d20211110.1 → 0.0.0-nightlyfc5cfdc52420220215.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.json +323 -22
  2. package/CHANGELOG.md +78 -14
  3. package/dist/react-tooltip.d.ts +28 -47
  4. package/lib/components/Tooltip/Tooltip.d.ts +3 -2
  5. package/lib/components/Tooltip/Tooltip.js +9 -9
  6. package/lib/components/Tooltip/Tooltip.js.map +1 -1
  7. package/lib/components/Tooltip/Tooltip.types.d.ts +22 -38
  8. package/lib/components/Tooltip/private/constants.d.ts +12 -0
  9. package/lib/components/Tooltip/private/constants.js +14 -0
  10. package/lib/components/Tooltip/private/constants.js.map +1 -0
  11. package/lib/components/Tooltip/renderTooltip.d.ts +1 -1
  12. package/lib/components/Tooltip/renderTooltip.js +5 -4
  13. package/lib/components/Tooltip/renderTooltip.js.map +1 -1
  14. package/lib/components/Tooltip/useTooltip.d.ts +3 -6
  15. package/lib/components/Tooltip/useTooltip.js +45 -57
  16. package/lib/components/Tooltip/useTooltip.js.map +1 -1
  17. package/lib/components/Tooltip/useTooltipStyles.d.ts +1 -1
  18. package/lib/components/Tooltip/useTooltipStyles.js +47 -21
  19. package/lib/components/Tooltip/useTooltipStyles.js.map +1 -1
  20. package/lib-commonjs/components/Tooltip/Tooltip.d.ts +3 -2
  21. package/lib-commonjs/components/Tooltip/Tooltip.js +8 -7
  22. package/lib-commonjs/components/Tooltip/Tooltip.js.map +1 -1
  23. package/lib-commonjs/components/Tooltip/Tooltip.types.d.ts +22 -38
  24. package/lib-commonjs/components/Tooltip/private/constants.d.ts +12 -0
  25. package/lib-commonjs/components/Tooltip/private/constants.js +21 -0
  26. package/lib-commonjs/components/Tooltip/private/constants.js.map +1 -0
  27. package/lib-commonjs/components/Tooltip/renderTooltip.d.ts +1 -1
  28. package/lib-commonjs/components/Tooltip/renderTooltip.js +7 -6
  29. package/lib-commonjs/components/Tooltip/renderTooltip.js.map +1 -1
  30. package/lib-commonjs/components/Tooltip/useTooltip.d.ts +3 -6
  31. package/lib-commonjs/components/Tooltip/useTooltip.js +50 -61
  32. package/lib-commonjs/components/Tooltip/useTooltip.js.map +1 -1
  33. package/lib-commonjs/components/Tooltip/useTooltipStyles.d.ts +1 -1
  34. package/lib-commonjs/components/Tooltip/useTooltipStyles.js +53 -24
  35. package/lib-commonjs/components/Tooltip/useTooltipStyles.js.map +1 -1
  36. package/package.json +12 -14
  37. package/lib/common/isConformant.d.ts +0 -4
  38. package/lib/common/isConformant.js +0 -11
  39. package/lib/common/isConformant.js.map +0 -1
  40. package/lib-commonjs/common/isConformant.d.ts +0 -4
  41. package/lib-commonjs/common/isConformant.js +0 -22
  42. package/lib-commonjs/common/isConformant.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import type { ComponentProps } from '@fluentui/react-utilities';
2
2
  import type { ComponentState } from '@fluentui/react-utilities';
3
- import type { ForwardRefComponent } from '@fluentui/react-utilities';
4
- import type { IntrinsicShorthandProps } from '@fluentui/react-utilities';
3
+ import type { FluentTriggerComponent } from '@fluentui/react-utilities';
5
4
  import type { PositioningShorthand } from '@fluentui/react-positioning';
6
5
  import * as React_2 from 'react';
6
+ import type { Slot } from '@fluentui/react-utilities';
7
7
 
8
8
  /**
9
9
  * Data for the Tooltip's onVisibleChange event.
@@ -15,34 +15,27 @@ export declare type OnVisibleChangeData = {
15
15
  /**
16
16
  * Render the final JSX of Tooltip
17
17
  */
18
- export declare const renderTooltip: (state: TooltipState) => JSX.Element;
18
+ export declare const renderTooltip_unstable: (state: TooltipState) => JSX.Element;
19
19
 
20
20
  /**
21
21
  * A tooltip provides light weight contextual information on top of its target element.
22
22
  */
23
- export declare const Tooltip: ForwardRefComponent<TooltipProps>;
23
+ export declare const Tooltip: React_2.FC<TooltipProps> & FluentTriggerComponent;
24
24
 
25
25
  export declare const tooltipClassName = "fui-Tooltip";
26
26
 
27
27
  /**
28
28
  * Properties and state for Tooltip
29
29
  */
30
- export declare type TooltipCommons = {
30
+ declare type TooltipCommons = {
31
31
  /**
32
- * A tooltip can appear with the default appearance or inverted.
33
- * When not specified, the default appearance is used.
34
- */
35
- appearance?: 'inverted';
36
- /**
37
- * The content displayed inside the tooltip.
38
- */
39
- content: React_2.ReactNode;
40
- /**
41
- * Color variant with inverted colors
32
+ * The tooltip's visual appearance.
33
+ * * `normal` - Uses the theme's background and text colors.
34
+ * * `inverted` - Higher contrast variant that uses the theme's inverted colors.
42
35
  *
43
- * @defaultvalue false
36
+ * @defaultvalue normal
44
37
  */
45
- inverted?: boolean;
38
+ appearance?: 'normal' | 'inverted';
46
39
  /**
47
40
  * Render an arrow pointing to the target element
48
41
  *
@@ -69,15 +62,15 @@ export declare type TooltipCommons = {
69
62
  */
70
63
  onVisibleChange?: (event: React_2.PointerEvent<HTMLElement> | React_2.FocusEvent<HTMLElement> | undefined, data: OnVisibleChangeData) => void;
71
64
  /**
72
- * Specifies which aria attribute to set on the trigger element.
73
- * * `label` - Set aria-label to the tooltip's content. Requires content to be a string; if not, uses `labelledby`.
74
- * * `labelledby` - Set aria-labelledby to the tooltip's id. The id is generated if not provided.
75
- * * `describedby` - Set aria-describedby to the tooltip's id. The id is generated if not provided.
76
- * * null - Do not set any aria attributes on the trigger element.
65
+ * (Required) Specifies whether this tooltip is acting as the description or label of its trigger element.
77
66
  *
78
- * @defaultvalue label
67
+ * * `label` - The tooltip sets the trigger's aria-label or aria-labelledby attribute. This is useful for buttons
68
+ * displaying only an icon, for example.
69
+ * * `description` - The tooltip sets the trigger's aria-description or aria-describedby attribute.
70
+ * * `inaccessible` - No aria attributes are set on the trigger. This makes the tooltip's content inaccessible to
71
+ * screen readers, and should only be used if the tooltip's text is available by some other means.
79
72
  */
80
- triggerAriaAttribute: 'label' | 'labelledby' | 'describedby' | null;
73
+ relationship: 'label' | 'description' | 'inaccessible';
81
74
  /**
82
75
  * Delay before the tooltip is shown, in milliseconds.
83
76
  *
@@ -95,36 +88,26 @@ export declare type TooltipCommons = {
95
88
  /**
96
89
  * Properties for Tooltip
97
90
  */
98
- export declare type TooltipProps = ComponentProps<TooltipSlots> & Partial<Omit<TooltipCommons, 'content'>> & Pick<TooltipCommons, 'content'>;
91
+ export declare type TooltipProps = ComponentProps<TooltipSlots> & Partial<Omit<TooltipCommons, 'relationship'>> & Pick<TooltipCommons, 'relationship'> & {
92
+ children?: (React_2.ReactElement & {
93
+ ref?: React_2.Ref<unknown>;
94
+ }) | ((props: TooltipTriggerProps) => React_2.ReactElement | null) | null;
95
+ };
99
96
 
100
97
  /**
101
98
  * Slot properties for Tooltip
102
99
  */
103
100
  export declare type TooltipSlots = {
104
- root: Omit<IntrinsicShorthandProps<'div'>, 'children'> & {
105
- /**
106
- * The child is the element that triggers the Tooltip. It will have additional properties added,
107
- * including events and aria properties.
108
- * Alternatively, children can be a render function that takes the props and adds
109
- * them to the appropriate elements.
110
- */
111
- children?: (React_2.ReactElement<React_2.HTMLAttributes<HTMLElement>> & {
112
- ref?: React_2.Ref<unknown>;
113
- }) | ((props: TooltipTriggerProps) => React_2.ReactNode) | null;
114
- };
101
+ content: NonNullable<Slot<'div'>>;
115
102
  };
116
103
 
117
104
  /**
118
105
  * State used in rendering Tooltip
119
106
  */
120
107
  export declare type TooltipState = ComponentState<TooltipSlots> & TooltipCommons & {
108
+ children?: React_2.ReactElement | null;
121
109
  /**
122
110
  * Whether the tooltip should be rendered to the DOM.
123
- *
124
- * Normally the tooltip will only be rendered when visible. However, if
125
- * triggerAriaAttribute is labelledby or describedby, the tooltip will
126
- * always be rendered even when hidden so that those aria attributes
127
- * to always refer to a valid DOM element.
128
111
  */
129
112
  shouldRenderTooltip?: boolean;
130
113
  /**
@@ -147,18 +130,16 @@ export declare type TooltipTriggerProps = {
147
130
  /**
148
131
  * Create the state required to render Tooltip.
149
132
  *
150
- * The returned state can be modified with hooks such as useTooltipStyles,
151
- * before being passed to renderTooltip.
133
+ * The returned state can be modified with hooks such as useTooltipStyles_unstable,
134
+ * before being passed to renderTooltip_unstable.
152
135
  *
153
136
  * @param props - props from this instance of Tooltip
154
- * @param ref - reference to root HTMLElement of Tooltip
155
- * @param defaultProps - (optional) default prop values provided by the implementing type
156
137
  */
157
- export declare const useTooltip: (props: TooltipProps, ref: React_2.Ref<HTMLDivElement>) => TooltipState;
138
+ export declare const useTooltip_unstable: (props: TooltipProps) => TooltipState;
158
139
 
159
140
  /**
160
141
  * Apply styling to the Tooltip slots based on the state
161
142
  */
162
- export declare const useTooltipStyles: (state: TooltipState) => TooltipState;
143
+ export declare const useTooltipStyles_unstable: (state: TooltipState) => TooltipState;
163
144
 
164
145
  export { }
@@ -1,6 +1,7 @@
1
+ import * as React from 'react';
1
2
  import type { TooltipProps } from './Tooltip.types';
2
- import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
+ import type { FluentTriggerComponent } from '@fluentui/react-utilities';
3
4
  /**
4
5
  * A tooltip provides light weight contextual information on top of its target element.
5
6
  */
6
- export declare const Tooltip: ForwardRefComponent<TooltipProps>;
7
+ export declare const Tooltip: React.FC<TooltipProps> & FluentTriggerComponent;
@@ -1,15 +1,15 @@
1
- import * as React from 'react';
2
- import { useTooltip } from './useTooltip';
3
- import { renderTooltip } from './renderTooltip';
4
- import { useTooltipStyles } from './useTooltipStyles';
1
+ import { useTooltip_unstable } from './useTooltip';
2
+ import { renderTooltip_unstable } from './renderTooltip';
3
+ import { useTooltipStyles_unstable } from './useTooltipStyles';
5
4
  /**
6
5
  * A tooltip provides light weight contextual information on top of its target element.
7
6
  */
8
7
 
9
- export const Tooltip = /*#__PURE__*/React.forwardRef((props, ref) => {
10
- const state = useTooltip(props, ref);
11
- useTooltipStyles(state);
12
- return renderTooltip(state);
13
- });
8
+ export const Tooltip = props => {
9
+ const state = useTooltip_unstable(props);
10
+ useTooltipStyles_unstable(state);
11
+ return renderTooltip_unstable(state);
12
+ };
14
13
  Tooltip.displayName = 'Tooltip';
14
+ Tooltip.isFluentTriggerComponent = true;
15
15
  //# sourceMappingURL=Tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,UAAT,QAA2B,cAA3B;AACA,SAAS,aAAT,QAA8B,iBAA9B;AACA,SAAS,gBAAT,QAAiC,oBAAjC;AAIA;;AAEG;;AACH,OAAO,MAAM,OAAO,gBAAsC,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACxF,QAAM,KAAK,GAAG,UAAU,CAAC,KAAD,EAAQ,GAAR,CAAxB;AAEA,EAAA,gBAAgB,CAAC,KAAD,CAAhB;AACA,SAAO,aAAa,CAAC,KAAD,CAApB;AACD,CALyD,CAAnD;AAOP,OAAO,CAAC,WAAR,GAAsB,SAAtB","sourceRoot":""}
1
+ {"version":3,"sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AACA,SAAS,mBAAT,QAAoC,cAApC;AACA,SAAS,sBAAT,QAAuC,iBAAvC;AACA,SAAS,yBAAT,QAA0C,oBAA1C;AAIA;;AAEG;;AACH,OAAO,MAAM,OAAO,GAAoD,KAAK,IAAG;AAC9E,QAAM,KAAK,GAAG,mBAAmB,CAAC,KAAD,CAAjC;AAEA,EAAA,yBAAyB,CAAC,KAAD,CAAzB;AACA,SAAO,sBAAsB,CAAC,KAAD,CAA7B;AACD,CALM;AAOP,OAAO,CAAC,WAAR,GAAsB,SAAtB;AACA,OAAO,CAAC,wBAAR,GAAmC,IAAnC","sourceRoot":""}
@@ -1,41 +1,24 @@
1
1
  import * as React from 'react';
2
2
  import type { PositioningShorthand } from '@fluentui/react-positioning';
3
- import type { ComponentProps, ComponentState, IntrinsicShorthandProps } from '@fluentui/react-utilities';
3
+ import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
4
4
  /**
5
5
  * Slot properties for Tooltip
6
6
  */
7
7
  export declare type TooltipSlots = {
8
- root: Omit<IntrinsicShorthandProps<'div'>, 'children'> & {
9
- /**
10
- * The child is the element that triggers the Tooltip. It will have additional properties added,
11
- * including events and aria properties.
12
- * Alternatively, children can be a render function that takes the props and adds
13
- * them to the appropriate elements.
14
- */
15
- children?: (React.ReactElement<React.HTMLAttributes<HTMLElement>> & {
16
- ref?: React.Ref<unknown>;
17
- }) | ((props: TooltipTriggerProps) => React.ReactNode) | null;
18
- };
8
+ content: NonNullable<Slot<'div'>>;
19
9
  };
20
10
  /**
21
11
  * Properties and state for Tooltip
22
12
  */
23
- export declare type TooltipCommons = {
13
+ declare type TooltipCommons = {
24
14
  /**
25
- * A tooltip can appear with the default appearance or inverted.
26
- * When not specified, the default appearance is used.
27
- */
28
- appearance?: 'inverted';
29
- /**
30
- * The content displayed inside the tooltip.
31
- */
32
- content: React.ReactNode;
33
- /**
34
- * Color variant with inverted colors
15
+ * The tooltip's visual appearance.
16
+ * * `normal` - Uses the theme's background and text colors.
17
+ * * `inverted` - Higher contrast variant that uses the theme's inverted colors.
35
18
  *
36
- * @defaultvalue false
19
+ * @defaultvalue normal
37
20
  */
38
- inverted?: boolean;
21
+ appearance?: 'normal' | 'inverted';
39
22
  /**
40
23
  * Render an arrow pointing to the target element
41
24
  *
@@ -62,15 +45,15 @@ export declare type TooltipCommons = {
62
45
  */
63
46
  onVisibleChange?: (event: React.PointerEvent<HTMLElement> | React.FocusEvent<HTMLElement> | undefined, data: OnVisibleChangeData) => void;
64
47
  /**
65
- * Specifies which aria attribute to set on the trigger element.
66
- * * `label` - Set aria-label to the tooltip's content. Requires content to be a string; if not, uses `labelledby`.
67
- * * `labelledby` - Set aria-labelledby to the tooltip's id. The id is generated if not provided.
68
- * * `describedby` - Set aria-describedby to the tooltip's id. The id is generated if not provided.
69
- * * null - Do not set any aria attributes on the trigger element.
48
+ * (Required) Specifies whether this tooltip is acting as the description or label of its trigger element.
70
49
  *
71
- * @defaultvalue label
50
+ * * `label` - The tooltip sets the trigger's aria-label or aria-labelledby attribute. This is useful for buttons
51
+ * displaying only an icon, for example.
52
+ * * `description` - The tooltip sets the trigger's aria-description or aria-describedby attribute.
53
+ * * `inaccessible` - No aria attributes are set on the trigger. This makes the tooltip's content inaccessible to
54
+ * screen readers, and should only be used if the tooltip's text is available by some other means.
72
55
  */
73
- triggerAriaAttribute: 'label' | 'labelledby' | 'describedby' | null;
56
+ relationship: 'label' | 'description' | 'inaccessible';
74
57
  /**
75
58
  * Delay before the tooltip is shown, in milliseconds.
76
59
  *
@@ -99,18 +82,18 @@ export declare type OnVisibleChangeData = {
99
82
  /**
100
83
  * Properties for Tooltip
101
84
  */
102
- export declare type TooltipProps = ComponentProps<TooltipSlots> & Partial<Omit<TooltipCommons, 'content'>> & Pick<TooltipCommons, 'content'>;
85
+ export declare type TooltipProps = ComponentProps<TooltipSlots> & Partial<Omit<TooltipCommons, 'relationship'>> & Pick<TooltipCommons, 'relationship'> & {
86
+ children?: (React.ReactElement & {
87
+ ref?: React.Ref<unknown>;
88
+ }) | ((props: TooltipTriggerProps) => React.ReactElement | null) | null;
89
+ };
103
90
  /**
104
91
  * State used in rendering Tooltip
105
92
  */
106
93
  export declare type TooltipState = ComponentState<TooltipSlots> & TooltipCommons & {
94
+ children?: React.ReactElement | null;
107
95
  /**
108
96
  * Whether the tooltip should be rendered to the DOM.
109
- *
110
- * Normally the tooltip will only be rendered when visible. However, if
111
- * triggerAriaAttribute is labelledby or describedby, the tooltip will
112
- * always be rendered even when hidden so that those aria attributes
113
- * to always refer to a valid DOM element.
114
97
  */
115
98
  shouldRenderTooltip?: boolean;
116
99
  /**
@@ -122,3 +105,4 @@ export declare type TooltipState = ComponentState<TooltipSlots> & TooltipCommons
122
105
  */
123
106
  arrowClassName?: string;
124
107
  };
108
+ export {};
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The height of the tooltip's arrow in pixels.
3
+ */
4
+ export declare const arrowHeight = 6;
5
+ /**
6
+ * The default value of the tooltip's border radius (borderRadiusMedium).
7
+ *
8
+ * Unfortunately, Popper requires it to be specified as a variable instead of using CSS.
9
+ * While we could use getComputedStyle, that adds a performance penalty for something that
10
+ * will likely never change.
11
+ */
12
+ export declare const tooltipBorderRadius = 4;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The height of the tooltip's arrow in pixels.
3
+ */
4
+ export const arrowHeight = 6;
5
+ /**
6
+ * The default value of the tooltip's border radius (borderRadiusMedium).
7
+ *
8
+ * Unfortunately, Popper requires it to be specified as a variable instead of using CSS.
9
+ * While we could use getComputedStyle, that adds a performance penalty for something that
10
+ * will likely never change.
11
+ */
12
+
13
+ export const tooltipBorderRadius = 4;
14
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Tooltip/private/constants.ts"],"names":[],"mappings":"AAAA;;AAEG;AACH,OAAO,MAAM,WAAW,GAAG,CAApB;AAEP;;;;;;AAMG;;AACH,OAAO,MAAM,mBAAmB,GAAG,CAA5B","sourceRoot":""}
@@ -2,4 +2,4 @@ import type { TooltipState } from './Tooltip.types';
2
2
  /**
3
3
  * Render the final JSX of Tooltip
4
4
  */
5
- export declare const renderTooltip: (state: TooltipState) => JSX.Element;
5
+ export declare const renderTooltip_unstable: (state: TooltipState) => JSX.Element;
@@ -5,14 +5,15 @@ import { getSlots } from '@fluentui/react-utilities';
5
5
  * Render the final JSX of Tooltip
6
6
  */
7
7
 
8
- export const renderTooltip = state => {
8
+ export const renderTooltip_unstable = state => {
9
9
  const {
10
10
  slots,
11
11
  slotProps
12
- } = getSlots(state, ['root']);
13
- return /*#__PURE__*/React.createElement(React.Fragment, null, state.root.children, state.shouldRenderTooltip && /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(slots.root, Object.assign({}, slotProps.root), state.withArrow && /*#__PURE__*/React.createElement("div", {
12
+ } = getSlots(state);
13
+ return /*#__PURE__*/React.createElement(React.Fragment, null, state.children, state.shouldRenderTooltip && /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(slots.content, { ...slotProps.content
14
+ }, state.withArrow && /*#__PURE__*/React.createElement("div", {
14
15
  ref: state.arrowRef,
15
16
  className: state.arrowClassName
16
- }), state.content)));
17
+ }), state.content.children)));
17
18
  };
18
19
  //# sourceMappingURL=renderTooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Tooltip/renderTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,MAAT,QAAuB,wBAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,MAAM,aAAa,GAAI,KAAD,IAAwB;AACnD,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAe,KAAf,EAAsB,CAAC,MAAD,CAAtB,CAArC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EACG,KAAK,CAAC,IAAN,CAAW,QADd,EAEG,KAAK,CAAC,mBAAN,iBACC,KAAA,CAAA,aAAA,CAAC,MAAD,EAAO,IAAP,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,EACG,KAAK,CAAC,SAAN,iBAAmB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,GAAG,EAAE,KAAK,CAAC,QAAhB;AAA0B,IAAA,SAAS,EAAE,KAAK,CAAC;AAA3C,GAAA,CADtB,EAEG,KAAK,CAAC,OAFT,CADF,CAHJ,CADF;AAaD,CAhBM","sourceRoot":""}
1
+ {"version":3,"sources":["../../../src/components/Tooltip/renderTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,MAAT,QAAuB,wBAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,MAAM,sBAAsB,GAAI,KAAD,IAAwB;AAC5D,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAe,KAAf,CAArC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EACG,KAAK,CAAC,QADT,EAEG,KAAK,CAAC,mBAAN,iBACC,KAAA,CAAA,aAAA,CAAC,MAAD,EAAO,IAAP,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,OAAP,EAAc,EAAA,GAAK,SAAS,CAAC;AAAf,GAAd,EACG,KAAK,CAAC,SAAN,iBAAmB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,GAAG,EAAE,KAAK,CAAC,QAAhB;AAA0B,IAAA,SAAS,EAAE,KAAK,CAAC;AAA3C,GAAA,CADtB,EAEG,KAAK,CAAC,OAAN,CAAc,QAFjB,CADF,CAHJ,CADF;AAaD,CAhBM","sourceRoot":""}
@@ -1,13 +1,10 @@
1
- import * as React from 'react';
2
1
  import type { TooltipProps, TooltipState } from './Tooltip.types';
3
2
  /**
4
3
  * Create the state required to render Tooltip.
5
4
  *
6
- * The returned state can be modified with hooks such as useTooltipStyles,
7
- * before being passed to renderTooltip.
5
+ * The returned state can be modified with hooks such as useTooltipStyles_unstable,
6
+ * before being passed to renderTooltip_unstable.
8
7
  *
9
8
  * @param props - props from this instance of Tooltip
10
- * @param ref - reference to root HTMLElement of Tooltip
11
- * @param defaultProps - (optional) default prop values provided by the implementing type
12
9
  */
13
- export declare const useTooltip: (props: TooltipProps, ref: React.Ref<HTMLDivElement>) => TooltipState;
10
+ export declare const useTooltip_unstable: (props: TooltipProps) => TooltipState;
@@ -1,24 +1,18 @@
1
1
  import * as React from 'react';
2
2
  import { mergeArrowOffset, resolvePositioningShorthand, usePopper } from '@fluentui/react-positioning';
3
3
  import { TooltipContext, useFluent } from '@fluentui/react-shared-contexts';
4
- import { applyTriggerPropsToChildren, getNativeElementProps, useControllableState, useId, useIsomorphicLayoutEffect, useIsSSR, useMergedRefs, useTimeout } from '@fluentui/react-utilities'; // Style values that are required for popper to properly position the tooltip
5
-
6
- const tooltipBorderRadius = 4; // Update the root's borderRadius in useTooltipStyles.ts if this changes
7
-
8
- const arrowHeight = 6; // Update the arrow's width/height in useTooltipStyles.ts if this changes
9
-
4
+ import { applyTriggerPropsToChildren, resolveShorthand, useControllableState, useMergedEventCallbacks, useId, useIsomorphicLayoutEffect, useIsSSR, useMergedRefs, useTimeout, getTriggerChild } from '@fluentui/react-utilities';
5
+ import { arrowHeight, tooltipBorderRadius } from './private/constants';
10
6
  /**
11
7
  * Create the state required to render Tooltip.
12
8
  *
13
- * The returned state can be modified with hooks such as useTooltipStyles,
14
- * before being passed to renderTooltip.
9
+ * The returned state can be modified with hooks such as useTooltipStyles_unstable,
10
+ * before being passed to renderTooltip_unstable.
15
11
  *
16
12
  * @param props - props from this instance of Tooltip
17
- * @param ref - reference to root HTMLElement of Tooltip
18
- * @param defaultProps - (optional) default prop values provided by the implementing type
19
13
  */
20
14
 
21
- export const useTooltip = (props, ref) => {
15
+ export const useTooltip_unstable = props => {
22
16
  var _a, _b, _c, _d;
23
17
 
24
18
  const context = React.useContext(TooltipContext);
@@ -28,12 +22,13 @@ export const useTooltip = (props, ref) => {
28
22
  } = useFluent();
29
23
  const [setDelayTimeout, clearDelayTimeout] = useTimeout();
30
24
  const {
25
+ appearance,
26
+ children,
31
27
  content,
32
- inverted,
33
28
  withArrow,
34
29
  positioning,
35
30
  onVisibleChange,
36
- triggerAriaAttribute = 'label',
31
+ relationship,
37
32
  showDelay = 250,
38
33
  hideDelay = 250
39
34
  } = props;
@@ -54,27 +49,26 @@ export const useTooltip = (props, ref) => {
54
49
  });
55
50
  }, [clearDelayTimeout, setVisibleInternal, onVisibleChange]);
56
51
  const state = {
57
- content,
58
- inverted,
59
52
  withArrow,
60
53
  positioning,
61
54
  showDelay,
62
55
  hideDelay,
63
- triggerAriaAttribute,
56
+ relationship,
64
57
  visible,
65
58
  shouldRenderTooltip: visible,
66
- appearance: props.appearance,
59
+ appearance,
67
60
  // Slots
68
61
  components: {
69
- root: 'div'
62
+ content: 'div'
70
63
  },
71
- root: getNativeElementProps('div', {
72
- role: 'tooltip',
73
- ...props,
74
- ref,
75
- id: useId('tooltip-', props.id)
64
+ content: resolveShorthand(content, {
65
+ defaultProps: {
66
+ role: 'tooltip'
67
+ },
68
+ required: true
76
69
  })
77
70
  };
71
+ state.content.id = useId('tooltip-', state.content.id);
78
72
  const popperOptions = {
79
73
  enabled: state.visible,
80
74
  arrowPadding: 2 * tooltipBorderRadius,
@@ -93,7 +87,7 @@ export const useTooltip = (props, ref) => {
93
87
  containerRef,
94
88
  arrowRef
95
89
  } = usePopper(popperOptions);
96
- state.root.ref = useMergedRefs(state.root.ref, containerRef);
90
+ state.content.ref = useMergedRefs(state.content.ref, containerRef);
97
91
  state.arrowRef = arrowRef; // When this tooltip is visible, hide any other tooltips, and register it
98
92
  // as the visibleTooltip with the TooltipContext.
99
93
  // Also add a listener on document to hide the tooltip if Escape is pressed
@@ -161,54 +155,48 @@ export const useTooltip = (props, ref) => {
161
155
  }, [setDelayTimeout, setVisible, state.hideDelay, targetDocument]); // Cancel the hide timer when the pointer enters the tooltip, and restart it when the mouse leaves.
162
156
  // This keeps the tooltip visible when the pointer is moved over it.
163
157
 
164
- state.root.onPointerEnter = useMergedCallbacks(state.root.onPointerEnter, clearDelayTimeout);
165
- state.root.onPointerLeave = useMergedCallbacks(state.root.onPointerLeave, onLeaveTrigger);
166
- const child = /*#__PURE__*/React.isValidElement(state.root.children) ? state.root.children : undefined; // The props to add to the trigger element (child)
158
+ state.content.onPointerEnter = useMergedEventCallbacks(state.content.onPointerEnter, clearDelayTimeout);
159
+ state.content.onPointerLeave = useMergedEventCallbacks(state.content.onPointerLeave, onLeaveTrigger);
160
+ const child = /*#__PURE__*/React.isValidElement(children) ? getTriggerChild(children) : undefined; // The props to add to the trigger element (child)
167
161
 
168
162
  const triggerProps = {
169
- onPointerEnter: useMergedCallbacks((_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onPointerEnter, onEnterTrigger),
170
- onPointerLeave: useMergedCallbacks((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.onPointerLeave, onLeaveTrigger),
171
- onFocus: useMergedCallbacks((_c = child === null || child === void 0 ? void 0 : child.props) === null || _c === void 0 ? void 0 : _c.onFocus, onEnterTrigger),
172
- onBlur: useMergedCallbacks((_d = child === null || child === void 0 ? void 0 : child.props) === null || _d === void 0 ? void 0 : _d.onBlur, onLeaveTrigger)
163
+ onPointerEnter: useMergedEventCallbacks((_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onPointerEnter, onEnterTrigger),
164
+ onPointerLeave: useMergedEventCallbacks((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.onPointerLeave, onLeaveTrigger),
165
+ onFocus: useMergedEventCallbacks((_c = child === null || child === void 0 ? void 0 : child.props) === null || _c === void 0 ? void 0 : _c.onFocus, onEnterTrigger),
166
+ onBlur: useMergedEventCallbacks((_d = child === null || child === void 0 ? void 0 : child.props) === null || _d === void 0 ? void 0 : _d.onBlur, onLeaveTrigger)
173
167
  }; // If the target prop is not provided, attach targetRef to the trigger element's ref prop
174
168
 
175
- const childWithRef = child;
176
- const childTargetRef = useMergedRefs(childWithRef === null || childWithRef === void 0 ? void 0 : childWithRef.ref, targetRef);
169
+ const childTargetRef = useMergedRefs(child === null || child === void 0 ? void 0 : child.ref, targetRef);
177
170
 
178
171
  if (popperOptions.target === undefined) {
179
172
  triggerProps.ref = childTargetRef;
180
173
  }
181
174
 
182
- if (state.triggerAriaAttribute === 'label') {
183
- // aria-label only works if the content is a string. Otherwise, need to use labelledby.
184
- if (typeof state.content === 'string') {
185
- triggerProps['aria-label'] = state.content;
186
- } else {
187
- state.triggerAriaAttribute = 'labelledby';
175
+ if (relationship === 'label') {
176
+ const hasLabel = (child === null || child === void 0 ? void 0 : child.props) && ('aria-label' in child.props || 'aria-labelledby' in child.props);
177
+
178
+ if (!hasLabel) {
179
+ // aria-label only works if the content is a string. Otherwise, need to use aria-labelledby.
180
+ if (typeof state.content.children === 'string') {
181
+ triggerProps['aria-label'] = state.content.children;
182
+ } else if (!isServerSideRender) {
183
+ triggerProps['aria-labelledby'] = state.content.id; // Always render the tooltip even if hidden, so that aria-labelledby refers to a valid element
184
+
185
+ state.shouldRenderTooltip = true;
186
+ }
188
187
  }
189
- }
188
+ } else if (relationship === 'description') {
189
+ const hasDescription = (child === null || child === void 0 ? void 0 : child.props) && ('aria-description' in child.props || 'aria-describedby' in child.props);
190
190
 
191
- if (state.triggerAriaAttribute === 'labelledby' && !isServerSideRender) {
192
- triggerProps['aria-labelledby'] = state.root.id; // Always render the tooltip even if hidden, so that aria-labelledby refers to a valid element
191
+ if (!hasDescription && !isServerSideRender) {
192
+ triggerProps['aria-describedby'] = state.content.id; // Always render the tooltip even if hidden, so that aria-describedby refers to a valid element
193
193
 
194
- state.shouldRenderTooltip = true;
195
- } else if (state.triggerAriaAttribute === 'describedby' && !isServerSideRender) {
196
- triggerProps['aria-describedby'] = state.root.id;
197
- state.shouldRenderTooltip = true;
194
+ state.shouldRenderTooltip = true;
195
+ }
198
196
  } // Apply the trigger props to the child, either by calling the render function, or cloning with the new props
199
197
 
200
198
 
201
- state.root.children = applyTriggerPropsToChildren(state.root.children, triggerProps);
199
+ state.children = applyTriggerPropsToChildren(children, triggerProps);
202
200
  return state;
203
201
  };
204
- /**
205
- * Combine up to two event callbacks into a single function that calls them in order
206
- */
207
-
208
- const useMergedCallbacks = (callback1, callback2) => {
209
- return React.useCallback(ev => {
210
- callback1 === null || callback1 === void 0 ? void 0 : callback1(ev);
211
- callback2 === null || callback2 === void 0 ? void 0 : callback2(ev);
212
- }, [callback1, callback2]);
213
- };
214
202
  //# sourceMappingURL=useTooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Tooltip/useTooltip.tsx"],"names":[],"mappings":"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","sourceRoot":""}
1
+ {"version":3,"sources":["../../../src/components/Tooltip/useTooltip.tsx"],"names":[],"mappings":"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","sourceRoot":""}
@@ -3,4 +3,4 @@ export declare const tooltipClassName = "fui-Tooltip";
3
3
  /**
4
4
  * Apply styling to the Tooltip slots based on the state
5
5
  */
6
- export declare const useTooltipStyles: (state: TooltipState) => TooltipState;
6
+ export declare const useTooltipStyles_unstable: (state: TooltipState) => TooltipState;