parent
e1064c70fb
commit
e00863a343
@ -0,0 +1,38 @@ |
||||
/* |
||||
* Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
|
||||
* |
||||
* This is free software, licensed under the GNU General Public License v3. |
||||
* See /LICENSE for more information. |
||||
*/ |
||||
|
||||
import React, { useEffect, useRef } from "react"; |
||||
import PropTypes from "prop-types"; |
||||
|
||||
import { Tooltip as BSTooltip } from "bootstrap/dist/js/bootstrap.esm"; |
||||
|
||||
export function Tooltip({ title, placement, trigger, children }) { |
||||
const tooltipRef = useRef(); |
||||
|
||||
useEffect(() => { |
||||
const tooltip = new BSTooltip(tooltipRef.current, { |
||||
title, |
||||
placement, |
||||
trigger, |
||||
}); |
||||
}); |
||||
|
||||
return <span ref={tooltipRef}>{children}</span>; |
||||
} |
||||
|
||||
Tooltip.propTypes = { |
||||
/** Field label. */ |
||||
title: PropTypes.string.isRequired, |
||||
/** Error text. */ |
||||
placement: PropTypes.string, |
||||
/** Help text message. */ |
||||
trigger: PropTypes.string, |
||||
children: PropTypes.oneOfType([ |
||||
PropTypes.arrayOf(PropTypes.node), |
||||
PropTypes.node, |
||||
]), |
||||
}; |
Loading…
Reference in new issue