PageSourceSearch

https://www.jynarque.com/sites/g/files/qhldwo12166/themes/site/the…/js/base/bootstrap/bootstrap.button.js

js jynarque.com collected 2026-10-08 00:24:47 UTC 7,356 bytes, 203 lines download raw bytes

vendor: 6,152 bytes, lines 1-166
1"use strict";
2
3function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
5(function (global, factory) {
6  (typeof exports === "undefined" ? "undefined" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.jQuery));
7})(void 0, function ($) {
8  'use strict';
9
10  function _interopDefaultLegacy(e) {
11    return e && _typeof(e) === 'object' && 'default' in e ? e : {
12      'default': e
13    };
14  }
15
16  var $__default = _interopDefaultLegacy($);
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  var NAME = 'button';
35  var VERSION = '4.5.3';
36  var DATA_KEY = 'bs.button';
37  var EVENT_KEY = "." + DATA_KEY;
38  var DATA_API_KEY = '.data-api';
39  var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
40  var CLASS_NAME_ACTIVE = 'active';
41  var CLASS_NAME_BUTTON = 'btn';
42  var CLASS_NAME_FOCUS = 'focus';
43  var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
44  var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]';
45  var SELECTOR_DATA_TOGGLE = '[data-toggle="button"]';
46  var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn';
47  var SELECTOR_INPUT = 'input:not([type="hidden"])';
48  var SELECTOR_ACTIVE = '.active';
49  var SELECTOR_BUTTON = '.btn';
50  var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
51  var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY);
52  var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY;
53
54  var Button = function () {
55    function Button(element) {
56      this._element = element;
57      this.shouldAvoidTriggerChange = false;
58    }
59
60    var _proto = Button.prototype;
61
62    _proto.toggle = function toggle() {
63      var triggerChangeEvent = true;
64      var addAriaPressed = true;
65      var rootElement = $__default['default'](this._element).closest(SELECTOR_DATA_TOGGLES)[0];
66
67      if (rootElement) {
68        var input = this._element.querySelector(SELECTOR_INPUT);
69
70        if (input) {
71          if (input.type === 'radio') {
72            if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
73              triggerChangeEvent = false;
74            } else {
75              var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);
76
77              if (activeElement) {
78                $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE);
79              }
80            }
81          }
82
83          if (triggerChangeEvent) {
84            if (input.type === 'checkbox' || input.type === 'radio') {
85              input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
86            }
87
88            if (!this.shouldAvoidTriggerChange) {
89              $__default['default'](input).trigger('change');
90            }
91          }
92
93          input.focus();
94          addAriaPressed = false;
95        }
96      }
97
98      if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {
99        if (addAriaPressed) {
100          this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
101        }
102
103        if (triggerChangeEvent) {
104          $__default['default'](this._element).toggleClass(CLASS_NAME_ACTIVE);
105        }
106      }
107    };
108
109    _proto.dispose = function dispose() {
110      $__default['default'].removeData(this._element, DATA_KEY);
111      this._element = null;
112    };
113
114    Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) {
115      return this.each(function () {
116        var $element = $__default['default'](this);
117        var data = $element.data(DATA_KEY);
118
119        if (!data) {
120          data = new Button(this);
121          $element.data(DATA_KEY, data);
122        }
123
124        data.shouldAvoidTriggerChange = avoidTriggerChange;
125
126        if (config === 'toggle') {
127          data[config]();
128        }
129      });
130    };
131
132    _createClass(Button, null, [{
133      key: "VERSION",
134      get: function get() {
135        return VERSION;
136      }
137    }]);
138
139    return Button;
140  }();
141
142  $__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
143    var button = event.target;
144    var initialButton = button;
145
146    if (!$__default['default'](button).hasClass(CLASS_NAME_BUTTON)) {
147      button = $__default['default'](button).closest(SELECTOR_BUTTON)[0];
148    }
149
150    if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {
151      event.preventDefault();
152    } else {
153      var inputBtn = button.querySelector(SELECTOR_INPUT);
154
155      if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {
156        event.preventDefault();
157        return;
158      }
159
160      if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {
161        Button._jQueryInterface.call($__default['default'](button), 'toggle', initialButton.tagName === 'INPUT');
162      }
163    }
164  }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
165    var button = $__default['default'](event.target).closest(SELECTOR_BUTTON)[0];
166    $__default['default'](button).toggleClass(CLASS_NAME_FOCUS, /^focu
vendor: 1,204 bytes, lines 166-203
166s(in)?$/.test(event.type));
167  });
168  $__default['default'](window).on(EVENT_LOAD_DATA_API, function () {
169    var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));
170
171    for (var i = 0, len = buttons.length; i < len; i++) {
172      var button = buttons[i];
173      var input = button.querySelector(SELECTOR_INPUT);
174
175      if (input.checked || input.hasAttribute('checked')) {
176        button.classList.add(CLASS_NAME_ACTIVE);
177      } else {
178        button.classList.remove(CLASS_NAME_ACTIVE);
179      }
180    }
181
182    buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
183
184    for (var _i = 0, _len = buttons.length; _i < _len; _i++) {
185      var _button = buttons[_i];
186
187      if (_button.getAttribute('aria-pressed') === 'true') {
188        _button.classList.add(CLASS_NAME_ACTIVE);
189      } else {
190        _button.classList.remove(CLASS_NAME_ACTIVE);
191      }
192    }
193  });
194  $__default['default'].fn[NAME] = Button._jQueryInterface;
195  $__default['default'].fn[NAME].Constructor = Button;
196
197  $__default['default'].fn[NAME].noConflict = function () {
198    $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
199    return Button._jQueryInterface;
200  };
201
202  return Button;
203});

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.