bootstrap 4.0.0.alpha4 → 4.0.0.alpha5

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bootstrap might be problematic. Click here for more details.

Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/assets/javascripts/bootstrap.js +1625 -1768
  4. data/assets/javascripts/bootstrap.min.js +3 -3
  5. data/assets/javascripts/bootstrap/alert.js +83 -96
  6. data/assets/javascripts/bootstrap/button.js +61 -68
  7. data/assets/javascripts/bootstrap/carousel.js +250 -270
  8. data/assets/javascripts/bootstrap/collapse.js +176 -190
  9. data/assets/javascripts/bootstrap/dropdown.js +143 -155
  10. data/assets/javascripts/bootstrap/modal.js +286 -310
  11. data/assets/javascripts/bootstrap/popover.js +61 -69
  12. data/assets/javascripts/bootstrap/scrollspy.js +145 -157
  13. data/assets/javascripts/bootstrap/tab.js +122 -132
  14. data/assets/javascripts/bootstrap/tooltip.js +313 -341
  15. data/assets/javascripts/bootstrap/util.js +9 -16
  16. data/assets/stylesheets/_bootstrap.scss +1 -1
  17. data/assets/stylesheets/bootstrap/_alert.scss +3 -3
  18. data/assets/stylesheets/bootstrap/_animation.scss +12 -3
  19. data/assets/stylesheets/bootstrap/_button-group.scss +1 -0
  20. data/assets/stylesheets/bootstrap/_card.scss +3 -1
  21. data/assets/stylesheets/bootstrap/_custom-forms.scss +7 -10
  22. data/assets/stylesheets/bootstrap/_dropdown.scss +1 -0
  23. data/assets/stylesheets/bootstrap/_forms.scss +16 -6
  24. data/assets/stylesheets/bootstrap/_images.scss +2 -11
  25. data/assets/stylesheets/bootstrap/_list-group.scss +2 -0
  26. data/assets/stylesheets/bootstrap/_mixins.scss +1 -1
  27. data/assets/stylesheets/bootstrap/_modal.scss +4 -2
  28. data/assets/stylesheets/bootstrap/_navbar.scss +72 -13
  29. data/assets/stylesheets/bootstrap/_normalize.scss +51 -53
  30. data/assets/stylesheets/bootstrap/_popover.scss +74 -50
  31. data/assets/stylesheets/bootstrap/_print.scss +8 -2
  32. data/assets/stylesheets/bootstrap/_reboot.scss +7 -12
  33. data/assets/stylesheets/bootstrap/_tables.scss +1 -1
  34. data/assets/stylesheets/bootstrap/_tooltip.scss +15 -12
  35. data/assets/stylesheets/bootstrap/_utilities.scss +3 -1
  36. data/assets/stylesheets/bootstrap/_variables.scss +56 -28
  37. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -1
  38. data/assets/stylesheets/bootstrap/mixins/{_pulls.scss → _float.scss} +2 -2
  39. data/assets/stylesheets/bootstrap/mixins/_forms.scss +6 -11
  40. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +8 -9
  41. data/assets/stylesheets/bootstrap/mixins/_grid.scss +31 -8
  42. data/assets/stylesheets/bootstrap/mixins/_hover.scss +1 -1
  43. data/assets/stylesheets/bootstrap/mixins/_image.scss +6 -4
  44. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +1 -1
  45. data/assets/stylesheets/bootstrap/utilities/_align.scss +6 -0
  46. data/assets/stylesheets/bootstrap/utilities/_borders.scss +30 -0
  47. data/assets/stylesheets/bootstrap/utilities/_float.scss +13 -0
  48. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +10 -9
  49. data/assets/stylesheets/bootstrap/utilities/_text.scss +8 -0
  50. data/lib/bootstrap/version.rb +2 -2
  51. data/templates/project/_bootstrap-variables.scss +55 -27
  52. metadata +6 -4
  53. data/assets/stylesheets/bootstrap/utilities/_pulls.scss +0 -13
@@ -1,17 +1,17 @@
1
- 'use strict';
1
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
2
2
 
