bootstrap 4.0.0 → 4.6.2.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 (116) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +15 -1
  3. data/CHANGELOG.md +4 -4
  4. data/README.md +8 -2
  5. data/Rakefile +18 -4
  6. data/assets/javascripts/bootstrap/alert.js +77 -66
  7. data/assets/javascripts/bootstrap/button.js +138 -76
  8. data/assets/javascripts/bootstrap/carousel.js +289 -152
  9. data/assets/javascripts/bootstrap/collapse.js +150 -128
  10. data/assets/javascripts/bootstrap/dropdown.js +249 -160
  11. data/assets/javascripts/bootstrap/modal.js +280 -199
  12. data/assets/javascripts/bootstrap/popover.js +99 -58
  13. data/assets/javascripts/bootstrap/scrollspy.js +123 -102
  14. data/assets/javascripts/bootstrap/tab.js +110 -98
  15. data/assets/javascripts/bootstrap/toast.js +267 -0
  16. data/assets/javascripts/bootstrap/tooltip.js +401 -183
  17. data/assets/javascripts/bootstrap/util.js +106 -55
  18. data/assets/javascripts/bootstrap-sprockets.js +7 -6
  19. data/assets/javascripts/bootstrap.js +1903 -1441
  20. data/assets/javascripts/bootstrap.min.js +4 -4
  21. data/assets/stylesheets/_bootstrap-grid.scss +6 -8
  22. data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
  23. data/assets/stylesheets/_bootstrap.scss +6 -4
  24. data/assets/stylesheets/bootstrap/_alert.scss +2 -1
  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 +20 -21
  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 +14 -8
  32. data/assets/stylesheets/bootstrap/_code.scss +6 -14
  33. data/assets/stylesheets/bootstrap/_custom-forms.scss +274 -45
  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 +68 -16
  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 +64 -43
  46. data/assets/stylesheets/bootstrap/_pagination.scss +7 -10
  47. data/assets/stylesheets/bootstrap/_popover.scss +55 -68
  48. data/assets/stylesheets/bootstrap/_print.scss +24 -16
  49. data/assets/stylesheets/bootstrap/_progress.scss +20 -6
  50. data/assets/stylesheets/bootstrap/_reboot.scss +88 -86
  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 +5 -5
  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 +462 -207
  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 +3 -3
  64. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +20 -19
  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 +96 -38
  69. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +7 -7
  70. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +31 -18
  71. data/assets/stylesheets/bootstrap/mixins/_grid.scss +34 -17
  72. data/assets/stylesheets/bootstrap/mixins/_hover.scss +7 -9
  73. data/assets/stylesheets/bootstrap/mixins/_image.scss +4 -4
  74. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -2
  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 +17 -1
  88. data/assets/stylesheets/bootstrap/utilities/_display.scss +6 -18
  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 +5 -4
  103. data/lib/bootstrap/engine.rb +19 -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/gemfiles/rails_7_0_dartsass.gemfile +8 -0
  112. data/test/gemfiles/rails_7_0_sassc.gemfile +8 -0
  113. data/test/support/dummy_rails_integration.rb +3 -1
  114. data/test/test_helper.rb +21 -15
  115. metadata +28 -25
  116. 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): 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';
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,26 @@ 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
+ });
75
102
 
