Skip to content

Commit 48b1f0d

Browse files
authored
Merge pull request #63 from yjose/V1.3.2
V1.3.2
2 parents f06ed79 + 6a5cc59 commit 48b1f0d

File tree

9 files changed

+125
-54
lines changed

9 files changed

+125
-54
lines changed

lib/index.d.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ declare module 'reactjs-popup' {
1919
lockScroll?: boolean;
2020
closeOnDocumentClick?: boolean;
2121
closeOnEscape?: boolean;
22+
repositionOnResize?: boolean;
2223
mouseEnterDelay?: number;
2324
mouseLeaveDelay?: number;
2425
onOpen?: () => any;
@@ -29,7 +30,5 @@ declare module 'reactjs-popup' {
2930
keepTooltipInside?: boolean | string;
3031
}
3132

32-
class Popup extends React.Component<Props> {}
33-
34-
export = Popup;
33+
export default class Popup extends React.PureComponent<Props> {}
3534
}

lib/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "reactjs-popup",
3-
"version": "1.3.1",
3+
"version": "1.3.2",
44
"description": "React Popup Component - Modals,Tooltips and Menus —  All in one",
55
"main": "reactjs-popup.cjs.js",
66
"module": "reactjs-popup.es.js",
@@ -35,5 +35,5 @@
3535
"bugs": {
3636
"url": "https://github.com/yjose/reactjs-popup/issues"
3737
},
38-
"homepage": "https://react-popup.netlify.com/"
38+
"homepage": "https://react-popup.elazizi.com/"
3939
}

lib/reactjs-popup.cjs.js

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* reactjs-popup v1.3.1
2+
* reactjs-popup v1.3.2
33
* (c) 2018-present Youssouf EL AZIZI <youssoufelazizi@gmail.com>
44
* Released under the MIT License.
55
*/
@@ -326,6 +326,14 @@ function (_React$PureComponent) {
326326

327327
});
328328

329+
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "repositionOnResize", function () {
330+
_this.setPosition();
331+
});
332+
333+
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "onEscape", function (e) {
334+
if (e.key === "Escape") _this.closePopup();
335+
});
336+
329337
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "lockScroll", function () {
330338
if (_this.state.modal && _this.props.lockScroll) document.getElementsByTagName("body")[0].style.overflow = "hidden";
331339
});
@@ -403,15 +411,17 @@ function (_React$PureComponent) {
403411
});
404412