3
- var _createClass = (function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
3
+ var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
4
4
 
5
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
5
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
6
 
7
7
  /**
8
8
  * --------------------------------------------------------------------------
9
- * Bootstrap (v4.0.0-alpha.4): collapse.js
9
+ * Bootstrap (v4.0.0-alpha.5): collapse.js
10
10
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
11
11
  * --------------------------------------------------------------------------
12
12
  */
13
13
 
14
- var Collapse = (function ($) {
14
+ var Collapse = function ($) {
15
15
 
16
16
  /**
17
17
  * ------------------------------------------------------------------------
@@ -20,7 +20,7 @@ var Collapse = (function ($) {
20
20
  */
21
21
 
22
22
  var NAME = 'collapse';
23
- var VERSION = '4.0.0-alpha.4';
23
+ var VERSION = '4.0.0-alpha.5';
24
24
  var DATA_KEY = 'bs.collapse';
25
25
  var EVENT_KEY = '.' + DATA_KEY;
26
26
  var DATA_API_KEY = '.data-api';
@@ -58,7 +58,7 @@ var Collapse = (function ($) {
58
58
  };
59
59
 
60
60
  var Selector = {
61
- ACTIVES: '.panel > .in, .panel > .collapsing',
61
+ ACTIVES: '.card > .in, .card > .collapsing',
62
62
  DATA_TOGGLE: '[data-toggle="collapse"]'
63
63
  };
64
64
 
@@ -68,7 +68,7 @@ var Collapse = (function ($) {
68
68
  * ------------------------------------------------------------------------
69
69
  */
70
70
 
71
- var Collapse = (function () {
71
+ var Collapse = function () {
72
72
  function Collapse(element, config) {
73
73
  _classCallCheck(this, Collapse);
74
74
 
@@ -88,240 +88,220 @@ var Collapse = (function ($) {
88
88
  }
89
89
  }
90
90
 
91
- /**
92
- * ------------------------------------------------------------------------
93
- * Data Api implementation
94
- * ------------------------------------------------------------------------
95
- */
96
-
97
91
  // getters
98
92
 
99
- _createClass(Collapse, [{
100
- key: 'toggle',
93
+ // public
94
+
95
+ Collapse.prototype.toggle = function toggle() {
96
+ if ($(this._element).hasClass(ClassName.IN)) {
97
+ this.hide();
98
+ } else {
99
+ this.show();
100
+ }
101
+ };
101
102
 
102
- // public
103
+ Collapse.prototype.show = function show() {
104
+ var _this = this;
105
+
106
+ if (this._isTransitioning || $(this._element).hasClass(ClassName.IN)) {
107
+ return;
108
+ }
103
109
 
104
- value: function toggle() {
105
- if ($(this._element).hasClass(ClassName.IN)) {
106
- this.hide();
107
- } else {
108
- this.show();
110
+ var actives = void 0;
111
+ var activesData = void 0;
112
+
113
+ if (this._parent) {
114
+ actives = $.makeArray($(Selector.ACTIVES));
115
+ if (!actives.length) {
116
+ actives = null;
109
117
  }
110
118
  }
111
- }, {
112
- key: 'show',
113
- value: function show() {
114
- var _this = this;
115
119
 
116
- if (this._isTransitioning || $(this._element).hasClass(ClassName.IN)) {
120
+ if (actives) {
121
+ activesData = $(actives).data(DATA_KEY);
122
+ if (activesData && activesData._isTransitioning) {
117
123
  return;
118
124
  }
125
+ }
119
126
 
120
- var actives = undefined;
121
- var activesData = undefined;
127
+ var startEvent = $.Event(Event.SHOW);
128
+ $(this._element).trigger(startEvent);
129
+ if (startEvent.isDefaultPrevented()) {
130
+ return;
131
+ }
122
132
 
123
- if (this._parent) {
124
- actives = $.makeArray($(Selector.ACTIVES));
125
- if (!actives.length) {
126
- actives = null;
127
- }
133
+ if (actives) {
134
+ Collapse._jQueryInterface.call($(actives), 'hide');
135
+ if (!activesData) {
136
+ $(actives).data(DATA_KEY, null);
128
137
  }
138
+ }
129
139
 
130
- if (actives) {
131
- activesData = $(actives).data(DATA_KEY);
132
- if (activesData && activesData._isTransitioning) {
133
- return;
134
- }
135
- }
140
+ var dimension = this._getDimension();
136
141
 
137
- var startEvent = $.Event(Event.SHOW);
138
- $(this._element).trigger(startEvent);
139
- if (startEvent.isDefaultPrevented()) {
140
- return;
141
- }
142
+ $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
142
143
 
143
- if (actives) {
144
- Collapse._jQueryInterface.call($(actives), 'hide');
145
- if (!activesData) {
146
- $(actives).data(DATA_KEY, null);
147
- }
148
- }
144
+ this._element.style[dimension] = 0;
145
+ this._element.setAttribute('aria-expanded', true);
149
146
 
150
- var dimension = this._getDimension();
147
+ if (this._triggerArray.length) {
148
+ $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
149
+ }
151
150
 
152
- $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
151
+ this.setTransitioning(true);
153
152
 
154
- this._element.style[dimension] = 0;
155
- this._element.setAttribute('aria-expanded', true);
153
+ var complete = function complete() {
154
+ $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.IN);
156
155
 
157
- if (this._triggerArray.length) {
158
- $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
159
- }
156
+ _this._element.style[dimension] = '';
160
157
 
161
- this.setTransitioning(true);
158
+ _this.setTransitioning(false);
162
159
 
163
- var complete = function complete() {
164
- $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.IN);
160
+ $(_this._element).trigger(Event.SHOWN);
161
+ };
165
162
 
166
- _this._element.style[dimension] = '';
163
+ if (!Util.supportsTransitionEnd()) {
164
+ complete();
165
+ return;
166
+ }
167
167
 
168
- _this.setTransitioning(false);
168
+ var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
169
+ var scrollSize = 'scroll' + capitalizedDimension;
169
170
 
170
- $(_this._element).trigger(Event.SHOWN);
171
- };
171
+ $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
172
172
 
173
- if (!Util.supportsTransitionEnd()) {
174
- complete();
175
- return;
176
- }
173
+ this._element.style[dimension] = this._element[scrollSize] + 'px';
174
+ };
177
175
 
178
- var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
179
- var scrollSize = 'scroll' + capitalizedDimension;
176
+ Collapse.prototype.hide = function hide() {
177
+ var _this2 = this;
180
178
 
181
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
179
+ if (this._isTransitioning || !$(this._element).hasClass(ClassName.IN)) {
180
+ return;
181
+ }
182
182
 
183
- this._element.style[dimension] = this._element[scrollSize] + 'px';
183
+ var startEvent = $.Event(Event.HIDE);
184
+ $(this._element).trigger(startEvent);
185
+ if (startEvent.isDefaultPrevented()) {
186
+ return;
184
187
  }
185
- }, {
186
- key: 'hide',
187
- value: function hide() {
188
- var _this2 = this;
189
188
 
190
- if (this._isTransitioning || !$(this._element).hasClass(ClassName.IN)) {
191
- return;
192
- }
189
+ var dimension = this._getDimension();
190
+ var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
193
191
 
194
- var startEvent = $.Event(Event.HIDE);
195
- $(this._element).trigger(startEvent);
196
- if (startEvent.isDefaultPrevented()) {
197
- return;
198
- }
192
+ this._element.style[dimension] = this._element[offsetDimension] + 'px';
199
193
 
200
- var dimension = this._getDimension();
201
- var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
194
+ Util.reflow(this._element);
202
195
 
203
- this._element.style[dimension] = this._element[offsetDimension] + 'px';
196
+ $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.IN);
204
197
 
205
- Util.reflow(this._element);
198
+ this._element.setAttribute('aria-expanded', false);
206
199
 
207
- $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.IN);
200
+ if (this._triggerArray.length) {
201
+ $(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
202
+ }
208
203
 
209
- this._element.setAttribute('aria-expanded', false);
204
+ this.setTransitioning(true);
210
205
 
211
- if (this._triggerArray.length) {
212
- $(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
213
- }
206
+ var complete = function complete() {
207
+ _this2.setTransitioning(false);
208
+ $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
209
+ };
214
210
 
215
- this.setTransitioning(true);
211
+ this._element.style[dimension] = '';
216
212
 
217
- var complete = function complete() {
218
- _this2.setTransitioning(false);
219
- $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
220
- };
213
+ if (!Util.supportsTransitionEnd()) {
214
+ complete();
215
+ return;
216
+ }
221
217
 
222
- this._element.style[dimension] = 0;
218
+ $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
219
+ };
223
220
 
224
- if (!Util.supportsTransitionEnd()) {
225
- complete();
226
- return;
227
- }
221
+ Collapse.prototype.setTransitioning = function setTransitioning(isTransitioning) {
222
+ this._isTransitioning = isTransitioning;
223
+ };
228
224
 
229
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
230
- }
231
- }, {
232
- key: 'setTransitioning',
233
- value: function setTransitioning(isTransitioning) {
234
- this._isTransitioning = isTransitioning;
235
- }
236
- }, {
237
- key: 'dispose',
238
- value: function dispose() {
239
- $.removeData(this._element, DATA_KEY);
240
-
241
- this._config = null;
242
- this._parent = null;
243
- this._element = null;
244
- this._triggerArray = null;
245
- this._isTransitioning = null;
246
- }
225
+ Collapse.prototype.dispose = function dispose() {
226
+ $.removeData(this._element, DATA_KEY);
247
227
 
248
- // private
228
+ this._config = null;
229
+ this._parent = null;
230
+ this._element = null;
231
+ this._triggerArray = null;
232
+ this._isTransitioning = null;
233
+ };
249
234
 
250
- }, {
251
- key: '_getConfig',
252
- value: function _getConfig(config) {
253
- config = $.extend({}, Default, config);
254
- config.toggle = Boolean(config.toggle); // coerce string values
255
- Util.typeCheckConfig(NAME, config, DefaultType);
256
- return config;
257
- }
258
- }, {
259
- key: '_getDimension',
260
- value: function _getDimension() {
261
- var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
262
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
263
- }
264
- }, {
265
- key: '_getParent',
266
- value: function _getParent() {
267
- var _this3 = this;
235
+ // private
268
236
 
269
- var parent = $(this._config.parent)[0];
270
- var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
237
+ Collapse.prototype._getConfig = function _getConfig(config) {
238
+ config = $.extend({}, Default, config);
239
+ config.toggle = Boolean(config.toggle); // coerce string values
240
+ Util.typeCheckConfig(NAME, config, DefaultType);
241
+ return config;
242
+ };
271
243
 
272
- $(parent).find(selector).each(function (i, element) {
273
- _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
274
- });
244
+ Collapse.prototype._getDimension = function _getDimension() {
245
+ var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
246
+ return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
247
+ };
275
248
 
276
- return parent;
277
- }
278
- }, {
279
- key: '_addAriaAndCollapsedClass',
280
- value: function _addAriaAndCollapsedClass(element, triggerArray) {
281
- if (element) {
282
- var isOpen = $(element).hasClass(ClassName.IN);
283
- element.setAttribute('aria-expanded', isOpen);
284
-
285
- if (triggerArray.length) {
286
- $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
287
- }
249
+ Collapse.prototype._getParent = function _getParent() {
250
+ var _this3 = this;
251
+
252
+ var parent = $(this._config.parent)[0];
253
+ var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
254
+
255
+ $(parent).find(selector).each(function (i, element) {
256
+ _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
257
+ });
258
+
259
+ return parent;
260
+ };
261
+
262
+ Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
263
+ if (element) {
264
+ var isOpen = $(element).hasClass(ClassName.IN);
265
+ element.setAttribute('aria-expanded', isOpen);
266
+
267
+ if (triggerArray.length) {
268
+ $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
288
269
  }
289
270
  }
271
+ };
290
272
 
291
- // static
273
+ // static
292
274
 
293
- }], [{
294
- key: '_getTargetFromElement',
295
- value: function _getTargetFromElement(element) {
296
- var selector = Util.getSelectorFromElement(element);
297
- return selector ? $(selector)[0] : null;
298
- }
299
- }, {
300
- key: '_jQueryInterface',
301
- value: function _jQueryInterface(config) {
302
- return this.each(function () {
303
- var $this = $(this);
304
- var data = $this.data(DATA_KEY);
305
- var _config = $.extend({}, Default, $this.data(), typeof config === 'object' && config);
306
-
307
- if (!data && _config.toggle && /show|hide/.test(config)) {
308
- _config.toggle = false;
309
- }
275
+ Collapse._getTargetFromElement = function _getTargetFromElement(element) {
276
+ var selector = Util.getSelectorFromElement(element);
277
+ return selector ? $(selector)[0] : null;
278
+ };
310
279
 
311
- if (!data) {
312
- data = new Collapse(this, _config);
313
- $this.data(DATA_KEY, data);
314
- }
280
+ Collapse._jQueryInterface = function _jQueryInterface(config) {
281
+ return this.each(function () {
282
+ var $this = $(this);
283
+ var data = $this.data(DATA_KEY);
284
+ var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
315
285
 
316
- if (typeof config === 'string') {
317
- if (data[config] === undefined) {
318
- throw new Error('No method named "' + config + '"');
319
- }
320
- data[config]();
286
+ if (!data && _config.toggle && /show|hide/.test(config)) {
287
+ _config.toggle = false;
288
+ }
289
+
290
+ if (!data) {
291
+ data = new Collapse(this, _config);
292
+ $this.data(DATA_KEY, data);
293
+ }
294
+
295
+ if (typeof config === 'string') {
296
+ if (data[config] === undefined) {
297
+ throw new Error('No method named "' + config + '"');
321
298
  }
322
- });
323
- }
324
- }, {
299
+ data[config]();
300
+ }
301
+ });
302
+ };
303
+
304
+ _createClass(Collapse, null, [{
325
305
  key: 'VERSION',
326
306
  get: function get() {
327
307
  return VERSION;
@@ -334,7 +314,13 @@ var Collapse = (function ($) {
334
314
  }]);
335
315
 
336
316
  return Collapse;
337
- })();
317
+ }();
318
+
319
+ /**
320
+ * ------------------------------------------------------------------------
321
+ * Data Api implementation
322
+ * ------------------------------------------------------------------------
323
+ */
338
324
 
339
325
  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
340
326
  event.preventDefault();
@@ -360,4 +346,4 @@ var Collapse = (function ($) {
360
346
  };
361
347
 
362
348
  return Collapse;
363
- })(jQuery);
349
+ }(jQuery);