@tippy.js/react
Version:
React component for Tippy.js
3 lines (2 loc) • 3.67 kB
JavaScript
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("tippy.js"),require("react"),require("prop-types"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","tippy.js","react","prop-types","react-dom"],n):n((e=e||self).Tippy={},e.tippy,e.React,e.PropTypes,e.ReactDOM)}(this,function(e,n,t,r,i){"use strict";var o="default"in n?n.default:n,s="default"in t?t.default:t;function a(){return(a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}function c(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}r=r&&r.hasOwnProperty("default")?r.default:r;var u="undefined"!=typeof window&&"undefined"!=typeof document;function l(e,n){e&&("function"==typeof e&&e(n),{}.hasOwnProperty.call(e,"current")&&(e.current=n))}function f(e,n,t){t.split(/\s+/).forEach(function(t){t&&e.classList[n](t)})}var d=u?t.useLayoutEffect:t.useEffect;function p(e,n,t){d(function(){var t=e.instance.popperChildren.tooltip;if(n)return f(t,"add",n),function(){f(t,"remove",n)}},[n].concat(t))}function v(e){var n=t.useRef();return n.current||(n.current="function"==typeof e?e():e),n.current}function b(e,t,r,i){d(function(){var i=e.instances,o=n.createSingleton(i,t);return e.instance=o,r||o.disable(),function(){o.destroy(),e.instances=i.filter(function(e){return!e.state.isDestroyed})}},i)}function y(e,n,t){d(function(){if(1!==e.renders){var r=e.instance;r.setProps(n),t?r.enable():r.disable()}else e.renders++})}function m(e){var n=e.children,r=e.content,f=e.className,b=e.visible,y=e.singleton,m=e.enabled,h=void 0===m||m,g=e.multiple,_=void 0===g||g,A=e.ignoreAttributes,E=void 0===A||A,O=(e.__source,e.__self,c(e,["children","content","className","visible","singleton","enabled","multiple","ignoreAttributes","__source","__self"])),w=void 0!==b,P=void 0!==y,j=t.useState(!1),N=j[0],C=j[1],q=v(function(){return{container:u&&document.createElement("div"),renders:1}}),x=a({ignoreAttributes:E,multiple:_},O,{content:q.container});w&&(x.trigger="manual"),P&&(h=!1);var R=[n.type];return d(function(){var e=o(q.ref,x);return q.instance=e,h||e.disable(),b&&e.show(),P&&y(e),C(!0),function(){e.destroy()}},R),d(function(){if(1!==q.renders){var e=q.instance;e.setProps(x),h?e.enable():e.disable(),w&&(b?e.show():e.hide())}else q.renders++}),p(q,f,R),s.createElement(s.Fragment,null,t.cloneElement(n,{ref:function(e){q.ref=e,l(n.ref,e)}}),N&&i.createPortal(r,q.container))}var h=t.forwardRef(function(e,n){var r=e.children,i=c(e,["children"]);return s.createElement(m,i,t.cloneElement(r,{ref:function(e){l(n,e),l(r.ref,e)}}))});e.tippy=o,e.TippySingleton=function(e){var n=e.children,r=e.className,i=e.enabled,o=void 0===i||i,s=e.ignoreAttributes,u=void 0===s||s,l=c(e,["children","className","enabled","ignoreAttributes"]),f=v({instances:[],renders:1}),d=a({ignoreAttributes:u},l),m=[n.length];return b(f,d,o,m),y(f,d,o),p(f,r,m),t.Children.map(n,function(e){return t.cloneElement(e,{enabled:!1,onCreate:function(n){e.props.onCreate&&e.props.onCreate(n),f.instances.push(n)}})})},e.default=h,e.useSingleton=function(e){var n=void 0===e?{}:e,t=n.className,r=n.enabled,i=void 0===r||r,o=n.ignoreAttributes,s=void 0===o||o,u=c(n,["className","enabled","ignoreAttributes"]),l=v({instance:null,instances:[],renders:1}),f=a({ignoreAttributes:s},u),d=[l.instances.length];return b(l,f,i,d),y(l,f,i),p(l,t,d),function(e){l.instances.push(e)}},Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=tippy-react.umd.min.js.map