405413
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "setPosition", function () {
414+
var _this$state = _this.state,
415+
modal = _this$state.modal,
416+
isOpen = _this$state.isOpen;
417+
if (modal || !isOpen) return;
406418
var _this$props = _this.props,
407419
arrow = _this$props.arrow,
408420
position = _this$props.position,
409421
offsetX = _this$props.offsetX,
410422
offsetY = _this$props.offsetY,
411423
keepTooltipInside = _this$props.keepTooltipInside,
412424
arrowStyle = _this$props.arrowStyle;
413-
var modal = _this.state.modal;
414-
if (modal) return;
415425

416426
var helper = _this.HelperEl.getBoundingClientRect();
417427

@@ -532,17 +542,18 @@ function (_React$PureComponent) {
532542
_createClass(Popup, [{
533543
key: "componentDidMount",
534544
value: function componentDidMount() {
535-
var _this2 = this;
536-
537545
var _this$props5 = this.props,
538546
closeOnEscape = _this$props5.closeOnEscape,
539-
defaultOpen = _this$props5.defaultOpen;
547+
defaultOpen = _this$props5.defaultOpen,
548+
repositionOnResize = _this$props5.repositionOnResize;
540549
if (defaultOpen) this.setPosition();
541550

542551
if (closeOnEscape) {
543-
window.addEventListener("keyup", function (e) {
544-
if (e.key === "Escape") _this2.closePopup();
545-
});
552+
window.addEventListener("keyup", this.onEscape);
553+
}
554+
555+
if (repositionOnResize) {
556+
window.addEventListener('resize', this.repositionOnResize);
546557
}
547558
}
548559
}, {
@@ -563,14 +574,25 @@ function (_React$PureComponent) {
563574
value: function componentWillUnmount() {
564575
// kill any function to execute if the component is unmounted
565576
clearTimeout(this.timeOut);
577+
var _this$props6 = this.props,
578+
closeOnEscape = _this$props6.closeOnEscape,
579+
repositionOnResize = _this$props6.repositionOnResize; // remove events listeners
580+
581+
if (closeOnEscape) {
582+
window.removeEventListener("keyup", this.onEscape);
583+
}
584+
585+
if (repositionOnResize) {
586+
window.removeEventListener('resize', this.repositionOnResize);
587+
}
566588
}
567589
}, {
568590
key: "render",
569591
value: function render() {
570-
var _this$props6 = this.props,
571-
overlayStyle = _this$props6.overlayStyle,
572-
closeOnDocumentClick = _this$props6.closeOnDocumentClick,
573-
on = _this$props6.on;
592+
var _this$props7 = this.props,
593+
overlayStyle = _this$props7.overlayStyle,
594+
closeOnDocumentClick = _this$props7.closeOnDocumentClick,
595+
on = _this$props7.on;
574596
var modal = this.state.modal;
575597
var overlay = this.state.isOpen && !(on.indexOf("hover") >= 0);
576598
var ovStyle = modal ? styles.overlay.modal : styles.overlay.tooltip;
@@ -608,6 +630,7 @@ _defineProperty(Popup, "defaultProps", {
608630
open: false,
609631
disabled: false,
610632
closeOnDocumentClick: true,
633+
repositionOnResize: true,
611634
closeOnEscape: true,
612635
on: ["click"],
613636
contentStyle: {},
@@ -636,6 +659,7 @@ if (process.env.NODE_ENV !== "production") {
636659
className: PropTypes.string,
637660
modal: PropTypes.bool,
638661
closeOnDocumentClick: PropTypes.bool,
662+
repositionOnResize: PropTypes.bool,
639663
disabled: PropTypes.bool,
640664
lockScroll: PropTypes.bool,
641665
offsetX: PropTypes.number,

lib/reactjs-popup.es.js

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* reactjs-popup v1.3.1
2+
* reactjs-popup v1.3.2
33
* (c) 2018-present Youssouf EL AZIZI <youssoufelazizi@gmail.com>
44
* Released under the MIT License.
55
*/
@@ -322,6 +322,14 @@ function (_React$PureComponent) {
322322

323323
});
324324

325+
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "repositionOnResize", function () {
326+
_this.setPosition();
327+
});
328+
329+
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "onEscape", function (e) {
330+
if (e.key === "Escape") _this.closePopup();
331+
});
332+
325333
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "lockScroll", function () {
326334
if (_this.state.modal && _this.props.lockScroll) document.getElementsByTagName("body")[0].style.overflow = "hidden";
327335
});
@@ -399,15 +407,17 @@ function (_React$PureComponent) {
399407
});
400408

401409
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "setPosition", function () {
410+
var _this$state = _this.state,
411+
modal = _this$state.modal,
412+
isOpen = _this$state.isOpen;
413+
if (modal || !isOpen) return;
402414
var _this$props = _this.props,
403415
arrow = _this$props.arrow,
404416
position = _this$props.position,
405417
offsetX = _this$props.offsetX,
406418
offsetY = _this$props.offsetY,
407419
keepTooltipInside = _this$props.keepTooltipInside,
408420
arrowStyle = _this$props.arrowStyle;
409-
var modal = _this.state.modal;
410-
if (modal) return;
411421

412422
var helper = _this.HelperEl.getBoundingClientRect();
413423

@@ -528,17 +538,18 @@ function (_React$PureComponent) {
528538
_createClass(Popup, [{
529539
key: "componentDidMount",
530540
value: function componentDidMount() {
531-
var _this2 = this;
532-
533541
var _this$props5 = this.props,
534542
closeOnEscape = _this$props5.closeOnEscape,
535-
defaultOpen = _this$props5.defaultOpen;
543+
defaultOpen = _this$props5.defaultOpen,
544+
repositionOnResize = _this$props5.repositionOnResize;
536545
if (defaultOpen) this.setPosition();
537546

538547
if (closeOnEscape) {
539-
window.addEventListener("keyup", function (e) {
540-
if (e.key === "Escape") _this2.closePopup();
541-
});
548+
window.addEventListener("keyup", this.onEscape);
549+
}
550+
551+
if (repositionOnResize) {
552+
window.addEventListener('resize', this.repositionOnResize);
542553
}
543554
}
544555
}, {
@@ -559,14 +570,25 @@ function (_React$PureComponent) {
559570
value: function componentWillUnmount() {
560571
// kill any function to execute if the component is unmounted
561572
clearTimeout(this.timeOut);
573+
var _this$props6 = this.props,
574+
closeOnEscape = _this$props6.closeOnEscape,
575+
repositionOnResize = _this$props6.repositionOnResize; // remove events listeners
576+
577+
if (closeOnEscape) {
578+
window.removeEventListener("keyup", this.onEscape);
579+
}
580+
581+
if (repositionOnResize) {
582+
window.removeEventListener('resize', this.repositionOnResize);
583+
}
562584
}
563585
}, {
564586
key: "render",
565587
value: function render() {
566-
var _this$props6 = this.props,
567-
overlayStyle = _this$props6.overlayStyle,
568-
closeOnDocumentClick = _this$props6.closeOnDocumentClick,
569-
on = _this$props6.on;
588+
var _this$props7 = this.props,
589+
overlayStyle = _this$props7.overlayStyle,
590+
closeOnDocumentClick = _this$props7.closeOnDocumentClick,
591+
on = _this$props7.on;
570592
var modal = this.state.modal;
571593
var overlay = this.state.isOpen && !(on.indexOf("hover") >= 0);
572594
var ovStyle = modal ? styles.overlay.modal : styles.overlay.tooltip;
@@ -604,6 +626,7 @@ _defineProperty(Popup, "defaultProps", {
604626
open: false,
605627
disabled: false,
606628
closeOnDocumentClick: true,
629+
repositionOnResize: true,
607630
closeOnEscape: true,
608631
on: ["click"],
609632
contentStyle: {},
@@ -632,6 +655,7 @@ if (process.env.NODE_ENV !== "production") {
632655
className: PropTypes.string,
633656
modal: PropTypes.bool,
634657
closeOnDocumentClick: PropTypes.bool,
658+
repositionOnResize: PropTypes.bool,
635659
disabled: PropTypes.bool,
636660
lockScroll: PropTypes.bool,
637661
offsetX: PropTypes.number,

lib/reactjs-popup.js

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* reactjs-popup v1.3.1
2+
* reactjs-popup v1.3.2
33
* (c) 2018-present Youssouf EL AZIZI <youssoufelazizi@gmail.com>
44
* Released under the MIT License.
55
*/
@@ -327,6 +327,14 @@
327327

328328
});
329329

330+
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "repositionOnResize", function () {
331+
_this.setPosition();
332+
});
333+
334+
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "onEscape", function (e) {
335+
if (e.key === "Escape") _this.closePopup();
336+
});
337+
330338
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "lockScroll", function () {
331339
if (_this.state.modal && _this.props.lockScroll) document.getElementsByTagName("body")[0].style.overflow = "hidden";
332340
});
@@ -404,15 +412,17 @@
404412
});
405413

406414
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "setPosition", function () {
415+
var _this$state = _this.state,
416+
modal = _this$state.modal,
417+
isOpen = _this$state.isOpen;
418+
if (modal || !isOpen) return;
407419
var _this$props = _this.props,
408420
arrow = _this$props.arrow,
409421
position = _this$props.position,
410422
offsetX = _this$props.offsetX,
411423
offsetY = _this$props.offsetY,
412424
keepTooltipInside = _this$props.keepTooltipInside,
413425
arrowStyle = _this$props.arrowStyle;
414-
var modal = _this.state.modal;
415-
if (modal) return;
416426

417427
var helper = _this.HelperEl.getBoundingClientRect();
418428

@@ -533,17 +543,18 @@
533543
_createClass(Popup, [{
534544
key: "componentDidMount",
535545
value: function componentDidMount() {
536-
var _this2 = this;
537-
538546
var _this$props5 = this.props,
539547
closeOnEscape = _this$props5.closeOnEscape,
540-
defaultOpen = _this$props5.defaultOpen;
548+
defaultOpen = _this$props5.defaultOpen,
549+
repositionOnResize = _this$props5.repositionOnResize;
541550
if (defaultOpen) this.setPosition();
542551

543552
if (closeOnEscape) {
544-
window.addEventListener("keyup", function (e) {
545-
if (e.key === "Escape") _this2.closePopup();
546-
});
553+
window.addEventListener("keyup", this.onEscape);
554+
}
555+
556+
if (repositionOnResize) {
557+
window.addEventListener('resize', this.repositionOnResize);
547558
}
548559
}
549560
}, {
@@ -564,14 +575,25 @@
564575
value: function componentWillUnmount() {
565576
// kill any function to execute if the component is unmounted
566577
clearTimeout(this.timeOut);
578+
var _this$props6 = this.props,
579+
closeOnEscape = _this$props6.closeOnEscape,
580+
repositionOnResize = _this$props6.repositionOnResize; // remove events listeners
581+
582+
if (closeOnEscape) {
583+
window.removeEventListener("keyup", this.onEscape);
584+
}
585+
586+
if (repositionOnResize) {
587+
window.removeEventListener('resize', this.repositionOnResize);
588+
}
567589
}
568590
}, {
569591
key: "render",
570592
value: function render() {
571-
var _this$props6 = this.props,
572-
overlayStyle = _this$props6.overlayStyle,
573-
closeOnDocumentClick = _this$props6.closeOnDocumentClick,
574-
on = _this$props6.on;
593+
var _this$props7 = this.props,
594+
overlayStyle = _this$props7.overlayStyle,
595+
closeOnDocumentClick = _this$props7.closeOnDocumentClick,
596+
on = _this$props7.on;
575597
var modal = this.state.modal;
576598
var overlay = this.state.isOpen && !(on.indexOf("hover") >= 0);
577599
var ovStyle = modal ? styles.overlay.modal : styles.overlay.tooltip;
@@ -609,6 +631,7 @@
609631
open: false,
610632
disabled: false,
611633
closeOnDocumentClick: true,
634+
repositionOnResize: true,
612635
closeOnEscape: true,
613636
on: ["click"],
614637
contentStyle: {},
@@ -637,6 +660,7 @@
637660
className: PropTypes.string,
638661
modal: PropTypes.bool,
639662
closeOnDocumentClick: PropTypes.bool,
663+
repositionOnResize: PropTypes.bool,
640664
disabled: PropTypes.bool,
641665
lockScroll: PropTypes.bool,
642666
offsetX: PropTypes.number,

0 commit comments

Comments
 (0)