bootstrap 4.0.0.beta3 → 4.6.2

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 (114) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +15 -1
  3. data/CHANGELOG.md +2 -2
  4. data/README.md +2 -2
  5. data/Rakefile +4 -2
  6. data/assets/javascripts/bootstrap/alert.js +79 -68
  7. data/assets/javascripts/bootstrap/button.js +140 -78
  8. data/assets/javascripts/bootstrap/carousel.js +294 -158
  9. data/assets/javascripts/bootstrap/collapse.js +157 -133
  10. data/assets/javascripts/bootstrap/dropdown.js +257 -167
  11. data/assets/javascripts/bootstrap/modal.js +285 -204
  12. data/assets/javascripts/bootstrap/popover.js +101 -60
  13. data/assets/javascripts/bootstrap/scrollspy.js +127 -106
  14. data/assets/javascripts/bootstrap/tab.js +113 -101
  15. data/assets/javascripts/bootstrap/toast.js +267 -0
  16. data/assets/javascripts/bootstrap/tooltip.js +406 -188
  17. data/assets/javascripts/bootstrap/util.js +106 -55
  18. data/assets/javascripts/bootstrap-sprockets.js +1 -0
  19. data/assets/javascripts/bootstrap.js +1946 -1482
  20. data/assets/javascripts/bootstrap.min.js +4 -4
  21. data/assets/stylesheets/_bootstrap-grid.scss +7 -12
  22. data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
  23. data/assets/stylesheets/_bootstrap.scss +6 -4
  24. data/assets/stylesheets/bootstrap/_alert.scss +3 -2
  25. data/assets/stylesheets/bootstrap/_badge.scss +8 -1
  26. data/assets/stylesheets/bootstrap/_breadcrumb.scss +10 -6
  27. data/assets/stylesheets/bootstrap/_button-group.scss +17 -20
  28. data/assets/stylesheets/bootstrap/_buttons.scss +23 -28
  29. data/assets/stylesheets/bootstrap/_card.scss +77 -61
  30. data/assets/stylesheets/bootstrap/_carousel.scss +72 -63
  31. data/assets/stylesheets/bootstrap/_close.scss +15 -9
  32. data/assets/stylesheets/bootstrap/_code.scss +6 -14
  33. data/assets/stylesheets/bootstrap/_custom-forms.scss +287 -43
  34. data/assets/stylesheets/bootstrap/_dropdown.scss +70 -9
  35. data/assets/stylesheets/bootstrap/_forms.scss +56 -42
  36. data/assets/stylesheets/bootstrap/_functions.scss +117 -13
  37. data/assets/stylesheets/bootstrap/_grid.scss +32 -11
  38. data/assets/stylesheets/bootstrap/_images.scss +4 -4
  39. data/assets/stylesheets/bootstrap/_input-group.scss +80 -25
  40. data/assets/stylesheets/bootstrap/_jumbotron.scss +2 -1
  41. data/assets/stylesheets/bootstrap/_list-group.scss +63 -24
  42. data/assets/stylesheets/bootstrap/_mixins.scss +9 -4
  43. data/assets/stylesheets/bootstrap/_modal.scss +96 -24
  44. data/assets/stylesheets/bootstrap/_nav.scss +14 -7
  45. data/assets/stylesheets/bootstrap/_navbar.scss +66 -45
  46. data/assets/stylesheets/bootstrap/_pagination.scss +10 -8
  47. data/assets/stylesheets/bootstrap/_popover.scss +56 -69
  48. data/assets/stylesheets/bootstrap/_print.scss +41 -19
  49. data/assets/stylesheets/bootstrap/_progress.scss +20 -6
  50. data/assets/stylesheets/bootstrap/_reboot.scss +88 -109
  51. data/assets/stylesheets/bootstrap/_spinners.scss +65 -0
  52. data/assets/stylesheets/bootstrap/_tables.scss +19 -14
  53. data/assets/stylesheets/bootstrap/_toasts.scss +46 -0
  54. data/assets/stylesheets/bootstrap/_tooltip.scss +6 -6
  55. data/assets/stylesheets/bootstrap/_transitions.scss +10 -20
  56. data/assets/stylesheets/bootstrap/_type.scss +19 -19
  57. data/assets/stylesheets/bootstrap/_utilities.scss +4 -0
  58. data/assets/stylesheets/bootstrap/_variables.scss +492 -215
  59. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
  60. data/assets/stylesheets/bootstrap/mixins/_badge.scss +8 -3
  61. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +51 -10
  62. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +16 -1
  63. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -9
  64. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +35 -26
  65. data/assets/stylesheets/bootstrap/mixins/_caret.scss +13 -16
  66. data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
  67. data/assets/stylesheets/bootstrap/mixins/_float.scss +6 -3
  68. data/assets/stylesheets/bootstrap/mixins/_forms.scss +102 -40
  69. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +7 -7
  70. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +36 -25
  71. data/assets/stylesheets/bootstrap/mixins/_grid.scss +34 -17
  72. data/assets/stylesheets/bootstrap/mixins/_hover.scss +27 -51
  73. data/assets/stylesheets/bootstrap/mixins/_image.scss +4 -4
  74. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +10 -13
  75. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  76. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +3 -2
  77. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +1 -1
  78. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +3 -3
  79. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +5 -6
  80. data/assets/stylesheets/bootstrap/mixins/_size.scss +1 -0
  81. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +11 -2
  82. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +7 -4
  83. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +3 -1
  84. data/assets/stylesheets/bootstrap/mixins/_transition.scss +20 -3
  85. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +1 -0
  86. data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
  87. data/assets/stylesheets/bootstrap/utilities/_borders.scss +23 -2
  88. data/assets/stylesheets/bootstrap/utilities/_display.scss +6 -36
  89. data/assets/stylesheets/bootstrap/utilities/_embed.scss +7 -20
  90. data/assets/stylesheets/bootstrap/utilities/_flex.scss +5 -0
  91. data/assets/stylesheets/bootstrap/utilities/_float.scss +5 -3
  92. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
  93. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +5 -0
  94. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -4
  95. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +6 -0
  96. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +8 -0
  97. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +23 -1
  98. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +19 -0
  99. data/assets/stylesheets/bootstrap/utilities/_text.scss +28 -8
  100. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +4 -2
  101. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +228 -0
  102. data/bootstrap.gemspec +7 -4
  103. data/lib/bootstrap/engine.rb +3 -0
  104. data/lib/bootstrap/version.rb +4 -2
  105. data/lib/bootstrap.rb +10 -7
  106. data/tasks/updater/js.rb +18 -6
  107. data/tasks/updater/network.rb +8 -2
  108. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  109. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  110. data/test/gemfiles/rails_6_0.gemfile +7 -0
  111. data/test/support/dummy_rails_integration.rb +3 -1
  112. data/test/test_helper.rb +21 -15
  113. metadata +29 -16
  114. data/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +0 -10
