@spotware/react-tether
Version:
Drop content anywhere on the page.
7 lines • 8.59 kB
JavaScript
/*!
* @spotware/react-tether 0.6.1
* https://github.com/danreeves/react-tether
* Copyright (c) 2018 @spotware/react-tether authors
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("tether"),require("react-dom"),require("react")):"function"==typeof define&&define.amd?define(["tether","react-dom","react"],t):"object"==typeof exports?exports.TetherComponent=t(require("tether"),require("react-dom"),require("react")):e.TetherComponent=t(e.Tether,e.ReactDOM,e.React)}(window,function(e,t,n){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=function(e){};e.exports=function(e,t,n,o,i,a,u,l){if(r(t),!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var d=[n,o,i,a,u,l],c=0;(s=new Error(t.replace(/%s/g,function(){return d[c++]}))).name="Invariant Violation"}throw s.framesToPop=1,s}}},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";var r=n(4),o=n(3),i=n(2);e.exports=function(){function e(e,t,n,r,a,u){u!==i&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict";"function"==typeof Symbol&&Symbol.iterator;e.exports=n(5)()},function(e,t){e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(7),a=s(n(6)),u=s(n(1)),l=s(n(0));function s(e){return e&&e.__esModule?e:{default:e}}l.default||console.error("It looks like Tether has not been included. Please load this dependency first https://github.com/HubSpot/tether");var d=void 0!==u.default.createPortal,c=[a.default.string,a.default.shape({appendChild:a.default.func.isRequired})],f=["auto auto","top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],p=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n._targetNode=null,n._elementParentNode=null,n._tether=null,i.Children.toArray(e.children)[1]&&n._createContainer(),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.Component),o(t,[{key:"componentWillUpdate",value:function(e){var t=e.children;i.Children.toArray(t)[1]&&this._createContainer()}},{key:"componentDidMount",value:function(){this._targetNode=u.default.findDOMNode(this),this._update()}},{key:"componentDidUpdate",value:function(){this._targetNode=u.default.findDOMNode(this),this._update()}},{key:"componentWillUnmount",value:function(){this._destroy()}},{key:"getTetherInstance",value:function(){return this._tether}},{key:"disable",value:function(){this._tether.disable()}},{key:"enable",value:function(){this._tether.enable()}},{key:"on",value:function(e,t,n){this._tether.on(e,t,n)}},{key:"once",value:function(e,t,n){this._tether.once(e,t,n)}},{key:"off",value:function(e,t){this._tether.off(e,t)}},{key:"position",value:function(){this._tether.position()}},{key:"_registerEventListeners",value:function(){var e=this,t=arguments;this.on("update",function(){return e.props.onUpdate&&e.props.onUpdate.apply(e,t)}),this.on("repositioned",function(){return e.props.onRepositioned&&e.props.onRepositioned.apply(e,t)})}},{key:"_destroy",value:function(){this._elementParentNode&&(d||u.default.unmountComponentAtNode(this._elementParentNode),this._elementParentNode.parentNode.removeChild(this._elementParentNode)),this._tether&&this._tether.destroy(),this._elementParentNode=null,this._tether=null}},{key:"_createContainer",value:function(){var e=this.props.renderElementTag;this._elementParentNode||(this._elementParentNode=document.createElement(e),this._renderNode.appendChild(this._elementParentNode))}},{key:"_update",value:function(){var e=this,t=this.props.children,n=i.Children.toArray(t)[1];n?d?this._updateTether():u.default.unstable_renderSubtreeIntoContainer(this,n,this._elementParentNode,function(){e._elementParentNode&&e._updateTether()}):this._tether&&this._destroy()}},{key:"_updateTether",value:function(){var e=this,t=this.props,n=(t.children,t.renderElementTag,t.renderElementTo,t.id),o=t.className,i=t.style,a=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(t,["children","renderElementTag","renderElementTo","id","className","style"]),u=r({target:this._targetNode,element:this._elementParentNode},a);n&&(this._elementParentNode.id=n),o&&(this._elementParentNode.className=o),i&&Object.keys(i).forEach(function(t){e._elementParentNode.style[t]=i[t]}),this._tether?this._tether.setOptions(u):(this._tether=new l.default(u),this._registerEventListeners()),this._tether.position()}},{key:"render",value:function(){var e=this.props.children,t=i.Children.toArray(e)[1];return d&&t?[i.Children.toArray(e)[0],u.default.createPortal(t,this._elementParentNode)]:i.Children.toArray(e)[0]}},{key:"_renderNode",get:function(){var e=this.props.renderElementTo;return"string"==typeof e?document.querySelector(e):e||document.body}}]),t}();p.propTypes={renderElementTag:a.default.string,renderElementTo:a.default.oneOfType(c),attachment:a.default.oneOf(f).isRequired,targetAttachment:a.default.oneOf(f),offset:a.default.string,targetOffset:a.default.string,targetModifier:a.default.string,enabled:a.default.bool,classes:a.default.object,classPrefix:a.default.string,optimizations:a.default.object,constraints:a.default.array,id:a.default.string,className:a.default.string,style:a.default.object,onUpdate:a.default.func,onRepositioned:a.default.func,children:function(e,t,n){var r=e.children,o=i.Children.count(r);return o<=0?new Error(n+" expects at least one child to use as the target element."):o>2?new Error("Only a max of two children allowed in "+n+"."):void 0}},p.defaultProps={renderElementTag:"div",renderElementTo:null},t.default=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=n(8),i=(r=o)&&r.__esModule?r:{default:r};t.default=i.default}])});
//# sourceMappingURL=react-tether.min.js.map