@fluentui/react-tooltip 0.0.0-nightlyfbae36b19b20211111.1 → 0.0.0-nightlyfc5cfdc52420220215.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.json +323 -22
- package/CHANGELOG.md +78 -14
- package/dist/react-tooltip.d.ts +28 -47
- package/lib/components/Tooltip/Tooltip.d.ts +3 -2
- package/lib/components/Tooltip/Tooltip.js +9 -9
- package/lib/components/Tooltip/Tooltip.js.map +1 -1
- package/lib/components/Tooltip/Tooltip.types.d.ts +22 -38
- package/lib/components/Tooltip/private/constants.d.ts +12 -0
- package/lib/components/Tooltip/private/constants.js +14 -0
- package/lib/components/Tooltip/private/constants.js.map +1 -0
- package/lib/components/Tooltip/renderTooltip.d.ts +1 -1
- package/lib/components/Tooltip/renderTooltip.js +5 -4
- package/lib/components/Tooltip/renderTooltip.js.map +1 -1
- package/lib/components/Tooltip/useTooltip.d.ts +3 -6
- package/lib/components/Tooltip/useTooltip.js +45 -57
- package/lib/components/Tooltip/useTooltip.js.map +1 -1
- package/lib/components/Tooltip/useTooltipStyles.d.ts +1 -1
- package/lib/components/Tooltip/useTooltipStyles.js +47 -21
- package/lib/components/Tooltip/useTooltipStyles.js.map +1 -1
- package/lib-commonjs/components/Tooltip/Tooltip.d.ts +3 -2
- package/lib-commonjs/components/Tooltip/Tooltip.js +8 -7
- package/lib-commonjs/components/Tooltip/Tooltip.js.map +1 -1
- package/lib-commonjs/components/Tooltip/Tooltip.types.d.ts +22 -38
- package/lib-commonjs/components/Tooltip/private/constants.d.ts +12 -0
- package/lib-commonjs/components/Tooltip/private/constants.js +21 -0
- package/lib-commonjs/components/Tooltip/private/constants.js.map +1 -0
- package/lib-commonjs/components/Tooltip/renderTooltip.d.ts +1 -1
- package/lib-commonjs/components/Tooltip/renderTooltip.js +7 -6
- package/lib-commonjs/components/Tooltip/renderTooltip.js.map +1 -1
- package/lib-commonjs/components/Tooltip/useTooltip.d.ts +3 -6
- package/lib-commonjs/components/Tooltip/useTooltip.js +50 -61
- package/lib-commonjs/components/Tooltip/useTooltip.js.map +1 -1
- package/lib-commonjs/components/Tooltip/useTooltipStyles.d.ts +1 -1
- package/lib-commonjs/components/Tooltip/useTooltipStyles.js +53 -24
- package/lib-commonjs/components/Tooltip/useTooltipStyles.js.map +1 -1
- package/package.json +12 -14
- package/lib/common/isConformant.d.ts +0 -4
- package/lib/common/isConformant.js +0 -11
- package/lib/common/isConformant.js.map +0 -1
- package/lib-commonjs/common/isConformant.d.ts +0 -4
- package/lib-commonjs/common/isConformant.js +0 -22
- package/lib-commonjs/common/isConformant.js.map +0 -1
package/dist/react-tooltip.d.ts
CHANGED
@@ -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 {
|
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
|
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:
|
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
|
-
|
30
|
+
declare type TooltipCommons = {
|
31
31
|
/**
|
32
|
-
*
|
33
|
-
*
|
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
|
36
|
+
* @defaultvalue normal
|
44
37
|
*/
|
45
|
-
|
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
|
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
|
-
*
|
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
|
-
|
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, '
|
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
|
-
|
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
|
151
|
-
* before being passed to
|
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
|
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
|
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 {
|
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:
|
7
|
+
export declare const Tooltip: React.FC<TooltipProps> & FluentTriggerComponent;
|
@@ -1,15 +1,15 @@
|
|
1
|
-
import
|
2
|
-
import {
|
3
|
-
import {
|
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 =
|
10
|
-
const state =
|
11
|
-
|
12
|
-
return
|
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":"
|
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,
|
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
|
-
|
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
|
-
|
13
|
+
declare type TooltipCommons = {
|
24
14
|
/**
|
25
|
-
*
|
26
|
-
*
|
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
|
19
|
+
* @defaultvalue normal
|
37
20
|
*/
|
38
|
-
|
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
|
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
|
-
*
|
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
|
-
|
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, '
|
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":""}
|
@@ -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
|
8
|
+
export const renderTooltip_unstable = state => {
|
9
9
|
const {
|
10
10
|
slots,
|
11
11
|
slotProps
|
12
|
-
} = getSlots(state
|
13
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, state.
|
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,
|
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
|
7
|
-
* before being passed to
|
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
|
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,
|
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
|
14
|
-
* before being passed to
|
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
|
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
|
-
|
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
|
-
|
56
|
+
relationship,
|
64
57
|
visible,
|
65
58
|
shouldRenderTooltip: visible,
|
66
|
-
appearance
|
59
|
+
appearance,
|
67
60
|
// Slots
|
68
61
|
components: {
|
69
|
-
|
62
|
+
content: 'div'
|
70
63
|
},
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
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.
|
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.
|
165
|
-
state.
|
166
|
-
const child = /*#__PURE__*/React.isValidElement(
|
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:
|
170
|
-
onPointerLeave:
|
171
|
-
onFocus:
|
172
|
-
onBlur:
|
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
|
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 (
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
state.
|
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
|
-
|
192
|
-
|
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
|
-
|
195
|
-
|
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.
|
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":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,gBAAT,EAA2B,2BAA3B,EAAwD,SAAxD,QAAyE,6BAAzE;AACA,SAAS,cAAT,EAAyB,SAAzB,QAA0C,iCAA1C;AACA,SACE,2BADF,EAEE,
|
1
|
+
{"version":3,"sources":["../../../src/components/Tooltip/useTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,gBAAT,EAA2B,2BAA3B,EAAwD,SAAxD,QAAyE,6BAAzE;AACA,SAAS,cAAT,EAAyB,SAAzB,QAA0C,iCAA1C;AACA,SACE,2BADF,EAEE,gBAFF,EAGE,oBAHF,EAIE,uBAJF,EAKE,KALF,EAME,yBANF,EAOE,QAPF,EAQE,aARF,EASE,UATF,EAUE,eAVF,QAWO,2BAXP;AAaA,SAAS,WAAT,EAAsB,mBAAtB,QAAiD,qBAAjD;AAEA;;;;;;;AAOG;;AACH,OAAO,MAAM,mBAAmB,GAAI,KAAD,IAAsC;;;AACvE,QAAM,OAAO,GAAG,KAAK,CAAC,UAAN,CAAiB,cAAjB,CAAhB;AACA,QAAM,kBAAkB,GAAG,QAAQ,EAAnC;AACA,QAAM;AAAE,IAAA;AAAF,MAAqB,SAAS,EAApC;AACA,QAAM,CAAC,eAAD,EAAkB,iBAAlB,IAAuC,UAAU,EAAvD;AAEA,QAAM;AACJ,IAAA,UADI;AAEJ,IAAA,QAFI;AAGJ,IAAA,OAHI;AAIJ,IAAA,SAJI;AAKJ,IAAA,WALI;AAMJ,IAAA,eANI;AAOJ,IAAA,YAPI;AAQJ,IAAA,SAAS,GAAG,GARR;AASJ,IAAA,SAAS,GAAG;AATR,MAUF,KAVJ;AAYA,QAAM,CAAC,OAAD,EAAU,kBAAV,IAAgC,oBAAoB,CAAC;AAAE,IAAA,KAAK,EAAE,KAAK,CAAC,OAAf;AAAwB,IAAA,YAAY,EAAE;AAAtC,GAAD,CAA1D;AACA,QAAM,UAAU,GAAG,KAAK,CAAC,WAAN,CACjB,CAAC,UAAD,EAAsB,EAAtB,KAA8F;AAC5F,IAAA,iBAAiB;AACjB,IAAA,kBAAkB,CAAC,UAAU,IAAG;AAC9B,UAAI,UAAU,KAAK,UAAnB,EAA+B;AAC7B,QAAA,eAAe,KAAA,IAAf,IAAA,eAAe,KAAA,KAAA,CAAf,GAAe,KAAA,CAAf,GAAA,eAAe,CAAG,EAAH,EAAO;AAAE,UAAA,OAAO,EAAE;AAAX,SAAP,CAAf;AACD;;AACD,aAAO,UAAP;AACD,KALiB,CAAlB;AAMD,GATgB,EAUjB,CAAC,iBAAD,EAAoB,kBAApB,EAAwC,eAAxC,CAViB,CAAnB;AAaA,QAAM,KAAK,GAAiB;AAC1B,IAAA,SAD0B;AAE1B,IAAA,WAF0B;AAG1B,IAAA,SAH0B;AAI1B,IAAA,SAJ0B;AAK1B,IAAA,YAL0B;AAM1B,IAAA,OAN0B;AAO1B,IAAA,mBAAmB,EAAE,OAPK;AAQ1B,IAAA,UAR0B;AAU1B;AACA,IAAA,UAAU,EAAE;AACV,MAAA,OAAO,EAAE;AADC,KAXc;AAc1B,IAAA,OAAO,EAAE,gBAAgB,CAAC,OAAD,EAAU;AACjC,MAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE;AADM,OADmB;AAIjC,MAAA,QAAQ,EAAE;AAJuB,KAAV;AAdC,GAA5B;AAsBA,EAAA,KAAK,CAAC,OAAN,CAAc,EAAd,GAAmB,KAAK,CAAC,UAAD,EAAa,KAAK,CAAC,OAAN,CAAc,EAA3B,CAAxB;AAEA,QAAM,aAAa,GAAG;AACpB,IAAA,OAAO,EAAE,KAAK,CAAC,OADK;AAEpB,IAAA,YAAY,EAAE,IAAI,mBAFE;AAGpB,IAAA,QAAQ,EAAE,OAHU;AAIpB,IAAA,KAAK,EAAE,QAJa;AAKpB,IAAA,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,CALY;AAMpB,OAAG,2BAA2B,CAAC,KAAK,CAAC,WAAP;AANV,GAAtB;;AASA,MAAI,KAAK,CAAC,SAAV,EAAqB;AACnB,IAAA,aAAa,CAAC,MAAd,GAAuB,gBAAgB,CAAC,aAAa,CAAC,MAAf,EAAuB,WAAvB,CAAvC;AACD;;AAED,QAAM;AACJ,IAAA,SADI;AAEJ,IAAA,YAFI;AAGJ,IAAA;AAHI,MAQF,SAAS,CAAC,aAAD,CARb;AAUA,EAAA,KAAK,CAAC,OAAN,CAAc,GAAd,GAAoB,aAAa,CAAC,KAAK,CAAC,OAAN,CAAc,GAAf,EAAoB,YAApB,CAAjC;AACA,EAAA,KAAK,CAAC,QAAN,GAAiB,QAAjB,CAhFuE,CAkFvE;AACA;AACA;;AACA,EAAA,yBAAyB,CAAC,MAAK;;;AAC7B,QAAI,OAAJ,EAAa;AACX,YAAM,WAAW,GAAG;AAAE,QAAA,IAAI,EAAE,MAAM,UAAU,CAAC,KAAD;AAAxB,OAApB;AAEA,OAAA,EAAA,GAAA,OAAO,CAAC,cAAR,MAAsB,IAAtB,IAAsB,EAAA,KAAA,KAAA,CAAtB,GAAsB,KAAA,CAAtB,GAAsB,EAAA,CAAE,IAAF,EAAtB;AACA,MAAA,OAAO,CAAC,cAAR,GAAyB,WAAzB;;AAEA,YAAM,iBAAiB,GAAI,EAAD,IAAsB;AAC9C,YAAI,EAAE,CAAC,GAAH,KAAW,QAAX,IAAuB,EAAE,CAAC,GAAH,KAAW,KAAtC,EAA6C;AAC3C,UAAA,WAAW,CAAC,IAAZ;AACD;AACF,OAJD;;AAMA,MAAA,cAAc,KAAA,IAAd,IAAA,cAAc,KAAA,KAAA,CAAd,GAAc,KAAA,CAAd,GAAA,cAAc,CAAE,gBAAhB,CAAiC,SAAjC,EAA4C,iBAA5C,CAAA;AAEA,aAAO,MAAK;AACV,YAAI,OAAO,CAAC,cAAR,KAA2B,WAA/B,EAA4C;AAC1C,UAAA,OAAO,CAAC,cAAR,GAAyB,SAAzB;AACD;;AAED,QAAA,cAAc,KAAA,IAAd,IAAA,cAAc,KAAA,KAAA,CAAd,GAAc,KAAA,CAAd,GAAA,cAAc,CAAE,mBAAhB,CAAoC,SAApC,EAA+C,iBAA/C,CAAA;AACD,OAND;AAOD;AACF,GAvBwB,EAuBtB,CAAC,OAAD,EAAU,cAAV,EAA0B,OAA1B,EAAmC,UAAnC,CAvBsB,CAAzB,CArFuE,CA8GvE;AACA;AACA;AACA;AACA;;AACA,QAAM,uBAAuB,GAAG,KAAK,CAAC,MAAN,CAAa,KAAb,CAAhC,CAnHuE,CAqHvE;;AACA,QAAM,cAAc,GAAG,KAAK,CAAC,WAAN,CACpB,EAAD,IAAwE;AACtE,QAAI,EAAE,CAAC,IAAH,KAAY,OAAZ,IAAuB,uBAAuB,CAAC,OAAnD,EAA4D;AAC1D,MAAA,uBAAuB,CAAC,OAAxB,GAAkC,KAAlC;AACA;AACD,KAJqE,CAMtE;;;AACA,UAAM,KAAK,GAAG,OAAO,CAAC,cAAR,GAAyB,CAAzB,GAA6B,KAAK,CAAC,SAAjD;AAEA,IAAA,eAAe,CAAC,MAAK;AACnB,MAAA,UAAU,CAAC,IAAD,EAAO,EAAP,CAAV;AACD,KAFc,EAEZ,KAFY,CAAf;AAIA,IAAA,EAAE,CAAC,OAAH,GAbsE,CAaxD;AACf,GAfoB,EAgBrB,CAAC,eAAD,EAAkB,UAAlB,EAA8B,KAAK,CAAC,SAApC,EAA+C,OAA/C,CAhBqB,CAAvB,CAtHuE,CAyIvE;;AACA,QAAM,cAAc,GAAG,KAAK,CAAC,WAAN,CACpB,EAAD,IAAwE;AACtE,QAAI,KAAK,GAAG,KAAK,CAAC,SAAlB;;AAEA,QAAI,EAAE,CAAC,IAAH,KAAY,MAAhB,EAAwB;AACtB;AACA,MAAA,KAAK,GAAG,CAAR;AAEA,MAAA,uBAAuB,CAAC,OAAxB,GAAkC,CAAA,cAAc,KAAA,IAAd,IAAA,cAAc,KAAA,KAAA,CAAd,GAAc,KAAA,CAAd,GAAA,cAAc,CAAE,aAAhB,MAAkC,EAAE,CAAC,MAAvE;AACD;;AAED,IAAA,eAAe,CAAC,MAAK;AACnB,MAAA,UAAU,CAAC,KAAD,EAAQ,EAAR,CAAV;AACD,KAFc,EAEZ,KAFY,CAAf;AAIA,IAAA,EAAE,CAAC,OAAH,GAdsE,CAcxD;AACf,GAhBoB,EAiBrB,CAAC,eAAD,EAAkB,UAAlB,EAA8B,KAAK,CAAC,SAApC,EAA+C,cAA/C,CAjBqB,CAAvB,CA1IuE,CA8JvE;AACA;;AACA,EAAA,KAAK,CAAC,OAAN,CAAc,cAAd,GAA+B,uBAAuB,CAAC,KAAK,CAAC,OAAN,CAAc,cAAf,EAA+B,iBAA/B,CAAtD;AACA,EAAA,KAAK,CAAC,OAAN,CAAc,cAAd,GAA+B,uBAAuB,CAAC,KAAK,CAAC,OAAN,CAAc,cAAf,EAA+B,cAA/B,CAAtD;AAEA,QAAM,KAAK,GAAG,aAAA,KAAK,CAAC,cAAN,CAAqB,QAArB,IAAiC,eAAe,CAAC,QAAD,CAAhD,GAA6D,SAA3E,CAnKuE,CAqKvE;;AACA,QAAM,YAAY,GAAwB;AACxC,IAAA,cAAc,EAAE,uBAAuB,CAAC,CAAA,EAAA,GAAA,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,KAAP,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAE,cAAf,EAA+B,cAA/B,CADC;AAExC,IAAA,cAAc,EAAE,uBAAuB,CAAC,CAAA,EAAA,GAAA,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,KAAP,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAE,cAAf,EAA+B,cAA/B,CAFC;AAGxC,IAAA,OAAO,EAAE,uBAAuB,CAAC,CAAA,EAAA,GAAA,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,KAAP,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAE,OAAf,EAAwB,cAAxB,CAHQ;AAIxC,IAAA,MAAM,EAAE,uBAAuB,CAAC,CAAA,EAAA,GAAA,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,KAAP,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAE,MAAf,EAAuB,cAAvB;AAJS,GAA1C,CAtKuE,CA6KvE;;AACA,QAAM,cAAc,GAAG,aAAa,CAAC,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,GAAR,EAAa,SAAb,CAApC;;AACA,MAAI,aAAa,CAAC,MAAd,KAAyB,SAA7B,EAAwC;AACtC,IAAA,YAAY,CAAC,GAAb,GAAmB,cAAnB;AACD;;AAED,MAAI,YAAY,KAAK,OAArB,EAA8B;AAC5B,UAAM,QAAQ,GAAG,CAAA,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,KAAP,MAAiB,gBAAgB,KAAK,CAAC,KAAtB,IAA+B,qBAAqB,KAAK,CAAC,KAA3E,CAAjB;;AACA,QAAI,CAAC,QAAL,EAAe;AACb;AACA,UAAI,OAAO,KAAK,CAAC,OAAN,CAAc,QAArB,KAAkC,QAAtC,EAAgD;AAC9C,QAAA,YAAY,CAAC,YAAD,CAAZ,GAA6B,KAAK,CAAC,OAAN,CAAc,QAA3C;AACD,OAFD,MAEO,IAAI,CAAC,kBAAL,EAAyB;AAC9B,QAAA,YAAY,CAAC,iBAAD,CAAZ,GAAkC,KAAK,CAAC,OAAN,CAAc,EAAhD,CAD8B,CAE9B;;AACA,QAAA,KAAK,CAAC,mBAAN,GAA4B,IAA5B;AACD;AACF;AACF,GAZD,MAYO,IAAI,YAAY,KAAK,aAArB,EAAoC;AACzC,UAAM,cAAc,GAAG,CAAA,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,KAAP,MAAiB,sBAAsB,KAAK,CAAC,KAA5B,IAAqC,sBAAsB,KAAK,CAAC,KAAlF,CAAvB;;AACA,QAAI,CAAC,cAAD,IAAmB,CAAC,kBAAxB,EAA4C;AAC1C,MAAA,YAAY,CAAC,kBAAD,CAAZ,GAAmC,KAAK,CAAC,OAAN,CAAc,EAAjD,CAD0C,CAE1C;;AACA,MAAA,KAAK,CAAC,mBAAN,GAA4B,IAA5B;AACD;AACF,GAtMsE,CAwMvE;;;AACA,EAAA,KAAK,CAAC,QAAN,GAAiB,2BAA2B,CAAC,QAAD,EAAW,YAAX,CAA5C;AACA,SAAO,KAAP;AACD,CA3MM","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
|
6
|
+
export declare const useTooltipStyles_unstable: (state: TooltipState) => TooltipState;
|