/** * Copyright since 2007 PrestaShop SA and Contributors * PrestaShop is an International Registered Trademark & Property of PrestaShop SA * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License 3.0 (AFL-3.0) * that is bundled with this package in the file LICENSE.md. * It is also available through the world-wide-web at this URL: * https://opensource.org/licenses/AFL-3.0 * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@prestashop.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to https://devdocs.prestashop.com/ for more information. * * @author PrestaShop SA and Contributors * @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) */ /* eslint-disable */ // import 'bootstrap/dist/js/bootstrap.min'; import "jquery-modal"; // import "jquery-offcanvas/dist/jquery.offcanvas.min.css"; import "tooltipster"; import "tooltipster/dist/css/tooltipster.bundle.min.css"; import "tooltipster/dist/css/plugins/tooltipster/sideTip/themes/tooltipster-sideTip-shadow.min.css"; import touchspin from "bootstrap-touchspin"; import "jquery-touchswipe"; import "./selectors"; import "./tabs.js"; import "./easyzoom"; import "./responsive"; import "./checkout"; import "./customer"; import "./listing"; import "./product"; import "./cart"; import "./facets"; import prestashop from "prestashop"; import EventEmitter from "events"; import DropDown from "./components/drop-down"; import Form from "./components/form"; import usePasswordPolicy from "./components/usePasswordPolicy"; import ProductMinitature from "./components/product-miniature"; import ProductSelect from "./components/product-select"; import TopMenu from "./components/top-menu"; import "./components/block-cart"; import $ from "jquery"; import jo from "jquery-offcanvas"; jo(window, $); touchspin(window, $); /* eslint-enable */ // "inherit" EventEmitter // eslint-disable-next-line for (const i in EventEmitter.prototype) { prestashop[i] = EventEmitter.prototype[i]; } $(() => { const dropDownEl = $(".js-dropdown"); const form = new Form(); const topMenuEl = $('.js-top-menu ul[data-depth="0"]'); const dropDown = new DropDown(dropDownEl); const topMenu = new TopMenu(topMenuEl); const productMinitature = new ProductMinitature(); const productSelect = new ProductSelect(); dropDown.init(); form.init(); topMenu.init(); productMinitature.init(); productSelect.init(); usePasswordPolicy(".field-password-policy"); $(document).ready(function () { if ($(".add-to-cart").is(":disabled")) { $(".add-to-cart").css({ "background-color": "grey", color: "white", cursor: "not-allowed", }); } }); $(".easyzoom").easyZoom({}); $('.carousel[data-touch="true"]').swipe({ swipe(event, direction) { if (direction === "left") { $(this).carousel("next"); } if (direction === "right") { $(this).carousel("prev"); } }, allowPageScroll: "vertical", }); $("#product-list-top-filters").offcanvas({ duration: 100, effect: "slide-in-over", classes: { element: "absolute top-0 z-50", }, }); $("#show-filters").on("click.offcanvas", () => { $("#overlay").show(); $("#product-list-top-filters").show(); }); $("#hide-filters").on("click.offcanvas", () => { $("#product-list-top-filters").hide(); $("#overlay").hide(); }); $("#overlay").on("click", function () { $("#product-list-top-filters").hide(); $("#overlay").hide(); }); function ThAccordion() {} $.extend(ThAccordion.prototype, { init() {}, }); $.fn.thaccordion = function () { const selectors = { root: ".th-accordion", item: ".th-accordion-item", trigger: ".th-accordion-item-trigger", svg: ".th-accordion-item-trigger-svg", content: ".th-accordion-item-content", }; let selection = null; const items = this.find(selectors.item); const rotateClass = "rotate-90 duration-500"; function collapseAll() { items.each(function () { $(this).find(selectors.content).hide(500); $(this).find(selectors.svg).removeClass(rotateClass); }); } function close() { $(selection).find(selectors.content).hide(500); $(selection).find(selectors.svg).removeClass("rotate-90"); } function open() { collapseAll(); $(selection).find(selectors.content).show(500); $(selection).find(selectors.svg).addClass(rotateClass); } function isOpen(item) { return $(item).find(selectors.content).is(":visible"); } collapseAll(); items.each(function () { const self = this; $(this) .find(selectors.trigger) .on("click", () => { if (selection === self) { if (isOpen(selection)) { close(); } else { open(); } } else { selection = self; if (!isOpen(selection)) { open(); } } }); }); }; $(".th-accordion").thaccordion(); $(".tooltip").tooltipster({ theme: "tooltipster-shadow", triggerOpen: { click: true, mouseenter: true, touchstart: true, }, interactive: true, delayTouch: [0, 2000], }); $(".toggle-main-menu").on("click", () => { $(".mobile-main-menu").toggle(); }); // Widget instructions overlay $("#widget-instructions-overlay").on("click", () => { $("#widget-instructions-overlay").hide(); }); });