bootstrap 4.6.0 → 5.0.0

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