Socket
Socket
Sign inDemoInstall

reactjs-popup

Package Overview
Dependencies
8
Maintainers
1
Versions
40
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.3.1 to 1.3.2

5

index.d.ts

@@ -22,2 +22,3 @@ declare module 'reactjs-popup' {

closeOnEscape?: boolean;
repositionOnResize?: boolean;
mouseEnterDelay?: number;

@@ -33,5 +34,3 @@ mouseLeaveDelay?: number;

class Popup extends React.Component<Props> {}
export = Popup;
export default class Popup extends React.PureComponent<Props> {}
}

4

package.json
{
"name": "reactjs-popup",
"version": "1.3.1",
"version": "1.3.2",
"description": "React Popup Component - Modals,Tooltips and Menus —  All in one",

@@ -38,3 +38,3 @@ "main": "reactjs-popup.cjs.js",

},
"homepage": "https://react-popup.netlify.com/"
"homepage": "https://react-popup.elazizi.com/"
}
/*!
* reactjs-popup v1.3.1
* reactjs-popup v1.3.2
* (c) 2018-present Youssouf EL AZIZI <youssoufelazizi@gmail.com>

@@ -329,2 +329,10 @@ * Released under the MIT License.

_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "repositionOnResize", function () {
_this.setPosition();
});
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "onEscape", function (e) {
if (e.key === "Escape") _this.closePopup();
});
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "lockScroll", function () {

@@ -407,2 +415,6 @@ if (_this.state.modal && _this.props.lockScroll) document.getElementsByTagName("body")[0].style.overflow = "hidden";

_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "setPosition", function () {
var _this$state = _this.state,
modal = _this$state.modal,
isOpen = _this$state.isOpen;
if (modal || !isOpen) return;
var _this$props = _this.props,

@@ -415,4 +427,2 @@ arrow = _this$props.arrow,

arrowStyle = _this$props.arrowStyle;
var modal = _this.state.modal;
if (modal) return;

@@ -538,14 +548,15 @@ var helper = _this.HelperEl.getBoundingClientRect();

value: function componentDidMount() {
var _this2 = this;
var _this$props5 = this.props,
closeOnEscape = _this$props5.closeOnEscape,
defaultOpen = _this$props5.defaultOpen;
defaultOpen = _this$props5.defaultOpen,
repositionOnResize = _this$props5.repositionOnResize;
if (defaultOpen) this.setPosition();
if (closeOnEscape) {
window.addEventListener("keyup", function (e) {
if (e.key === "Escape") _this2.closePopup();
});
window.addEventListener("keyup", this.onEscape);
}
if (repositionOnResize) {
window.addEventListener('resize', this.repositionOnResize);
}
}

@@ -570,2 +581,13 @@ }, {

clearTimeout(this.timeOut);
var _this$props6 = this.props,
closeOnEscape = _this$props6.closeOnEscape,
repositionOnResize = _this$props6.repositionOnResize; // remove events listeners
if (closeOnEscape) {
window.removeEventListener("keyup", this.onEscape);
}
if (repositionOnResize) {
window.removeEventListener('resize', this.repositionOnResize);
}
}

@@ -575,6 +597,6 @@ }, {

value: function render() {
var _this$props6 = this.props,
overlayStyle = _this$props6.overlayStyle,
closeOnDocumentClick = _this$props6.closeOnDocumentClick,
on = _this$props6.on;
var _this$props7 = this.props,
overlayStyle = _this$props7.overlayStyle,
closeOnDocumentClick = _this$props7.closeOnDocumentClick,
on = _this$props7.on;
var modal = this.state.modal;

@@ -617,2 +639,3 @@ var overlay = this.state.isOpen && !(on.indexOf("hover") >= 0);

closeOnDocumentClick: true,
repositionOnResize: true,
closeOnEscape: true,

@@ -646,2 +669,3 @@ on: ["click"],

closeOnDocumentClick: PropTypes.bool,
repositionOnResize: PropTypes.bool,
disabled: PropTypes.bool,

@@ -648,0 +672,0 @@ lockScroll: PropTypes.bool,

/*!
* reactjs-popup v1.3.1
* reactjs-popup v1.3.2
* (c) 2018-present Youssouf EL AZIZI <youssoufelazizi@gmail.com>

@@ -325,2 +325,10 @@ * Released under the MIT License.

_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "repositionOnResize", function () {
_this.setPosition();
});
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "onEscape", function (e) {
if (e.key === "Escape") _this.closePopup();
});
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "lockScroll", function () {

@@ -403,2 +411,6 @@ if (_this.state.modal && _this.props.lockScroll) document.getElementsByTagName("body")[0].style.overflow = "hidden";

_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "setPosition", function () {
var _this$state = _this.state,
modal = _this$state.modal,
isOpen = _this$state.isOpen;
if (modal || !isOpen) return;
var _this$props = _this.props,

@@ -411,4 +423,2 @@ arrow = _this$props.arrow,

arrowStyle = _this$props.arrowStyle;
var modal = _this.state.modal;
if (modal) return;

@@ -534,14 +544,15 @@ var helper = _this.HelperEl.getBoundingClientRect();

value: function componentDidMount() {
var _this2 = this;
var _this$props5 = this.props,
closeOnEscape = _this$props5.closeOnEscape,
defaultOpen = _this$props5.defaultOpen;
defaultOpen = _this$props5.defaultOpen,
repositionOnResize = _this$props5.repositionOnResize;
if (defaultOpen) this.setPosition();
if (closeOnEscape) {
window.addEventListener("keyup", function (e) {
if (e.key === "Escape") _this2.closePopup();
});
window.addEventListener("keyup", this.onEscape);
}
if (repositionOnResize) {
window.addEventListener('resize', this.repositionOnResize);
}
}

@@ -566,2 +577,13 @@ }, {

clearTimeout(this.timeOut);
var _this$props6 = this.props,
closeOnEscape = _this$props6.closeOnEscape,
repositionOnResize = _this$props6.repositionOnResize; // remove events listeners
if (closeOnEscape) {
window.removeEventListener("keyup", this.onEscape);
}
if (repositionOnResize) {
window.removeEventListener('resize', this.repositionOnResize);
}
}

@@ -571,6 +593,6 @@ }, {

value: function render() {
var _this$props6 = this.props,
overlayStyle = _this$props6.overlayStyle,
closeOnDocumentClick = _this$props6.closeOnDocumentClick,
on = _this$props6.on;
var _this$props7 = this.props,
overlayStyle = _this$props7.overlayStyle,
closeOnDocumentClick = _this$props7.closeOnDocumentClick,
on = _this$props7.on;
var modal = this.state.modal;

@@ -613,2 +635,3 @@ var overlay = this.state.isOpen && !(on.indexOf("hover") >= 0);

closeOnDocumentClick: true,
repositionOnResize: true,
closeOnEscape: true,

@@ -642,2 +665,3 @@ on: ["click"],

closeOnDocumentClick: PropTypes.bool,
repositionOnResize: PropTypes.bool,
disabled: PropTypes.bool,

@@ -644,0 +668,0 @@ lockScroll: PropTypes.bool,

/*!
* reactjs-popup v1.3.1
* reactjs-popup v1.3.2
* (c) 2018-present Youssouf EL AZIZI <youssoufelazizi@gmail.com>

@@ -330,2 +330,10 @@ * Released under the MIT License.

_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "repositionOnResize", function () {
_this.setPosition();
});
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "onEscape", function (e) {
if (e.key === "Escape") _this.closePopup();
});
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "lockScroll", function () {

@@ -408,2 +416,6 @@ if (_this.state.modal && _this.props.lockScroll) document.getElementsByTagName("body")[0].style.overflow = "hidden";

_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "setPosition", function () {
var _this$state = _this.state,
modal = _this$state.modal,
isOpen = _this$state.isOpen;
if (modal || !isOpen) return;
var _this$props = _this.props,

@@ -416,4 +428,2 @@ arrow = _this$props.arrow,

arrowStyle = _this$props.arrowStyle;
var modal = _this.state.modal;
if (modal) return;

@@ -539,14 +549,15 @@ var helper = _this.HelperEl.getBoundingClientRect();

value: function componentDidMount() {
var _this2 = this;
var _this$props5 = this.props,
closeOnEscape = _this$props5.closeOnEscape,
defaultOpen = _this$props5.defaultOpen;
defaultOpen = _this$props5.defaultOpen,
repositionOnResize = _this$props5.repositionOnResize;
if (defaultOpen) this.setPosition();
if (closeOnEscape) {
window.addEventListener("keyup", function (e) {
if (e.key === "Escape") _this2.closePopup();
});
window.addEventListener("keyup", this.onEscape);
}
if (repositionOnResize) {
window.addEventListener('resize', this.repositionOnResize);
}
}

@@ -571,2 +582,13 @@ }, {

clearTimeout(this.timeOut);
var _this$props6 = this.props,
closeOnEscape = _this$props6.closeOnEscape,
repositionOnResize = _this$props6.repositionOnResize; // remove events listeners
if (closeOnEscape) {
window.removeEventListener("keyup", this.onEscape);
}
if (repositionOnResize) {
window.removeEventListener('resize', this.repositionOnResize);
}
}

@@ -576,6 +598,6 @@ }, {

value: function render() {
var _this$props6 = this.props,
overlayStyle = _this$props6.overlayStyle,
closeOnDocumentClick = _this$props6.closeOnDocumentClick,
on = _this$props6.on;
var _this$props7 = this.props,
overlayStyle = _this$props7.overlayStyle,
closeOnDocumentClick = _this$props7.closeOnDocumentClick,
on = _this$props7.on;
var modal = this.state.modal;

@@ -618,2 +640,3 @@ var overlay = this.state.isOpen && !(on.indexOf("hover") >= 0);

closeOnDocumentClick: true,
repositionOnResize: true,
closeOnEscape: true,

@@ -647,2 +670,3 @@ on: ["click"],

closeOnDocumentClick: PropTypes.bool,
repositionOnResize: PropTypes.bool,
disabled: PropTypes.bool,

@@ -649,0 +673,0 @@ lockScroll: PropTypes.bool,

/*!
* reactjs-popup v1.3.1
* reactjs-popup v1.3.2
* (c) 2018-present Youssouf EL AZIZI <youssoufelazizi@gmail.com>
* Released under the MIT License.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],t):e.reactjsPopup=t(e.React,e.reactDom)}(this,function(e,t){"use strict";function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function r(e,t,o){return t&&n(e.prototype,t),o&&n(e,o),e}function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e}).apply(this,arguments)}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?u(e):t}function f(e){return function(e){if(Array.isArray(e)){for(var t=0,o=new Array(e.length);t<e.length;t++)o[t]=e[t];return o}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function d(e,t,o,n,r){var i=r.offsetX,p=r.offsetY,s=n?8:0,l=o.split(" "),a=e.top+e.height/2,u=e.left+e.width/2,c=t.height,f=t.width,d=a-c/2,h=u-f/2,g="",y="0%",m="0%";switch(l[0]){case"top":d-=c/2+e.height/2+s,g="rotate(45deg)",y="100%",m="50%";break;case"bottom":d+=c/2+e.height/2+s,g="rotate(225deg)",m="50%";break;case"left":h-=f/2+e.width/2+s,g=" rotate(-45deg)",m="100%",y="50%";break;case"right":h+=f/2+e.width/2+s,g="rotate(135deg)",y="50%"}switch(l[1]){case"top":d=e.top,y=e.height/2+"px";break;case"bottom":d=e.top-c+e.height,y=c-e.height/2+"px";break;case"left":h=e.left,m=e.width/2+"px";break;case"right":h=e.left-f+e.width,m=f-e.width/2+"px"}return{top:d="top"===l[0]?d-p:d+p,left:h="left"===l[0]?h-i:h+i,transform:g,arrowLeft:m,arrowTop:y}}e=e&&e.hasOwnProperty("default")?e.default:e;var h={popupContent:{tooltip:{position:"absolute",zIndex:"2",width:"200px",background:"rgb(255, 255, 255)",border:"1px solid rgb(187, 187, 187)",boxShadow:"rgba(0, 0, 0, 0.2) 0px 1px 3px",padding:"5px"},modal:{position:"relative",background:"rgb(255, 255, 255)",width:"50%",margin:"auto",border:"1px solid rgb(187, 187, 187)",padding:"5px"}},popupArrow:{height:"10px",width:"10px",position:"absolute",background:"rgb(255, 255, 255)",transform:"rotate(45deg)",margin:"-5px",zIndex:"-1",boxShadow:"rgba(0, 0, 0, 0.2) 1px 1px 1px"},overlay:{tooltip:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0"},modal:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0",background:"rgba(0, 0, 0,0.5)",display:"flex",zIndex:"999"}}},g=["top left","top center","top right","right top","right center","right bottom","bottom left","bottom center","bottom right","left top","left center","left bottom"],y=function(t){function n(t){var r;return o(this,n),i(u(u(r=c(this,l(n).call(this,t)))),"state",{isOpen:r.props.open||r.props.defaultOpen,modal:!!r.props.modal||!r.props.trigger}),i(u(u(r)),"lockScroll",function(){r.state.modal&&r.props.lockScroll&&(document.getElementsByTagName("body")[0].style.overflow="hidden")}),i(u(u(r)),"resetScroll",function(){r.state.modal&&r.props.lockScroll&&(document.getElementsByTagName("body")[0].style.overflow="auto")}),i(u(u(r)),"togglePopup",function(){r.state.isOpen?r.closePopup():r.openPopup()}),i(u(u(r)),"openPopup",function(){r.state.isOpen||r.props.disabled||r.setState({isOpen:!0},function(){r.setPosition(),r.props.onOpen(),r.lockScroll()})}),i(u(u(r)),"closePopup",function(){r.state.isOpen&&(r.props.onClose(),r.setState({isOpen:!1},function(){r.resetScroll()}))}),i(u(u(r)),"onMouseEnter",function(){clearTimeout(r.timeOut);var e=r.props.mouseEnterDelay;r.timeOut=setTimeout(function(){return r.openPopup()},e)}),i(u(u(r)),"onMouseLeave",function(){clearTimeout(r.timeOut);var e=r.props.mouseLeaveDelay;r.timeOut=setTimeout(function(){return r.closePopup()},e)}),i(u(u(r)),"getTooltipBoundary",function(){var e=r.props.keepTooltipInside,t={top:0,left:0,width:window.innerWidth,height:window.innerHeight};"string"==typeof e&&(t=document.querySelector(e).getBoundingClientRect());return t}),i(u(u(r)),"setPosition",function(){var e=r.props,t=e.arrow,o=e.position,n=e.offsetX,i=e.offsetY,p=e.keepTooltipInside,s=e.arrowStyle;if(!r.state.modal){var l=r.HelperEl.getBoundingClientRect(),a=r.TriggerEl.getBoundingClientRect(),u=r.ContentEl.getBoundingClientRect(),c=r.getTooltipBoundary(),h=Array.isArray(o)?o:[o];(p||Array.isArray(o))&&(h=f(h).concat(g));var y=function(e,t,o,n,r,i){for(var p,s=r.offsetX,l=r.offsetY,a=0;a<o.length;){var u={top:(p=d(e,t,o[a],n,{offsetX:s,offsetY:l})).top,left:p.left,width:t.width,height:t.height};if(!(u.top<=i.top||u.left<=i.left||u.top+u.height>=i.top+i.height||u.left+u.width>=i.left+i.width))break;a++}return p}(a,u,h,t,{offsetX:n,offsetY:i},c);r.ContentEl.style.top=y.top-l.top+"px",r.ContentEl.style.left=y.left-l.left+"px",t&&(r.ArrowEl.style.transform=y.transform,r.ArrowEl.style["-ms-transform"]=y.transform,r.ArrowEl.style["-webkit-transform"]=y.transform,r.ArrowEl.style.top=s.top||y.arrowTop,r.ArrowEl.style.left=s.left||y.arrowLeft),"static"!=window.getComputedStyle(r.TriggerEl,null).getPropertyValue("position")&&""!=window.getComputedStyle(r.TriggerEl,null).getPropertyValue("position")||(r.TriggerEl.style.position="relative")}}),i(u(u(r)),"addWarperAction",function(){var e=r.props,t=e.contentStyle,o=e.className,n=e.on,i=r.state.modal,p=i?h.popupContent.modal:h.popupContent.tooltip,s={className:"popup-content ".concat(o),style:Object.assign({},p,t),ref:r.setContentRef,onClick:function(e){e.stopPropagation()}};return!i&&n.indexOf("hover")>=0&&(s.onMouseEnter=r.onMouseEnter,s.onMouseLeave=r.onMouseLeave),s}),i(u(u(r)),"renderTrigger",function(){for(var t={key:"T"},o=r.props,n=o.on,i=o.trigger,p=Array.isArray(n)?n:[n],s=0,l=p.length;s<l;s++)switch(p[s]){case"click":t.onClick=r.togglePopup;break;case"hover":t.onMouseEnter=r.onMouseEnter,t.onMouseLeave=r.onMouseLeave;break;case"focus":t.onFocus=r.onMouseEnter}return"function"==typeof i?e.cloneElement(i(r.state.isOpen),t):e.cloneElement(i,t)}),i(u(u(r)),"renderContent",function(){var t=r.props,o=t.arrow,n=t.arrowStyle,i=r.state.modal;return e.createElement("div",p({},r.addWarperAction(),{key:"C"}),o&&!i&&e.createElement("div",{ref:r.setArrowRef,style:Object.assign({},h.popupArrow,n)}),"function"==typeof r.props.children?r.props.children(r.closePopup,r.state.isOpen):r.props.children)}),r.setTriggerRef=function(e){return r.TriggerEl=e},r.setContentRef=function(e){return r.ContentEl=e},r.setArrowRef=function(e){return r.ArrowEl=e},r.setHelperRef=function(e){return r.HelperEl=e},r.timeOut=0,r}return s(n,e.PureComponent),r(n,[{key:"componentDidMount",value:function(){var e=this,t=this.props,o=t.closeOnEscape;t.defaultOpen&&this.setPosition(),o&&window.addEventListener("keyup",function(t){"Escape"===t.key&&e.closePopup()})}},{key:"componentWillReceiveProps",value:function(e){this.props.open!==e.open&&(e.open?this.openPopup():this.closePopup())}},{key:"componentDidUpdate",value:function(e){e.disabled!==this.props.disabled&&this.props.disabled&&this.state.isOpen&&this.closePopup()}},{key:"componentWillUnmount",value:function(){clearTimeout(this.timeOut)}},{key:"render",value:function(){var t=this.props,o=t.overlayStyle,n=t.closeOnDocumentClick,r=t.on,i=this.state.modal,p=this.state.isOpen&&!(r.indexOf("hover")>=0),s=i?h.overlay.modal:h.overlay.tooltip;return[!!this.props.trigger&&e.createElement(m,{innerRef:this.setTriggerRef,key:"R"},this.renderTrigger()),this.state.isOpen&&e.createElement("div",{key:"H",style:{position:"absolute",top:"0px",left:"0px"},ref:this.setHelperRef}),p&&e.createElement("div",{key:"O",className:"popup-overlay",style:Object.assign({},s,o),onClick:n?this.closePopup:void 0},i&&this.renderContent()),this.state.isOpen&&!i&&this.renderContent()]}}]),n}();i(y,"defaultProps",{children:function(){return e.createElement("span",null," Your Content Here !!")},trigger:null,onOpen:function(){},onClose:function(){},defaultOpen:!1,open:!1,disabled:!1,closeOnDocumentClick:!0,closeOnEscape:!0,on:["click"],contentStyle:{},arrowStyle:{},overlayStyle:{},className:"",position:"bottom center",modal:!1,lockScroll:!1,arrow:!0,offsetX:0,offsetY:0,mouseEnterDelay:100,mouseLeaveDelay:100,keepTooltipInside:!1});var m=function(n){function i(){return o(this,i),c(this,l(i).apply(this,arguments))}return s(i,e.PureComponent),r(i,[{key:"componentDidMount",value:function(){var e=this.props.innerRef;e&&e(t.findDOMNode(this))}},{key:"render",value:function(){var t=this.props.children;return e.Children.only(t)}}]),i}();return y});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],t):e.reactjsPopup=t(e.React,e.reactDom)}(this,function(e,t){"use strict";function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function r(e,t,o){return t&&n(e.prototype,t),o&&n(e,o),e}function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e}).apply(this,arguments)}function p(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?u(e):t}function f(e){return function(e){if(Array.isArray(e)){for(var t=0,o=new Array(e.length);t<e.length;t++)o[t]=e[t];return o}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function d(e,t,o,n,r){var i=r.offsetX,s=r.offsetY,p=n?8:0,l=o.split(" "),a=e.top+e.height/2,u=e.left+e.width/2,c=t.height,f=t.width,d=a-c/2,h=u-f/2,g="",y="0%",m="0%";switch(l[0]){case"top":d-=c/2+e.height/2+p,g="rotate(45deg)",y="100%",m="50%";break;case"bottom":d+=c/2+e.height/2+p,g="rotate(225deg)",m="50%";break;case"left":h-=f/2+e.width/2+p,g=" rotate(-45deg)",m="100%",y="50%";break;case"right":h+=f/2+e.width/2+p,g="rotate(135deg)",y="50%"}switch(l[1]){case"top":d=e.top,y=e.height/2+"px";break;case"bottom":d=e.top-c+e.height,y=c-e.height/2+"px";break;case"left":h=e.left,m=e.width/2+"px";break;case"right":h=e.left-f+e.width,m=f-e.width/2+"px"}return{top:d="top"===l[0]?d-s:d+s,left:h="left"===l[0]?h-i:h+i,transform:g,arrowLeft:m,arrowTop:y}}e=e&&e.hasOwnProperty("default")?e.default:e;var h={popupContent:{tooltip:{position:"absolute",zIndex:"2",width:"200px",background:"rgb(255, 255, 255)",border:"1px solid rgb(187, 187, 187)",boxShadow:"rgba(0, 0, 0, 0.2) 0px 1px 3px",padding:"5px"},modal:{position:"relative",background:"rgb(255, 255, 255)",width:"50%",margin:"auto",border:"1px solid rgb(187, 187, 187)",padding:"5px"}},popupArrow:{height:"10px",width:"10px",position:"absolute",background:"rgb(255, 255, 255)",transform:"rotate(45deg)",margin:"-5px",zIndex:"-1",boxShadow:"rgba(0, 0, 0, 0.2) 1px 1px 1px"},overlay:{tooltip:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0"},modal:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0",background:"rgba(0, 0, 0,0.5)",display:"flex",zIndex:"999"}}},g=["top left","top center","top right","right top","right center","right bottom","bottom left","bottom center","bottom right","left top","left center","left bottom"],y=function(t){function n(t){var r;return o(this,n),i(u(u(r=c(this,l(n).call(this,t)))),"state",{isOpen:r.props.open||r.props.defaultOpen,modal:!!r.props.modal||!r.props.trigger}),i(u(u(r)),"repositionOnResize",function(){r.setPosition()}),i(u(u(r)),"onEscape",function(e){"Escape"===e.key&&r.closePopup()}),i(u(u(r)),"lockScroll",function(){r.state.modal&&r.props.lockScroll&&(document.getElementsByTagName("body")[0].style.overflow="hidden")}),i(u(u(r)),"resetScroll",function(){r.state.modal&&r.props.lockScroll&&(document.getElementsByTagName("body")[0].style.overflow="auto")}),i(u(u(r)),"togglePopup",function(){r.state.isOpen?r.closePopup():r.openPopup()}),i(u(u(r)),"openPopup",function(){r.state.isOpen||r.props.disabled||r.setState({isOpen:!0},function(){r.setPosition(),r.props.onOpen(),r.lockScroll()})}),i(u(u(r)),"closePopup",function(){r.state.isOpen&&(r.props.onClose(),r.setState({isOpen:!1},function(){r.resetScroll()}))}),i(u(u(r)),"onMouseEnter",function(){clearTimeout(r.timeOut);var e=r.props.mouseEnterDelay;r.timeOut=setTimeout(function(){return r.openPopup()},e)}),i(u(u(r)),"onMouseLeave",function(){clearTimeout(r.timeOut);var e=r.props.mouseLeaveDelay;r.timeOut=setTimeout(function(){return r.closePopup()},e)}),i(u(u(r)),"getTooltipBoundary",function(){var e=r.props.keepTooltipInside,t={top:0,left:0,width:window.innerWidth,height:window.innerHeight};"string"==typeof e&&(t=document.querySelector(e).getBoundingClientRect());return t}),i(u(u(r)),"setPosition",function(){var e=r.state,t=e.modal,o=e.isOpen;if(!t&&o){var n=r.props,i=n.arrow,s=n.position,p=n.offsetX,l=n.offsetY,a=n.keepTooltipInside,u=n.arrowStyle,c=r.HelperEl.getBoundingClientRect(),h=r.TriggerEl.getBoundingClientRect(),y=r.ContentEl.getBoundingClientRect(),m=r.getTooltipBoundary(),b=Array.isArray(s)?s:[s];(a||Array.isArray(s))&&(b=f(b).concat(g));var w=function(e,t,o,n,r,i){for(var s,p=r.offsetX,l=r.offsetY,a=0;a<o.length;){var u={top:(s=d(e,t,o[a],n,{offsetX:p,offsetY:l})).top,left:s.left,width:t.width,height:t.height};if(!(u.top<=i.top||u.left<=i.left||u.top+u.height>=i.top+i.height||u.left+u.width>=i.left+i.width))break;a++}return s}(h,y,b,i,{offsetX:p,offsetY:l},m);r.ContentEl.style.top=w.top-c.top+"px",r.ContentEl.style.left=w.left-c.left+"px",i&&(r.ArrowEl.style.transform=w.transform,r.ArrowEl.style["-ms-transform"]=w.transform,r.ArrowEl.style["-webkit-transform"]=w.transform,r.ArrowEl.style.top=u.top||w.arrowTop,r.ArrowEl.style.left=u.left||w.arrowLeft),"static"!=window.getComputedStyle(r.TriggerEl,null).getPropertyValue("position")&&""!=window.getComputedStyle(r.TriggerEl,null).getPropertyValue("position")||(r.TriggerEl.style.position="relative")}}),i(u(u(r)),"addWarperAction",function(){var e=r.props,t=e.contentStyle,o=e.className,n=e.on,i=r.state.modal,s=i?h.popupContent.modal:h.popupContent.tooltip,p={className:"popup-content ".concat(o),style:Object.assign({},s,t),ref:r.setContentRef,onClick:function(e){e.stopPropagation()}};return!i&&n.indexOf("hover")>=0&&(p.onMouseEnter=r.onMouseEnter,p.onMouseLeave=r.onMouseLeave),p}),i(u(u(r)),"renderTrigger",function(){for(var t={key:"T"},o=r.props,n=o.on,i=o.trigger,s=Array.isArray(n)?n:[n],p=0,l=s.length;p<l;p++)switch(s[p]){case"click":t.onClick=r.togglePopup;break;case"hover":t.onMouseEnter=r.onMouseEnter,t.onMouseLeave=r.onMouseLeave;break;case"focus":t.onFocus=r.onMouseEnter}return"function"==typeof i?e.cloneElement(i(r.state.isOpen),t):e.cloneElement(i,t)}),i(u(u(r)),"renderContent",function(){var t=r.props,o=t.arrow,n=t.arrowStyle,i=r.state.modal;return e.createElement("div",s({},r.addWarperAction(),{key:"C"}),o&&!i&&e.createElement("div",{ref:r.setArrowRef,style:Object.assign({},h.popupArrow,n)}),"function"==typeof r.props.children?r.props.children(r.closePopup,r.state.isOpen):r.props.children)}),r.setTriggerRef=function(e){return r.TriggerEl=e},r.setContentRef=function(e){return r.ContentEl=e},r.setArrowRef=function(e){return r.ArrowEl=e},r.setHelperRef=function(e){return r.HelperEl=e},r.timeOut=0,r}return p(n,e.PureComponent),r(n,[{key:"componentDidMount",value:function(){var e=this.props,t=e.closeOnEscape,o=e.defaultOpen,n=e.repositionOnResize;o&&this.setPosition(),t&&window.addEventListener("keyup",this.onEscape),n&&window.addEventListener("resize",this.repositionOnResize)}},{key:"componentWillReceiveProps",value:function(e){this.props.open!==e.open&&(e.open?this.openPopup():this.closePopup())}},{key:"componentDidUpdate",value:function(e){e.disabled!==this.props.disabled&&this.props.disabled&&this.state.isOpen&&this.closePopup()}},{key:"componentWillUnmount",value:function(){clearTimeout(this.timeOut);var e=this.props,t=e.closeOnEscape,o=e.repositionOnResize;t&&window.removeEventListener("keyup",this.onEscape),o&&window.removeEventListener("resize",this.repositionOnResize)}},{key:"render",value:function(){var t=this.props,o=t.overlayStyle,n=t.closeOnDocumentClick,r=t.on,i=this.state.modal,s=this.state.isOpen&&!(r.indexOf("hover")>=0),p=i?h.overlay.modal:h.overlay.tooltip;return[!!this.props.trigger&&e.createElement(m,{innerRef:this.setTriggerRef,key:"R"},this.renderTrigger()),this.state.isOpen&&e.createElement("div",{key:"H",style:{position:"absolute",top:"0px",left:"0px"},ref:this.setHelperRef}),s&&e.createElement("div",{key:"O",className:"popup-overlay",style:Object.assign({},p,o),onClick:n?this.closePopup:void 0},i&&this.renderContent()),this.state.isOpen&&!i&&this.renderContent()]}}]),n}();i(y,"defaultProps",{children:function(){return e.createElement("span",null," Your Content Here !!")},trigger:null,onOpen:function(){},onClose:function(){},defaultOpen:!1,open:!1,disabled:!1,closeOnDocumentClick:!0,repositionOnResize:!0,closeOnEscape:!0,on:["click"],contentStyle:{},arrowStyle:{},overlayStyle:{},className:"",position:"bottom center",modal:!1,lockScroll:!1,arrow:!0,offsetX:0,offsetY:0,mouseEnterDelay:100,mouseLeaveDelay:100,keepTooltipInside:!1});var m=function(n){function i(){return o(this,i),c(this,l(i).apply(this,arguments))}return p(i,e.PureComponent),r(i,[{key:"componentDidMount",value:function(){var e=this.props.innerRef;e&&e(t.findDOMNode(this))}},{key:"render",value:function(){var t=this.props.children;return e.Children.only(t)}}]),i}();return y});
//# sourceMappingURL=reactjs-popup.min.js.map

@@ -20,3 +20,3 @@ # Reactjs-popup

[Reactjs-popup](https://react-popup.netlify.com) is a simple react popup component with a lot of benefits :
[Reactjs-popup](https://react-popup.elazizi.com) is a simple react popup component with a lot of benefits :

@@ -37,3 +37,3 @@ - Built with react fragment that’s mean no additional wrapper Divs in your code or in the trigger element. 😮

[**Live Demo**](https://react-popup.netlify.com)
[**Live Demo**](https://react-popup.elazizi.com)

@@ -40,0 +40,0 @@ ![alt text](https://cdn-images-1.medium.com/max/800/1*x-TqQwyT2ADmnb51oRJCOg.gif)

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc