@fluentui/react-tooltip 9.0.0-nightly.b5b7401007.0 → 9.0.0-rc.3
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.json +422 -28
- package/CHANGELOG.md +105 -19
- package/MIGRATION.md +51 -43
- package/Spec.md +201 -337
- package/dist/react-tooltip.d.ts +40 -48
- package/lib/Tooltip.js.map +1 -1
- 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 +32 -39
- package/lib/components/Tooltip/Tooltip.types.js.map +1 -1
- package/lib/components/Tooltip/index.d.ts +1 -1
- package/lib/components/Tooltip/index.js +1 -1
- package/lib/components/Tooltip/index.js.map +1 -1
- 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 +8 -8
- package/lib/components/Tooltip/renderTooltip.js.map +1 -1
- package/lib/components/Tooltip/useTooltip.d.ts +3 -6
- package/lib/components/Tooltip/useTooltip.js +96 -127
- package/lib/components/Tooltip/useTooltip.js.map +1 -1
- package/lib/components/Tooltip/useTooltipStyles.d.ts +2 -1
- package/lib/components/Tooltip/useTooltipStyles.js +50 -23
- package/lib/components/Tooltip/useTooltipStyles.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib-commonjs/Tooltip.js +1 -1
- package/lib-commonjs/Tooltip.js.map +1 -1
- package/lib-commonjs/components/Tooltip/Tooltip.d.ts +3 -2
- package/lib-commonjs/components/Tooltip/Tooltip.js +11 -10
- package/lib-commonjs/components/Tooltip/Tooltip.js.map +1 -1
- package/lib-commonjs/components/Tooltip/Tooltip.types.d.ts +32 -39
- package/lib-commonjs/components/Tooltip/Tooltip.types.js.map +1 -1
- package/lib-commonjs/components/Tooltip/index.d.ts +1 -1
- package/lib-commonjs/components/Tooltip/index.js +2 -10
- package/lib-commonjs/components/Tooltip/index.js.map +1 -1
- 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 +13 -14
- 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 +104 -135
- package/lib-commonjs/components/Tooltip/useTooltip.js.map +1 -1
- package/lib-commonjs/components/Tooltip/useTooltipStyles.d.ts +2 -1
- package/lib-commonjs/components/Tooltip/useTooltipStyles.js +56 -26
- package/lib-commonjs/components/Tooltip/useTooltipStyles.js.map +1 -1
- package/lib-commonjs/index.js +1 -1
- package/lib-commonjs/index.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
@@ -1,57 +1,44 @@
|
|
1
|
-
import { __assign } from "tslib";
|
2
1
|
import * as React from 'react';
|
3
2
|
import { mergeArrowOffset, resolvePositioningShorthand, usePopper } from '@fluentui/react-positioning';
|
4
3
|
import { TooltipContext, useFluent } from '@fluentui/react-shared-contexts';
|
5
|
-
import { applyTriggerPropsToChildren,
|
6
|
-
|
7
|
-
var tooltipBorderRadius = 4; // Update the root's borderRadius in useTooltipStyles.ts if this changes
|
8
|
-
|
9
|
-
var arrowHeight = 6; // Update the arrow's width/height in useTooltipStyles.ts if this changes
|
10
|
-
|
4
|
+
import { applyTriggerPropsToChildren, resolveShorthand, useControllableState, useMergedEventCallbacks, useId, useIsomorphicLayoutEffect, useIsSSR, useMergedRefs, useTimeout, getTriggerChild } from '@fluentui/react-utilities';
|
5
|
+
import { arrowHeight, tooltipBorderRadius } from './private/constants';
|
11
6
|
/**
|
12
7
|
* Create the state required to render Tooltip.
|
13
8
|
*
|
14
|
-
* The returned state can be modified with hooks such as
|
15
|
-
* before being passed to
|
9
|
+
* The returned state can be modified with hooks such as useTooltipStyles_unstable,
|
10
|
+
* before being passed to renderTooltip_unstable.
|
16
11
|
*
|
17
12
|
* @param props - props from this instance of Tooltip
|
18
|
-
* @param ref - reference to root HTMLElement of Tooltip
|
19
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
20
13
|
*/
|
21
14
|
|
22
|
-
export
|
15
|
+
export const useTooltip_unstable = props => {
|
23
16
|
var _a, _b, _c, _d;
|
24
17
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
hideDelay = _h === void 0 ? 250 : _h;
|
44
|
-
|
45
|
-
var _j = useControllableState({
|
18
|
+
const context = React.useContext(TooltipContext);
|
19
|
+
const isServerSideRender = useIsSSR();
|
20
|
+
const {
|
21
|
+
targetDocument
|
22
|
+
} = useFluent();
|
23
|
+
const [setDelayTimeout, clearDelayTimeout] = useTimeout();
|
24
|
+
const {
|
25
|
+
appearance,
|
26
|
+
children,
|
27
|
+
content,
|
28
|
+
withArrow,
|
29
|
+
positioning,
|
30
|
+
onVisibleChange,
|
31
|
+
relationship,
|
32
|
+
showDelay = 250,
|
33
|
+
hideDelay = 250
|
34
|
+
} = props;
|
35
|
+
const [visible, setVisibleInternal] = useControllableState({
|
46
36
|
state: props.visible,
|
47
37
|
initialState: false
|
48
|
-
})
|
49
|
-
|
50
|
-
setVisibleInternal = _j[1];
|
51
|
-
|
52
|
-
var setVisible = React.useCallback(function (newVisible, ev) {
|
38
|
+
});
|
39
|
+
const setVisible = React.useCallback((newVisible, ev) => {
|
53
40
|
clearDelayTimeout();
|
54
|
-
setVisibleInternal(
|
41
|
+
setVisibleInternal(oldVisible => {
|
55
42
|
if (newVisible !== oldVisible) {
|
56
43
|
onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(ev, {
|
57
44
|
visible: newVisible
|
@@ -61,76 +48,73 @@ export var useTooltip = function (props, ref) {
|
|
61
48
|
return newVisible;
|
62
49
|
});
|
63
50
|
}, [clearDelayTimeout, setVisibleInternal, onVisibleChange]);
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
triggerAriaAttribute: triggerAriaAttribute,
|
72
|
-
visible: visible,
|
51
|
+
const state = {
|
52
|
+
withArrow,
|
53
|
+
positioning,
|
54
|
+
showDelay,
|
55
|
+
hideDelay,
|
56
|
+
relationship,
|
57
|
+
visible,
|
73
58
|
shouldRenderTooltip: visible,
|
74
|
-
appearance
|
59
|
+
appearance,
|
75
60
|
// Slots
|
76
61
|
components: {
|
77
|
-
|
62
|
+
content: 'div'
|
78
63
|
},
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
})
|
64
|
+
content: resolveShorthand(content, {
|
65
|
+
defaultProps: {
|
66
|
+
role: 'tooltip'
|
67
|
+
},
|
68
|
+
required: true
|
69
|
+
})
|
85
70
|
};
|
86
|
-
|
87
|
-
|
71
|
+
state.content.id = useId('tooltip-', state.content.id);
|
72
|
+
const popperOptions = {
|
88
73
|
enabled: state.visible,
|
89
74
|
arrowPadding: 2 * tooltipBorderRadius,
|
90
75
|
position: 'above',
|
91
76
|
align: 'center',
|
92
|
-
offset: [0, 4]
|
93
|
-
|
77
|
+
offset: [0, 4],
|
78
|
+
...resolvePositioningShorthand(state.positioning)
|
79
|
+
};
|
94
80
|
|
95
81
|
if (state.withArrow) {
|
96
82
|
popperOptions.offset = mergeArrowOffset(popperOptions.offset, arrowHeight);
|
97
83
|
}
|
98
84
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
state.
|
85
|
+
const {
|
86
|
+
targetRef,
|
87
|
+
containerRef,
|
88
|
+
arrowRef
|
89
|
+
} = usePopper(popperOptions);
|
90
|
+
state.content.ref = useMergedRefs(state.content.ref, containerRef);
|
105
91
|
state.arrowRef = arrowRef; // When this tooltip is visible, hide any other tooltips, and register it
|
106
92
|
// as the visibleTooltip with the TooltipContext.
|
107
93
|
// Also add a listener on document to hide the tooltip if Escape is pressed
|
108
94
|
|
109
|
-
useIsomorphicLayoutEffect(
|
95
|
+
useIsomorphicLayoutEffect(() => {
|
110
96
|
var _a;
|
111
97
|
|
112
98
|
if (visible) {
|
113
|
-
|
114
|
-
hide:
|
115
|
-
return setVisible(false);
|
116
|
-
}
|
99
|
+
const thisTooltip = {
|
100
|
+
hide: () => setVisible(false)
|
117
101
|
};
|
118
102
|
(_a = context.visibleTooltip) === null || _a === void 0 ? void 0 : _a.hide();
|
119
|
-
context.visibleTooltip =
|
103
|
+
context.visibleTooltip = thisTooltip;
|
120
104
|
|
121
|
-
|
105
|
+
const onDocumentKeyDown = ev => {
|
122
106
|
if (ev.key === 'Escape' || ev.key === 'Esc') {
|
123
|
-
|
107
|
+
thisTooltip.hide();
|
124
108
|
}
|
125
109
|
};
|
126
110
|
|
127
|
-
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('keydown',
|
128
|
-
return
|
129
|
-
if (context.visibleTooltip ===
|
111
|
+
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('keydown', onDocumentKeyDown);
|
112
|
+
return () => {
|
113
|
+
if (context.visibleTooltip === thisTooltip) {
|
130
114
|
context.visibleTooltip = undefined;
|
131
115
|
}
|
132
116
|
|
133
|
-
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('keydown',
|
117
|
+
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('keydown', onDocumentKeyDown);
|
134
118
|
};
|
135
119
|
}
|
136
120
|
}, [context, targetDocument, visible, setVisible]); // The focused element gets a blur event when the document loses focus
|
@@ -139,24 +123,24 @@ export var useTooltip = function (props, ref) {
|
|
139
123
|
// checking if the blurred element is still the document's activeElement.
|
140
124
|
// See https://github.com/microsoft/fluentui/issues/13541
|
141
125
|
|
142
|
-
|
126
|
+
const ignoreNextFocusEventRef = React.useRef(false); // Listener for onPointerEnter and onFocus on the trigger element
|
143
127
|
|
144
|
-
|
128
|
+
const onEnterTrigger = React.useCallback(ev => {
|
145
129
|
if (ev.type === 'focus' && ignoreNextFocusEventRef.current) {
|
146
130
|
ignoreNextFocusEventRef.current = false;
|
147
131
|
return;
|
148
132
|
} // Show immediately if another tooltip is already visible
|
149
133
|
|
150
134
|
|
151
|
-
|
152
|
-
setDelayTimeout(
|
135
|
+
const delay = context.visibleTooltip ? 0 : state.showDelay;
|
136
|
+
setDelayTimeout(() => {
|
153
137
|
setVisible(true, ev);
|
154
138
|
}, delay);
|
155
139
|
ev.persist(); // Persist the event since the setVisible call will happen asynchronously
|
156
140
|
}, [setDelayTimeout, setVisible, state.showDelay, context]); // Listener for onPointerLeave and onBlur on the trigger element
|
157
141
|
|
158
|
-
|
159
|
-
|
142
|
+
const onLeaveTrigger = React.useCallback(ev => {
|
143
|
+
let delay = state.hideDelay;
|
160
144
|
|
161
145
|
if (ev.type === 'blur') {
|
162
146
|
// Hide immediately when losing focus
|
@@ -164,61 +148,46 @@ export var useTooltip = function (props, ref) {
|
|
164
148
|
ignoreNextFocusEventRef.current = (targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement) === ev.target;
|
165
149
|
}
|
166
150
|
|
167
|
-
setDelayTimeout(
|
151
|
+
setDelayTimeout(() => {
|
168
152
|
setVisible(false, ev);
|
169
153
|
}, delay);
|
170
154
|
ev.persist(); // Persist the event since the setVisible call will happen asynchronously
|
171
155
|
}, [setDelayTimeout, setVisible, state.hideDelay, targetDocument]); // Cancel the hide timer when the pointer enters the tooltip, and restart it when the mouse leaves.
|
172
156
|
// This keeps the tooltip visible when the pointer is moved over it.
|
173
157
|
|
174
|
-
state.
|
175
|
-
state.
|
176
|
-
|
177
|
-
|
178
|
-
var triggerProps = {
|
179
|
-
onPointerEnter: useMergedCallbacks((_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onPointerEnter, onEnterTrigger),
|
180
|
-
onPointerLeave: useMergedCallbacks((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.onPointerLeave, onLeaveTrigger),
|
181
|
-
onFocus: useMergedCallbacks((_c = child === null || child === void 0 ? void 0 : child.props) === null || _c === void 0 ? void 0 : _c.onFocus, onEnterTrigger),
|
182
|
-
onBlur: useMergedCallbacks((_d = child === null || child === void 0 ? void 0 : child.props) === null || _d === void 0 ? void 0 : _d.onBlur, onLeaveTrigger)
|
183
|
-
}; // If the target prop is not provided, attach targetRef to the trigger element's ref prop
|
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;
|
161
|
+
const triggerAriaProps = {};
|
184
162
|
|
185
|
-
|
186
|
-
|
163
|
+
if (relationship === 'label') {
|
164
|
+
// aria-label only works if the content is a string. Otherwise, need to use aria-labelledby.
|
165
|
+
if (typeof state.content.children === 'string') {
|
166
|
+
triggerAriaProps['aria-label'] = state.content.children;
|
167
|
+
} else if (!isServerSideRender) {
|
168
|
+
triggerAriaProps['aria-labelledby'] = state.content.id; // Always render the tooltip even if hidden, so that aria-labelledby refers to a valid element
|
187
169
|
|
188
|
-
|
189
|
-
|
190
|
-
}
|
170
|
+
state.shouldRenderTooltip = true;
|
171
|
+
}
|
172
|
+
} else if (relationship === 'description') {
|
173
|
+
if (!isServerSideRender) {
|
174
|
+
triggerAriaProps['aria-describedby'] = state.content.id; // Always render the tooltip even if hidden, so that aria-describedby refers to a valid element
|
191
175
|
|
192
|
-
|
193
|
-
// aria-label only works if the content is a string. Otherwise, need to use labelledby.
|
194
|
-
if (typeof state.content === 'string') {
|
195
|
-
triggerProps['aria-label'] = state.content;
|
196
|
-
} else {
|
197
|
-
state.triggerAriaAttribute = 'labelledby';
|
176
|
+
state.shouldRenderTooltip = true;
|
198
177
|
}
|
199
178
|
}
|
200
179
|
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
180
|
+
const childTargetRef = useMergedRefs(child === null || child === void 0 ? void 0 : child.ref, targetRef); // Apply the trigger props to the child, either by calling the render function, or cloning with the new props
|
181
|
+
|
182
|
+
state.children = applyTriggerPropsToChildren(children, { ...triggerAriaProps,
|
183
|
+
...(child === null || child === void 0 ? void 0 : child.props),
|
184
|
+
// If the target prop is not provided, attach targetRef to the trigger element's ref prop
|
185
|
+
ref: popperOptions.target === undefined ? childTargetRef : child === null || child === void 0 ? void 0 : child.ref,
|
186
|
+
onPointerEnter: useMergedEventCallbacks((_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onPointerEnter, onEnterTrigger),
|
187
|
+
onPointerLeave: useMergedEventCallbacks((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.onPointerLeave, onLeaveTrigger),
|
188
|
+
onFocus: useMergedEventCallbacks((_c = child === null || child === void 0 ? void 0 : child.props) === null || _c === void 0 ? void 0 : _c.onFocus, onEnterTrigger),
|
189
|
+
onBlur: useMergedEventCallbacks((_d = child === null || child === void 0 ? void 0 : child.props) === null || _d === void 0 ? void 0 : _d.onBlur, onLeaveTrigger)
|
190
|
+
});
|
212
191
|
return state;
|
213
192
|
};
|
214
|
-
/**
|
215
|
-
* Combine up to two event callbacks into a single function that calls them in order
|
216
|
-
*/
|
217
|
-
|
218
|
-
var useMergedCallbacks = function (callback1, callback2) {
|
219
|
-
return React.useCallback(function (ev) {
|
220
|
-
callback1 === null || callback1 === void 0 ? void 0 : callback1(ev);
|
221
|
-
callback2 === null || callback2 === void 0 ? void 0 : callback2(ev);
|
222
|
-
}, [callback1, callback2]);
|
223
|
-
};
|
224
193
|
//# 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":["components/Tooltip/useTooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { mergeArrowOffset, resolvePositioningShorthand, usePopper } from '@fluentui/react-positioning';\nimport { TooltipContext, useFluent } from '@fluentui/react-shared-contexts';\nimport {\n applyTriggerPropsToChildren,\n resolveShorthand,\n useControllableState,\n useMergedEventCallbacks,\n useId,\n useIsomorphicLayoutEffect,\n useIsSSR,\n useMergedRefs,\n useTimeout,\n getTriggerChild,\n} from '@fluentui/react-utilities';\nimport type { TooltipProps, TooltipState, TooltipTriggerProps } from './Tooltip.types';\nimport { arrowHeight, tooltipBorderRadius } from './private/constants';\n\n/**\n * Create the state required to render Tooltip.\n *\n * The returned state can be modified with hooks such as useTooltipStyles_unstable,\n * before being passed to renderTooltip_unstable.\n *\n * @param props - props from this instance of Tooltip\n */\nexport const useTooltip_unstable = (props: TooltipProps): TooltipState => {\n const context = React.useContext(TooltipContext);\n const isServerSideRender = useIsSSR();\n const { targetDocument } = useFluent();\n const [setDelayTimeout, clearDelayTimeout] = useTimeout();\n\n const {\n appearance,\n children,\n content,\n withArrow,\n positioning,\n onVisibleChange,\n relationship,\n showDelay = 250,\n hideDelay = 250,\n } = props;\n\n const [visible, setVisibleInternal] = useControllableState({ state: props.visible, initialState: false });\n const setVisible = React.useCallback(\n (newVisible: boolean, ev?: React.PointerEvent<HTMLElement> | React.FocusEvent<HTMLElement>) => {\n clearDelayTimeout();\n setVisibleInternal(oldVisible => {\n if (newVisible !== oldVisible) {\n onVisibleChange?.(ev, { visible: newVisible });\n }\n return newVisible;\n });\n },\n [clearDelayTimeout, setVisibleInternal, onVisibleChange],\n );\n\n const state: TooltipState = {\n withArrow,\n positioning,\n showDelay,\n hideDelay,\n relationship,\n visible,\n shouldRenderTooltip: visible,\n appearance,\n\n // Slots\n components: {\n content: 'div',\n },\n content: resolveShorthand(content, {\n defaultProps: {\n role: 'tooltip',\n },\n required: true,\n }),\n };\n\n state.content.id = useId('tooltip-', state.content.id);\n\n const popperOptions = {\n enabled: state.visible,\n arrowPadding: 2 * tooltipBorderRadius,\n position: 'above' as const,\n align: 'center' as const,\n offset: [0, 4] as [number, number],\n ...resolvePositioningShorthand(state.positioning),\n };\n\n if (state.withArrow) {\n popperOptions.offset = mergeArrowOffset(popperOptions.offset, arrowHeight);\n }\n\n const {\n targetRef,\n containerRef,\n arrowRef,\n }: {\n targetRef: React.MutableRefObject<unknown>;\n containerRef: React.MutableRefObject<HTMLDivElement>;\n arrowRef: React.MutableRefObject<HTMLDivElement>;\n } = usePopper(popperOptions);\n\n state.content.ref = useMergedRefs(state.content.ref, containerRef);\n state.arrowRef = arrowRef;\n\n // When this tooltip is visible, hide any other tooltips, and register it\n // as the visibleTooltip with the TooltipContext.\n // Also add a listener on document to hide the tooltip if Escape is pressed\n useIsomorphicLayoutEffect(() => {\n if (visible) {\n const thisTooltip = { hide: () => setVisible(false) };\n\n context.visibleTooltip?.hide();\n context.visibleTooltip = thisTooltip;\n\n const onDocumentKeyDown = (ev: KeyboardEvent) => {\n if (ev.key === 'Escape' || ev.key === 'Esc') {\n thisTooltip.hide();\n }\n };\n\n targetDocument?.addEventListener('keydown', onDocumentKeyDown);\n\n return () => {\n if (context.visibleTooltip === thisTooltip) {\n context.visibleTooltip = undefined;\n }\n\n targetDocument?.removeEventListener('keydown', onDocumentKeyDown);\n };\n }\n }, [context, targetDocument, visible, setVisible]);\n\n // The focused element gets a blur event when the document loses focus\n // (e.g. switching tabs in the browser), but we don't want to show the\n // tooltip again when the document gets focus back. Handle this case by\n // checking if the blurred element is still the document's activeElement.\n // See https://github.com/microsoft/fluentui/issues/13541\n const ignoreNextFocusEventRef = React.useRef(false);\n\n // Listener for onPointerEnter and onFocus on the trigger element\n const onEnterTrigger = React.useCallback(\n (ev: React.PointerEvent<HTMLElement> | React.FocusEvent<HTMLElement>) => {\n if (ev.type === 'focus' && ignoreNextFocusEventRef.current) {\n ignoreNextFocusEventRef.current = false;\n return;\n }\n\n // Show immediately if another tooltip is already visible\n const delay = context.visibleTooltip ? 0 : state.showDelay;\n\n setDelayTimeout(() => {\n setVisible(true, ev);\n }, delay);\n\n ev.persist(); // Persist the event since the setVisible call will happen asynchronously\n },\n [setDelayTimeout, setVisible, state.showDelay, context],\n );\n\n // Listener for onPointerLeave and onBlur on the trigger element\n const onLeaveTrigger = React.useCallback(\n (ev: React.PointerEvent<HTMLElement> | React.FocusEvent<HTMLElement>) => {\n let delay = state.hideDelay;\n\n if (ev.type === 'blur') {\n // Hide immediately when losing focus\n delay = 0;\n\n ignoreNextFocusEventRef.current = targetDocument?.activeElement === ev.target;\n }\n\n setDelayTimeout(() => {\n setVisible(false, ev);\n }, delay);\n\n ev.persist(); // Persist the event since the setVisible call will happen asynchronously\n },\n [setDelayTimeout, setVisible, state.hideDelay, targetDocument],\n );\n\n // Cancel the hide timer when the pointer enters the tooltip, and restart it when the mouse leaves.\n // This keeps the tooltip visible when the pointer is moved over it.\n state.content.onPointerEnter = useMergedEventCallbacks(state.content.onPointerEnter, clearDelayTimeout);\n state.content.onPointerLeave = useMergedEventCallbacks(state.content.onPointerLeave, onLeaveTrigger);\n\n const child = React.isValidElement(children) ? getTriggerChild(children) : undefined;\n\n const triggerAriaProps: Pick<TooltipTriggerProps, 'aria-label' | 'aria-labelledby' | 'aria-describedby'> = {};\n\n if (relationship === 'label') {\n // aria-label only works if the content is a string. Otherwise, need to use aria-labelledby.\n if (typeof state.content.children === 'string') {\n triggerAriaProps['aria-label'] = state.content.children;\n } else if (!isServerSideRender) {\n triggerAriaProps['aria-labelledby'] = state.content.id;\n // Always render the tooltip even if hidden, so that aria-labelledby refers to a valid element\n state.shouldRenderTooltip = true;\n }\n } else if (relationship === 'description') {\n if (!isServerSideRender) {\n triggerAriaProps['aria-describedby'] = state.content.id;\n // Always render the tooltip even if hidden, so that aria-describedby refers to a valid element\n state.shouldRenderTooltip = true;\n }\n }\n\n const childTargetRef = useMergedRefs(child?.ref, targetRef);\n\n // Apply the trigger props to the child, either by calling the render function, or cloning with the new props\n state.children = applyTriggerPropsToChildren<TooltipTriggerProps>(children, {\n ...triggerAriaProps,\n ...child?.props,\n // If the target prop is not provided, attach targetRef to the trigger element's ref prop\n ref: popperOptions.target === undefined ? childTargetRef : child?.ref,\n onPointerEnter: useMergedEventCallbacks(child?.props?.onPointerEnter, onEnterTrigger),\n onPointerLeave: useMergedEventCallbacks(child?.props?.onPointerLeave, onLeaveTrigger),\n onFocus: useMergedEventCallbacks(child?.props?.onFocus, onEnterTrigger),\n onBlur: useMergedEventCallbacks(child?.props?.onBlur, onLeaveTrigger),\n });\n\n return state;\n};\n"],"sourceRoot":"../src/"}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import type { TooltipState } from './Tooltip.types';
|
2
|
+
export declare const tooltipClassName = "fui-Tooltip";
|
2
3
|
/**
|
3
4
|
* Apply styling to the Tooltip slots based on the state
|
4
5
|
*/
|
5
|
-
export declare const
|
6
|
+
export declare const useTooltipStyles_unstable: (state: TooltipState) => TooltipState;
|
@@ -1,22 +1,42 @@
|
|
1
|
-
import { __styles, mergeClasses } from '@
|
1
|
+
import { shorthands, __styles, mergeClasses } from '@griffel/react';
|
2
|
+
import { createArrowStyles } from '@fluentui/react-positioning';
|
3
|
+
import { tokens } from '@fluentui/react-theme';
|
4
|
+
import { arrowHeight } from './private/constants';
|
5
|
+
export const tooltipClassName = 'fui-Tooltip';
|
2
6
|
/**
|
3
7
|
* Styles for the tooltip
|
4
8
|
*/
|
5
9
|
|
6
|
-
|
10
|
+
const useStyles = /*#__PURE__*/__styles({
|
7
11
|
"root": {
|
8
12
|
"mc9l5x": "fjseox",
|
9
|
-
"
|
10
|
-
"z189sj": ["f11qrl6u", "fjlbh76"],
|
11
|
-
"Byoj8tv": "fy7v416",
|
12
|
-
"uwmqm3": ["fjlbh76", "f11qrl6u"],
|
13
|
+
"B7ck84d": "f1ewtqcl",
|
13
14
|
"B2u0y6b": "f132xexn",
|
14
15
|
"Bceei9c": "f158kwzp",
|
15
16
|
"Bahqtrf": "fk6fouc",
|
16
17
|
"Be2twd7": "fy9rknc",
|
17
18
|
"Bg96gwp": "fwrc4pm",
|
18
|
-
"
|
19
|
-
"
|
19
|
+
"Bbmb7ep": ["f1aa9q02", "f16jpd5f"],
|
20
|
+
"Beyfa6y": ["f16jpd5f", "f1aa9q02"],
|
21
|
+
"B7oj6ja": ["f1jar5jt", "fyu767a"],
|
22
|
+
"Btl43ni": ["fyu767a", "f1jar5jt"],
|
23
|
+
"B4j52fo": "f5ogflp",
|
24
|
+
"Bekrc4i": ["f1hqa2wf", "finvdd3"],
|
25
|
+
"Bn0qgzm": "f1f09k3d",
|
26
|
+
"ibv6hh": ["finvdd3", "f1hqa2wf"],
|
27
|
+
"icvyot": "fzkkow9",
|
28
|
+
"vrafjx": ["fcdblym", "fjik90z"],
|
29
|
+
"oivjwe": "fg706s2",
|
30
|
+
"wvpqe5": ["fjik90z", "fcdblym"],
|
31
|
+
"g2u3we": "fghlq4f",
|
32
|
+
"h3c5rm": ["f1gn591s", "fjscplz"],
|
33
|
+
"B9xav0g": "fb073pr",
|
34
|
+
"zhjwy3": ["fjscplz", "f1gn591s"],
|
35
|
+
"z8tnut": "f10ra9hq",
|
36
|
+
"z189sj": ["fd9xhir", "f1jlaasf"],
|
37
|
+
"Byoj8tv": "f1d7kygh",
|
38
|
+
"uwmqm3": ["f1jlaasf", "fd9xhir"],
|
39
|
+
"De3pzq": "fxugw4r",
|
20
40
|
"sj55zd": "f19n0e5",
|
21
41
|
"Bhu2qc9": "fxeb0a7"
|
22
42
|
},
|
@@ -24,44 +44,51 @@ var useStyles = /*#__PURE__*/__styles({
|
|
24
44
|
"mc9l5x": "ftgm304"
|
25
45
|
},
|
26
46
|
"inverted": {
|
27
|
-
"
|
47
|
+
"De3pzq": "f5pduvr",
|
28
48
|
"sj55zd": "fqpbvvt"
|
29
49
|
},
|
30
50
|
"arrow": {
|
31
51
|
"qhf8xq": "f1euv43f",
|
32
|
-
"
|
33
|
-
"Bqenvij": "ftt2rgf",
|
34
|
-
"ayd6f0": "f1uo6wrk",
|
52
|
+
"De3pzq": "f1u2r49w",
|
35
53
|
"Bcdw1i0": "fd7fpy0",
|
36
54
|
"Bj3rh1h": "f1bsuimh",
|
55
|
+
"a9b677": "f1ekdpwm",
|
56
|
+
"Bqenvij": "f83vc9z",
|
37
57
|
"rurcny": "fuzzvh5",
|
58
|
+
"Bex5imi": "fkk33zh",
|
38
59
|
"xx9plb": "fxf9f1y",
|
60
|
+
"Bmqnesq": "f170vdtw",
|
39
61
|
"Bdn98qo": "f103af6e",
|
40
62
|
"Bbc2r3f": "f15umuo5",
|
41
|
-
"
|
42
|
-
"
|
63
|
+
"B1dvbpk": "f3wpjpt",
|
64
|
+
"D4ky5z": "f1k3tce7",
|
65
|
+
"cqycoz": "f1dkdgqi",
|
66
|
+
"I89eb": "f5ghsz",
|
67
|
+
"k1i1uq": "fyqop9u",
|
68
|
+
"Epwjcz": "f1m5ya7j",
|
69
|
+
"Bp1vogq": "f3sp63x",
|
43
70
|
"px8gyy": ["f5bg3dr", "f1rfdd74"],
|
44
|
-
"h6z6rw":
|
45
|
-
"hl6cv3": "
|
71
|
+
"h6z6rw": "fzd2j21",
|
72
|
+
"hl6cv3": "f1773hnp",
|
46
73
|
"Bh2vraf": "f1n8855c",
|
47
|
-
"yayu3t":
|
74
|
+
"yayu3t": "f1v7783n",
|
48
75
|
"wedwtw": "fsw6im5",
|
49
|
-
"rhl9o9": "
|
76
|
+
"rhl9o9": "fh2hsk5",
|
50
77
|
"Bu8t5uz": "f159pzir",
|
51
|
-
"B6q6orb":
|
78
|
+
"B6q6orb": "f11yvu4",
|
52
79
|
"Bwwlvwl": "fm1ycve"
|
53
80
|
}
|
54
81
|
}, {
|
55
|
-
"d": [".fjseox{display:none;}", ".
|
82
|
+
"d": [".fjseox{display:none;}", ".f1ewtqcl{box-sizing:border-box;}", ".f132xexn{max-width:240px;}", ".f158kwzp{cursor:default;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".f1aa9q02{border-bottom-right-radius:var(--borderRadiusMedium);}", ".f16jpd5f{border-bottom-left-radius:var(--borderRadiusMedium);}", ".f1jar5jt{border-top-right-radius:var(--borderRadiusMedium);}", ".fyu767a{border-top-left-radius:var(--borderRadiusMedium);}", ".f5ogflp{border-top-width:1px;}", ".f1hqa2wf{border-right-width:1px;}", ".finvdd3{border-left-width:1px;}", ".f1f09k3d{border-bottom-width:1px;}", ".fzkkow9{border-top-style:solid;}", ".fcdblym{border-right-style:solid;}", ".fjik90z{border-left-style:solid;}", ".fg706s2{border-bottom-style:solid;}", ".fghlq4f{border-top-color:var(--colorTransparentStroke);}", ".f1gn591s{border-right-color:var(--colorTransparentStroke);}", ".fjscplz{border-left-color:var(--colorTransparentStroke);}", ".fb073pr{border-bottom-color:var(--colorTransparentStroke);}", ".f10ra9hq{padding-top:4px;}", ".fd9xhir{padding-right:11px;}", ".f1jlaasf{padding-left:11px;}", ".f1d7kygh{padding-bottom:6px;}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".f19n0e5{color:var(--colorNeutralForeground1);}", ".fxeb0a7{-webkit-filter:drop-shadow(0 0 2px var(--colorNeutralShadowAmbient)) drop-shadow(0 4px 8px var(--colorNeutralShadowKey));filter:drop-shadow(0 0 2px var(--colorNeutralShadowAmbient)) drop-shadow(0 4px 8px var(--colorNeutralShadowKey));}", ".ftgm304{display:block;}", ".f5pduvr{background-color:var(--colorNeutralBackgroundInverted);}", ".fqpbvvt{color:var(--colorNeutralForegroundInverted);}", ".f1euv43f{position:absolute;}", ".f1u2r49w{background-color:inherit;}", ".fd7fpy0{visibility:hidden;}", ".f1bsuimh{z-index:-1;}", ".f1ekdpwm{width:8.484px;}", ".f83vc9z{height:8.484px;}", ".fuzzvh5:before{content:\"\";}", ".fkk33zh:before{visibility:visible;}", ".fxf9f1y:before{position:absolute;}", ".f170vdtw:before{box-sizing:border-box;}", ".f103af6e:before{width:inherit;}", ".f15umuo5:before{height:inherit;}", ".f3wpjpt:before{background-color:inherit;}", ".f1k3tce7:before{border-right-width:1px;}", ".f1dkdgqi:before{border-right-style:solid;}", ".f5ghsz:before{border-right-color:var(--colorTransparentStroke);}", ".fyqop9u:before{border-bottom-width:1px;}", ".f1m5ya7j:before{border-bottom-style:solid;}", ".f3sp63x:before{border-bottom-color:var(--colorTransparentStroke);}", ".f5bg3dr:before{border-bottom-right-radius:var(--borderRadiusSmall);}", ".f1rfdd74:before{border-bottom-left-radius:var(--borderRadiusSmall);}", ".fzd2j21:before{-webkit-transform:rotate(var(--angle)) translate(0, 50%) rotate(45deg);-moz-transform:rotate(var(--angle)) translate(0, 50%) rotate(45deg);-ms-transform:rotate(var(--angle)) translate(0, 50%) rotate(45deg);transform:rotate(var(--angle)) translate(0, 50%) rotate(45deg);}", "[data-popper-placement^=\"top\"] .f1773hnp{bottom:-1px;}", "[data-popper-placement^=\"top\"] .f1n8855c{--angle:0;}", "[data-popper-placement^=\"right\"] .f1v7783n{left:-1px;}", "[data-popper-placement^=\"right\"] .fsw6im5{--angle:90deg;}", "[data-popper-placement^=\"bottom\"] .fh2hsk5{top:-1px;}", "[data-popper-placement^=\"bottom\"] .f159pzir{--angle:180deg;}", "[data-popper-placement^=\"left\"] .f11yvu4{right:-1px;}", "[data-popper-placement^=\"left\"] .fm1ycve{--angle:270deg;}"]
|
56
83
|
});
|
57
84
|
/**
|
58
85
|
* Apply styling to the Tooltip slots based on the state
|
59
86
|
*/
|
60
87
|
|
61
88
|
|
62
|
-
export
|
63
|
-
|
64
|
-
state.
|
89
|
+
export const useTooltipStyles_unstable = state => {
|
90
|
+
const styles = useStyles();
|
91
|
+
state.content.className = mergeClasses(tooltipClassName, styles.root, state.appearance === 'inverted' && styles.inverted, state.visible && styles.visible, state.content.className);
|
65
92
|
state.arrowClassName = styles.arrow;
|
66
93
|
return state;
|
67
94
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["
|
1
|
+
{"version":3,"sources":["components/Tooltip/useTooltipStyles.ts"],"names":[],"mappings":"AAAA,SAAS,UAAT,YAAiC,YAAjC,QAAqD,gBAArD;AACA,SAAS,iBAAT,QAAkC,6BAAlC;AACA,SAAS,MAAT,QAAuB,uBAAvB;AACA,SAAS,WAAT,QAA4B,qBAA5B;AAGA,OAAO,MAAM,gBAAgB,GAAG,aAAzB;AAEP;;AAEG;;AACH,MAAM,SAAS,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAlB;AAkCA;;AAEG;;;AACH,OAAO,MAAM,yBAAyB,GAAI,KAAD,IAAsC;AAC7E,QAAM,MAAM,GAAG,SAAS,EAAxB;AAEA,EAAA,KAAK,CAAC,OAAN,CAAc,SAAd,GAA0B,YAAY,CACpC,gBADoC,EAEpC,MAAM,CAAC,IAF6B,EAGpC,KAAK,CAAC,UAAN,KAAqB,UAArB,IAAmC,MAAM,CAAC,QAHN,EAIpC,KAAK,CAAC,OAAN,IAAiB,MAAM,CAAC,OAJY,EAKpC,KAAK,CAAC,OAAN,CAAc,SALsB,CAAtC;AAQA,EAAA,KAAK,CAAC,cAAN,GAAuB,MAAM,CAAC,KAA9B;AAEA,SAAO,KAAP;AACD,CAdM","sourcesContent":["import { shorthands, makeStyles, mergeClasses } from '@griffel/react';\nimport { createArrowStyles } from '@fluentui/react-positioning';\nimport { tokens } from '@fluentui/react-theme';\nimport { arrowHeight } from './private/constants';\nimport type { TooltipState } from './Tooltip.types';\n\nexport const tooltipClassName = 'fui-Tooltip';\n\n/**\n * Styles for the tooltip\n */\nconst useStyles = makeStyles({\n root: {\n display: 'none',\n boxSizing: 'border-box',\n maxWidth: '240px',\n cursor: 'default',\n fontFamily: tokens.fontFamilyBase,\n fontSize: tokens.fontSizeBase200,\n lineHeight: tokens.lineHeightBase200,\n\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n ...shorthands.border('1px', 'solid', tokens.colorTransparentStroke),\n ...shorthands.padding('4px', '11px', '6px', '11px'), // '5px 12px 7px 12px' minus the border width '1px'\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1,\n\n // TODO need to add versions of tokens.alias.shadow.shadow8, etc. that work with filter\n filter:\n `drop-shadow(0 0 2px ${tokens.colorNeutralShadowAmbient}) ` +\n `drop-shadow(0 4px 8px ${tokens.colorNeutralShadowKey})`,\n },\n\n visible: {\n display: 'block',\n },\n\n inverted: {\n backgroundColor: tokens.colorNeutralBackgroundInverted,\n color: tokens.colorNeutralForegroundInverted,\n },\n\n arrow: createArrowStyles({ arrowHeight }),\n});\n\n/**\n * Apply styling to the Tooltip slots based on the state\n */\nexport const useTooltipStyles_unstable = (state: TooltipState): TooltipState => {\n const styles = useStyles();\n\n state.content.className = mergeClasses(\n tooltipClassName,\n styles.root,\n state.appearance === 'inverted' && styles.inverted,\n state.visible && styles.visible,\n state.content.className,\n );\n\n state.arrowClassName = styles.arrow;\n\n return state;\n};\n"],"sourceRoot":"../src/"}
|
package/lib/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC","sourcesContent":["export * from './Tooltip';\n"]}
|
package/lib-commonjs/Tooltip.js
CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
|
7
|
-
|
7
|
+
const tslib_1 = /*#__PURE__*/require("tslib");
|
8
8
|
|
9
9
|
tslib_1.__exportStar(require("./components/Tooltip/index"), exports);
|
10
10
|
//# sourceMappingURL=Tooltip.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["
|
1
|
+
{"version":3,"sources":["Tooltip.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,4BAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './components/Tooltip/index';\n"],"sourceRoot":"../src/"}
|
@@ -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;
|
@@ -5,22 +5,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.Tooltip = void 0;
|
7
7
|
|
8
|
-
|
8
|
+
const useTooltip_1 = /*#__PURE__*/require("./useTooltip");
|
9
9
|
|
10
|
-
|
10
|
+
const renderTooltip_1 = /*#__PURE__*/require("./renderTooltip");
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
var useTooltipStyles_1 = /*#__PURE__*/require("./useTooltipStyles");
|
12
|
+
const useTooltipStyles_1 = /*#__PURE__*/require("./useTooltipStyles");
|
15
13
|
/**
|
16
14
|
* A tooltip provides light weight contextual information on top of its target element.
|
17
15
|
*/
|
18
16
|
|
19
17
|
|
20
|
-
|
21
|
-
|
22
|
-
useTooltipStyles_1.
|
23
|
-
return renderTooltip_1.
|
24
|
-
}
|
18
|
+
const Tooltip = props => {
|
19
|
+
const state = useTooltip_1.useTooltip_unstable(props);
|
20
|
+
useTooltipStyles_1.useTooltipStyles_unstable(state);
|
21
|
+
return renderTooltip_1.renderTooltip_unstable(state);
|
22
|
+
};
|
23
|
+
|
24
|
+
exports.Tooltip = Tooltip;
|
25
25
|
exports.Tooltip.displayName = 'Tooltip';
|
26
|
+
exports.Tooltip.isFluentTriggerComponent = true;
|
26
27
|
//# sourceMappingURL=Tooltip.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["
|
1
|
+
{"version":3,"sources":["components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";;;;;;;AACA,MAAA,YAAA,gBAAA,OAAA,CAAA,cAAA,CAAA;;AACA,MAAA,eAAA,gBAAA,OAAA,CAAA,iBAAA,CAAA;;AACA,MAAA,kBAAA,gBAAA,OAAA,CAAA,oBAAA,CAAA;AAIA;;AAEG;;;AACI,MAAM,OAAO,GAAoD,KAAK,IAAG;AAC9E,QAAM,KAAK,GAAG,YAAA,CAAA,mBAAA,CAAoB,KAApB,CAAd;AAEA,EAAA,kBAAA,CAAA,yBAAA,CAA0B,KAA1B;AACA,SAAO,eAAA,CAAA,sBAAA,CAAuB,KAAvB,CAAP;AACD,CALM;;AAAM,OAAA,CAAA,OAAA,GAAO,OAAP;AAOb,OAAA,CAAA,OAAA,CAAQ,WAAR,GAAsB,SAAtB;AACA,OAAA,CAAA,OAAA,CAAQ,wBAAR,GAAmC,IAAnC","sourcesContent":["import * as React from 'react';\nimport { useTooltip_unstable } from './useTooltip';\nimport { renderTooltip_unstable } from './renderTooltip';\nimport { useTooltipStyles_unstable } from './useTooltipStyles';\nimport type { TooltipProps } from './Tooltip.types';\nimport type { FluentTriggerComponent } from '@fluentui/react-utilities';\n\n/**\n * A tooltip provides light weight contextual information on top of its target element.\n */\nexport const Tooltip: React.FC<TooltipProps> & FluentTriggerComponent = props => {\n const state = useTooltip_unstable(props);\n\n useTooltipStyles_unstable(state);\n return renderTooltip_unstable(state);\n};\n\nTooltip.displayName = 'Tooltip';\nTooltip.isFluentTriggerComponent = true;\n"],"sourceRoot":"../src/"}
|