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