UNPKG

arch-editor

Version:

Rich text editor with a high degree of customization.

2 lines 3.44 kB
/*! For license information please see Tooltip.js.LICENSE.txt */ !function(){"use strict";var e={n:function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{default:function(){return m}});var r=require("react"),n=e.n(r),o=require("react-dom"),u=e.n(o),a=require("prop-types"),i=e.n(a),l=require("react-transition-group"),c=require("react-popper");function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,u=[],a=!0,i=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(u.push(n.value),!t||u.length!==t);a=!0);}catch(e){i=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(i)throw o}}return u}}(e,t)||function(e,t){if(e){if("string"==typeof e)return p(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?p(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var d=function(e){var t,o=(0,r.useRef)(null),a=e.children,i=e.content,p=e.placement,d=void 0===p?"top":p,m=e.getContainer,y=void 0===m?function(){return document.body}:m,v=s((0,r.useState)(!1),2),b=v[0],g=v[1],h=s((0,r.useState)(null),2),S=h[0],E=h[1],O=s((0,r.useState)(null),2),j=O[0],w=O[1],A=s((0,r.useState)(null),2),T=A[0],M=A[1],P=(0,c.usePopper)(S,j,{strategy:"fixed",placement:d,modifiers:[{name:"arrow",options:{element:T}},{name:"offset",options:{offset:[0,10]}},{name:"flip",enabled:!0},{name:"preventOverflow",options:{padding:5}}]}),q=P.styles,C=P.attributes,x=P.update,_=function(e){o.current&&clearTimeout(o.current),o.current=setTimeout((function(){g(e)}),200)};(0,r.useEffect)((function(){return x&&x(),function(){o.current&&clearTimeout(o.current)}}),[x,e]),n().Children.only(a)&&(t=n().cloneElement(a,{ref:E,onMouseEnter:function(){return _(!0)},onMouseLeave:function(){return _(!1)}}));var I=y();return n().createElement(n().Fragment,null,t,u().createPortal(n().createElement(l.CSSTransition,{in:b,timeout:150,unmountOnExit:!0,classNames:"ArchEditor-fade"},n().createElement("div",f({className:"ArchEditor-tooltip",ref:w,style:q.popper},C.popper,{onMouseEnter:function(){return _(!0)},onMouseLeave:function(){return _(!1)},contentEditable:!1}),i,n().createElement("div",{className:"ArchEditor-tooltip-arrow",ref:M,style:q.arrow}))),I))};d.propTypes={content:i().oneOfType([i().element,i().string]),children:i().object,placement:i().string,getContainer:i().func};var m=d;module.exports=t}();