bootstrap 4.5.3 → 5.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +55 -0
  3. data/README.md +28 -5
  4. data/assets/javascripts/bootstrap/alert.js +54 -133
  5. data/assets/javascripts/bootstrap/base-component.js +99 -0
  6. data/assets/javascripts/bootstrap/button.js +44 -183
  7. data/assets/javascripts/bootstrap/carousel.js +308 -450
  8. data/assets/javascripts/bootstrap/collapse.js +180 -243
  9. data/assets/javascripts/bootstrap/dom/data.js +66 -0
  10. data/assets/javascripts/bootstrap/dom/event-handler.js +283 -0
  11. data/assets/javascripts/bootstrap/dom/manipulator.js +84 -0
  12. data/assets/javascripts/bootstrap/dom/selector-engine.js +85 -0
  13. data/assets/javascripts/bootstrap/dropdown.js +320 -387
  14. data/assets/javascripts/bootstrap/modal.js +238 -478
  15. data/assets/javascripts/bootstrap/offcanvas.js +297 -0
  16. data/assets/javascripts/bootstrap/popover.js +58 -163
  17. data/assets/javascripts/bootstrap/scrollspy.js +223 -228
  18. data/assets/javascripts/bootstrap/tab.js +251 -166
  19. data/assets/javascripts/bootstrap/toast.js +147 -149
  20. data/assets/javascripts/bootstrap/tooltip.js +434 -646
  21. data/assets/javascripts/bootstrap/util/backdrop.js +165 -0
  22. data/assets/javascripts/bootstrap/util/component-functions.js +46 -0
  23. data/assets/javascripts/bootstrap/util/config.js +79 -0
  24. data/assets/javascripts/bootstrap/util/focustrap.js +129 -0
  25. data/assets/javascripts/bootstrap/util/index.js +350 -0
  26. data/assets/javascripts/bootstrap/util/sanitizer.js +122 -0
  27. data/assets/javascripts/bootstrap/util/scrollbar.js +138 -0
  28. data/assets/javascripts/bootstrap/util/swipe.js +155 -0
  29. data/assets/javascripts/bootstrap/util/template-factory.js +177 -0
  30. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  31. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  32. data/assets/javascripts/bootstrap-sprockets.js +24 -8
  33. data/assets/javascripts/bootstrap.js +4037 -3206
  34. data/assets/javascripts/bootstrap.min.js +3 -3
  35. data/assets/stylesheets/_bootstrap-grid.scss +56 -21
  36. data/assets/stylesheets/_bootstrap-reboot.scss +4 -7
  37. data/assets/stylesheets/_bootstrap.scss +20 -13
  38. data/assets/stylesheets/bootstrap/_accordion.scss +149 -0
  39. data/assets/stylesheets/bootstrap/_alert.scss +33 -14
  40. data/assets/stylesheets/bootstrap/_badge.scss +15 -31
  41. data/assets/stylesheets/bootstrap/_breadcrumb.scss +23 -27
  42. data/assets/stylesheets/bootstrap/_button-group.scss +25 -46
  43. data/assets/stylesheets/bootstrap/_buttons.scss +136 -71
  44. data/assets/stylesheets/bootstrap/_card.scss +61 -113
  45. data/assets/stylesheets/bootstrap/_carousel.scss +64 -35
  46. data/assets/stylesheets/bootstrap/_close.scss +30 -30
  47. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  48. data/assets/stylesheets/bootstrap/_dropdown.scss +128 -71
  49. data/assets/stylesheets/bootstrap/_forms.scss +9 -347
  50. data/assets/stylesheets/bootstrap/_functions.scss +181 -23
  51. data/assets/stylesheets/bootstrap/_grid.scss +13 -53
  52. data/assets/stylesheets/bootstrap/_helpers.scss +10 -0
  53. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  54. data/assets/stylesheets/bootstrap/_list-group.scss +72 -34
  55. data/assets/stylesheets/bootstrap/_maps.scss +54 -0
  56. data/assets/stylesheets/bootstrap/_mixins.scss +9 -13
  57. data/assets/stylesheets/bootstrap/_modal.scss +107 -110
  58. data/assets/stylesheets/bootstrap/_nav.scss +72 -23
  59. data/assets/stylesheets/bootstrap/_navbar.scss +127 -173
  60. data/assets/stylesheets/bootstrap/_offcanvas.scss +144 -0
  61. data/assets/stylesheets/bootstrap/_pagination.scss +72 -37
  62. data/assets/stylesheets/bootstrap/_placeholders.scss +51 -0
  63. data/assets/stylesheets/bootstrap/_popover.scss +99 -73
  64. data/assets/stylesheets/bootstrap/_progress.scss +26 -14
  65. data/assets/stylesheets/bootstrap/_reboot.scss +326 -200
  66. data/assets/stylesheets/bootstrap/_root.scss +62 -9
  67. data/assets/stylesheets/bootstrap/_spinners.scss +51 -22
  68. data/assets/stylesheets/bootstrap/_tables.scss +94 -115
  69. data/assets/stylesheets/bootstrap/_toasts.scss +54 -27
  70. data/assets/stylesheets/bootstrap/_tooltip.scss +68 -63
  71. data/assets/stylesheets/bootstrap/_transitions.scss +8 -1
  72. data/assets/stylesheets/bootstrap/_type.scss +40 -59
  73. data/assets/stylesheets/bootstrap/_utilities.scss +647 -18
  74. data/assets/stylesheets/bootstrap/_variables.scss +1018 -526
  75. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  76. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +75 -0
  77. data/assets/stylesheets/bootstrap/forms/_form-check.scss +175 -0
  78. data/assets/stylesheets/bootstrap/forms/_form-control.scss +194 -0
  79. data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
  80. data/assets/stylesheets/bootstrap/forms/_form-select.scss +71 -0
  81. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  82. data/assets/stylesheets/bootstrap/forms/_input-group.scss +132 -0
  83. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  84. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  85. data/assets/stylesheets/bootstrap/helpers/_color-bg.scss +10 -0
  86. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  87. data/assets/stylesheets/bootstrap/helpers/_position.scss +36 -0
  88. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  89. data/assets/stylesheets/bootstrap/helpers/_stacks.scss +15 -0
  90. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  91. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  92. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  93. data/assets/stylesheets/bootstrap/helpers/_vr.scss +8 -0
  94. data/assets/stylesheets/bootstrap/mixins/_alert.scss +8 -6
  95. data/assets/stylesheets/bootstrap/mixins/_backdrop.scss +14 -0
  96. data/assets/stylesheets/bootstrap/mixins/_banner.scss +9 -0
  97. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +10 -8
  98. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
  99. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +20 -16
  100. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +60 -100
  101. data/assets/stylesheets/bootstrap/mixins/_caret.scss +10 -8
  102. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  103. data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
  104. data/assets/stylesheets/bootstrap/mixins/_container.scss +11 -0
  105. data/assets/stylesheets/bootstrap/mixins/_forms.scss +48 -74
  106. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
  107. data/assets/stylesheets/bootstrap/mixins/_grid.scss +119 -37
  108. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  109. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +5 -2
  110. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  111. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +7 -19
  112. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +3 -3
  113. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +24 -0
  114. data/assets/stylesheets/bootstrap/mixins/_transition.scss +1 -1
  115. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +97 -0
  116. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
  117. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  118. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +278 -128
  119. data/bootstrap.gemspec +3 -5
  120. data/lib/bootstrap/version.rb +2 -2
  121. data/tasks/updater/js.rb +31 -7
  122. data/tasks/updater/network.rb +9 -3
  123. data/tasks/updater.rb +2 -2
  124. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  125. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  126. data/test/dummy_rails/app/views/pages/root.html +89 -0
  127. data/test/dummy_rails/config/application.rb +0 -3
  128. data/test/gemfiles/rails_5_2.gemfile +8 -0
  129. data/test/gemfiles/rails_6_1.gemfile +7 -0
  130. data/test/gemfiles/rails_7_0.gemfile +7 -0
  131. data/test/test_helper.rb +3 -2
  132. metadata +70 -78
  133. data/.travis.yml +0 -31
  134. data/assets/javascripts/bootstrap/util.js +0 -192
  135. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  136. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -524
  137. data/assets/stylesheets/bootstrap/_input-group.scss +0 -192
  138. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  139. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  140. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  141. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
  142. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  143. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  144. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
  145. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  146. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  147. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
  148. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  149. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  150. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  151. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  152. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  153. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  154. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  155. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  156. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  157. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  158. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  159. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  160. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
  161. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  162. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  163. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  164. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  165. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  166. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  167. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  168. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  169. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
  170. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
  171. /data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
