PageSourceSearch

https://prepuce.com/wp-content/themes/olympus/js/bootstrap/tab.js?ver=5.2.1

js prepuce.com collected 2026-10-03 02:38:55 UTC 15,404 bytes, 452 lines download raw bytes

vendor: 6,395 bytes, lines 1-179
1/*!
2  * Bootstrap util.js v4.6.2 (https://getbootstrap.com/)
3  * Copyright 2011-2022 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')) :
8      typeof define === 'function' && define.amd ? define(['jquery'], factory) :
9          (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Util = factory(global.jQuery));
10})(this, (function ($) { 'use strict';
11
12  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
14  var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
16  /**
17   * --------------------------------------------------------------------------
18   * Bootstrap (v4.6.2): util.js
19   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
20   * --------------------------------------------------------------------------
21   */
22  /**
23   * Private TransitionEnd Helpers
24   */
25
26  var TRANSITION_END = 'transitionend';
27  var MAX_UID = 1000000;
28  var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
29
30  function toType(obj) {
31    if (obj === null || typeof obj === 'undefined') {
32      return "" + obj;
33    }
34
35    return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
36  }
37
38  function getSpecialTransitionEndEvent() {
39    return {
40      bindType: TRANSITION_END,
41      delegateType: TRANSITION_END,
42      handle: function handle(event) {
43        if ($__default["default"](event.target).is(this)) {
44          return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
45        }
46
47        return undefined;
48      }
49    };
50  }
51
52  function transitionEndEmulator(duration) {
53    var _this = this;
54
55    var called = false;
56    $__default["default"](this).one(Util.TRANSITION_END, function () {
57      called = true;
58    });
59    setTimeout(function () {
60      if (!called) {
61        Util.triggerTransitionEnd(_this);
62      }
63    }, duration);
64    return this;
65  }
66
67  function setTransitionEndSupport() {
68    $__default["default"].fn.emulateTransitionEnd = transitionEndEmulator;
69    $__default["default"].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
70  }
71  /**
72   * Public Util API
73   */
74
75
76  var Util = {
77    TRANSITION_END: 'bsTransitionEnd',
78    getUID: function getUID(prefix) {
79      do {
80        // eslint-disable-next-line no-bitwise
81        prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
82      } while (document.getElementById(prefix));
83
84      return prefix;
85    },
86    getSelectorFromElement: function getSelectorFromElement(element) {
87      var selector = element.getAttribute('data-target');
88
89      if (!selector || selector === '#') {
90        var hrefAttr = element.getAttribute('href');
91        selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';
92      }
93
94      try {
95        return document.querySelector(selector) ? selector : null;
96      } catch (_) {
97        return null;
98      }
99    },
100    getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
101      if (!element) {
102        return 0;
103      } // Get transition-duration of the element
104
105
106      var transitionDuration = $__default["default"](element).css('transition-duration');
107      var transitionDelay = $__default["default"](element).css('transition-delay');
108      var floatTransitionDuration = parseFloat(transitionDuration);
109      var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
110
111      if (!floatTransitionDuration && !floatTransitionDelay) {
112        return 0;
113      } // If multiple durations are defined, take the first
114
115
116      transitionDuration = transitionDuration.split(',')[0];
117      transitionDelay = transitionDelay.split(',')[0];
118      return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
119    },
120    reflow: function reflow(element) {
121      return element.offsetHeight;
122    },
123    triggerTransitionEnd: function triggerTransitionEnd(element) {
124      $__default["default"](element).trigger(TRANSITION_END);
125    },
126    supportsTransitionEnd: function supportsTransitionEnd() {
127      return Boolean(TRANSITION_END);
128    },
129    isElement: function isElement(obj) {
130      return (obj[0] || obj).nodeType;
131    },
132    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
133      for (var property in configTypes) {
134        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
135          var expectedTypes = configTypes[property];
136          var value = config[property];
137          var valueType = value && Util.isElement(value) ? 'element' : toType(value);
138
139          if (!new RegExp(expectedTypes).test(valueType)) {
140            throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
141          }
142        }
143      }
144    },
145    findShadowRoot: function findShadowRoot(element) {
146      if (!document.documentElement.attachShadow) {
147        return null;
148      } // Can find the shadow root otherwise it'll return the document
149
150
151      if (typeof element.getRootNode === 'function') {
152        var root = element.getRootNode();
153        return root instanceof ShadowRoot ? root : null;
154      }
155
156      if (element instanceof ShadowRoot) {
157        return element;
158      } // when we don't find a shadow root
159
160
161      if (!element.parentNode) {
162        return null;
163      }
164
165      return Util.findShadowRoot(element.parentNode);
166    },
167    jQueryDetection: function jQueryDetection() {
168      if (typeof $__default["default"] === 'undefined') {
169        throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
170      }
171
172      var version = $__default["default"].fn.jquery.split(' ')[0].split('.');
173      var minMajor = 1;
174      var ltMajor = 2;
175      var minMinor = 9;
176      var minPatch = 1;
177      var maxMajor = 4;
178
179      if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >
vendor: 6,397 bytes, lines 179-352
179= maxMajor) {
180        throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
181      }
182    }
183  };
184  Util.jQueryDetection();
185  setTransitionEndSupport();
186
187  return Util;
188
189}));
190
191/*!
192  * Bootstrap tab.js v4.6.2 (https://getbootstrap.com/)
193  * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
194  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
195  */
196(function (global, factory) {
197  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
198      typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :
199          (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tab = factory(global.jQuery, global.Util));
200})(this, (function ($, Util) { 'use strict';
201
202  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
203
204  var $__default = /*#__PURE__*/_interopDefaultLegacy($);
205  var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
206
207  function _defineProperties(target, props) {
208    for (var i = 0; i < props.length; i++) {
209      var descriptor = props[i];
210      descriptor.enumerable = descriptor.enumerable || false;
211      descriptor.configurable = true;
212      if ("value" in descriptor) descriptor.writable = true;
213      Object.defineProperty(target, descriptor.key, descriptor);
214    }
215  }
216
217  function _createClass(Constructor, protoProps, staticProps) {
218    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
219    if (staticProps) _defineProperties(Constructor, staticProps);
220    Object.defineProperty(Constructor, "prototype", {
221      writable: false
222    });
223    return Constructor;
224  }
225
226  /**
227   * Constants
228   */
229
230  var NAME = 'tab';
231  var VERSION = '4.6.2';
232  var DATA_KEY = 'bs.tab';
233  var EVENT_KEY = "." + DATA_KEY;
234  var DATA_API_KEY = '.data-api';
235  var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
236  var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
237  var CLASS_NAME_ACTIVE = 'active';
238  var CLASS_NAME_DISABLED = 'disabled';
239  var CLASS_NAME_FADE = 'fade';
240  var CLASS_NAME_SHOW = 'show';
241  var EVENT_HIDE = "hide" + EVENT_KEY;
242  var EVENT_HIDDEN = "hidden" + EVENT_KEY;
243  var EVENT_SHOW = "show" + EVENT_KEY;
244  var EVENT_SHOWN = "shown" + EVENT_KEY;
245  var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
246  var SELECTOR_DROPDOWN = '.dropdown';
247  var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
248  var SELECTOR_ACTIVE = '.active';
249  var SELECTOR_ACTIVE_UL = '> li > .active';
250  var SELECTOR_DATA_TOGGLE = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
251  var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
252  var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';
253  /**
254   * Class definition
255   */
256
257  var Tab = /*#__PURE__*/function () {
258    function Tab(element) {
259      this._element = element;
260    } // Getters
261
262
263    var _proto = Tab.prototype;
264
265    // Public
266    _proto.show = function show() {
267      var _this = this;
268
269      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) || this._element.hasAttribute('disabled')) {
270        return;
271      }
272
273      var target;
274      var previous;
275      var listElement = $__default["default"](this._element).closest(SELECTOR_NAV_LIST_GROUP)[0];
276      var selector = Util__default["default"].getSelectorFromElement(this._element);
277
278      if (listElement) {
279        var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;
280        previous = $__default["default"].makeArray($__default["default"](listElement).find(itemSelector));
281        previous = previous[previous.length - 1];
282      }
283
284      var hideEvent = $__default["default"].Event(EVENT_HIDE, {
285        relatedTarget: this._element
286      });
287      var showEvent = $__default["default"].Event(EVENT_SHOW, {
288        relatedTarget: previous
289      });
290
291      if (previous) {
292        $__default["default"](previous).trigger(hideEvent);
293      }
294
295      $__default["default"](this._element).trigger(showEvent);
296
297      if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
298        return;
299      }
300
301      if (selector) {
302        target = document.querySelector(selector);
303      }
304
305      this._activate(this._element, listElement);
306
307      var complete = function complete() {
308        var hiddenEvent = $__default["default"].Event(EVENT_HIDDEN, {
309          relatedTarget: _this._element
310        });
311        var shownEvent = $__default["default"].Event(EVENT_SHOWN, {
312          relatedTarget: previous
313        });
314        $__default["default"](previous).trigger(hiddenEvent);
315        $__default["default"](_this._element).trigger(shownEvent);
316      };
317
318      if (target) {
319        this._activate(target, target.parentNode, complete);
320      } else {
321        complete();
322      }
323    };
324
325    _proto.dispose = function dispose() {
326      $__default["default"].removeData(this._element, DATA_KEY);
327      this._element = null;
328    } // Private
329    ;
330
331    _proto._activate = function _activate(element, container, callback) {
332      var _this2 = this;
333
334      var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $__default["default"](container).find(SELECTOR_ACTIVE_UL) : $__default["default"](container).children(SELECTOR_ACTIVE);
335      var active = activeElements[0];
336      var isTransitioning = callback && active && $__default["default"](active).hasClass(CLASS_NAME_FADE);
337
338      var complete = function complete() {
339        return _this2._transitionComplete(element, active, callback);
340      };
341
342      if (active && isTransitioning) {
343        var transitionDuration = Util__default["default"].getTransitionDurationFromElement(active);
344        $__default["default"](active).removeClass(CLASS_NAME_SHOW).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
345      } else {
346        complete();
347      }
348    };
349
350    _proto._transitionComplete = function _transitionComplete(element, active, callback) {
351      if (active) {
352        $__default["default"](active).removeClass(CLASS_NAME_ACTIVE);
vendor: 2,612 bytes, lines 353-452
353        var dropdownChild = $__default["default"](active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];
354
355        if (dropdownChild) {
356          $__default["default"](dropdownChild).removeClass(CLASS_NAME_ACTIVE);
357        }
358
359        if (active.getAttribute('role') === 'tab') {
360          active.setAttribute('aria-selected', false);
361        }
362      }
363
364      $__default["default"](element).addClass(CLASS_NAME_ACTIVE);
365
366      if (element.getAttribute('role') === 'tab') {
367        element.setAttribute('aria-selected', true);
368      }
369
370      Util__default["default"].reflow(element);
371
372      if (element.classList.contains(CLASS_NAME_FADE)) {
373        element.classList.add(CLASS_NAME_SHOW);
374      }
375
376      var parent = element.parentNode;
377
378      if (parent && parent.nodeName === 'LI') {
379        parent = parent.parentNode;
380      }
381
382      if (parent && $__default["default"](parent).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
383        var dropdownElement = $__default["default"](element).closest(SELECTOR_DROPDOWN)[0];
384
385        if (dropdownElement) {
386          var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE));
387          $__default["default"](dropdownToggleList).addClass(CLASS_NAME_ACTIVE);
388        }
389
390        element.setAttribute('aria-expanded', true);
391      }
392
393      if (callback) {
394        callback();
395      }
396    } // Static
397    ;
398
399    Tab._jQueryInterface = function _jQueryInterface(config) {
400      return this.each(function () {
401        var $this = $__default["default"](this);
402        var data = $this.data(DATA_KEY);
403
404        if (!data) {
405          data = new Tab(this);
406          $this.data(DATA_KEY, data);
407        }
408
409        if (typeof config === 'string') {
410          if (typeof data[config] === 'undefined') {
411            throw new TypeError("No method named \"" + config + "\"");
412          }
413
414          data[config]();
415        }
416      });
417    };
418
419    _createClass(Tab, null, [{
420      key: "VERSION",
421      get: function get() {
422        return VERSION;
423      }
424    }]);
425
426    return Tab;
427  }();
428  /**
429   * Data API implementation
430   */
431
432
433  $__default["default"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
434    event.preventDefault();
435
436    Tab._jQueryInterface.call($__default["default"](this), 'show');
437  });
438  /**
439   * jQuery
440   */
441
442  $__default["default"].fn[NAME] = Tab._jQueryInterface;
443  $__default["default"].fn[NAME].Constructor = Tab;
444
445  $__default["default"].fn[NAME].noConflict = function () {
446    $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
447    return Tab._jQueryInterface;
448  };
449
450  return Tab;
451
452}));

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.