bootstrap 4.6.2 → 5.3.1

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