File "woo-off-canvas.js"
Full Path: /home/amervokv/ecomlive.net/wp-content/themes/oceanwp/assets/src/js/wp-plugins/woocommerce/woo-off-canvas.js
File size: 1.3 KB
MIME-type: text/plain
Charset: utf-8
import delegate from "delegate";
class WooOffCanvas {
#elements;
constructor() {
this.#setElements();
this.#start();
this.#setupEventListeners();
}
#setElements = () => {
this.#elements = {
html: document.querySelector("html"),
body: document.body,
};
};
#start = () => {};
#setupEventListeners = () => {
delegate(
this.#elements.body,
".oceanwp-off-canvas-filter",
"click",
this.#onCanvasFilterClick
);
delegate(
this.#elements.body,
".oceanwp-off-canvas-overlay, .oceanwp-off-canvas-close",
"click",
this.#onCanvasCloseClick
);
};
#onCanvasFilterClick = (event) => {
event.preventDefault();
event.stopPropagation();
const initialHTMLInnerWidth = this.#elements.html.innerWidth;
this.#elements.html.style.overflow = "hidden";
const afterInitialHTMLInnerWidth = this.#elements.html.innerWidth;
this.#elements.html.style.marginRight =
afterInitialHTMLInnerWidth - initialHTMLInnerWidth + "px";
this.#elements.body.classList.add("off-canvas-enabled");
};
#onCanvasCloseClick = (event) => {
this.#elements.html.style.overflow = "";
this.#elements.html.style.marginRight = "";
this.#elements.body.classList.remove("off-canvas-enabled");
};
}
new WooOffCanvas();