76
- if (selector !== null && $(selector).filter(element).length > 0) {
103
+ if (selector !== null && filterElement.length > 0) {
77
104
  this._selector = selector;
78
105
 
79
106
  this._triggerArray.push(elem);
@@ -96,7 +123,7 @@ var Collapse = function ($) {
96
123
 
97
124
  // Public
98
125
  _proto.toggle = function toggle() {
99
- if ($(this._element).hasClass(ClassName.SHOW)) {
126
+ if ($__default["default"](this._element).hasClass(CLASS_NAME_SHOW)) {
100
127
  this.hide();
101
128
  } else {
102
129
  this.show();
@@ -106,7 +133,7 @@ var Collapse = function ($) {
106
133
  _proto.show = function show() {
107
134
  var _this = this;
108
135
 
109
- if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) {
136
+ if (this._isTransitioning || $__default["default"](this._element).hasClass(CLASS_NAME_SHOW)) {
110
137
  return;
111
138
  }
112
139
 
@@ -114,7 +141,13 @@ var Collapse = function ($) {
114
141
  var activesData;
115
142
 
116
143
  if (this._parent) {
117
- actives = $.makeArray($(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
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
+ }
148
+
149
+ return elem.classList.contains(CLASS_NAME_COLLAPSE);
150
+ });
118
151
 
119
152
  if (actives.length === 0) {
120
153
  actives = null;
@@ -122,68 +155,64 @@ var Collapse = function ($) {
122
155
  }
123
156
 
124
157
  if (actives) {
125
- activesData = $(actives).not(this._selector).data(DATA_KEY);
158
+ activesData = $__default["default"](actives).not(this._selector).data(DATA_KEY);
126
159
 
127
160
  if (activesData && activesData._isTransitioning) {
128
161
  return;
129
162
  }
130
163
  }
131
164
 
132
- var startEvent = $.Event(Event.SHOW);
133
- $(this._element).trigger(startEvent);
165
+ var startEvent = $__default["default"].Event(EVENT_SHOW);
166
+ $__default["default"](this._element).trigger(startEvent);
134
167
 
135
168
  if (startEvent.isDefaultPrevented()) {
136
169
  return;
137
170
  }
138
171
 
139
172
  if (actives) {
140
- Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');
173
+ Collapse._jQueryInterface.call($__default["default"](actives).not(this._selector), 'hide');
141
174
 
142
175
  if (!activesData) {
143
- $(actives).data(DATA_KEY, null);
176
+ $__default["default"](actives).data(DATA_KEY, null);
144
177
  }
145
178
  }
146
179
 
147
180
  var dimension = this._getDimension();
148
181
 
149
- $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
182
+ $__default["default"](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);
150
183
  this._element.style[dimension] = 0;
151
184
 
152
- if (this._triggerArray.length > 0) {
153
- $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
185
+ if (this._triggerArray.length) {
186
+ $__default["default"](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);
154
187
  }
155
188
 
156
189
  this.setTransitioning(true);
157
190
 
158
191
  var complete = function complete() {
159
- $(_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);
160
193
  _this._element.style[dimension] = '';
161
194
 
162
195
  _this.setTransitioning(false);
163
196
 
164
- $(_this._element).trigger(Event.SHOWN);
197
+ $__default["default"](_this._element).trigger(EVENT_SHOWN);
165
198
  };
166
199
 
167
- if (!Util.supportsTransitionEnd()) {
168
- complete();
169
- return;
170
- }
171
-
172
200
  var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
173
201
  var scrollSize = "scroll" + capitalizedDimension;
174
- $(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);
175
204
  this._element.style[dimension] = this._element[scrollSize] + "px";
176
205
  };
177
206
 
178
207
  _proto.hide = function hide() {
179
208
  var _this2 = this;
180
209
 
181
- if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) {
210
+ if (this._isTransitioning || !$__default["default"](this._element).hasClass(CLASS_NAME_SHOW)) {
182
211
  return;
183
212
  }
184
213
 
185
- var startEvent = $.Event(Event.HIDE);
186
- $(this._element).trigger(startEvent);
214
+ var startEvent = $__default["default"].Event(EVENT_HIDE);
215
+ $__default["default"](this._element).trigger(startEvent);
187
216
 
188
217
  if (startEvent.isDefaultPrevented()) {
189
218
  return;
@@ -192,19 +221,20 @@ var Collapse = function ($) {
192
221
  var dimension = this._getDimension();
193
222
 
194
223
  this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
195
- Util.reflow(this._element);
196
- $(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;
197
227
 
198
- if (this._triggerArray.length > 0) {
199
- for (var i = 0; i < this._triggerArray.length; i++) {
228
+ if (triggerArrayLength > 0) {
229
+ for (var i = 0; i < triggerArrayLength; i++) {
200
230
  var trigger = this._triggerArray[i];
201
- var selector = Util.getSelectorFromElement(trigger);
231
+ var selector = Util__default["default"].getSelectorFromElement(trigger);
202
232
 
203
233
  if (selector !== null) {
204
- var $elem = $(selector);
234
+ var $elem = $__default["default"]([].slice.call(document.querySelectorAll(selector)));
205
235
 
206
- if (!$elem.hasClass(ClassName.SHOW)) {
207
- $(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);
208
238
  }
209
239
  }
210
240
  }
@@ -215,17 +245,12 @@ var Collapse = function ($) {
215
245
  var complete = function complete() {
216
246
  _this2.setTransitioning(false);
217
247
 
218
- $(_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);
219
249
  };
220
250
 
221
251
  this._element.style[dimension] = '';
222
-
223
- if (!Util.supportsTransitionEnd()) {
224
- complete();
225
- return;
226
- }
227
-
228
- $(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);
229
254
  };
230
255
 
231
256
  _proto.setTransitioning = function setTransitioning(isTransitioning) {
@@ -233,80 +258,79 @@ var Collapse = function ($) {
233
258
  };
234
259
 
235
260
  _proto.dispose = function dispose() {
236
- $.removeData(this._element, DATA_KEY);
261
+ $__default["default"].removeData(this._element, DATA_KEY);
237
262
  this._config = null;
238
263
  this._parent = null;
239
264
  this._element = null;
240
265
  this._triggerArray = null;
241
266
  this._isTransitioning = null;
242
- }; // Private
243
-
267
+ } // Private
268
+ ;
244
269
 
245
270
  _proto._getConfig = function _getConfig(config) {
246
271
  config = _extends({}, Default, config);
247
272
  config.toggle = Boolean(config.toggle); // Coerce string values
248
273
 
249
- Util.typeCheckConfig(NAME, config, DefaultType);
274
+ Util__default["default"].typeCheckConfig(NAME, config, DefaultType);
250
275
  return config;
251
276
  };
252
277
 
253
278
  _proto._getDimension = function _getDimension() {
254
- var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
255
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
279
+ var hasWidth = $__default["default"](this._element).hasClass(DIMENSION_WIDTH);
280
+ return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;
256
281
  };
257
282
 
258
283
  _proto._getParent = function _getParent() {
259
284
  var _this3 = this;
260
285
 
261
- var parent = null;
286
+ var parent;
262
287
 
263
- if (Util.isElement(this._config.parent)) {
288
+ if (Util__default["default"].isElement(this._config.parent)) {
264
289
  parent = this._config.parent; // It's a jQuery object
265
290
 
266
291
  if (typeof this._config.parent.jquery !== 'undefined') {
267
292
  parent = this._config.parent[0];
268
293
  }
269
294
  } else {
270
- parent = $(this._config.parent)[0];
295
+ parent = document.querySelector(this._config.parent);
271
296
  }
272
297
 
273
298
  var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
274
- $(parent).find(selector).each(function (i, element) {
299
+ var children = [].slice.call(parent.querySelectorAll(selector));
300
+ $__default["default"](children).each(function (i, element) {
275
301
  _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
276
302
  });
277
303
  return parent;
278
304
  };
279
305
 
280
306
  _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
281
- if (element) {
282
- var isOpen = $(element).hasClass(ClassName.SHOW);
307
+ var isOpen = $__default["default"](element).hasClass(CLASS_NAME_SHOW);
283
308
 
284
- if (triggerArray.length > 0) {
285
- $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
286
- }
309
+ if (triggerArray.length) {
310
+ $__default["default"](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
287
311
  }
288
- }; // Static
289
-
312
+ } // Static
313
+ ;
290
314
 
291
315
  Collapse._getTargetFromElement = function _getTargetFromElement(element) {
292
- var selector = Util.getSelectorFromElement(element);
293
- return selector ? $(selector)[0] : null;
316
+ var selector = Util__default["default"].getSelectorFromElement(element);
317
+ return selector ? document.querySelector(selector) : null;
294
318
  };
295
319
 
296
320
  Collapse._jQueryInterface = function _jQueryInterface(config) {
297
321
  return this.each(function () {
298
- var $this = $(this);
299
- var data = $this.data(DATA_KEY);
322
+ var $element = $__default["default"](this);
323
+ var data = $element.data(DATA_KEY);
300
324
 
301
- var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
325
+ var _config = _extends({}, Default, $element.data(), typeof config === 'object' && config ? config : {});
302
326
 
303
- if (!data && _config.toggle && /show|hide/.test(config)) {
327
+ if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
304
328
  _config.toggle = false;
305
329
  }
306
330
 
307
331
  if (!data) {
308
332
  data = new Collapse(this, _config);
309
- $this.data(DATA_KEY, data);
333
+ $element.data(DATA_KEY, data);
310
334
  }
311
335
 
312
336
  if (typeof config === 'string') {
@@ -334,22 +358,21 @@ var Collapse = function ($) {
334
358
  return Collapse;
335
359
  }();
336
360
  /**
337
- * ------------------------------------------------------------------------
338
- * Data Api implementation
339
- * ------------------------------------------------------------------------
361
+ * Data API implementation
340
362
  */
341
363
 
342
364
 
343
- $(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) {
344
366
  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
345
367
  if (event.currentTarget.tagName === 'A') {
346
368
  event.preventDefault();
347
369
  }
348
370
 
349
- var $trigger = $(this);
350
- var selector = Util.getSelectorFromElement(this);
351
- $(selector).each(function () {
352
- 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);
353
376
  var data = $target.data(DATA_KEY);
354
377
  var config = data ? 'toggle' : $trigger.data();
355
378
 
@@ -357,18 +380,17 @@ var Collapse = function ($) {
357
380
  });
358
381
  });
359
382
  /**
360
- * ------------------------------------------------------------------------
361
383
  * jQuery
362
- * ------------------------------------------------------------------------
363
384
  */
364
385
 
365
- $.fn[NAME] = Collapse._jQueryInterface;
366
- $.fn[NAME].Constructor = Collapse;
386
+ $__default["default"].fn[NAME] = Collapse._jQueryInterface;
387
+ $__default["default"].fn[NAME].Constructor = Collapse;
367
388
 
368
- $.fn[NAME].noConflict = function () {
369
- $.fn[NAME] = JQUERY_NO_CONFLICT;
389
+ $__default["default"].fn[NAME].noConflict = function () {
390
+ $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
370
391
  return Collapse._jQueryInterface;
371
392
  };
372
393
 
373
394
  return Collapse;
374
- }($);
395
+
396
+ }));