1 | "use strict";
|
2 |
|
3 | var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
4 |
|
5 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
6 |
|
7 | Object.defineProperty(exports, "__esModule", {
|
8 | value: true
|
9 | });
|
10 | exports.testReset = testReset;
|
11 | exports.default = exports.styles = void 0;
|
12 |
|
13 | var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
14 |
|
15 | var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
16 |
|
17 | var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
18 |
|
19 | var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
20 |
|
21 | var React = _interopRequireWildcard(require("react"));
|
22 |
|
23 | var ReactDOM = _interopRequireWildcard(require("react-dom"));
|
24 |
|
25 | var _propTypes = _interopRequireDefault(require("prop-types"));
|
26 |
|
27 | var _clsx = _interopRequireDefault(require("clsx"));
|
28 |
|
29 | var _utils = require("@material-ui/utils");
|
30 |
|
31 | var _colorManipulator = require("../styles/colorManipulator");
|
32 |
|
33 | var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
|
34 |
|
35 | var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
|
36 |
|
37 | var _Grow = _interopRequireDefault(require("../Grow"));
|
38 |
|
39 | var _Popper = _interopRequireDefault(require("../Popper"));
|
40 |
|
41 | var _useForkRef = _interopRequireDefault(require("../utils/useForkRef"));
|
42 |
|
43 | var _unstable_useId = _interopRequireDefault(require("../utils/unstable_useId"));
|
44 |
|
45 | var _setRef = _interopRequireDefault(require("../utils/setRef"));
|
46 |
|
47 | var _useIsFocusVisible2 = _interopRequireDefault(require("../utils/useIsFocusVisible"));
|
48 |
|
49 | var _useControlled3 = _interopRequireDefault(require("../utils/useControlled"));
|
50 |
|
51 | var _useTheme = _interopRequireDefault(require("../styles/useTheme"));
|
52 |
|
53 | function round(value) {
|
54 | return Math.round(value * 1e5) / 1e5;
|
55 | }
|
56 |
|
57 | function arrowGenerator() {
|
58 | return {
|
59 | '&[x-placement*="bottom"] $arrow': {
|
60 | top: 0,
|
61 | left: 0,
|
62 | marginTop: '-0.71em',
|
63 | marginLeft: 4,
|
64 | marginRight: 4,
|
65 | '&::before': {
|
66 | transformOrigin: '0 100%'
|
67 | }
|
68 | },
|
69 | '&[x-placement*="top"] $arrow': {
|
70 | bottom: 0,
|
71 | left: 0,
|
72 | marginBottom: '-0.71em',
|
73 | marginLeft: 4,
|
74 | marginRight: 4,
|
75 | '&::before': {
|
76 | transformOrigin: '100% 0'
|
77 | }
|
78 | },
|
79 | '&[x-placement*="right"] $arrow': {
|
80 | left: 0,
|
81 | marginLeft: '-0.71em',
|
82 | height: '1em',
|
83 | width: '0.71em',
|
84 | marginTop: 4,
|
85 | marginBottom: 4,
|
86 | '&::before': {
|
87 | transformOrigin: '100% 100%'
|
88 | }
|
89 | },
|
90 | '&[x-placement*="left"] $arrow': {
|
91 | right: 0,
|
92 | marginRight: '-0.71em',
|
93 | height: '1em',
|
94 | width: '0.71em',
|
95 | marginTop: 4,
|
96 | marginBottom: 4,
|
97 | '&::before': {
|
98 | transformOrigin: '0 0'
|
99 | }
|
100 | }
|
101 | };
|
102 | }
|
103 |
|
104 | var styles = function styles(theme) {
|
105 | return {
|
106 |
|
107 | popper: {
|
108 | zIndex: theme.zIndex.tooltip,
|
109 | pointerEvents: 'none'
|
110 |
|
111 | },
|
112 |
|
113 |
|
114 | popperInteractive: {
|
115 | pointerEvents: 'auto'
|
116 | },
|
117 |
|
118 |
|
119 | popperArrow: arrowGenerator(),
|
120 |
|
121 |
|
122 | tooltip: {
|
123 | backgroundColor: (0, _colorManipulator.fade)(theme.palette.grey[700], 0.9),
|
124 | borderRadius: theme.shape.borderRadius,
|
125 | color: theme.palette.common.white,
|
126 | fontFamily: theme.typography.fontFamily,
|
127 | padding: '4px 8px',
|
128 | fontSize: theme.typography.pxToRem(10),
|
129 | lineHeight: "".concat(round(14 / 10), "em"),
|
130 | maxWidth: 300,
|
131 | wordWrap: 'break-word',
|
132 | fontWeight: theme.typography.fontWeightMedium
|
133 | },
|
134 |
|
135 |
|
136 | tooltipArrow: {
|
137 | position: 'relative',
|
138 | margin: '0'
|
139 | },
|
140 |
|
141 |
|
142 | arrow: {
|
143 | overflow: 'hidden',
|
144 | position: 'absolute',
|
145 | width: '1em',
|
146 | height: '0.71em'
|
147 |
|
148 | ,
|
149 | boxSizing: 'border-box',
|
150 | color: (0, _colorManipulator.fade)(theme.palette.grey[700], 0.9),
|
151 | '&::before': {
|
152 | content: '""',
|
153 | margin: 'auto',
|
154 | display: 'block',
|
155 | width: '100%',
|
156 | height: '100%',
|
157 | backgroundColor: 'currentColor',
|
158 | transform: 'rotate(45deg)'
|
159 | }
|
160 | },
|
161 |
|
162 |
|
163 | touch: {
|
164 | padding: '8px 16px',
|
165 | fontSize: theme.typography.pxToRem(14),
|
166 | lineHeight: "".concat(round(16 / 14), "em"),
|
167 | fontWeight: theme.typography.fontWeightRegular
|
168 | },
|
169 |
|
170 |
|
171 | tooltipPlacementLeft: (0, _defineProperty2.default)({
|
172 | transformOrigin: 'right center',
|
173 | margin: '0 24px '
|
174 | }, theme.breakpoints.up('sm'), {
|
175 | margin: '0 14px'
|
176 | }),
|
177 |
|
178 |
|
179 | tooltipPlacementRight: (0, _defineProperty2.default)({
|
180 | transformOrigin: 'left center',
|
181 | margin: '0 24px'
|
182 | }, theme.breakpoints.up('sm'), {
|
183 | margin: '0 14px'
|
184 | }),
|
185 |
|
186 |
|
187 | tooltipPlacementTop: (0, _defineProperty2.default)({
|
188 | transformOrigin: 'center bottom',
|
189 | margin: '24px 0'
|
190 | }, theme.breakpoints.up('sm'), {
|
191 | margin: '14px 0'
|
192 | }),
|
193 |
|
194 |
|
195 | tooltipPlacementBottom: (0, _defineProperty2.default)({
|
196 | transformOrigin: 'center top',
|
197 | margin: '24px 0'
|
198 | }, theme.breakpoints.up('sm'), {
|
199 | margin: '14px 0'
|
200 | })
|
201 | };
|
202 | };
|
203 |
|
204 | exports.styles = styles;
|
205 | var hystersisOpen = false;
|
206 | var hystersisTimer = null;
|
207 |
|
208 | function testReset() {
|
209 | hystersisOpen = false;
|
210 | clearTimeout(hystersisTimer);
|
211 | }
|
212 |
|
213 | var Tooltip = React.forwardRef(function Tooltip(props, ref) {
|
214 | var _props$arrow = props.arrow,
|
215 | arrow = _props$arrow === void 0 ? false : _props$arrow,
|
216 | children = props.children,
|
217 | classes = props.classes,
|
218 | _props$disableFocusLi = props.disableFocusListener,
|
219 | disableFocusListener = _props$disableFocusLi === void 0 ? false : _props$disableFocusLi,
|
220 | _props$disableHoverLi = props.disableHoverListener,
|
221 | disableHoverListener = _props$disableHoverLi === void 0 ? false : _props$disableHoverLi,
|
222 | _props$disableTouchLi = props.disableTouchListener,
|
223 | disableTouchListener = _props$disableTouchLi === void 0 ? false : _props$disableTouchLi,
|
224 | _props$enterDelay = props.enterDelay,
|
225 | enterDelay = _props$enterDelay === void 0 ? 100 : _props$enterDelay,
|
226 | _props$enterNextDelay = props.enterNextDelay,
|
227 | enterNextDelay = _props$enterNextDelay === void 0 ? 0 : _props$enterNextDelay,
|
228 | _props$enterTouchDela = props.enterTouchDelay,
|
229 | enterTouchDelay = _props$enterTouchDela === void 0 ? 700 : _props$enterTouchDela,
|
230 | idProp = props.id,
|
231 | _props$interactive = props.interactive,
|
232 | interactive = _props$interactive === void 0 ? false : _props$interactive,
|
233 | _props$leaveDelay = props.leaveDelay,
|
234 | leaveDelay = _props$leaveDelay === void 0 ? 0 : _props$leaveDelay,
|
235 | _props$leaveTouchDela = props.leaveTouchDelay,
|
236 | leaveTouchDelay = _props$leaveTouchDela === void 0 ? 1500 : _props$leaveTouchDela,
|
237 | onClose = props.onClose,
|
238 | onOpen = props.onOpen,
|
239 | openProp = props.open,
|
240 | _props$placement = props.placement,
|
241 | placement = _props$placement === void 0 ? 'bottom' : _props$placement,
|
242 | _props$PopperComponen = props.PopperComponent,
|
243 | PopperComponent = _props$PopperComponen === void 0 ? _Popper.default : _props$PopperComponen,
|
244 | PopperProps = props.PopperProps,
|
245 | title = props.title,
|
246 | _props$TransitionComp = props.TransitionComponent,
|
247 | TransitionComponent = _props$TransitionComp === void 0 ? _Grow.default : _props$TransitionComp,
|
248 | TransitionProps = props.TransitionProps,
|
249 | other = (0, _objectWithoutProperties2.default)(props, ["arrow", "children", "classes", "disableFocusListener", "disableHoverListener", "disableTouchListener", "enterDelay", "enterNextDelay", "enterTouchDelay", "id", "interactive", "leaveDelay", "leaveTouchDelay", "onClose", "onOpen", "open", "placement", "PopperComponent", "PopperProps", "title", "TransitionComponent", "TransitionProps"]);
|
250 | var theme = (0, _useTheme.default)();
|
251 |
|
252 | var _React$useState = React.useState(),
|
253 | childNode = _React$useState[0],
|
254 | setChildNode = _React$useState[1];
|
255 |
|
256 | var _React$useState2 = React.useState(null),
|
257 | arrowRef = _React$useState2[0],
|
258 | setArrowRef = _React$useState2[1];
|
259 |
|
260 | var ignoreNonTouchEvents = React.useRef(false);
|
261 | var closeTimer = React.useRef();
|
262 | var enterTimer = React.useRef();
|
263 | var leaveTimer = React.useRef();
|
264 | var touchTimer = React.useRef();
|
265 |
|
266 | var _useControlled = (0, _useControlled3.default)({
|
267 | controlled: openProp,
|
268 | default: false,
|
269 | name: 'Tooltip',
|
270 | state: 'open'
|
271 | }),
|
272 | _useControlled2 = (0, _slicedToArray2.default)(_useControlled, 2),
|
273 | openState = _useControlled2[0],
|
274 | setOpenState = _useControlled2[1];
|
275 |
|
276 | var open = openState;
|
277 |
|
278 | if (process.env.NODE_ENV !== 'production') {
|
279 |
|
280 | var _React$useRef = React.useRef(openProp !== undefined),
|
281 | isControlled = _React$useRef.current;
|
282 |
|
283 |
|
284 | React.useEffect(function () {
|
285 | if (childNode && childNode.disabled && !isControlled && title !== '' && childNode.tagName.toLowerCase() === 'button') {
|
286 | console.error(['Material-UI: You are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', "Tooltip needs to listen to the child element's events to display the title.", '', 'Add a simple wrapper element, such as a `span`.'].join('\n'));
|
287 | }
|
288 | }, [title, childNode, isControlled]);
|
289 | }
|
290 |
|
291 | var id = (0, _unstable_useId.default)(idProp);
|
292 | React.useEffect(function () {
|
293 | return function () {
|
294 | clearTimeout(closeTimer.current);
|
295 | clearTimeout(enterTimer.current);
|
296 | clearTimeout(leaveTimer.current);
|
297 | clearTimeout(touchTimer.current);
|
298 | };
|
299 | }, []);
|
300 |
|
301 | var handleOpen = function handleOpen(event) {
|
302 | clearTimeout(hystersisTimer);
|
303 | hystersisOpen = true;
|
304 |
|
305 |
|
306 |
|
307 | setOpenState(true);
|
308 |
|
309 | if (onOpen) {
|
310 | onOpen(event);
|
311 | }
|
312 | };
|
313 |
|
314 | var handleEnter = function handleEnter() {
|
315 | var forward = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
316 | return function (event) {
|
317 | var childrenProps = children.props;
|
318 |
|
319 | if (event.type === 'mouseover' && childrenProps.onMouseOver && forward) {
|
320 | childrenProps.onMouseOver(event);
|
321 | }
|
322 |
|
323 | if (ignoreNonTouchEvents.current && event.type !== 'touchstart') {
|
324 | return;
|
325 | }
|
326 |
|
327 |
|
328 |
|
329 |
|
330 | if (childNode) {
|
331 | childNode.removeAttribute('title');
|
332 | }
|
333 |
|
334 | clearTimeout(enterTimer.current);
|
335 | clearTimeout(leaveTimer.current);
|
336 |
|
337 | if (enterDelay || hystersisOpen && enterNextDelay) {
|
338 | event.persist();
|
339 | enterTimer.current = setTimeout(function () {
|
340 | handleOpen(event);
|
341 | }, hystersisOpen ? enterNextDelay : enterDelay);
|
342 | } else {
|
343 | handleOpen(event);
|
344 | }
|
345 | };
|
346 | };
|
347 |
|
348 | var _useIsFocusVisible = (0, _useIsFocusVisible2.default)(),
|
349 | isFocusVisible = _useIsFocusVisible.isFocusVisible,
|
350 | onBlurVisible = _useIsFocusVisible.onBlurVisible,
|
351 | focusVisibleRef = _useIsFocusVisible.ref;
|
352 |
|
353 | var _React$useState3 = React.useState(false),
|
354 | childIsFocusVisible = _React$useState3[0],
|
355 | setChildIsFocusVisible = _React$useState3[1];
|
356 |
|
357 | var handleBlur = function handleBlur() {
|
358 | if (childIsFocusVisible) {
|
359 | setChildIsFocusVisible(false);
|
360 | onBlurVisible();
|
361 | }
|
362 | };
|
363 |
|
364 | var handleFocus = function handleFocus() {
|
365 | var forward = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
366 | return function (event) {
|
367 |
|
368 |
|
369 |
|
370 | if (!childNode) {
|
371 | setChildNode(event.currentTarget);
|
372 | }
|
373 |
|
374 | if (isFocusVisible(event)) {
|
375 | setChildIsFocusVisible(true);
|
376 | handleEnter()(event);
|
377 | }
|
378 |
|
379 | var childrenProps = children.props;
|
380 |
|
381 | if (childrenProps.onFocus && forward) {
|
382 | childrenProps.onFocus(event);
|
383 | }
|
384 | };
|
385 | };
|
386 |
|
387 | var handleClose = function handleClose(event) {
|
388 | clearTimeout(hystersisTimer);
|
389 | hystersisTimer = setTimeout(function () {
|
390 | hystersisOpen = false;
|
391 | }, 800 + leaveDelay);
|
392 | setOpenState(false);
|
393 |
|
394 | if (onClose) {
|
395 | onClose(event);
|
396 | }
|
397 |
|
398 | clearTimeout(closeTimer.current);
|
399 | closeTimer.current = setTimeout(function () {
|
400 | ignoreNonTouchEvents.current = false;
|
401 | }, theme.transitions.duration.shortest);
|
402 | };
|
403 |
|
404 | var handleLeave = function handleLeave() {
|
405 | var forward = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
406 | return function (event) {
|
407 | var childrenProps = children.props;
|
408 |
|
409 | if (event.type === 'blur') {
|
410 | if (childrenProps.onBlur && forward) {
|
411 | childrenProps.onBlur(event);
|
412 | }
|
413 |
|
414 | handleBlur();
|
415 | }
|
416 |
|
417 | if (event.type === 'mouseleave' && childrenProps.onMouseLeave && event.currentTarget === childNode) {
|
418 | childrenProps.onMouseLeave(event);
|
419 | }
|
420 |
|
421 | clearTimeout(enterTimer.current);
|
422 | clearTimeout(leaveTimer.current);
|
423 | event.persist();
|
424 | leaveTimer.current = setTimeout(function () {
|
425 | handleClose(event);
|
426 | }, leaveDelay);
|
427 | };
|
428 | };
|
429 |
|
430 | var detectTouchStart = function detectTouchStart(event) {
|
431 | ignoreNonTouchEvents.current = true;
|
432 | var childrenProps = children.props;
|
433 |
|
434 | if (childrenProps.onTouchStart) {
|
435 | childrenProps.onTouchStart(event);
|
436 | }
|
437 | };
|
438 |
|
439 | var handleTouchStart = function handleTouchStart(event) {
|
440 | detectTouchStart(event);
|
441 | clearTimeout(leaveTimer.current);
|
442 | clearTimeout(closeTimer.current);
|
443 | clearTimeout(touchTimer.current);
|
444 | event.persist();
|
445 | touchTimer.current = setTimeout(function () {
|
446 | handleEnter()(event);
|
447 | }, enterTouchDelay);
|
448 | };
|
449 |
|
450 | var handleTouchEnd = function handleTouchEnd(event) {
|
451 | if (children.props.onTouchEnd) {
|
452 | children.props.onTouchEnd(event);
|
453 | }
|
454 |
|
455 | clearTimeout(touchTimer.current);
|
456 | clearTimeout(leaveTimer.current);
|
457 | event.persist();
|
458 | leaveTimer.current = setTimeout(function () {
|
459 | handleClose(event);
|
460 | }, leaveTouchDelay);
|
461 | };
|
462 |
|
463 | var handleUseRef = (0, _useForkRef.default)(setChildNode, ref);
|
464 | var handleFocusRef = (0, _useForkRef.default)(focusVisibleRef, handleUseRef);
|
465 |
|
466 | var handleOwnRef = React.useCallback(function (instance) {
|
467 |
|
468 | (0, _setRef.default)(handleFocusRef, ReactDOM.findDOMNode(instance));
|
469 | }, [handleFocusRef]);
|
470 | var handleRef = (0, _useForkRef.default)(children.ref, handleOwnRef);
|
471 |
|
472 | if (title === '') {
|
473 | open = false;
|
474 | }
|
475 |
|
476 |
|
477 |
|
478 |
|
479 |
|
480 |
|
481 | var shouldShowNativeTitle = !open && !disableHoverListener;
|
482 | var childrenProps = (0, _extends2.default)({
|
483 | 'aria-describedby': open ? id : null,
|
484 | title: shouldShowNativeTitle && typeof title === 'string' ? title : null
|
485 | }, other, children.props, {
|
486 | className: (0, _clsx.default)(other.className, children.props.className),
|
487 | onTouchStart: detectTouchStart,
|
488 | ref: handleRef
|
489 | });
|
490 | var interactiveWrapperListeners = {};
|
491 |
|
492 | if (!disableTouchListener) {
|
493 | childrenProps.onTouchStart = handleTouchStart;
|
494 | childrenProps.onTouchEnd = handleTouchEnd;
|
495 | }
|
496 |
|
497 | if (!disableHoverListener) {
|
498 | childrenProps.onMouseOver = handleEnter();
|
499 | childrenProps.onMouseLeave = handleLeave();
|
500 |
|
501 | if (interactive) {
|
502 | interactiveWrapperListeners.onMouseOver = handleEnter(false);
|
503 | interactiveWrapperListeners.onMouseLeave = handleLeave(false);
|
504 | }
|
505 | }
|
506 |
|
507 | if (!disableFocusListener) {
|
508 | childrenProps.onFocus = handleFocus();
|
509 | childrenProps.onBlur = handleLeave();
|
510 |
|
511 | if (interactive) {
|
512 | interactiveWrapperListeners.onFocus = handleFocus(false);
|
513 | interactiveWrapperListeners.onBlur = handleLeave(false);
|
514 | }
|
515 | }
|
516 |
|
517 | if (process.env.NODE_ENV !== 'production') {
|
518 | if (children.props.title) {
|
519 | console.error(['Material-UI: You have provided a `title` prop to the child of <Tooltip />.', "Remove this title prop `".concat(children.props.title, "` or the Tooltip component.")].join('\n'));
|
520 | }
|
521 | }
|
522 |
|
523 | var mergedPopperProps = React.useMemo(function () {
|
524 | return (0, _utils.deepmerge)({
|
525 | popperOptions: {
|
526 | modifiers: {
|
527 | arrow: {
|
528 | enabled: Boolean(arrowRef),
|
529 | element: arrowRef
|
530 | }
|
531 | }
|
532 | }
|
533 | }, PopperProps);
|
534 | }, [arrowRef, PopperProps]);
|
535 | return React.createElement(React.Fragment, null, React.cloneElement(children, childrenProps), React.createElement(PopperComponent, (0, _extends2.default)({
|
536 | className: (0, _clsx.default)(classes.popper, interactive && classes.popperInteractive, arrow && classes.popperArrow),
|
537 | placement: placement,
|
538 | anchorEl: childNode,
|
539 | open: childNode ? open : false,
|
540 | id: childrenProps['aria-describedby'],
|
541 | transition: true
|
542 | }, interactiveWrapperListeners, mergedPopperProps), function (_ref) {
|
543 | var placementInner = _ref.placement,
|
544 | TransitionPropsInner = _ref.TransitionProps;
|
545 | return React.createElement(TransitionComponent, (0, _extends2.default)({
|
546 | timeout: theme.transitions.duration.shorter
|
547 | }, TransitionPropsInner, TransitionProps), React.createElement("div", {
|
548 | className: (0, _clsx.default)(classes.tooltip, classes["tooltipPlacement".concat((0, _capitalize.default)(placementInner.split('-')[0]))], ignoreNonTouchEvents.current && classes.touch, arrow && classes.tooltipArrow)
|
549 | }, title, arrow ? React.createElement("span", {
|
550 | className: classes.arrow,
|
551 | ref: setArrowRef
|
552 | }) : null));
|
553 | }));
|
554 | });
|
555 | process.env.NODE_ENV !== "production" ? Tooltip.propTypes = {
|
556 |
|
557 |
|
558 |
|
559 |
|
560 |
|
561 | |
562 |
|
563 |
|
564 | arrow: _propTypes.default.bool,
|
565 |
|
566 | |
567 |
|
568 |
|
569 | children: _utils.elementAcceptingRef.isRequired,
|
570 |
|
571 | |
572 |
|
573 |
|
574 |
|
575 | classes: _propTypes.default.object,
|
576 |
|
577 | |
578 |
|
579 |
|
580 | className: _propTypes.default.string,
|
581 |
|
582 | |
583 |
|
584 |
|
585 | disableFocusListener: _propTypes.default.bool,
|
586 |
|
587 | |
588 |
|
589 |
|
590 | disableHoverListener: _propTypes.default.bool,
|
591 |
|
592 | |
593 |
|
594 |
|
595 | disableTouchListener: _propTypes.default.bool,
|
596 |
|
597 | |
598 |
|
599 |
|
600 |
|
601 | enterDelay: _propTypes.default.number,
|
602 |
|
603 | |
604 |
|
605 |
|
606 | enterNextDelay: _propTypes.default.number,
|
607 |
|
608 | |
609 |
|
610 |
|
611 | enterTouchDelay: _propTypes.default.number,
|
612 |
|
613 | |
614 |
|
615 |
|
616 |
|
617 | id: _propTypes.default.string,
|
618 |
|
619 | |
620 |
|
621 |
|
622 |
|
623 | interactive: _propTypes.default.bool,
|
624 |
|
625 | |
626 |
|
627 |
|
628 |
|
629 | leaveDelay: _propTypes.default.number,
|
630 |
|
631 | |
632 |
|
633 |
|
634 | leaveTouchDelay: _propTypes.default.number,
|
635 |
|
636 | |
637 |
|
638 |
|
639 |
|
640 |
|
641 | onClose: _propTypes.default.func,
|
642 |
|
643 | |
644 |
|
645 |
|
646 |
|
647 |
|
648 | onOpen: _propTypes.default.func,
|
649 |
|
650 | |
651 |
|
652 |
|
653 | open: _propTypes.default.bool,
|
654 |
|
655 | |
656 |
|
657 |
|
658 | placement: _propTypes.default.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
|
659 |
|
660 | |
661 |
|
662 |
|
663 | PopperComponent: _propTypes.default.elementType,
|
664 |
|
665 | |
666 |
|
667 |
|
668 | PopperProps: _propTypes.default.object,
|
669 |
|
670 | |
671 |
|
672 |
|
673 | title: _propTypes.default
|
674 |
|
675 | .node.isRequired,
|
676 |
|
677 | |
678 |
|
679 |
|
680 |
|
681 | TransitionComponent: _propTypes.default.elementType,
|
682 |
|
683 | |
684 |
|
685 |
|
686 | TransitionProps: _propTypes.default.object
|
687 | } : void 0;
|
688 |
|
689 | var _default = (0, _withStyles.default)(styles, {
|
690 | name: 'MuiTooltip',
|
691 | flip: false
|
692 | })(Tooltip);
|
693 |
|
694 | exports.default = _default; |
\ | No newline at end of file |