{"version":3,"sources":["before.js","carousel.js","after.js"],"names":["$","OTF_Owl_Carousel","_this","this","_classCallCheck","setTimeout","initOwlCarousel","_createClass","key","value","_this2","each","index","element","listImages","_getImageThumbnail","$element","_setupOwlCarousel","data","_initOwlThumbnails","_this3","items","items768","itemMobile","settings","dots","_setDefaultBoolean","nav","loop","center","rewind","mouseDrag","touchDrag","pullDrag","freeDrag","margin","stagePadding","merge","mergeFit","autoWidth","startPosition","smartSpeed","animateOut","dragEndSpeed","animateIn","autoplayTimeout","autoplayHoverPause","_changedCarouselCB","event","onInitialized","_thumbnailCarouselLoaded","onChanged","owlCarousel","itemClone","find","length","item","$carouselThumbnail","hasClass","trigger","removeClass","i","el","addClass","valueDefault","img","listImage","push","attr","$carousel","prev","on","e","currentTarget","html","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","image","err","_iterator","return","$thumb","document","ready","jQuery"],"mappings":"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","file":"carousel.js","sourcesContent":["(function ($) {","class OTF_Owl_Carousel {\n\n    constructor() {\n        setTimeout(() => {\n            this.initOwlCarousel();\n        }, 200);\n    }\n\n    initOwlCarousel() {\n        $('[data-opal-carousel]').each((index, element) => {\n            let listImages = this._getImageThumbnail($(element));\n            let $element = $(element);\n            this._setupOwlCarousel($element);\n            if ($element.data('thumb')) {\n                this._initOwlThumbnails($element, listImages);\n            }\n        })\n    }\n\n    _setupOwlCarousel($element) {\n        let items = $element.data('items') ? $element.data('items') : 3,\n            items768 = $element.data('tablet') ? $element.data('tablet') : 2,\n            itemMobile = $element.data('mobile') ? $element.data('mobile') : 1;\n\n        if (items < 3) {\n            items768 = items;\n        }\n        let settings = {\n            dots: this._setDefaultBoolean($element.data('dots'), true),\n            nav: this._setDefaultBoolean($element.data('nav'), true),\n            //items             : $element.data('items') ? $element.data('items') : 3,\n            loop: this._setDefaultBoolean($element.data('loop'), true),\n            center: this._setDefaultBoolean($element.data('center'), false),\n            rewind: this._setDefaultBoolean($element.data('rewind'), false),\n            mouseDrag: this._setDefaultBoolean($element.data('mousedrag'), true),\n            touchDrag: this._setDefaultBoolean($element.data('touchdrag'), true),\n            pullDrag: this._setDefaultBoolean($element.data('pulldrag'), true),\n            freeDrag: this._setDefaultBoolean($element.data('freedrag'), false),\n            margin: $element.data('margin') ? $element.data('margin') : 0,\n            stagePadding: $element.data('stage-padding') ? $element.data('stage-padding') : 0,\n            merge: this._setDefaultBoolean($element.data('merge'), false),\n            mergeFit: this._setDefaultBoolean($element.data('mergefit'), true),\n            autoWidth: this._setDefaultBoolean($element.data('autowidth'), false),\n            startPosition: $element.data('start-position') ? $element.data('start-position') : 0,\n            //rtl               : opalrealesateJS.rtl == 'true',\n            //responsive        : {},\n            smartSpeed: $element.data('smart-speed') ? $element.data('smart-speed') : 250,\n            fluidSpeed: this._setDefaultBoolean($element.data('fluid-speed'), false),\n            dragEndSpeed: this._setDefaultBoolean($element.data('dragend-speed'), false),\n            animateOut: $element.data('animate-out') ? $element.data('animate-out') : '',\n            animateIn: $element.data('animate-in') ? $element.data('animate-in') : '',\n            autoplay: this._setDefaultBoolean($element.data('autoplay'), false),\n            autoplayTimeout: $element.data('autoplay-timeout') ? $element.data('autoplay-timeout') : 5000,\n            autoplayHoverPause: this._setDefaultBoolean($element.data('autoplay-hover-pause'), false),\n            // navText           : opalrealesateJS.navText,\n            autoHeight: this._setDefaultBoolean($element.data('auto-height'), true),\n            responsive: {\n                0: {\n                    items: itemMobile,\n                    dots: false,\n                    stagePadding: 0,\n                },\n                480: {\n                    items: itemMobile,\n                    dots: false,\n                    stagePadding: 0\n                },\n                768: {\n                    items: items768,\n                    stagePadding: 0\n                },\n                1025: {\n                    items: items\n                }\n            }\n        };\n        if ($element.data('thumb')) {\n            settings = {\n                ...settings, ...{\n                    onChanged: (event) => {\n                        this._changedCarouselCB(event, $element, settings)\n                    }\n                }\n            }\n        }\n\n        if ($element.data('is-thumb')) {\n            settings = {\n                ...settings, ...{\n                    onInitialized: (event) => {\n                        this._thumbnailCarouselLoaded(event, $element);\n                    }\n                }\n            }\n        }\n        if ($element.data('timeout')) {\n            setTimeout(() => {\n                $element.owlCarousel(settings);\n            }, $element.data('timeout'));\n        } else {\n            $element.owlCarousel(settings);\n        }\n    }\n\n    _changedCarouselCB(event, $element, settings) {\n        let index = event.item.index;\n        if (settings.loop) {\n            let itemClone = $element.find('.owl-item.cloned').length / 2;\n            if (typeof event.item.index === 'number' && event.item.index != 0) {\n                index = event.item.index - itemClone;\n                if (index < 0) {\n                    index = event.item.count + index;\n                }\n            }\n        }\n        let $carouselThumbnail = $element.next();\n        if ($carouselThumbnail.hasClass('owl-loaded')) {\n            $carouselThumbnail.trigger('to.owl.carousel', index).find('.item').removeClass('selected').each((i, el) => {\n                if ($(el).data('index') == index) {\n                    $(el).addClass('selected');\n                }\n            });\n        }\n\n    }\n\n    _setDefaultBoolean(value, valueDefault) {\n        if (typeof value === 'undefined') {\n            return valueDefault;\n        } else {\n            return value;\n        }\n    }\n\n    _getImageThumbnail($element) {\n        let listImage = [];\n        $element.find('img').each((index, img) => {\n            listImage.push($(img).attr('src'));\n        });\n        return listImage;\n    }\n\n    _thumbnailCarouselLoaded(event, $element) {\n        let $carousel = $element.prev();\n        $element.find('.item').on('click', (e) => {\n            $carousel.trigger('to.owl.carousel', $(e.currentTarget).data('index'));\n        })\n    }\n\n    _initOwlThumbnails($element, listImages) {\n        let items = $element.data('thumb-items') ? $element.data('thumb-items') : 5;\n        let margin = $element.data('thumb-margin') ? $element.data('thumb-margin') : 0;\n        let html = `<div class=\"owl-carousel owl-theme owl-carousel-thumbnail\" data-is-thumb=\"true\" data-items=\"${items}\" data-dots=\"false\" data-loop=\"false\" data-margin=\"${margin}\" data-nav=\"false\">`;\n        let index = 0;\n        for (let image of listImages) {\n            html += `<div class=\"item${index == 0 ? ' selected' : ''}\" data-index=\"${index}\">\n        <img src=\"${image}\">\n    </div>`;\n            index++;\n        }\n        html += `</div>`;\n\n        $element.after(html);\n        let $thumb = $element.next();\n        this._setupOwlCarousel($thumb);\n    }\n}\n\n$(document).ready(() => {\n    new OTF_Owl_Carousel();\n});","})(jQuery);"]}