{"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","rtl","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":"yiBAAA,SAAAA,GAAA,GCAAC,GDAA,WCEA,QAAAA,KAAA,GAAAC,GAAAC,IAAAC,iBAAAD,KAAAF,GACAI,WAAA,WACAH,EAAAI,mBACA,KDLA,MAAAC,cAAAN,IAAAO,IAAA,kBAAAC,MAAA,WAAA,GAAAC,GAAAP,IAAAH,GAAA,wBAAAW,KAAA,SAAAC,EAAAC,GCEA,GAAAC,GAAAJ,EAAAK,mBAAAf,EAAAa,IAAAG,EAAAhB,EAAAa,EAUAH,GAAAO,kBAAAD,GAVAA,EAAAE,KAAA,UAYAR,EAAAS,mBAAAH,EAAAF,QDdAN,IAAA,oBAAAC,MAAA,SCmBAO,GAAA,GAAAI,GAAAjB,KDnBAkB,EAAAL,EAAAE,KAAA,SAAAF,EAAAE,KAAA,SAAA,EAAAI,EAAAN,EAAAE,KAAA,UAAAF,EAAAE,KAAA,UAAA,EAAAK,EAAAP,EAAAE,KAAA,UAAAF,EAAAE,KAAA,UAAA,CCwBAG,GAAA,IAfArB,EAAAA,EAEA,IAAAwB,IACAC,KAAAtB,KAAAuB,mBAAAV,EAAAE,KAAA,SAAA,GACAS,IAAAxB,KAAAuB,mBAAAV,EAAAE,KAAA,QAAA,GAEAU,KAAAzB,KAAAuB,mBAAAV,EAAAE,KAAA,SAAA,GACAW,OAAA1B,KAAAuB,mBAAAV,EAAAE,KAAA,WAAA,GACAY,OAAA3B,KAAAuB,mBAAAV,EAAAE,KAAA,WAAA,GDjBAa,UAAA5B,KAAAuB,mBAAAV,EAAAE,KAAA,cAAA,GAAAc,UAAA7B,KAAAuB,mBAAAV,EAAAE,KAAA,cAAA,GAAAe,SAAA9B,KAAAuB,mBAAAV,EAAAE,KAAA,aAAA,GCmBAgB,SAAA/B,KAAAuB,mBAAAV,EAAAE,KAAA,aAAA,GAmBAiB,OAAAnB,EAAAE,KAAA,UAAAF,EAAAE,KAAA,UAAA,EAlBAkB,aAAApB,EAAAE,KAAA,iBAAAF,EAAAE,KAAA,iBAAA,EAAAmB,MAAAlC,KAAAuB,mBAAAV,EAAAE,KAAA,UAAA,GAAAoB,SAAAnC,KAAAuB,mBAAAV,EAAAE,KAAA,aAAA,GAsBAqB,UAAApC,KAAAuB,mBAAAV,EAAAE,KAAA,cAAA,GAlBAsB,cAAAxB,EAAAE,KAAA,kBAAAF,EAAAE,KAAA,kBAAA,EACAI,IAAAA,QAAAA,gBAAAA,IAEAmB,WAAAzB,EAAAE,KAAA,eAAAF,EAAAE,KAAA,eAAA,IACAO,WAAAA,KAAAA,mBAAAA,EAAAA,KAAAA,gBAAAA,GACAE,aAAAA,KAAAA,mBAAAA,EAAAA,KAAAA,kBAAAA,GACAe,WAAA1B,EAAAE,KAAA,eAAAF,EAAAE,KAAA,eAAA,GACAU,UAAAA,EAAAA,KAAAA,cAAAA,EAAAA,KAAAA,cAAAA,GACAC,SAAAA,KAAAA,mBAAAA,EAAAA,KAAAA,aAAAA,GACAC,gBAAAA,EAAAA,KAAAA,oBAAAA,EAAAA,KAAAA,oBAAAA,IACAC,mBAAAA,KAAAA,mBAAAA,EAAAA,KAAAA,yBAAAA,GAEAE,WAAAA,KAAAA,mBAAAA,EAAAA,KAAAA,gBAAAA,GACAC,YACAC,GACAC,MAAAA,EACAC,MAAAA,EACAC,aAAAA,GAEAE,KACAG,MAAAA,EACAlB,MAAA,EACAgB,aAAAA,GAEAG,KACAF,MAAAA,EACAG,aAAAA,GAEAC,KACAC,MAAAA,IAIA/B,GAAAE,KAAA,WACAG,EAAAA,YACAI,GACAW,UAAAA,SAAAA,GAHAhB,EAAA4B,mBAAAC,EAAAjC,EAAAQ,OAUAR,EAAAE,KAAA,cACAG,EAAAA,YACAe,GAFAc,cAAA,SAAAD,GAIA7B,EAAA+B,yBAAAF,EAAAjC,OAKAA,EAAAE,KAAA,WACAM,WAAAA,WAEA4B,EAAAA,YAAAA,IACApC,EAAAE,KAAA,YAFAF,EAAAqC,YAAA7B,MD9EAhB,IAAA,qBAAAC,MAAA,SCuFAe,EAAAA,EAAAA,GAEA0B,GAAAA,GAAAA,EAAAA,KAAAA,KACA,IAAA1B,EAAAI,KAAA,CACA,GAAA0B,GAAAtC,EAAAuC,KAAA,oBAAAC,OAAA,CAHA,iBAAAP,GAAAQ,KAAA7C,OAAA,GAAAqC,EAAAQ,KAAA7C,QAMAA,EAAAqC,EAAAQ,KAAA7C,MAAA0C,GACA,IACAjD,EAAAA,EAAAA,KAAAA,MAAAA,GAIAW,GAAAA,GAAAA,EAAAA,MACA0C,GAAAC,SAAA,eACAD,EAAAE,QAAA,kBAAAhD,GAAA2C,KAAA,SAAAM,YAAA,YAAAlD,KAAA,SAAAmD,EAAAC,GDtGA/D,EAAA+D,GAAA7C,KAAA,UAAAN,GAAAZ,EAAA+D,GAAAC,SAAA,iBAAAxD,IAAA,qBAAAC,MAAA,SC8GAA,EAAAwD,GACArD,WAAAA,KAAAA,EACAqD,EAEAxD,KDlHAD,IAAA,qBAAAC,MAAA,SCsHAO,GACAhB,GAAAA,KAKA,OAJAgB,GAAAuC,KAAA,OAAA5C,KAAA,SAAAC,EAAAsD,GACAC,EAAAC,KAAApE,EAAAkE,GAAAG,KAAA,UAGAF,KD5HA3D,IAAA,2BAAAC,MAAA,SAAAwC,EAAAjC,GC+HA,GAAAsD,GAAAtD,EAAAuD,MACAvD,GAAAuC,KAAA,SAAAiB,GAAA,QAAA,SAAAC,GACAH,EAAAV,QAAA,kBAAA5D,EAAAyE,EAAAC,eAAAxD,KAAA,eDjIAV,IAAA,qBAAAC,MAAA,SAAAO,EAAAF,GAAA,GAAAO,GAAAL,EAAAE,KAAA,eAAAF,EAAAE,KAAA,eAAA,EAAAiB,EAAAnB,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,gBAAA,ECuIAyD,EAAAA,+FAAAtD,EAAA,sDAAAc,EAAA,sBACAnB,EAAAA,EDxIA4D,GAAA,EAAAC,GAAA,EAAAC,MAAAC,EAAA,KCyIAZ,IAAAA,GAAAA,GAAAA,EAAAA,EAAAA,OAAAA,cAAAA,GAAAA,EAAAA,EAAAA,QAAAA,MAAAA,GAAAA,EAAAA,CAAAA,GAAAA,GAAAA,EAAAA,KACAQ,IAAAA,oBAAA,GAAA/D,EAAA,YAAA,IAAA,iBAAAA,EAAA,yBACAoE,EADA,iBD1IApE,KAAA,MAAAqE,GAAAJ,GAAA,EAAAC,EAAAG,EAAA,QAAA,KAAAL,GAAAM,EAAAC,QAAAD,EAAAC,SAAA,QAAA,GAAAN,EAAA,KAAAC,IAAAH,GAAAA,SCgJA3D,EAAAA,MAAAA,EACAsD,IAAAA,GAAAA,EAAAA,MACAnE,MAAAc,kBAAAmE,ODlJAnF,IAAAD,GAAAqF,UAAAC,MAAA,WCsJA,GAAArF,MCtJAsF","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                980: {\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);"]}