@total_onion/onion-modalcontroller 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/onion-modalcontroller.js +13 -6
- package/package.json +2 -5
package/onion-modalcontroller.js
CHANGED
|
@@ -9,6 +9,7 @@ export default class modalController {
|
|
|
9
9
|
closeDelay: 0,
|
|
10
10
|
closingClass: "",
|
|
11
11
|
activateDelay: 0,
|
|
12
|
+
lenis: false,
|
|
12
13
|
};
|
|
13
14
|
this.scanForNewTriggers();
|
|
14
15
|
|
|
@@ -24,7 +25,7 @@ export default class modalController {
|
|
|
24
25
|
|
|
25
26
|
scanForNewTriggers() {
|
|
26
27
|
this.globalModalTriggers = document.body.querySelectorAll(
|
|
27
|
-
"[data-modalpopuptrigger]"
|
|
28
|
+
"[data-modalpopuptrigger]",
|
|
28
29
|
);
|
|
29
30
|
}
|
|
30
31
|
handleBgClicks() {
|
|
@@ -39,7 +40,7 @@ export default class modalController {
|
|
|
39
40
|
return;
|
|
40
41
|
}
|
|
41
42
|
const closeButtons = modalPopup.querySelectorAll(
|
|
42
|
-
this.globalSettings.closeSelector || "#modal-controller-popup__close-btn"
|
|
43
|
+
this.globalSettings.closeSelector || "#modal-controller-popup__close-btn",
|
|
43
44
|
);
|
|
44
45
|
closeButtons.forEach((closeButton) => {
|
|
45
46
|
if (closeButton.dataset.modalpopupCloseBound === "true") {
|
|
@@ -76,14 +77,14 @@ export default class modalController {
|
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
const popupContent = document.querySelector(
|
|
79
|
-
".modal-controller-popup__content"
|
|
80
|
+
".modal-controller-popup__content",
|
|
80
81
|
);
|
|
81
82
|
if (!popupContent) {
|
|
82
83
|
return;
|
|
83
84
|
}
|
|
84
85
|
|
|
85
86
|
const modalPopupContent = document.querySelector(
|
|
86
|
-
`[data-modalpopupcontent=${triggerName}]
|
|
87
|
+
`[data-modalpopupcontent=${triggerName}]`,
|
|
87
88
|
);
|
|
88
89
|
|
|
89
90
|
if (modalPopupContent) {
|
|
@@ -104,6 +105,9 @@ export default class modalController {
|
|
|
104
105
|
requestAnimationFrame(() => {
|
|
105
106
|
modalPopup.classList.add("open");
|
|
106
107
|
document.documentElement.classList.add("lock-position");
|
|
108
|
+
if (this.globalSettings.lenis) {
|
|
109
|
+
document.body.dataset.lenisPrevent = "true";
|
|
110
|
+
}
|
|
107
111
|
});
|
|
108
112
|
this.handleCloseButtonClicks();
|
|
109
113
|
} else {
|
|
@@ -116,13 +120,16 @@ export default class modalController {
|
|
|
116
120
|
}
|
|
117
121
|
modalPopup.classList.remove("open");
|
|
118
122
|
document.documentElement.classList.remove("lock-position");
|
|
123
|
+
if (this.globalSettings.lenis) {
|
|
124
|
+
delete document.body.dataset.lenisPrevent;
|
|
125
|
+
}
|
|
119
126
|
const popupContent = modalPopup.querySelector(
|
|
120
|
-
".modal-controller-popup__content"
|
|
127
|
+
".modal-controller-popup__content",
|
|
121
128
|
);
|
|
122
129
|
|
|
123
130
|
if (popupContent) {
|
|
124
131
|
const activeContents = popupContent.querySelectorAll(
|
|
125
|
-
"[data-modalpopupcontent].active"
|
|
132
|
+
"[data-modalpopupcontent].active",
|
|
126
133
|
);
|
|
127
134
|
const closeDelay = Number(this.globalSettings.closeDelay) || 0;
|
|
128
135
|
const closingClass = this.globalSettings.closingClass;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@total_onion/onion-modalcontroller",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Pop up modal controller",
|
|
5
5
|
"main": "onion-modalcontroller.js",
|
|
6
6
|
"scripts": {
|
|
@@ -17,8 +17,5 @@
|
|
|
17
17
|
},
|
|
18
18
|
"homepage": "https://github.com/TotalOnion/onion-modalcontroller#readme",
|
|
19
19
|
"devDependencies": {},
|
|
20
|
-
"dependencies": {
|
|
21
|
-
"@total_onion/onion-loader": "^1.0.9",
|
|
22
|
-
"@pernod-ricard-global-cms/cbllazyloader": "^2.2.1"
|
|
23
|
-
}
|
|
20
|
+
"dependencies": {}
|
|
24
21
|
}
|