vendor: 7,153 bytes, lines 1-164
1/*! 2 * Bootstrap tab.js v4.6.0 (https://getbootstrap.com/) 3 * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 4 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5 */ 6(function (global, factory) { 7 typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : 8 typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) : 9 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tab = factory(global.jQuery, global.Util)); 10}(this, (function ($, Util) { 11 'use strict'; 12 13 function _interopDefaultLegacy(e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } 14 15 var $__default = /*#__PURE__*/_interopDefaultLegacy($); 16 var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util); 17 18 function _defineProperties(target, props) { 19 for (var i = 0; i < props.length; i++) { 20 var descriptor = props[i]; 21 descriptor.enumerable = descriptor.enumerable || false; 22 descriptor.configurable = true; 23 if ("value" in descriptor) descriptor.writable = true; 24 Object.defineProperty(target, descriptor.key, descriptor); 25 } 26 } 27 28 function _createClass(Constructor, protoProps, staticProps) { 29 if (protoProps) _defineProperties(Constructor.prototype, protoProps); 30 if (staticProps) _defineProperties(Constructor, staticProps); 31 return Constructor; 32 } 33 34 /** 35 * ------------------------------------------------------------------------ 36 * Constants 37 * ------------------------------------------------------------------------ 38 */ 39 40 var NAME = 'tab'; 41 var VERSION = '4.6.0'; 42 var DATA_KEY = 'bs.tab'; 43 var EVENT_KEY = "." + DATA_KEY; 44 var DATA_API_KEY = '.data-api'; 45 var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME]; 46 var EVENT_HIDE = "hide" + EVENT_KEY; 47 var EVENT_HIDDEN = "hidden" + EVENT_KEY; 48 var EVENT_SHOW = "show" + EVENT_KEY; 49 var EVENT_SHOWN = "shown" + EVENT_KEY; 50 var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY; 51 var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'; 52 var CLASS_NAME_ACTIVE = 'active'; 53 var CLASS_NAME_DISABLED = 'disabled'; 54 var CLASS_NAME_FADE = 'fade'; 55 var CLASS_NAME_SHOW = 'show'; 56 var SELECTOR_DROPDOWN = '.dropdown'; 57 var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; 58 var SELECTOR_ACTIVE = '.active'; 59 var SELECTOR_ACTIVE_UL = '> li > .active'; 60 var SELECTOR_DATA_TOGGLE = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]'; 61 var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; 62 var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active'; 63 /** 64 * ------------------------------------------------------------------------ 65 * Class Definition 66 * ------------------------------------------------------------------------ 67 */ 68 69 var Tab = /*#__PURE__*/function () { 70 function Tab(element) { 71 this._element = element; 72 } // Getters 73 74 75 var _proto = Tab.prototype; 76 77 // Public 78 _proto.show = function show() { 79 var _this = this; 80 81 if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $__default['default'](this._element).hasClass(CLASS_NAME_ACTIVE) || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)) { 82 return; 83 } 84 85 var target; 86 var previous; 87 var listElement = $__default['default'](this._element).closest(SELECTOR_NAV_LIST_GROUP)[0]; 88 var selector = Util__default['default'].getSelectorFromElement(this._element); 89 90 if (listElement) { 91 var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE; 92 previous = $__default['default'].makeArray($__default['default'](listElement).find(itemSelector)); 93 previous = previous[previous.length - 1]; 94 } 95 96 var hideEvent = $__default['default'].Event(EVENT_HIDE, { 97 relatedTarget: this._element 98 }); 99 var showEvent = $__default['default'].Event(EVENT_SHOW, { 100 relatedTarget: previous 101 }); 102 103 if (previous) { 104 $__default['default'](previous).trigger(hideEvent); 105 } 106 107 $__default['default'](this._element).trigger(showEvent); 108 109 if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) { 110 return; 111 } 112 113 if (selector) { 114 target = document.querySelector(selector); 115 } 116 117 this._activate(this._element, listElement); 118 119 var complete = function complete() { 120 var hiddenEvent = $__default['default'].Event(EVENT_HIDDEN, { 121 relatedTarget: _this._element 122 }); 123 var shownEvent = $__default['default'].Event(EVENT_SHOWN, { 124 relatedTarget: previous 125 }); 126 $__default['default'](previous).trigger(hiddenEvent); 127 $__default['default'](_this._element).trigger(shownEvent); 128 }; 129 130 if (target) { 131 this._activate(target, target.parentNode, complete); 132 } else { 133 complete(); 134 } 135 }; 136 137 _proto.dispose = function dispose() { 138 $__default['default'].removeData(this._element, DATA_KEY); 139 this._element = null; 140 } // Private 141 ; 142 143 _proto._activate = function _activate(element, container, callback) { 144 var _this2 = this; 145 146 var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $__default['default'](container).find(SELECTOR_ACTIVE_UL) : $__default['default'](container).children(SELECTOR_ACTIVE); 147 var active = activeElements[0]; 148 var isTransitioning = callback && active && $__default['default'](active).hasClass(CLASS_NAME_FADE); 149 150 var complete = function complete() { 151 return _this2._transitionComplete(element, active, callback); 152 }; 153 154 if (active && isTransitioning) { 155 var transitionDuration = Util__default['default'].getTransitionDurationFromElement(active); 156 $__default['default'](active).removeClass(CLASS_NAME_SHOW).one(Util__default['default'].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); 157 } else { 158 complete(); 159 } 160 }; 161 162 _proto._transitionComplete = function _transitionComplete(element, active, callback) { 163 if (active) { 164 $__default['default'](active).removeClass(CLASS_NAME_ACTIVE);
vendor: 3,379 bytes, lines 165-263
165 var dropdownChild = $__default['default'](active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0]; 166 167 if (dropdownChild) { 168 $__default['default'](dropdownChild).removeClass(CLASS_NAME_ACTIVE); 169 } 170 171 if (active.getAttribute('role') === 'tab') { 172 active.setAttribute('aria-selected', false); 173 } 174 } 175 176 $__default['default'](element).addClass(CLASS_NAME_ACTIVE); 177 178 if (element.getAttribute('role') === 'tab') { 179 element.setAttribute('aria-selected', true); 180 } 181 182 Util__default['default'].reflow(element); 183 184 if (element.classList.contains(CLASS_NAME_FADE)) { 185 element.classList.add(CLASS_NAME_SHOW); 186 } 187 188 if (element.parentNode && $__default['default'](element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) { 189 var dropdownElement = $__default['default'](element).closest(SELECTOR_DROPDOWN)[0]; 190 191 if (dropdownElement) { 192 var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE)); 193 $__default['default'](dropdownToggleList).addClass(CLASS_NAME_ACTIVE); 194 } 195 196 element.setAttribute('aria-expanded', true); 197 } 198 199 if (callback) { 200 callback(); 201 } 202 } // Static 203 ; 204 205 Tab._jQueryInterface = function _jQueryInterface(config) { 206 return this.each(function () { 207 var $this = $__default['default'](this); 208 var data = $this.data(DATA_KEY); 209 210 if (!data) { 211 data = new Tab(this); 212 $this.data(DATA_KEY, data); 213 } 214 215 if (typeof config === 'string') { 216 if (typeof data[config] === 'undefined') { 217 throw new TypeError("No method named \"" + config + "\""); 218 } 219 220 data[config](); 221 } 222 }); 223 }; 224 225 _createClass(Tab, null, [{ 226 key: "VERSION", 227 get: function get() { 228 return VERSION; 229 } 230 }]); 231 232 return Tab; 233 }(); 234 /** 235 * ------------------------------------------------------------------------ 236 * Data Api implementation 237 * ------------------------------------------------------------------------ 238 */ 239 240 241 $__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { 242 event.preventDefault(); 243 244 Tab._jQueryInterface.call($__default['default'](this), 'show'); 245 }); 246 /** 247 * ------------------------------------------------------------------------ 248 * jQuery 249 * ------------------------------------------------------------------------ 250 */ 251 252 $__default['default'].fn[NAME] = Tab._jQueryInterface; 253 $__default['default'].fn[NAME].Constructor = Tab; 254 255 $__default['default'].fn[NAME].noConflict = function () { 256 $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT; 257 return Tab._jQueryInterface; 258 }; 259 260 return Tab; 261 262}))); 263//# sourceMappingURL=tab.js.map
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.