bootstrap 4.6.0 → 5.0.0

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 (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