@@ -1,220 +1,81 @@
1
1
  /*!
2
- * Bootstrap button.js v4.5.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap button.js v5.2.3 (https://getbootstrap.com/)
3
+ * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
5
  */
6
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.Button = factory(global.jQuery));
10
- }(this, (function ($) { 'use strict';
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./dom/event-handler'), require('./base-component')) :
8
+ typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './base-component'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.Index, global.EventHandler, global.BaseComponent));
10
+ })(this, (function (index, EventHandler, BaseComponent) { 'use strict';
11
11
 
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+ const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
13
13
 
14
- var $__default = /*#__PURE__*/_interopDefaultLegacy($);
14
+ const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
15
+ const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
15
16
 
16
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
17
-
18
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
19
17
  /**
20
- * ------------------------------------------------------------------------
18
+ * --------------------------------------------------------------------------
19
+ * Bootstrap (v5.2.3): button.js
20
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
21
+ * --------------------------------------------------------------------------
22
+ */
23
+ /**
21
24
  * Constants
22
- * ------------------------------------------------------------------------
23
25
  */
24
26
 
25
- var NAME = 'button';
26
- var VERSION = '4.5.3';
27
- var DATA_KEY = 'bs.button';
28
- var EVENT_KEY = "." + DATA_KEY;
29
- var DATA_API_KEY = '.data-api';
30
- var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
31
- var CLASS_NAME_ACTIVE = 'active';
32
- var CLASS_NAME_BUTTON = 'btn';
33
- var CLASS_NAME_FOCUS = 'focus';
34
- var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
35
- var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]';
36
- var SELECTOR_DATA_TOGGLE = '[data-toggle="button"]';
37
- var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn';
38
- var SELECTOR_INPUT = 'input:not([type="hidden"])';
39
- var SELECTOR_ACTIVE = '.active';
40
- var SELECTOR_BUTTON = '.btn';
41
- var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
42
- var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY);
43
- var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY;
27
+ const NAME = 'button';
28
+ const DATA_KEY = 'bs.button';
29
+ const EVENT_KEY = `.${DATA_KEY}`;
30
+ const DATA_API_KEY = '.data-api';
31
+ const CLASS_NAME_ACTIVE = 'active';
32
+ const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="button"]';
33
+ const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
44
34
  /**
45
- * ------------------------------------------------------------------------
46
- * Class Definition
47
- * ------------------------------------------------------------------------
35
+ * Class definition
48
36
  */
