{"version":3,"sources":["before.js","main.js","after.js"],"names":["$","OpalWoocommerceMain","_classCallCheck","this","initCarousel","addedToCart","initSelectOrder","_createClass","key","value","instance","is","a","x","b","document","getElementsByClassName","elmnt","y","i","arrNo","push","c","length","indexOf","classList","add","j","selElmnt","$select","getElementsByTagName","createElement","setAttribute","innerHTML","options","selectedIndex","appendChild","addEventListener","e","k","s","h","parentNode","click","trigger","stopPropagation","closeAllSelect","toggle","each","index","element","$container","$slider","closest","flexslider","selector","animation","controlNav","smoothHeight","_this2","activeGalleryThumbnail","slider","currentSlide","after","start","setTimeout","data","resize","on","find","directionNav","slideshow","$gallery","removeClass","addClass","event","$item","hasClass","remove","$img","first","before","currentTarget","outerHTML","src","object","srcset","attr","$element","items","items980","items768","dots","responsive","0","768","980","1200","$product","button","productName","text","template","wp","$wishlist","ajax","action","dataType","success","beforeSend","complete","count","OpalTheme_Woocommerce_filter","selectorsClick","selectorsChange","url","initDisplayMode","init","initCategoriesDropdown","priceSlideChange","window","history","state","woofilter","_this3","renderHtml","_this4","join","preventDefault","$this","sendRequest","val","objUrl","URL","location","href","searchParams","URLSearchParams","search","set","toString","position","offset","top","outerHeight","scrollTop","animate","getCookie","get","_this5","arguments","undefined","replaceUrl","initLoading","post","$html","title","filter","sidebar","html","content","pagetitle","pushState","scrollUp","initPriceSlider","initOrdering","getInstance","check","append","recentlyContent","hide","recentlyTitle","show","scrollHeight","height","contentHeight","_this","parent","off","replace","_this6","min_price","range","min","max","max_price","values","current_min_price","current_max_price","create","body","slide","ui","change","_this7","ca","substring","name","cname","cvalue","exdays","d","setTime","getTime","cookie","expires","ready","jQuery"],"mappings":"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","file":"main.js","sourcesContent":["(function ($) {","class OpalWoocommerceMain {\n    static instance;\n    static getInstance() {\n        if (!OpalWoocommerceMain.instance) {\n            OpalWoocommerceMain.instance = new OpalWoocommerceMain();\n        }\n        return OpalWoocommerceMain.instance;\n    }\n\n    constructor() {\n        this.initCarousel();\n        this.addedToCart();\n        this.initWishlist();\n        //this.initSlideProduct();\n        this.initSelectOrder();\n    }\n\n    initSelectOrder(){\n        if($('body').is('.post-type-archive-product, .tax-product_cat')) {\n\n            let x, i, j, selElmnt, a, b, c;\n            /*look for any elements with the class \"custom-select\":*/\n            x = document.getElementsByClassName(\"woocommerce-ordering\");\n            let $select = $('.woocommerce-ordering .orderby');\n            for (i = 0; i < x.length; i++) {\n                selElmnt = x[i].getElementsByTagName(\"select\")[0];\n                /*for each element, create a new DIV that will act as the selected item:*/\n                a = document.createElement(\"DIV\");\n                a.setAttribute(\"class\", \"select-selected\");\n                a.innerHTML = selElmnt.options[selElmnt.selectedIndex].innerHTML;\n                x[i].appendChild(a);\n                /*for each element, create a new DIV that will contain the option list:*/\n                b = document.createElement(\"DIV\");\n                b.setAttribute(\"class\", \"select-items select-hide\");\n                for (j = 1; j < selElmnt.length; j++) {\n                    /*for each option in the original select element,\n                    create a new DIV that will act as an option item:*/\n                    c = document.createElement(\"DIV\");\n                    c.innerHTML = selElmnt.options[j].innerHTML;\n                    c.addEventListener(\"click\", function (e) {\n                        /*when an item is clicked, update the original select box,\n                        and the selected item:*/\n                        let y, i, k, s, h;\n                        s = this.parentNode.parentNode.getElementsByTagName(\"select\")[0];\n                        h = this.parentNode.previousSibling;\n                        for (i = 0; i < s.length; i++) {\n                            if (s.options[i].innerHTML == this.innerHTML) {\n                                s.selectedIndex = i;\n                                h.innerHTML = this.innerHTML;\n                                y = this.parentNode.getElementsByClassName(\"same-as-selected\");\n                                for (k = 0; k < y.length; k++) {\n                                    y[k].removeAttribute(\"class\");\n                                }\n                                this.setAttribute(\"class\", \"same-as-selected\");\n                                break;\n                            }\n                        }\n                        h.click();\n                        $select.trigger('change');\n                    });\n                    b.appendChild(c);\n                }\n                x[i].appendChild(b);\n                a.addEventListener(\"click\", function (e) {\n                    /*when the select box is clicked, close any other select boxes,\n                    and open/close the current select box:*/\n                    e.stopPropagation();\n                    closeAllSelect(this);\n                    this.nextSibling.classList.toggle(\"select-hide\");\n                    this.classList.toggle(\"select-arrow-active\");\n                });\n            }\n\n            function closeAllSelect(elmnt) {\n                /*a function that will close all select boxes in the document,\n                except the current select box:*/\n                let x, y, i, arrNo = [];\n                x = document.getElementsByClassName(\"select-items\");\n                y = document.getElementsByClassName(\"select-selected\");\n                for (i = 0; i < y.length; i++) {\n                    if (elmnt == y[i]) {\n                        arrNo.push(i)\n                    } else {\n                        y[i].classList.remove(\"select-arrow-active\");\n                    }\n                }\n                for (i = 0; i < x.length; i++) {\n                    if (arrNo.indexOf(i)) {\n                        x[i].classList.add(\"select-hide\");\n                    }\n                }\n            }\n\n            /*if the user clicks anywhere outside the select box,\n            then close all select boxes:*/\n            document.addEventListener(\"click\", closeAllSelect);\n        }\n    }\n\n    initSlideProduct() {\n        $('.product-block .product-img-wrap').each((index, element) => {\n            let $slider = $(element);\n            let $container = $slider.closest('.product-block');\n            $slider.flexslider({\n                selector: '.inner > .product-image',\n                animation: 'slide',\n                controlNav: true,\n                directionNav: true,\n                slideshow: false,\n                smoothHeight: false,\n                before: (slider) => {\n\n                    if (slider.direction === 'next') {\n                        this.activeGalleryThumbnail($container, slider.currentSlide + 1);\n                    } else {\n                        this.activeGalleryThumbnail($container, slider.currentSlide - 1);\n                    }\n                },\n                after: (slider) => {\n                    this.activeGalleryThumbnail($container, slider.currentSlide);\n                },\n                start: function(){\n                    setTimeout(function(){\n                        $slider.addClass('flexslider-loaded');\n                        $slider.data('flexslider').resize();\n                    }, 500);\n                }\n                // 'animationSpeed': 500,\n            });\n            $('.gallery-nav-next', $container).on('click', function () {\n                $container.find('.flex-nav-next a').trigger('click');\n            });\n\n            $('.gallery-nav-prev', $container).on('click', function () {\n                $container.find('.flex-nav-prev a').trigger('click');\n            });\n\n            $('.gallery_item', $container).on('click', (event) => {\n                let number = $(event.currentTarget).data('number');\n                $slider.data('flexslider').flexAnimate(number);\n                this.activeGalleryThumbnail($container, number);\n            })\n        })\n    }\n\n    activeGalleryThumbnail($container, key) {\n        let $gallery = $('.woocommerce-loop-product__gallery', $container);\n        $('.gallery_item', $gallery).removeClass('active');\n        $('.gallery_item[data-number=\"' + key + '\"]', $gallery).addClass('active');\n    }\n\n    initVariableItem() {\n        $('.otf-wrap-swatches .swatch').on('click', (event) => {\n            event.preventDefault();\n            let $item = $(event.currentTarget);\n            let $container = $item.closest('.product');\n\n            if ($item.hasClass('checked')) {\n                $container.removeClass('product-swatched');\n                $item.removeClass('checked');\n                $container.find('.product-image-swatch').remove();\n            } else {\n                $item.closest('.otf-wrap-swatches').find('.swatch').removeClass('checked');\n                $container.addClass('product-swatched product-swatch-loading');\n                $item.addClass('checked');\n                let object = $item.data('image');\n                if (object.src) {\n                    let $img = $('<img />').on('load', (event) => {\n                        $container.find('.product-image-swatch').remove();\n                        $container.removeClass('product-swatch-loading');\n                        $container.find('.product-image').first().before(`<div class=\"product-image-swatch\">${event.currentTarget.outerHTML}</div>`);\n                    }).attr({\n                        src: object.src,\n                    });\n                    if (object.srcset) {\n                        $img.attr(srcset, object.srcset);\n                    }\n                }\n            }\n        })\n    }\n\n    initCarousel() {\n        $('.woocommerce-product-carousel').each((index, element) => {\n            let $element = $(element);\n            let items = $element.data('columns');\n            let itemMobile = 1;\n            let items768 = 2;\n            let items980 = items;\n            if (items > 3) {\n                items980 = items - 1;\n                items768 = items - 2;\n            }\n            if (items < 2) {\n                items768 = items;\n            }\n            $element.find('ul.products').owlCarousel({\n                items: items,\n                nav: true,\n                dots: false,\n                responsive: {\n                    0: {\n                        items: itemMobile,\n                    },\n                    480: {\n                        items: itemMobile,\n                    },\n                    768: {\n                        items: items768\n                    },\n                    980: {\n                        items: items980\n                    },\n                    1200: {\n                        items: items\n                    }\n                }\n            })\n        });\n    }\n\n    addedToCart() {\n        let $product;\n        $('body').on('adding_to_cart', function (event, button) {\n            $product = button.closest('.product');\n        }).on('added_to_cart', function () {\n            let src = $product.find('img').first().attr('src');\n            let productName = $product.find('.woocommerce-loop-product__title').text();\n            let template = wp.template('added-to-cart-template');\n            $('#page-title-bar').after(template({src: src, name: productName}));\n            setTimeout(function () {\n                $('.notification-added-to-cart').addClass('hide');\n            }, 3000);\n        });\n    }\n\n    initWishlist() {\n        $(document).on('added_to_wishlist removed_from_wishlist', function () {\n            let $wishlist = $('.opal-header-wishlist');\n            $.ajax({\n                url: yith_wcwl_l10n.ajax_url,\n                data: {\n                    action: 'osf_update_wishlist_count'\n                },\n                dataType: 'json',\n                success: function (data) {\n                    $wishlist.find('.count').text(data.count);\n                },\n                beforeSend: function () {\n                },\n                complete: function () {\n                }\n            });\n        })\n\n        $('body').on('woosw_change_count', function(event,count){\n            let $wishlist = $('.opal-header-wishlist');\n            $wishlist.find('.count').text(count);\n        });\n    }\n}\n\nclass OpalTheme_Woocommerce_filter {\n    selectorsClick = []\n    selectorsChange = []\n\n    constructor() {\n        this.selectorsClick = [\n            '#secondary .widget .product-categories a',\n            '#secondary .widget .product-brands a',\n            '#secondary .widget .woocommerce-widget-layered-nav-list a',\n            '#secondary .widget.widget_layered_nav_filters a',\n            '#secondary .widget.widget_rating_filter a',\n            '#secondary .widget_product_tag_cloud a',\n\n            '#opal-canvas-filter .widget .product-categories a',\n            '#opal-canvas-filter .widget .product-brands a',\n            '#opal-canvas-filter .widget .woocommerce-widget-layered-nav-list a',\n            '#opal-canvas-filter .widget.widget_layered_nav_filters a',\n            '#opal-canvas-filter .widget.widget_rating_filter a',\n            '#opal-canvas-filter .widget_product_tag_cloud a',\n\n            '#main ul.products + .woocommerce-pagination a',\n            '#secondary .widget .product-brands a',\n            '.otf-active-filters .widget_layered_nav_filters a',\n            '.otf-active-filters .clear-all',\n        ];\n        this.initDisplayMode();\n        this.init();\n        this.initCategoriesDropdown();\n        this.initRecentlyReviewed();\n        this.priceSlideChange();\n        this.initOrdering();\n\n        $(window).on(\"popstate\", () => {\n            if (history.state && history.state.woofilter) {\n                this.renderHtml(history.state);\n            }\n        });\n    }\n\n    init() {\n        $('body').on('click', this.selectorsClick.join(','), (event) => {\n            event.preventDefault();\n            let $this = $(event.currentTarget);\n            let url = $this.attr('href');\n            this.sendRequest(url);\n        }).on('click', '.display-mode button[type=\"submit\"]', (event) => {\n            event.preventDefault();\n            let $this = $(event.currentTarget);\n            if (!$this.hasClass('active')) {\n                let value = $this.val();\n                let objUrl = new URL(window.location.href);\n                let searchParams = new URLSearchParams(window.location.search);\n                searchParams.set('display', value);\n                objUrl.search = searchParams.toString();\n                this.sendRequest(objUrl.toString(), false);\n            }\n        });\n    }\n\n    scrollUp() {\n\n        let position = $('#primary').offset().top;\n        if ($('body').hasClass('opal-header-sticky')) {\n            position -= $('#opal-header-sticky').outerHeight();\n        }\n\n        if ($('#wpadminbar').length > 0) {\n            position -= $('#wpadminbar').outerHeight();\n        }\n        if ($(window).scrollTop() > position) {\n            $('html, body').animate({scrollTop: position}, 'slow');\n        }\n    }\n\n    replaceUrl(url) {\n        let layout = this.getCookie('otf_woocommerce_display', 'grid');\n        if (layout === 'list') {\n            if (url.indexOf('?') !== -1) {\n                url = url + '&display=list';\n            } else {\n                url = url + '?display=list';\n            }\n        }\n\n        return url;\n    }\n\n    initDisplayMode() {\n        if ($('body').hasClass('opal-woocommerce-archive')) {\n            let display = this.getCookie('otf_woocommerce_display', 'grid');\n            if (display === 'list') {\n                let url = window.location.href;\n                let objUrl = new URL(url);\n                let dp = objUrl.searchParams.get(\"display\");\n                if (!dp) {\n                    this.sendRequest(url);\n                }\n            }\n        }\n    }\n\n    sendRequest(url, replace = true) {\n        if (replace) {\n            url = this.replaceUrl(url);\n        }\n        this.initLoading(true);\n        $.post(url, (data) => {\n            if (data) {\n                let $html = $(data);\n                let state = {\n                    woofilter: true,\n                    title    : $html.filter('title').text(),\n                    sidebar  : $html.find('#secondary').html(),\n                    content  : $html.find('#primary').html(),\n                    filter   : $html.find('.opal-canvas-filter-wrap').html(),\n                    pagetitle: $html.find('#page-title-bar').html(),\n                };\n                this.renderHtml(state);\n                $(document).trigger('opal-fill-success');\n                window.history.pushState(state, state.title, url);\n            }\n            this.initLoading(false)\n        })\n    }\n\n    renderHtml(state) {\n        this.scrollUp();\n        $('head title').text(state.title);\n        $('#primary').html(state.content);\n        $('#secondary').html(state.sidebar);\n        $('#opal-canvas-filter .opal-canvas-filter-wrap').html(state.filter);\n        $('#page-title-bar').html(state.pagetitle);\n        this.initPriceSlider();\n        this.initCategoriesDropdown();\n        this.initOrdering();\n        this.initLoading(false);\n        //OpalWoocommerceMain.getInstance().initSlideProduct();\n        OpalWoocommerceMain.getInstance().initSelectOrder();\n    }\n\n    initLoading(check) {\n        if (check) {\n            $('body').addClass('opal-filter-loading').append('<div id=\"opal-woocommerce-loading\"></div>');\n        } else {\n            $('body').removeClass('opal-filter-loading');\n            $('#opal-woocommerce-loading').remove();\n        }\n    }\n\n    initRecentlyReviewed() {\n        let recentlyTitle = $('h2.otf-woocommerce-recently-viewed');\n        let recentlyContent = $('.otf-product-recently-content');\n        recentlyContent.hide();\n\n        recentlyTitle.on('click', function (e) {\n            e.stopPropagation();\n            if (!recentlyTitle.hasClass('active')) {\n                recentlyContent.show(400);\n                recentlyTitle.addClass('active');\n                let scrollHeight = $(document).height();\n                let contentHeight = $('.widget_recently_viewed_products').height();\n                $(\"html, body\").animate({scrollTop: scrollHeight}, contentHeight + 10);\n            } else {\n                recentlyContent.hide(400);\n                recentlyTitle.removeClass('active');\n            }\n        });\n\n    }\n\n\n    initCategoriesDropdown() {\n        $('.widget_product_categories ul li.cat-item').each(function () {\n            let _this = $(this);\n            _this.find('ul.children').hide();\n            if (_this.find('.current-cat').length > 0) {\n                _this.find('ul.children').show();\n                $(this).append('<i class=\"opened fa fa-chevron-up\"></i>');\n            } else if (_this.find('ul.children').length > 0) {\n                $(this).append('<i class=\"closed fa fa-chevron-down\"></i>');\n            }\n\n        });\n        $(\"body\").on(\"click\", '.widget_product_categories ul li.cat-item .closed', function () {\n            $(this).parent().find('ul.children').first().show(400);\n            $(this).parent().addClass('open');\n            $(this).removeClass('closed').removeClass('fa-chevron-down').addClass('opened').addClass('fa-chevron-up');\n        });\n        $(\"body\").on(\"click\", '.widget_product_categories ul li.cat-item .opened', function () {\n            $(this).parent().find('ul.children').first().hide(400);\n            $(this).parent().addClass('close').removeClass('open');\n            $(this).removeClass('opened').removeClass('fa-chevron-up').addClass('closed').addClass('fa-chevron-down');\n        });\n    }\n\n    initOrdering() {\n        setTimeout(() => {\n            $('.woocommerce-ordering').off('change');\n            $('.woocommerce-ordering').on('change', (event) => {\n                let $select = $(event.currentTarget).find('.orderby');\n                let url = window.location.href.replace(/&orderby(=[^&]*)?|^orderby(=[^&]*)?&?/g, '')\n                    .replace(/\\?orderby(=[^&]*)?|^orderby(=[^&]*)?&?/g, '?')\n                    .replace(/\\?$/g, '')\n\n\n                if (url.indexOf('?') !== -1) {\n                    url = url + `&orderby=${$select.val()}`;\n                } else {\n                    url = url + `?orderby=${$select.val()}`;\n                }\n                this.sendRequest(url);\n            })\n        }, 100);\n    }\n\n    initPriceSlider() {\n        setTimeout(() => {\n            if ($('.price_slider:not(.ui-slider)').length <= 0) {\n                return true;\n            }\n            $('input#min_price, input#max_price').hide();\n            $('.price_slider, .price_label').show();\n\n            let min_price         = $('.price_slider_amount #min_price').data('min'),\n                max_price         = $('.price_slider_amount #max_price').data('max'),\n                current_min_price = $('.price_slider_amount #min_price').val(),\n                current_max_price = $('.price_slider_amount #max_price').val();\n\n            $('.price_slider:not(.ui-slider)').slider({\n                range  : true,\n                animate: true,\n                min    : min_price,\n                max    : max_price,\n                values : [current_min_price, current_max_price],\n                create : function () {\n\n                    $('.price_slider_amount #min_price').val(current_min_price);\n                    $('.price_slider_amount #max_price').val(current_max_price);\n\n                    $(document.body).trigger('price_slider_create', [current_min_price, current_max_price]);\n                },\n                slide  : function (event, ui) {\n\n                    $('input#min_price').val(ui.values[0]);\n                    $('input#max_price').val(ui.values[1]);\n\n                    $(document.body).trigger('price_slider_slide', [ui.values[0], ui.values[1]]);\n                },\n                change : function (event, ui) {\n\n                    $(document.body).trigger('price_slider_change', [ui.values[0], ui.values[1]]);\n                }\n            });\n        }, 200);\n    }\n\n    priceSlideChange() {\n        $(document.body).bind('price_slider_change', (event, min, max) => {\n            let url = window.location.href.replace(/(min_price=\\d+\\&*|max_price=\\d+\\&*)/g, '')\n                .replace(/\\?$/g, '')\n            if (url.indexOf('?') !== -1) {\n                url = url + `&min_price=${min}&max_price=${max}`;\n            } else {\n                url = url + `?min_price=${min}&max_price=${max}`;\n            }\n            this.sendRequest(url);\n        })\n    }\n\n    getCookie(cname, _default) {\n        let name = cname + \"=\";\n        let ca = document.cookie.split(';');\n        for (let i = 0; i < ca.length; i++) {\n            let c = ca[i];\n            while (c.charAt(0) === ' ') {\n                c = c.substring(1);\n            }\n            if (c.indexOf(name) === 0) {\n                return c.substring(name.length, c.length);\n            }\n        }\n        return \"\";\n    }\n\n    setCookie(cname, cvalue, exdays = 10) {\n        let d = new Date();\n        d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\n        let expires = \"expires=\" + d.toUTCString();\n        document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/\";\n    }\n\n\n}\n\n$(document).ready(function () {\n    OpalWoocommerceMain.getInstance();\n    new OpalTheme_Woocommerce_filter();\n});","})(jQuery);"]}