@@ -1,28 +1,78 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ /*!
2
+ * Bootstrap collapse.js v4.6.2 (https://getbootstrap.com/)
3
+ * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
+ */
6
+ (function (global, factory) {
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
8
+ typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.jQuery, global.Util));
10
+ })(this, (function ($, Util) { 'use strict';
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
+ var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
16
+
17
+ function _defineProperties(target, props) {
18
+ for (var i = 0; i < props.length; i++) {
19
+ var descriptor = props[i];
20
+ descriptor.enumerable = descriptor.enumerable || false;
21
+ descriptor.configurable = true;
22
+ if ("value" in descriptor) descriptor.writable = true;
23
+ Object.defineProperty(target, descriptor.key, descriptor);
24
+ }
25
+ }
26
+
27
+ function _createClass(Constructor, protoProps, staticProps) {
28
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
+ if (staticProps) _defineProperties(Constructor, staticProps);
30
+ Object.defineProperty(Constructor, "prototype", {
31
+ writable: false
32
+ });
33
+ return Constructor;
34
+ }
35
+
36
+ function _extends() {
37
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
38
+ for (var i = 1; i < arguments.length; i++) {
39
+ var source = arguments[i];
2
40
 
3
- 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); } }
41
+ for (var key in source) {
42
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
43
+ target[key] = source[key];
44
+ }
45
+ }
46
+ }
4
47
 
5
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
48
+ return target;
49
+ };
50
+ return _extends.apply(this, arguments);
51
+ }
6
52
 
