bootstrap 4.6.0 → 5.0.0.alpha1
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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/assets/javascripts/bootstrap-sprockets.js +12 -8
- data/assets/javascripts/bootstrap.js +1889 -1255
- data/assets/javascripts/bootstrap.min.js +3 -3
- data/assets/javascripts/bootstrap/alert.js +136 -66
- data/assets/javascripts/bootstrap/button.js +59 -147
- data/assets/javascripts/bootstrap/carousel.js +276 -180
- data/assets/javascripts/bootstrap/collapse.js +284 -136
- data/assets/javascripts/bootstrap/dom/data.js +81 -0
- data/assets/javascripts/bootstrap/dom/event-handler.js +311 -0
- data/assets/javascripts/bootstrap/dom/manipulator.js +100 -0
- data/assets/javascripts/bootstrap/dom/polyfill.js +110 -0
- data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
- data/assets/javascripts/bootstrap/dropdown.js +238 -195
- data/assets/javascripts/bootstrap/modal.js +321 -223
- data/assets/javascripts/bootstrap/popover.js +75 -79
- data/assets/javascripts/bootstrap/scrollspy.js +150 -86
- data/assets/javascripts/bootstrap/tab.js +154 -82
- data/assets/javascripts/bootstrap/toast.js +162 -95
- data/assets/javascripts/bootstrap/tooltip.js +337 -191
- data/assets/stylesheets/_bootstrap-grid.scss +53 -18
- data/assets/stylesheets/_bootstrap-reboot.scss +6 -3
- data/assets/stylesheets/_bootstrap.scss +16 -10
- data/assets/stylesheets/bootstrap/_alert.scss +3 -4
- data/assets/stylesheets/bootstrap/_badge.scss +2 -27
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -17
- data/assets/stylesheets/bootstrap/_button-group.scss +16 -38
- data/assets/stylesheets/bootstrap/_buttons.scss +27 -45
- data/assets/stylesheets/bootstrap/_card.scss +22 -68
- data/assets/stylesheets/bootstrap/_carousel.scss +13 -15
- data/assets/stylesheets/bootstrap/_close.scss +9 -13
- data/assets/stylesheets/bootstrap/_containers.scss +41 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +12 -9
- data/assets/stylesheets/bootstrap/_forms.scss +9 -347
- data/assets/stylesheets/bootstrap/_functions.scss +82 -23
- data/assets/stylesheets/bootstrap/_grid.scss +3 -54
- data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
- data/assets/stylesheets/bootstrap/_list-group.scss +7 -4
- data/assets/stylesheets/bootstrap/_mixins.scss +6 -12
- data/assets/stylesheets/bootstrap/_modal.scss +34 -39
- data/assets/stylesheets/bootstrap/_nav.scss +7 -4
- data/assets/stylesheets/bootstrap/_navbar.scss +42 -82
- data/assets/stylesheets/bootstrap/_pagination.scss +7 -20
- data/assets/stylesheets/bootstrap/_popover.scss +5 -5
- data/assets/stylesheets/bootstrap/_progress.scss +3 -5
- data/assets/stylesheets/bootstrap/_reboot.scss +304 -172
- data/assets/stylesheets/bootstrap/_root.scss +5 -8
- data/assets/stylesheets/bootstrap/_spinners.scss +4 -13
- data/assets/stylesheets/bootstrap/_tables.scss +80 -114
- data/assets/stylesheets/bootstrap/_toasts.scss +2 -4
- data/assets/stylesheets/bootstrap/_tooltip.scss +5 -5
- data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
- data/assets/stylesheets/bootstrap/_type.scss +38 -59
- data/assets/stylesheets/bootstrap/_utilities.scss +503 -18
- data/assets/stylesheets/bootstrap/_variables.scss +546 -432
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +142 -0
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +116 -0
- data/assets/stylesheets/bootstrap/forms/_form-file.scss +91 -0
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +136 -0
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +82 -0
- data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +140 -0
- data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
- data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
- data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
- data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
- data/assets/stylesheets/bootstrap/helpers/_embed.scss +31 -0
- data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
- data/assets/stylesheets/bootstrap/helpers/_screenreaders.scss +8 -0
- data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
- data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +0 -4
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -8
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +62 -47
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +22 -74
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +85 -33
- data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +17 -23
- data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +49 -0
- data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +3 -3
- metadata +32 -40
- data/assets/javascripts/bootstrap/util.js +0 -192
- data/assets/stylesheets/bootstrap/_code.scss +0 -48
- data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
- data/assets/stylesheets/bootstrap/_input-group.scss +0 -208
- data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
- data/assets/stylesheets/bootstrap/_media.scss +0 -8
- data/assets/stylesheets/bootstrap/_print.scss +0 -141
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
- data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
- data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
- data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
- data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
- data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
|
@@ -1,53 +1,151 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap carousel.js
|
|
3
|
-
* Copyright 2011-
|
|
2
|
+
* Bootstrap carousel.js v5.0.0-alpha1 (https://getbootstrap.com/)
|
|
3
|
+
* Copyright 2011-2020 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('
|
|
8
|
-
typeof define === 'function' && define.amd ? define(['
|
|
9
|
-
(global =
|
|
10
|
-
}(this, (function (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], factory) :
|
|
9
|
+
(global = global || self, global.Carousel = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine));
|
|
10
|
+
}(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict';
|
|
11
|
+
|
|
12
|
+
Data = Data && Object.prototype.hasOwnProperty.call(Data, 'default') ? Data['default'] : Data;
|
|
13
|
+
EventHandler = EventHandler && Object.prototype.hasOwnProperty.call(EventHandler, 'default') ? EventHandler['default'] : EventHandler;
|
|
14
|
+
Manipulator = Manipulator && Object.prototype.hasOwnProperty.call(Manipulator, 'default') ? Manipulator['default'] : Manipulator;
|
|
15
|
+
SelectorEngine = SelectorEngine && Object.prototype.hasOwnProperty.call(SelectorEngine, 'default') ? SelectorEngine['default'] : SelectorEngine;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* --------------------------------------------------------------------------
|
|
19
|
+
* Bootstrap (v5.0.0-alpha1): util/index.js
|
|
20
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
21
|
+
* --------------------------------------------------------------------------
|
|
22
|
+
*/
|
|
23
|
+
var MILLISECONDS_MULTIPLIER = 1000;
|
|
24
|
+
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
|
25
|
+
|
|
26
|
+
var toType = function toType(obj) {
|
|
27
|
+
if (obj === null || obj === undefined) {
|
|
28
|
+
return "" + obj;
|
|
24
29
|
}
|
|
25
|
-
}
|
|
26
30
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
-
return Constructor;
|
|
31
|
-
}
|
|
31
|
+
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
|
32
|
+
};
|
|
32
33
|
|
|
33
|
-
function
|
|
34
|
-
|
|
35
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
36
|
-
var source = arguments[i];
|
|
34
|
+
var getSelector = function getSelector(element) {
|
|
35
|
+
var selector = element.getAttribute('data-target');
|
|
37
36
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
if (!selector || selector === '#') {
|
|
38
|
+
var hrefAttr = element.getAttribute('href');
|
|
39
|
+
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return selector;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var getElementFromSelector = function getElementFromSelector(element) {
|
|
46
|
+
var selector = getSelector(element);
|
|
47
|
+
return selector ? document.querySelector(selector) : null;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) {
|
|
51
|
+
if (!element) {
|
|
52
|
+
return 0;
|
|
53
|
+
} // Get transition-duration of the element
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
var _window$getComputedSt = window.getComputedStyle(element),
|
|
57
|
+
transitionDuration = _window$getComputedSt.transitionDuration,
|
|
58
|
+
transitionDelay = _window$getComputedSt.transitionDelay;
|
|
59
|
+
|
|
60
|
+
var floatTransitionDuration = parseFloat(transitionDuration);
|
|
61
|
+
var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
|
|
62
|
+
|
|
63
|
+
if (!floatTransitionDuration && !floatTransitionDelay) {
|
|
64
|
+
return 0;
|
|
65
|
+
} // If multiple durations are defined, take the first
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
transitionDuration = transitionDuration.split(',')[0];
|
|
69
|
+
transitionDelay = transitionDelay.split(',')[0];
|
|
70
|
+
return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
var triggerTransitionEnd = function triggerTransitionEnd(element) {
|
|
74
|
+
element.dispatchEvent(new Event(TRANSITION_END));
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
var isElement = function isElement(obj) {
|
|
78
|
+
return (obj[0] || obj).nodeType;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
var emulateTransitionEnd = function emulateTransitionEnd(element, duration) {
|
|
82
|
+
var called = false;
|
|
83
|
+
var durationPadding = 5;
|
|
84
|
+
var emulatedDuration = duration + durationPadding;
|
|
85
|
+
|
|
86
|
+
function listener() {
|
|
87
|
+
called = true;
|
|
88
|
+
element.removeEventListener(TRANSITION_END, listener);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
element.addEventListener(TRANSITION_END, listener);
|
|
92
|
+
setTimeout(function () {
|
|
93
|
+
if (!called) {
|
|
94
|
+
triggerTransitionEnd(element);
|
|
43
95
|
}
|
|
96
|
+
}, emulatedDuration);
|
|
97
|
+
};
|
|
44
98
|
|
|
45
|
-
|
|
46
|
-
|
|
99
|
+
var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) {
|
|
100
|
+
Object.keys(configTypes).forEach(function (property) {
|
|
101
|
+
var expectedTypes = configTypes[property];
|
|
102
|
+
var value = config[property];
|
|
103
|
+
var valueType = value && isElement(value) ? 'element' : toType(value);
|
|
47
104
|
|
|
48
|
-
|
|
49
|
-
|
|
105
|
+
if (!new RegExp(expectedTypes).test(valueType)) {
|
|
106
|
+
throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
var isVisible = function isVisible(element) {
|
|
112
|
+
if (!element) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (element.style && element.parentNode && element.parentNode.style) {
|
|
117
|
+
var elementStyle = getComputedStyle(element);
|
|
118
|
+
var parentNodeStyle = getComputedStyle(element.parentNode);
|
|
119
|
+
return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return false;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
var reflow = function reflow(element) {
|
|
126
|
+
return element.offsetHeight;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
var getjQuery = function getjQuery() {
|
|
130
|
+
var _window = window,
|
|
131
|
+
jQuery = _window.jQuery;
|
|
132
|
+
|
|
133
|
+
if (jQuery && !document.body.hasAttribute('data-no-jquery')) {
|
|
134
|
+
return jQuery;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
return null;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
141
|
+
|
|
142
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
50
143
|
|
|
144
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
145
|
+
|
|
146
|
+
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); } }
|
|
147
|
+
|
|
148
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
51
149
|
/**
|
|
52
150
|
* ------------------------------------------------------------------------
|
|
53
151
|
* Constants
|
|
@@ -55,15 +153,12 @@
|
|
|
55
153
|
*/
|
|
56
154
|
|
|
57
155
|
var NAME = 'carousel';
|
|
58
|
-
var VERSION = '
|
|
156
|
+
var VERSION = '5.0.0-alpha1';
|
|
59
157
|
var DATA_KEY = 'bs.carousel';
|
|
60
158
|
var EVENT_KEY = "." + DATA_KEY;
|
|
61
159
|
var DATA_API_KEY = '.data-api';
|
|
62
|
-
var
|
|
63
|
-
var
|
|
64
|
-
|
|
65
|
-
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
|
|
66
|
-
|
|
160
|
+
var ARROW_LEFT_KEY = 'ArrowLeft';
|
|
161
|
+
var ARROW_RIGHT_KEY = 'ArrowRight';
|
|
67
162
|
var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
|
|
68
163
|
|
|
69
164
|
var SWIPE_THRESHOLD = 40;
|
|
@@ -138,11 +233,13 @@
|
|
|
138
233
|
this.touchDeltaX = 0;
|
|
139
234
|
this._config = this._getConfig(config);
|
|
140
235
|
this._element = element;
|
|
141
|
-
this._indicatorsElement = this._element
|
|
236
|
+
this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);
|
|
142
237
|
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
|
|
143
|
-
this._pointerEvent = Boolean(window.PointerEvent
|
|
238
|
+
this._pointerEvent = Boolean(window.PointerEvent);
|
|
144
239
|
|
|
145
240
|
this._addEventListeners();
|
|
241
|
+
|
|
242
|
+
Data.setData(element, DATA_KEY, this);
|
|
146
243
|
} // Getters
|
|
147
244
|
|
|
148
245
|
|
|
@@ -156,10 +253,9 @@
|
|
|
156
253
|
};
|
|
157
254
|
|
|
158
255
|
_proto.nextWhenVisible = function nextWhenVisible() {
|
|
159
|
-
|
|
256
|
+
// Don't call next when the page isn't visible
|
|
160
257
|
// or the carousel or its parent isn't visible
|
|
161
|
-
|
|
162
|
-
if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') {
|
|
258
|
+
if (!document.hidden && isVisible(this._element)) {
|
|
163
259
|
this.next();
|
|
164
260
|
}
|
|
165
261
|
};
|
|
@@ -175,8 +271,8 @@
|
|
|
175
271
|
this._isPaused = true;
|
|
176
272
|
}
|
|
177
273
|
|
|
178
|
-
if (this._element
|
|
179
|
-
|
|
274
|
+
if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {
|
|
275
|
+
triggerTransitionEnd(this._element);
|
|
180
276
|
this.cycle(true);
|
|
181
277
|
}
|
|
182
278
|
|
|
@@ -194,9 +290,7 @@
|
|
|
194
290
|
this._interval = null;
|
|
195
291
|
}
|
|
196
292
|
|
|
197
|
-
if (this._config.interval && !this._isPaused) {
|
|
198
|
-
this._updateInterval();
|
|
199
|
-
|
|
293
|
+
if (this._config && this._config.interval && !this._isPaused) {
|
|
200
294
|
this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
|
|
201
295
|
}
|
|
202
296
|
};
|
|
@@ -204,7 +298,7 @@
|
|
|
204
298
|
_proto.to = function to(index) {
|
|
205
299
|
var _this = this;
|
|
206
300
|
|
|
207
|
-
this._activeElement = this._element
|
|
301
|
+
this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
|
|
208
302
|
|
|
209
303
|
var activeIndex = this._getItemIndex(this._activeElement);
|
|
210
304
|
|
|
@@ -213,7 +307,7 @@
|
|
|
213
307
|
}
|
|
214
308
|
|
|
215
309
|
if (this._isSliding) {
|
|
216
|
-
|
|
310
|
+
EventHandler.one(this._element, EVENT_SLID, function () {
|
|
217
311
|
return _this.to(index);
|
|
218
312
|
});
|
|
219
313
|
return;
|
|
@@ -231,8 +325,8 @@
|
|
|
231
325
|
};
|
|
232
326
|
|
|
233
327
|
_proto.dispose = function dispose() {
|
|
234
|
-
|
|
235
|
-
|
|
328
|
+
EventHandler.off(this._element, EVENT_KEY);
|
|
329
|
+
Data.removeData(this._element, DATA_KEY);
|
|
236
330
|
this._items = null;
|
|
237
331
|
this._config = null;
|
|
238
332
|
this._element = null;
|
|
@@ -245,8 +339,8 @@
|
|
|
245
339
|
;
|
|
246
340
|
|
|
247
341
|
_proto._getConfig = function _getConfig(config) {
|
|
248
|
-
config =
|
|
249
|
-
|
|
342
|
+
config = _objectSpread(_objectSpread({}, Default), config);
|
|
343
|
+
typeCheckConfig(NAME, config, DefaultType);
|
|
250
344
|
return config;
|
|
251
345
|
};
|
|
252
346
|
|
|
@@ -274,20 +368,21 @@
|
|
|
274
368
|
var _this2 = this;
|
|
275
369
|
|
|
276
370
|
if (this._config.keyboard) {
|
|
277
|
-
|
|
371
|
+
EventHandler.on(this._element, EVENT_KEYDOWN, function (event) {
|
|
278
372
|
return _this2._keydown(event);
|
|
279
373
|
});
|
|
280
374
|
}
|
|
281
375
|
|
|
282
376
|
if (this._config.pause === 'hover') {
|
|
283
|
-
|
|
377
|
+
EventHandler.on(this._element, EVENT_MOUSEENTER, function (event) {
|
|
284
378
|
return _this2.pause(event);
|
|
285
|
-
})
|
|
379
|
+
});
|
|
380
|
+
EventHandler.on(this._element, EVENT_MOUSELEAVE, function (event) {
|
|
286
381
|
return _this2.cycle(event);
|
|
287
382
|
});
|
|
288
383
|
}
|
|
289
384
|
|
|
290
|
-
if (this._config.touch) {
|
|
385
|
+
if (this._config.touch && this._touchSupported) {
|
|
291
386
|
this._addTouchEventListeners();
|
|
292
387
|
}
|
|
293
388
|
};
|
|
@@ -295,30 +390,26 @@
|
|
|
295
390
|
_proto._addTouchEventListeners = function _addTouchEventListeners() {
|
|
296
391
|
var _this3 = this;
|
|
297
392
|
|
|
298
|
-
if (!this._touchSupported) {
|
|
299
|
-
return;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
393
|
var start = function start(event) {
|
|
303
|
-
if (_this3._pointerEvent && PointerType[event.
|
|
304
|
-
_this3.touchStartX = event.
|
|
394
|
+
if (_this3._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {
|
|
395
|
+
_this3.touchStartX = event.clientX;
|
|
305
396
|
} else if (!_this3._pointerEvent) {
|
|
306
|
-
_this3.touchStartX = event.
|
|
397
|
+
_this3.touchStartX = event.touches[0].clientX;
|
|
307
398
|
}
|
|
308
399
|
};
|
|
309
400
|
|
|
310
401
|
var move = function move(event) {
|
|
311
402
|
// ensure swiping with one touch and not pinching
|
|
312
|
-
if (event.
|
|
403
|
+
if (event.touches && event.touches.length > 1) {
|
|
313
404
|
_this3.touchDeltaX = 0;
|
|
314
405
|
} else {
|
|
315
|
-
_this3.touchDeltaX = event.
|
|
406
|
+
_this3.touchDeltaX = event.touches[0].clientX - _this3.touchStartX;
|
|
316
407
|
}
|
|
317
408
|
};
|
|
318
409
|
|
|
319
410
|
var end = function end(event) {
|
|
320
|
-
if (_this3._pointerEvent && PointerType[event.
|
|
321
|
-
_this3.touchDeltaX = event.
|
|
411
|
+
if (_this3._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {
|
|
412
|
+
_this3.touchDeltaX = event.clientX - _this3.touchStartX;
|
|
322
413
|
}
|
|
323
414
|
|
|
324
415
|
_this3._handleSwipe();
|
|
@@ -343,27 +434,29 @@
|
|
|
343
434
|
}
|
|
344
435
|
};
|
|
345
436
|
|
|
346
|
-
|
|
347
|
-
|
|
437
|
+
SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(function (itemImg) {
|
|
438
|
+
EventHandler.on(itemImg, EVENT_DRAG_START, function (e) {
|
|
439
|
+
return e.preventDefault();
|
|
440
|
+
});
|
|
348
441
|
});
|
|
349
442
|
|
|
350
443
|
if (this._pointerEvent) {
|
|
351
|
-
|
|
444
|
+
EventHandler.on(this._element, EVENT_POINTERDOWN, function (event) {
|
|
352
445
|
return start(event);
|
|
353
446
|
});
|
|
354
|
-
|
|
447
|
+
EventHandler.on(this._element, EVENT_POINTERUP, function (event) {
|
|
355
448
|
return end(event);
|
|
356
449
|
});
|
|
357
450
|
|
|
358
451
|
this._element.classList.add(CLASS_NAME_POINTER_EVENT);
|
|
359
452
|
} else {
|
|
360
|
-
|
|
453
|
+
EventHandler.on(this._element, EVENT_TOUCHSTART, function (event) {
|
|
361
454
|
return start(event);
|
|
362
455
|
});
|
|
363
|
-
|
|
456
|
+
EventHandler.on(this._element, EVENT_TOUCHMOVE, function (event) {
|
|
364
457
|
return move(event);
|
|
365
458
|
});
|
|
366
|
-
|
|
459
|
+
EventHandler.on(this._element, EVENT_TOUCHEND, function (event) {
|
|
367
460
|
return end(event);
|
|
368
461
|
});
|
|
369
462
|
}
|
|
@@ -374,13 +467,13 @@
|
|
|
374
467
|
return;
|
|
375
468
|
}
|
|
376
469
|
|
|
377
|
-
switch (event.
|
|
378
|
-
case
|
|
470
|
+
switch (event.key) {
|
|
471
|
+
case ARROW_LEFT_KEY:
|
|
379
472
|
event.preventDefault();
|
|
380
473
|
this.prev();
|
|
381
474
|
break;
|
|
382
475
|
|
|
383
|
-
case
|
|
476
|
+
case ARROW_RIGHT_KEY:
|
|
384
477
|
event.preventDefault();
|
|
385
478
|
this.next();
|
|
386
479
|
break;
|
|
@@ -388,7 +481,7 @@
|
|
|
388
481
|
};
|
|
389
482
|
|
|
390
483
|
_proto._getItemIndex = function _getItemIndex(element) {
|
|
391
|
-
this._items = element && element.parentNode ?
|
|
484
|
+
this._items = element && element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : [];
|
|
392
485
|
return this._items.indexOf(element);
|
|
393
486
|
};
|
|
394
487
|
|
|
@@ -413,52 +506,36 @@
|
|
|
413
506
|
_proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
|
|
414
507
|
var targetIndex = this._getItemIndex(relatedTarget);
|
|
415
508
|
|
|
416
|
-
var fromIndex = this._getItemIndex(this._element
|
|
509
|
+
var fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element));
|
|
417
510
|
|
|
418
|
-
|
|
511
|
+
return EventHandler.trigger(this._element, EVENT_SLIDE, {
|
|
419
512
|
relatedTarget: relatedTarget,
|
|
420
513
|
direction: eventDirectionName,
|
|
421
514
|
from: fromIndex,
|
|
422
515
|
to: targetIndex
|
|
423
516
|
});
|
|
424
|
-
$__default['default'](this._element).trigger(slideEvent);
|
|
425
|
-
return slideEvent;
|
|
426
517
|
};
|
|
427
518
|
|
|
428
519
|
_proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
|
|
429
520
|
if (this._indicatorsElement) {
|
|
430
|
-
var indicators =
|
|
431
|
-
|
|
521
|
+
var indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement);
|
|
522
|
+
|
|
523
|
+
for (var i = 0; i < indicators.length; i++) {
|
|
524
|
+
indicators[i].classList.remove(CLASS_NAME_ACTIVE);
|
|
525
|
+
}
|
|
432
526
|
|
|
433
527
|
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
|
|
434
528
|
|
|
435
529
|
if (nextIndicator) {
|
|
436
|
-
|
|
530
|
+
nextIndicator.classList.add(CLASS_NAME_ACTIVE);
|
|
437
531
|
}
|
|
438
532
|
}
|
|
439
533
|
};
|
|
440
534
|
|
|
441
|
-
_proto._updateInterval = function _updateInterval() {
|
|
442
|
-
var element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM);
|
|
443
|
-
|
|
444
|
-
if (!element) {
|
|
445
|
-
return;
|
|
446
|
-
}
|
|
447
|
-
|
|
448
|
-
var elementInterval = parseInt(element.getAttribute('data-interval'), 10);
|
|
449
|
-
|
|
450
|
-
if (elementInterval) {
|
|
451
|
-
this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
|
|
452
|
-
this._config.interval = elementInterval;
|
|
453
|
-
} else {
|
|
454
|
-
this._config.interval = this._config.defaultInterval || this._config.interval;
|
|
455
|
-
}
|
|
456
|
-
};
|
|
457
|
-
|
|
458
535
|
_proto._slide = function _slide(direction, element) {
|
|
459
536
|
var _this4 = this;
|
|
460
537
|
|
|
461
|
-
var activeElement = this._element
|
|
538
|
+
var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
|
|
462
539
|
|
|
463
540
|
var activeElementIndex = this._getItemIndex(activeElement);
|
|
464
541
|
|
|
@@ -481,14 +558,14 @@
|
|
|
481
558
|
eventDirectionName = DIRECTION_RIGHT;
|
|
482
559
|
}
|
|
483
560
|
|
|
484
|
-
if (nextElement &&
|
|
561
|
+
if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {
|
|
485
562
|
this._isSliding = false;
|
|
486
563
|
return;
|
|
487
564
|
}
|
|
488
565
|
|
|
489
566
|
var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
|
|
490
567
|
|
|
491
|
-
if (slideEvent.
|
|
568
|
+
if (slideEvent.defaultPrevented) {
|
|
492
569
|
return;
|
|
493
570
|
}
|
|
494
571
|
|
|
@@ -505,33 +582,46 @@
|
|
|
505
582
|
|
|
506
583
|
this._setActiveIndicatorElement(nextElement);
|
|
507
584
|
|
|
508
|
-
this.
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
});
|
|
585
|
+
if (this._element.classList.contains(CLASS_NAME_SLIDE)) {
|
|
586
|
+
nextElement.classList.add(orderClassName);
|
|
587
|
+
reflow(nextElement);
|
|
588
|
+
activeElement.classList.add(directionalClassName);
|
|
589
|
+
nextElement.classList.add(directionalClassName);
|
|
590
|
+
var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
|
|
515
591
|
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
592
|
+
if (nextElementInterval) {
|
|
593
|
+
this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
|
|
594
|
+
this._config.interval = nextElementInterval;
|
|
595
|
+
} else {
|
|
596
|
+
this._config.interval = this._config.defaultInterval || this._config.interval;
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
var transitionDuration = getTransitionDurationFromElement(activeElement);
|
|
600
|
+
EventHandler.one(activeElement, TRANSITION_END, function () {
|
|
601
|
+
nextElement.classList.remove(directionalClassName, orderClassName);
|
|
602
|
+
nextElement.classList.add(CLASS_NAME_ACTIVE);
|
|
603
|
+
activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName);
|
|
525
604
|
_this4._isSliding = false;
|
|
526
605
|
setTimeout(function () {
|
|
527
|
-
|
|
606
|
+
EventHandler.trigger(_this4._element, EVENT_SLID, {
|
|
607
|
+
relatedTarget: nextElement,
|
|
608
|
+
direction: eventDirectionName,
|
|
609
|
+
from: activeElementIndex,
|
|
610
|
+
to: nextElementIndex
|
|
611
|
+
});
|
|
528
612
|
}, 0);
|
|
529
|
-
})
|
|
613
|
+
});
|
|
614
|
+
emulateTransitionEnd(activeElement, transitionDuration);
|
|
530
615
|
} else {
|
|
531
|
-
|
|
532
|
-
|
|
616
|
+
activeElement.classList.remove(CLASS_NAME_ACTIVE);
|
|
617
|
+
nextElement.classList.add(CLASS_NAME_ACTIVE);
|
|
533
618
|
this._isSliding = false;
|
|
534
|
-
|
|
619
|
+
EventHandler.trigger(this._element, EVENT_SLID, {
|
|
620
|
+
relatedTarget: nextElement,
|
|
621
|
+
direction: eventDirectionName,
|
|
622
|
+
from: activeElementIndex,
|
|
623
|
+
to: nextElementIndex
|
|
624
|
+
});
|
|
535
625
|
}
|
|
536
626
|
|
|
537
627
|
if (isCycling) {
|
|
@@ -540,52 +630,49 @@
|
|
|
540
630
|
} // Static
|
|
541
631
|
;
|
|
542
632
|
|
|
543
|
-
Carousel.
|
|
544
|
-
|
|
545
|
-
var data = $__default['default'](this).data(DATA_KEY);
|
|
633
|
+
Carousel.carouselInterface = function carouselInterface(element, config) {
|
|
634
|
+
var data = Data.getData(element, DATA_KEY);
|
|
546
635
|
|
|
547
|
-
|
|
636
|
+
var _config = _objectSpread(_objectSpread({}, Default), Manipulator.getDataAttributes(element));
|
|
548
637
|
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
638
|
+
if (typeof config === 'object') {
|
|
639
|
+
_config = _objectSpread(_objectSpread({}, _config), config);
|
|
640
|
+
}
|
|
552
641
|
|
|
553
|
-
|
|
642
|
+
var action = typeof config === 'string' ? config : _config.slide;
|
|
554
643
|
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
644
|
+
if (!data) {
|
|
645
|
+
data = new Carousel(element, _config);
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
if (typeof config === 'number') {
|
|
649
|
+
data.to(config);
|
|
650
|
+
} else if (typeof action === 'string') {
|
|
651
|
+
if (typeof data[action] === 'undefined') {
|
|
652
|
+
throw new TypeError("No method named \"" + action + "\"");
|
|
558
653
|
}
|
|
559
654
|
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
655
|
+
data[action]();
|
|
656
|
+
} else if (_config.interval && _config.ride) {
|
|
657
|
+
data.pause();
|
|
658
|
+
data.cycle();
|
|
659
|
+
}
|
|
660
|
+
};
|
|
566
661
|
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
data.cycle();
|
|
571
|
-
}
|
|
662
|
+
Carousel.jQueryInterface = function jQueryInterface(config) {
|
|
663
|
+
return this.each(function () {
|
|
664
|
+
Carousel.carouselInterface(this, config);
|
|
572
665
|
});
|
|
573
666
|
};
|
|
574
667
|
|
|
575
|
-
Carousel.
|
|
576
|
-
var
|
|
577
|
-
|
|
578
|
-
if (!selector) {
|
|
579
|
-
return;
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
var target = $__default['default'](selector)[0];
|
|
668
|
+
Carousel.dataApiClickHandler = function dataApiClickHandler(event) {
|
|
669
|
+
var target = getElementFromSelector(this);
|
|
583
670
|
|
|
584
|
-
if (!target ||
|
|
671
|
+
if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
|
|
585
672
|
return;
|
|
586
673
|
}
|
|
587
674
|
|
|
588
|
-
var config =
|
|
675
|
+
var config = _objectSpread(_objectSpread({}, Manipulator.getDataAttributes(target)), Manipulator.getDataAttributes(this));
|
|
589
676
|
|
|
590
677
|
var slideIndex = this.getAttribute('data-slide-to');
|
|
591
678
|
|
|
@@ -593,15 +680,19 @@
|
|
|
593
680
|
config.interval = false;
|
|
594
681
|
}
|
|
595
682
|
|
|
596
|
-
Carousel.
|
|
683
|
+
Carousel.carouselInterface(target, config);
|
|
597
684
|
|
|
598
685
|
if (slideIndex) {
|
|
599
|
-
|
|
686
|
+
Data.getData(target, DATA_KEY).to(slideIndex);
|
|
600
687
|
}
|
|
601
688
|
|
|
602
689
|
event.preventDefault();
|
|
603
690
|
};
|
|
604
691
|
|
|
692
|
+
Carousel.getInstance = function getInstance(element) {
|
|
693
|
+
return Data.getData(element, DATA_KEY);
|
|
694
|
+
};
|
|
695
|
+
|
|
605
696
|
_createClass(Carousel, null, [{
|
|
606
697
|
key: "VERSION",
|
|
607
698
|
get: function get() {
|
|
@@ -623,29 +714,34 @@
|
|
|
623
714
|
*/
|
|
624
715
|
|
|
625
716
|
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
var carousels =
|
|
717
|
+
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);
|
|
718
|
+
EventHandler.on(window, EVENT_LOAD_DATA_API, function () {
|
|
719
|
+
var carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
|
|
629
720
|
|
|
630
721
|
for (var i = 0, len = carousels.length; i < len; i++) {
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
Carousel._jQueryInterface.call($carousel, $carousel.data());
|
|
722
|
+
Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY));
|
|
634
723
|
}
|
|
635
724
|
});
|
|
725
|
+
var $ = getjQuery();
|
|
636
726
|
/**
|
|
637
727
|
* ------------------------------------------------------------------------
|
|
638
728
|
* jQuery
|
|
639
729
|
* ------------------------------------------------------------------------
|
|
730
|
+
* add .carousel to jQuery only if jQuery is present
|
|
640
731
|
*/
|
|
641
732
|
|
|
642
|
-
|
|
643
|
-
$__default['default'].fn[NAME].Constructor = Carousel;
|
|
733
|
+
/* istanbul ignore if */
|
|
644
734
|
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
735
|
+
if ($) {
|
|
736
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
737
|
+
$.fn[NAME] = Carousel.jQueryInterface;
|
|
738
|
+
$.fn[NAME].Constructor = Carousel;
|
|
739
|
+
|
|
740
|
+
$.fn[NAME].noConflict = function () {
|
|
741
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
|
742
|
+
return Carousel.jQueryInterface;
|
|
743
|
+
};
|
|
744
|
+
}
|
|
649
745
|
|
|
650
746
|
return Carousel;
|
|
651
747
|
|