49
37
 
50
- var Button = /*#__PURE__*/function () {
51
- function Button(element) {
52
- this._element = element;
53
- this.shouldAvoidTriggerChange = false;
54
- } // Getters
55
-
56
-
57
- var _proto = Button.prototype;
58
-
59
- // Public
60
- _proto.toggle = function toggle() {
61
- var triggerChangeEvent = true;
62
- var addAriaPressed = true;
63
- var rootElement = $__default['default'](this._element).closest(SELECTOR_DATA_TOGGLES)[0];
64
-
65
- if (rootElement) {
66
- var input = this._element.querySelector(SELECTOR_INPUT);
67
-
68
- if (input) {
69
- if (input.type === 'radio') {
70
- if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
71
- triggerChangeEvent = false;
72
- } else {
73
- var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);
74
-
75
- if (activeElement) {
76
- $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE);
77
- }
78
- }
79
- }
80
-
81
- if (triggerChangeEvent) {
82
- // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input
83
- if (input.type === 'checkbox' || input.type === 'radio') {
84
- input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
85
- }
86
-
87
- if (!this.shouldAvoidTriggerChange) {
88
- $__default['default'](input).trigger('change');
89
- }
90
- }
91
-
92
- input.focus();
93
- addAriaPressed = false;
94
- }
95
- }
96
-
97
- if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {
98
- if (addAriaPressed) {
99
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
100
- }
38
+ class Button extends BaseComponent__default.default {
39
+ // Getters
40
+ static get NAME() {
41
+ return NAME;
42
+ } // Public
101
43
 
102
- if (triggerChangeEvent) {
103
- $__default['default'](this._element).toggleClass(CLASS_NAME_ACTIVE);
104
- }
105
- }
106
- };
107
44
 
