/** * 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, }, delayTouch: [0, 2000], }); $('.toggle-main-menu').on('click', () => { $('.mobile-main-menu').toggle(); }); });