7
- /**
8
- * --------------------------------------------------------------------------
9
- * Bootstrap (v4.0.0-beta.3): collapse.js
10
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
11
- * --------------------------------------------------------------------------
12
- */
13
- var Collapse = function ($) {
14
53
  /**
15
- * ------------------------------------------------------------------------
16
54
  * Constants
17
- * ------------------------------------------------------------------------
18
55
  */
56
+
19
57
  var NAME = 'collapse';
20
- var VERSION = '4.0.0-beta.3';
58
+ var VERSION = '4.6.2';
21
59
  var DATA_KEY = 'bs.collapse';
22
60
  var EVENT_KEY = "." + DATA_KEY;
23
61
  var DATA_API_KEY = '.data-api';
24
- var JQUERY_NO_CONFLICT = $.fn[NAME];
25
- var TRANSITION_DURATION = 600;
62
+ var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
63
+ var CLASS_NAME_SHOW = 'show';
64
+ var CLASS_NAME_COLLAPSE = 'collapse';
65
+ var CLASS_NAME_COLLAPSING = 'collapsing';
66
+ var CLASS_NAME_COLLAPSED = 'collapsed';
67
+ var DIMENSION_WIDTH = 'width';
68
+ var DIMENSION_HEIGHT = 'height';
69
+ var EVENT_SHOW = "show" + EVENT_KEY;
70
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
71
+ var EVENT_HIDE = "hide" + EVENT_KEY;
72
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
73
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
74
+ var SELECTOR_ACTIVES = '.show, .collapsing';
75
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="collapse"]';
26
76
  var Default = {
27
77
  toggle: true,
28
78
  parent: ''
@@ -31,49 +81,28 @@ var Collapse = function ($) {
31
81
  toggle: 'boolean',
32
82
  parent: '(string|element)'
33
83
  };
34
- var Event = {
35
- SHOW: "show" + EVENT_KEY,
36
- SHOWN: "shown" + EVENT_KEY,
37
- HIDE: "hide" + EVENT_KEY,
38
- HIDDEN: "hidden" + EVENT_KEY,
39
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
40
- };
41
- var ClassName = {
42
- SHOW: 'show',
43
- COLLAPSE: 'collapse',
44
- COLLAPSING: 'collapsing',
45
- COLLAPSED: 'collapsed'
46
- };
47
- var Dimension = {
48
- WIDTH: 'width',
49
- HEIGHT: 'height'
50
- };
51
- var Selector = {
52
- ACTIVES: '.show, .collapsing',
53
- DATA_TOGGLE: '[data-toggle="collapse"]'
54
- /**
55
- * ------------------------------------------------------------------------
56
- * Class Definition
57
- * ------------------------------------------------------------------------
58
- */
59
-
60
- };
84
+ /**
85
+ * Class definition
86
+ */
61
87
 
62
- var Collapse =
63
- /*#__PURE__*/
64
- function () {
88
+ var Collapse = /*#__PURE__*/function () {
65
89
  function Collapse(element, config) {
66
90
  this._isTransitioning = false;
67
91
  this._element = element;
68
92
  this._config = this._getConfig(config);
69
- this._triggerArray = $.makeArray($("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
70
- var tabToggles = $(Selector.DATA_TOGGLE);
93
+ this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
94
+ var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
71
95
 
72
- for (var i = 0; i < tabToggles.length; i++) {
73
- var elem = tabToggles[i];
74
- var selector = Util.getSelectorFromElement(elem);
96
+ for (var i = 0, len = toggleList.length; i < len; i++) {
97
+ var elem = toggleList[i];
98
+ var selector = Util__default["default"].getSelectorFromElement(elem);
99
+ var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {
100
+ return foundElem === element;
101
+ });
102
+
103
+ if (selector !== null && filterElement.length > 0) {
104
+ this._selector = selector;
75
105
 
76
- if (selector !== null && $(selector).filter(element).length > 0) {
77
106
  this._triggerArray.push(elem);
78
107
  }
79
108
  }
@@ -87,14 +116,14 @@ var Collapse = function ($) {
87
116
  if (this._config.toggle) {
88
117
  this.toggle();
89
118
  }
90
- } // getters
119
+ } // Getters
91
120
 
92
121
 
93
122
  var _proto = Collapse.prototype;
94
123
 
95
- // public
124
+ // Public
96
125
  _proto.toggle = function toggle() {
97
- if ($(this._element).hasClass(ClassName.SHOW)) {
126
+ if ($__default["default"](this._element).hasClass(CLASS_NAME_SHOW)) {
98
127
  this.hide();
99
128
  } else {
100
129
  this.show();
@@ -104,7 +133,7 @@ var Collapse = function ($) {
104
133
  _proto.show = function show() {
105
134
  var _this = this;
106
135
 
107
- if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) {
136
+ if (this._isTransitioning || $__default["default"](this._element).hasClass(CLASS_NAME_SHOW)) {
108
137
  return;
109
138
  }
110
139
 
@@ -112,76 +141,78 @@ var Collapse = function ($) {
112
141
  var activesData;
113
142
 
114
143
  if (this._parent) {
115
- actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES));
144
+ actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) {
145
+ if (typeof _this._config.parent === 'string') {
146
+ return elem.getAttribute('data-parent') === _this._config.parent;
147
+ }
116
148
 
117
- if (!actives.length) {
149
+ return elem.classList.contains(CLASS_NAME_COLLAPSE);
150
+ });
151
+
152
+ if (actives.length === 0) {
118
153
  actives = null;
119
154
  }
120
155
  }
121
156
 
122
157
  if (actives) {
123
- activesData = $(actives).data(DATA_KEY);
158
+ activesData = $__default["default"](actives).not(this._selector).data(DATA_KEY);
124
159
 
125
160
  if (activesData && activesData._isTransitioning) {
126
161
  return;
127
162
  }
128
163
  }
129
164
 
130
- var startEvent = $.Event(Event.SHOW);
131
- $(this._element).trigger(startEvent);
165
+ var startEvent = $__default["default"].Event(EVENT_SHOW);
166
+ $__default["default"](this._element).trigger(startEvent);
132
167
 
133
168
  if (startEvent.isDefaultPrevented()) {
134
169
  return;
135
170
  }
136
171
 
137
172
  if (actives) {
138
- Collapse._jQueryInterface.call($(actives), 'hide');
173
+ Collapse._jQueryInterface.call($__default["default"](actives).not(this._selector), 'hide');
139
174
 
140
175
  if (!activesData) {
141
- $(actives).data(DATA_KEY, null);
176
+ $__default["default"](actives).data(DATA_KEY, null);
142
177
  }
143
178
  }
144
179
 
145
180
  var dimension = this._getDimension();
146
181
 
147
- $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
182
+ $__default["default"](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);
148
183
  this._element.style[dimension] = 0;
149
184
 
150
185
  if (this._triggerArray.length) {
151
- $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
186
+ $__default["default"](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);
152
187
  }
153
188
 
154
189
  this.setTransitioning(true);
155
190
 
156
191
  var complete = function complete() {
157
- $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
192
+ $__default["default"](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW);
158
193
  _this._element.style[dimension] = '';
159
194
 
160
195
  _this.setTransitioning(false);
161
196
 
162
- $(_this._element).trigger(Event.SHOWN);
197
+ $__default["default"](_this._element).trigger(EVENT_SHOWN);
163
198
  };
164
199
 
165
- if (!Util.supportsTransitionEnd()) {
166
- complete();
167
- return;
168
- }
169
-
170
200
  var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
171
201
  var scrollSize = "scroll" + capitalizedDimension;
172
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
202
+ var transitionDuration = Util__default["default"].getTransitionDurationFromElement(this._element);
203
+ $__default["default"](this._element).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
173
204
  this._element.style[dimension] = this._element[scrollSize] + "px";
174
205
  };
175
206
 
176
207
  _proto.hide = function hide() {
177
208
  var _this2 = this;
178
209
 
179
- if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) {
210
+ if (this._isTransitioning || !$__default["default"](this._element).hasClass(CLASS_NAME_SHOW)) {
180
211
  return;
181
212
  }
182
213
 
183
- var startEvent = $.Event(Event.HIDE);
184
- $(this._element).trigger(startEvent);
214
+ var startEvent = $__default["default"].Event(EVENT_HIDE);
215
+ $__default["default"](this._element).trigger(startEvent);
185
216
 
186
217
  if (startEvent.isDefaultPrevented()) {
187
218
  return;
@@ -190,19 +221,20 @@ var Collapse = function ($) {
190
221
  var dimension = this._getDimension();
191
222
 
192
223
  this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
193
- Util.reflow(this._element);
194
- $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
224
+ Util__default["default"].reflow(this._element);
225
+ $__default["default"](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW);
226
+ var triggerArrayLength = this._triggerArray.length;
195
227
 
196
- if (this._triggerArray.length) {
197
- for (var i = 0; i < this._triggerArray.length; i++) {
228
+ if (triggerArrayLength > 0) {
229
+ for (var i = 0; i < triggerArrayLength; i++) {
198
230
  var trigger = this._triggerArray[i];
199
- var selector = Util.getSelectorFromElement(trigger);
231
+ var selector = Util__default["default"].getSelectorFromElement(trigger);
200
232
 
201
233
  if (selector !== null) {
202
- var $elem = $(selector);
234
+ var $elem = $__default["default"]([].slice.call(document.querySelectorAll(selector)));
203
235
 
204
- if (!$elem.hasClass(ClassName.SHOW)) {
205
- $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
236
+ if (!$elem.hasClass(CLASS_NAME_SHOW)) {
237
+ $__default["default"](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);
206
238
  }
207
239
  }
208
240
  }
@@ -213,17 +245,12 @@ var Collapse = function ($) {
213
245
  var complete = function complete() {
214
246
  _this2.setTransitioning(false);
215
247
 
216
- $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
248
+ $__default["default"](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);
217
249
  };
218
250
 
219
251
  this._element.style[dimension] = '';
220
-
221
- if (!Util.supportsTransitionEnd()) {
222
- complete();
223
- return;
224
- }
225
-
226
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
252
+ var transitionDuration = Util__default["default"].getTransitionDurationFromElement(this._element);
253
+ $__default["default"](this._element).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
227
254
  };
228
255
 
229
256
  _proto.setTransitioning = function setTransitioning(isTransitioning) {
@@ -231,85 +258,84 @@ var Collapse = function ($) {
231
258
  };
232
259
 
233
260
  _proto.dispose = function dispose() {
234
- $.removeData(this._element, DATA_KEY);
261
+ $__default["default"].removeData(this._element, DATA_KEY);
235
262
  this._config = null;
236
263
  this._parent = null;
237
264
  this._element = null;
238
265
  this._triggerArray = null;
239
266
  this._isTransitioning = null;
240
- }; // private
241
-
267
+ } // Private
268
+ ;
242
269
 
243
270
  _proto._getConfig = function _getConfig(config) {
244
271
  config = _extends({}, Default, config);
245
- config.toggle = Boolean(config.toggle); // coerce string values
272
+ config.toggle = Boolean(config.toggle); // Coerce string values
246
273
 
247
- Util.typeCheckConfig(NAME, config, DefaultType);
274
+ Util__default["default"].typeCheckConfig(NAME, config, DefaultType);
248
275
  return config;
249
276
  };
250
277
 
251
278
  _proto._getDimension = function _getDimension() {
252
- var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
253
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
279
+ var hasWidth = $__default["default"](this._element).hasClass(DIMENSION_WIDTH);
280
+ return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;
254
281
  };
255
282
 
256
283
  _proto._getParent = function _getParent() {
257
284
  var _this3 = this;
258
285
 
259
- var parent = null;
286
+ var parent;
260
287
 
261
- if (Util.isElement(this._config.parent)) {
262
- parent = this._config.parent; // it's a jQuery object
288
+ if (Util__default["default"].isElement(this._config.parent)) {
289
+ parent = this._config.parent; // It's a jQuery object
263
290
 
264
291
  if (typeof this._config.parent.jquery !== 'undefined') {
265
292
  parent = this._config.parent[0];
266
293
  }
267
294
  } else {
268
- parent = $(this._config.parent)[0];
295
+ parent = document.querySelector(this._config.parent);
269
296
  }
270
297
 
271
298
  var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
272
- $(parent).find(selector).each(function (i, element) {
299
+ var children = [].slice.call(parent.querySelectorAll(selector));
300
+ $__default["default"](children).each(function (i, element) {
273
301
  _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
274
302
  });
275
303
  return parent;
276
304
  };
277
305
 
278
306
  _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
279
- if (element) {
280
- var isOpen = $(element).hasClass(ClassName.SHOW);
307
+ var isOpen = $__default["default"](element).hasClass(CLASS_NAME_SHOW);
281
308
 
282
- if (triggerArray.length) {
283
- $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
284
- }
309
+ if (triggerArray.length) {
310
+ $__default["default"](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
285
311
  }
286
- }; // static
287
-
312
+ } // Static
313
+ ;
288
314
 
289
315
  Collapse._getTargetFromElement = function _getTargetFromElement(element) {
290
- var selector = Util.getSelectorFromElement(element);
291
- return selector ? $(selector)[0] : null;
316
+ var selector = Util__default["default"].getSelectorFromElement(element);
317
+ return selector ? document.querySelector(selector) : null;
292
318
  };
293
319
 
294
320
  Collapse._jQueryInterface = function _jQueryInterface(config) {
295
321
  return this.each(function () {
296
- var $this = $(this);
297
- var data = $this.data(DATA_KEY);
322
+ var $element = $__default["default"](this);
323
+ var data = $element.data(DATA_KEY);
298
324
 
299
- var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
325
+ var _config = _extends({}, Default, $element.data(), typeof config === 'object' && config ? config : {});
300
326
 
301
- if (!data && _config.toggle && /show|hide/.test(config)) {
327
+ if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
302
328
  _config.toggle = false;
303
329
  }
304
330
 
305
331
  if (!data) {
306
332
  data = new Collapse(this, _config);
307
- $this.data(DATA_KEY, data);
333
+ $element.data(DATA_KEY, data);
308
334
  }
309
335
 
310
336
  if (typeof config === 'string') {
311
337
  if (typeof data[config] === 'undefined') {
312
- throw new Error("No method named \"" + config + "\"");
338
+ throw new TypeError("No method named \"" + config + "\"");
313
339
  }
314
340
 
315
341
  data[config]();
@@ -332,22 +358,21 @@ var Collapse = function ($) {
332
358
  return Collapse;
333
359
  }();
334
360
  /**
335
- * ------------------------------------------------------------------------
336
- * Data Api implementation
337
- * ------------------------------------------------------------------------
361
+ * Data API implementation
338
362
  */
339
363
 
340
364
 
341
- $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
365
+ $__default["default"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
342
366
  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
343
367
  if (event.currentTarget.tagName === 'A') {
344
368
  event.preventDefault();
345
369
  }
346
370
 
347
- var $trigger = $(this);
348
- var selector = Util.getSelectorFromElement(this);
349
- $(selector).each(function () {
350
- var $target = $(this);
371
+ var $trigger = $__default["default"](this);
372
+ var selector = Util__default["default"].getSelectorFromElement(this);
373
+ var selectors = [].slice.call(document.querySelectorAll(selector));
374
+ $__default["default"](selectors).each(function () {
375
+ var $target = $__default["default"](this);
351
376
  var data = $target.data(DATA_KEY);
352
377
  var config = data ? 'toggle' : $trigger.data();
353
378
 
@@ -355,18 +380,17 @@ var Collapse = function ($) {
355
380
  });
356
381
  });
357
382
  /**
358
- * ------------------------------------------------------------------------
359
383
  * jQuery
360
- * ------------------------------------------------------------------------
361
384
  */
362
385
 
363
- $.fn[NAME] = Collapse._jQueryInterface;
364
- $.fn[NAME].Constructor = Collapse;
386
+ $__default["default"].fn[NAME] = Collapse._jQueryInterface;
387
+ $__default["default"].fn[NAME].Constructor = Collapse;
365
388
 
366
- $.fn[NAME].noConflict = function () {
367
- $.fn[NAME] = JQUERY_NO_CONFLICT;
389
+ $__default["default"].fn[NAME].noConflict = function () {
390
+ $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
368
391
  return Collapse._jQueryInterface;
369
392
  };
370
393
 
371
394
  return Collapse;
372
- }($);
395
+
396
+ }));