108
- _proto.dispose = function dispose() {
109
- $__default['default'].removeData(this._element, DATA_KEY);
110
- this._element = null;
45
+ toggle() {
46
+ // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
47
+ this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE));
111
48
  } // Static
112
- ;
113
49
 
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
50
 
119
- if (!data) {
120
- data = new Button(this);
121
- $element.data(DATA_KEY, data);
122
- }
123
-
124
- data.shouldAvoidTriggerChange = avoidTriggerChange;
51
+ static jQueryInterface(config) {
52
+ return this.each(function () {
53
+ const data = Button.getOrCreateInstance(this);
125
54
 
126
55
  if (config === 'toggle') {
127
56
  data[config]();
128
57
  }
129
58
  });
130
- };
131
-
132
- _createClass(Button, null, [{
133
- key: "VERSION",
134
- get: function get() {
135
- return VERSION;
136
- }
137
- }]);
59
+ }
138
60
 
139
- return Button;
140
- }();
61
+ }
141
62
  /**
142
- * ------------------------------------------------------------------------
143
- * Data Api implementation
144
- * ------------------------------------------------------------------------
63
+ * Data API implementation
145
64
  */
146
65
 
147
66
 
148
- $__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
149
- var button = event.target;
150
- var initialButton = button;
151
-
152
- if (!$__default['default'](button).hasClass(CLASS_NAME_BUTTON)) {
153
- button = $__default['default'](button).closest(SELECTOR_BUTTON)[0];
154
- }
155
-
156
- if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {
157
- event.preventDefault(); // work around Firefox bug #1540995
158
- } else {
159
- var inputBtn = button.querySelector(SELECTOR_INPUT);
160
-
161
- if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {
162
- event.preventDefault(); // work around Firefox bug #1540995
163
-
164
- return;
165
- }
166
-
167
- if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {
168
- Button._jQueryInterface.call($__default['default'](button), 'toggle', initialButton.tagName === 'INPUT');
169
- }
170
- }
171
- }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
172
- var button = $__default['default'](event.target).closest(SELECTOR_BUTTON)[0];
173
- $__default['default'](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));
174
- });
175
- $__default['default'](window).on(EVENT_LOAD_DATA_API, function () {
176
- // ensure correct active class is set to match the controls' actual values/states
177
- // find all checkboxes/readio buttons inside data-toggle groups
178
- var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));
179
-
180
- for (var i = 0, len = buttons.length; i < len; i++) {
181
- var button = buttons[i];
182
- var input = button.querySelector(SELECTOR_INPUT);
183
-
184
- if (input.checked || input.hasAttribute('checked')) {
185
- button.classList.add(CLASS_NAME_ACTIVE);
186
- } else {
187
- button.classList.remove(CLASS_NAME_ACTIVE);
188
- }
189
- } // find all button toggles
190
-
191
-
192
- buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
193
-
194
- for (var _i = 0, _len = buttons.length; _i < _len; _i++) {
195
- var _button = buttons[_i];
196
-
197
- if (_button.getAttribute('aria-pressed') === 'true') {
198
- _button.classList.add(CLASS_NAME_ACTIVE);
199
- } else {
200
- _button.classList.remove(CLASS_NAME_ACTIVE);
201
- }
202
- }
67
+ EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {
68
+ event.preventDefault();
69
+ const button = event.target.closest(SELECTOR_DATA_TOGGLE);
70
+ const data = Button.getOrCreateInstance(button);
71
+ data.toggle();
203
72
  });
204
73
  /**
205
- * ------------------------------------------------------------------------
206
74
  * jQuery
207
- * ------------------------------------------------------------------------
208
75
  */
209
76
 
210
- $__default['default'].fn[NAME] = Button._jQueryInterface;
211
- $__default['default'].fn[NAME].Constructor = Button;
212
-
213
- $__default['default'].fn[NAME].noConflict = function () {
214
- $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
215
- return Button._jQueryInterface;
216
- };
77
+ index.defineJQueryPlugin(Button);
217
78
 
218
79
  return Button;
219
80
 
220
- })));
81
+ }));