1! function($) { 2 "use strict"; 3 var Tabs, old, clickHandler, changeHandler; 4 5 function Plugin(action, options) { 6 var args; 7 return args = Array.prototype.slice.call(arguments, 1), this.each(function() { 8 var $this, data; 9 (data = ($this = $(this)).data("vc.tabs")) || (data = new Tabs($this, $.extend(!0, {}, options)), $this.data("vc.tabs", data)), "string" == typeof action && data[action].apply(data, args) 10 }) 11 }(Tabs = function(element, options) { 12 this.$element = $(element), this.activeClass = "gem-tta-active", this.tabSelector = "[data-vc-tab]", this.useCacheFlag = void 0, this.$target = void 0, this.selector = void 0, this.$targetTab = void 0, this.$relatedAccordion = void 0, this.$container = void 0 13 }).prototype.isCacheUsed = function() { 14 var useCache, that; 15 return useCache = function() { 16 return !1 !== that.$element.data("vcUseCache") 17 }, void 0 === (that = this).useCacheFlag && (this.useCacheFlag = useCache()), this.useCacheFlag 18 }, Tabs.prototype.getContainer = function() { 19 return this.isCacheUsed() ? (void 0 === this.$container && (this.$container = this.findContainer()), this.$container) : this.findContainer() 20 }, Tabs.prototype.findContainer = function() { 21 var $container; 22 return ($container = this.$element.closest(this.$element.data("vcContainer"))).length || ($container = $("body")), $container 23 }, Tabs.prototype.getContainerAccordion = function() { 24 return this.getContainer().find("[data-vc-accordion]") 25 }, Tabs.prototype.getSelector = function() { 26 var findSelector, $this; 27 return $this = this.$element, findSelector = function() { 28 var selector; 29 return (selector = $this.data("vcTarget")) || (selector = $this.attr("href")), selector 30 }, this.isCacheUsed() ? (void 0 === this.selector && (this.selector = findSelector()), this.selector) : findSelector() 31 }, Tabs.prototype.getTarget = function() { 32 var selector; 33 return selector = this.getSelector(), this.isCacheUsed() ? (void 0 === this.$target && (this.$target = this.getContainer().find(selector)), this.$target) : this.getContainer().find(selector) 34 }, Tabs.prototype.getRelatedAccordion = function() { 35 var tab, filterElements; 36 return filterElements = function() { 37 var $elements; 38 if (($elements = tab.getContainerAccordion().filter(function() { 39 var $that, accordion; 40 return void 0 === (accordion = ($that = $(this)).data("vc.accordion")) && ($that.vcAccordion(), accordion = $that.data("vc.accordion")), tab.getSelector() === accordion.getSelector() 41 })).length) return $elements 42 }, (tab = this).isCacheUsed() ? (void 0 === this.$relatedAccordion && (this.$relatedAccordion = filterElements()), this.$relatedAccordion) : filterElements() 43 }, Tabs.prototype.triggerEvent = function(event) { 44 var $event; 45 "string" == typeof event && ($event = $.Event(event), this.$element.trigger($event)) 46 }, Tabs.prototype.getTargetTab = function() { 47 var $this; 48 return $this = this.$element, this.isCacheUsed() ? (void 0 === this.$targetTab && (this.$targetTab = $this.closest(this.tabSelector)), this.$targetTab) : $this.closest(this.tabSelector) 49 }, Tabs.prototype.tabClick = function() { 50 let $vcTabs = $('[data-vc-tabs]') 51 this.getRelatedAccordion().trigger("click") 52 $vcTabs.css('pointer-events', 'none') 53 setTimeout(() => $vcTabs.css('pointer-events', ''), 800) 54 }, Tabs.prototype.show = function() { 55 this.getTargetTab().hasClass(this.activeClass) || (this.triggerEvent("show.vc.tab"), this.getTargetTab().addClass(this.activeClass)) 56 }, Tabs.prototype.hide = function() { 57 this.getTargetTab().hasClass(this.activeClass) && (this.triggerEvent("hide.vc.tab"), this.getTargetTab().removeClass(this.activeClass)) 58 }, old = $.fn.vcTabs, $.fn.vcTabs = Plugin, $.fn.vcTabs.Constructor = Tabs, $.fn.vcTabs.noConflict = function() { 59 return $.fn.vcTabs = old, this 60 }, clickHandler = function(e) { 61 var $this; 62 $this = $(this), e.preventDefault(), Plugin.call($this, "tabClick") 63 }, changeHandler = function(e) { 64 var caller; 65 (caller = $(e.target).data("vc.accordion")) && (void 0 === caller.getRelatedTab && (caller.getRelatedTab = function() { 66 var findTargets; 67 return findTargets = function() { 68 return caller.getContainer().find("[data-vc-tabs]").filter(function() { 69 var $this; 70 return void 0 === ($this = $(this)).data("vc.accordion") && $this.vcAccordion(), $this.data("vc.accordion").getSelector() === caller.getSelector() 71 }) 72 }
72, caller.isCacheUsed() ? (void 0 === caller.relatedTab && (caller.relatedTab = findTargets()), caller.relatedTab) : findTargets() 73 }), Plugin.call(caller.getRelatedTab(), e.type)) 74 }, $(document).on("click.vc.tabs.data-api", "[data-vc-tabs]", clickHandler), $(document).on("show.vc.accordion hide.vc.accordion", changeHandler) 75}(window.jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.