bootstrap 5.0.2 → 5.1.3
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/alert.js +78 -48
- data/assets/javascripts/bootstrap/base-component.js +22 -17
- data/assets/javascripts/bootstrap/button.js +19 -12
- data/assets/javascripts/bootstrap/carousel.js +66 -44
- data/assets/javascripts/bootstrap/collapse.js +114 -131
- data/assets/javascripts/bootstrap/dom/data.js +5 -5
- data/assets/javascripts/bootstrap/dom/event-handler.js +11 -5
- data/assets/javascripts/bootstrap/dom/manipulator.js +6 -6
- data/assets/javascripts/bootstrap/dom/selector-engine.js +49 -7
- data/assets/javascripts/bootstrap/dropdown.js +96 -106
- data/assets/javascripts/bootstrap/modal.js +241 -87
- data/assets/javascripts/bootstrap/offcanvas.js +203 -57
- data/assets/javascripts/bootstrap/popover.js +25 -58
- data/assets/javascripts/bootstrap/scrollspy.js +47 -66
- data/assets/javascripts/bootstrap/tab.js +41 -22
- data/assets/javascripts/bootstrap/toast.js +124 -29
- data/assets/javascripts/bootstrap/tooltip.js +122 -104
- data/assets/javascripts/bootstrap-sprockets.js +7 -7
- data/assets/javascripts/bootstrap.js +660 -630
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/stylesheets/_bootstrap-grid.scss +3 -1
- data/assets/stylesheets/_bootstrap-reboot.scss +2 -4
- data/assets/stylesheets/_bootstrap.scss +2 -1
- data/assets/stylesheets/bootstrap/_card.scss +2 -1
- data/assets/stylesheets/bootstrap/_functions.scss +51 -12
- data/assets/stylesheets/bootstrap/_grid.scss +11 -0
- data/assets/stylesheets/bootstrap/_helpers.scss +2 -0
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
- data/assets/stylesheets/bootstrap/_modal.scss +1 -11
- data/assets/stylesheets/bootstrap/_navbar.scss +30 -1
- data/assets/stylesheets/bootstrap/_offcanvas.scss +4 -0
- data/assets/stylesheets/bootstrap/_placeholders.scss +51 -0
- data/assets/stylesheets/bootstrap/_reboot.scss +12 -8
- data/assets/stylesheets/bootstrap/_root.scss +40 -2
- data/assets/stylesheets/bootstrap/_tables.scss +8 -4
- data/assets/stylesheets/bootstrap/_toasts.scss +2 -2
- data/assets/stylesheets/bootstrap/_transitions.scss +6 -0
- data/assets/stylesheets/bootstrap/_utilities.scss +44 -8
- data/assets/stylesheets/bootstrap/_variables.scss +184 -11
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +2 -0
- data/assets/stylesheets/bootstrap/helpers/_stacks.scss +15 -0
- data/assets/stylesheets/bootstrap/helpers/_vr.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_backdrop.scss +14 -0
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +29 -10
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +27 -6
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +1 -1
- data/bootstrap.gemspec +3 -3
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +6 -2
- metadata +12 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 666b108731be39c8122df9a54b7b2a1715f02b92e03caa941c132b3e7ec352ca
|
4
|
+
data.tar.gz: 57086f0d9bb88ba6a0abf74a5f0006b6eed21168d37009c2159e8ab9b68385f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6171d65c922c486d41a0cb7f4e781e389b2cf0d9e00cf7c350fcdf6ab59b814e8daa7449a9a97d7462e6945f766261466cbf750f0aedc07301f366d2f7731eaf
|
7
|
+
data.tar.gz: b65871d048cecf29a714362f75348bc167ba158e50197908cde71ff197d834c0d84eb9ead9be4f7c87c22f49da0c164a6aa997843b2bc5998f6b12effc762db7
|
data/README.md
CHANGED
@@ -1,18 +1,25 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap alert.js v5.
|
2
|
+
* Bootstrap alert.js v5.1.3 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2021 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('./dom/
|
8
|
-
typeof define === 'function' && define.amd ? define(['./dom/
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.
|
10
|
-
}(this, (function (
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./base-component.js')) :
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/event-handler', './base-component'], factory) :
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.EventHandler, global.Base));
|
10
|
+
})(this, (function (EventHandler, BaseComponent) { 'use strict';
|
11
11
|
|
12
|
-
|
12
|
+
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
15
|
+
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
16
|
+
|
17
|
+
/**
|
18
|
+
* --------------------------------------------------------------------------
|
19
|
+
* Bootstrap (v5.1.3): util/index.js
|
20
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
21
|
+
* --------------------------------------------------------------------------
|
22
|
+
*/
|
16
23
|
|
17
24
|
const getSelector = element => {
|
18
25
|
let selector = element.getAttribute('data-bs-target');
|
@@ -43,6 +50,22 @@
|
|
43
50
|
return selector ? document.querySelector(selector) : null;
|
44
51
|
};
|
45
52
|
|
53
|
+
const isDisabled = element => {
|
54
|
+
if (!element || element.nodeType !== Node.ELEMENT_NODE) {
|
55
|
+
return true;
|
56
|
+
}
|
57
|
+
|
58
|
+
if (element.classList.contains('disabled')) {
|
59
|
+
return true;
|
60
|
+
}
|
61
|
+
|
62
|
+
if (typeof element.disabled !== 'undefined') {
|
63
|
+
return element.disabled;
|
64
|
+
}
|
65
|
+
|
66
|
+
return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';
|
67
|
+
};
|
68
|
+
|
46
69
|
const getjQuery = () => {
|
47
70
|
const {
|
48
71
|
jQuery
|
@@ -93,7 +116,33 @@
|
|
93
116
|
|
94
117
|
/**
|
95
118
|
* --------------------------------------------------------------------------
|
96
|
-
* Bootstrap (v5.
|
119
|
+
* Bootstrap (v5.1.3): util/component-functions.js
|
120
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
121
|
+
* --------------------------------------------------------------------------
|
122
|
+
*/
|
123
|
+
|
124
|
+
const enableDismissTrigger = (component, method = 'hide') => {
|
125
|
+
const clickEvent = `click.dismiss${component.EVENT_KEY}`;
|
126
|
+
const name = component.NAME;
|
127
|
+
EventHandler__default.default.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) {
|
128
|
+
if (['A', 'AREA'].includes(this.tagName)) {
|
129
|
+
event.preventDefault();
|
130
|
+
}
|
131
|
+
|
132
|
+
if (isDisabled(this)) {
|
133
|
+
return;
|
134
|
+
}
|
135
|
+
|
136
|
+
const target = getElementFromSelector(this) || this.closest(`.${name}`);
|
137
|
+
const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method
|
138
|
+
|
139
|
+
instance[method]();
|
140
|
+
});
|
141
|
+
};
|
142
|
+
|
143
|
+
/**
|
144
|
+
* --------------------------------------------------------------------------
|
145
|
+
* Bootstrap (v5.1.3): alert.js
|
97
146
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
98
147
|
* --------------------------------------------------------------------------
|
99
148
|
*/
|
@@ -106,12 +155,8 @@
|
|
106
155
|
const NAME = 'alert';
|
107
156
|
const DATA_KEY = 'bs.alert';
|
108
157
|
const EVENT_KEY = `.${DATA_KEY}`;
|
109
|
-
const DATA_API_KEY = '.data-api';
|
110
|
-
const SELECTOR_DISMISS = '[data-bs-dismiss="alert"]';
|
111
158
|
const EVENT_CLOSE = `close${EVENT_KEY}`;
|
112
159
|
const EVENT_CLOSED = `closed${EVENT_KEY}`;
|
113
|
-
const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
|
114
|
-
const CLASS_NAME_ALERT = 'alert';
|
115
160
|
const CLASS_NAME_FADE = 'fade';
|
116
161
|
const CLASS_NAME_SHOW = 'show';
|
117
162
|
/**
|
@@ -120,44 +165,33 @@
|
|
120
165
|
* ------------------------------------------------------------------------
|
121
166
|
*/
|
122
167
|
|
123
|
-
class Alert extends BaseComponent__default
|
168
|
+
class Alert extends BaseComponent__default.default {
|
124
169
|
// Getters
|
125
170
|
static get NAME() {
|
126
171
|
return NAME;
|
127
172
|
} // Public
|
128
173
|
|
129
174
|
|
130
|
-
close(
|
131
|
-
const
|
132
|
-
|
133
|
-
const customEvent = this._triggerCloseEvent(rootElement);
|
175
|
+
close() {
|
176
|
+
const closeEvent = EventHandler__default.default.trigger(this._element, EVENT_CLOSE);
|
134
177
|
|
135
|
-
if (
|
178
|
+
if (closeEvent.defaultPrevented) {
|
136
179
|
return;
|
137
180
|
}
|
138
181
|
|
139
|
-
this.
|
140
|
-
} // Private
|
182
|
+
this._element.classList.remove(CLASS_NAME_SHOW);
|
141
183
|
|
184
|
+
const isAnimated = this._element.classList.contains(CLASS_NAME_FADE);
|
142
185
|
|
143
|
-
|
144
|
-
|
145
|
-
}
|
186
|
+
this._queueCallback(() => this._destroyElement(), this._element, isAnimated);
|
187
|
+
} // Private
|
146
188
|
|
147
|
-
_triggerCloseEvent(element) {
|
148
|
-
return EventHandler__default['default'].trigger(element, EVENT_CLOSE);
|
149
|
-
}
|
150
189
|
|
151
|
-
|
152
|
-
|
153
|
-
const isAnimated = element.classList.contains(CLASS_NAME_FADE);
|
190
|
+
_destroyElement() {
|
191
|
+
this._element.remove();
|
154
192
|
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
_destroyElement(element) {
|
159
|
-
element.remove();
|
160
|
-
EventHandler__default['default'].trigger(element, EVENT_CLOSED);
|
193
|
+
EventHandler__default.default.trigger(this._element, EVENT_CLOSED);
|
194
|
+
this.dispose();
|
161
195
|
} // Static
|
162
196
|
|
163
197
|
|
@@ -165,20 +199,16 @@
|
|
165
199
|
return this.each(function () {
|
166
200
|
const data = Alert.getOrCreateInstance(this);
|
167
201
|
|
168
|
-
if (config
|
169
|
-
|
202
|
+
if (typeof config !== 'string') {
|
203
|
+
return;
|
170
204
|
}
|
171
|
-
});
|
172
|
-
}
|
173
205
|
|
174
|
-
|
175
|
-
|
176
|
-
if (event) {
|
177
|
-
event.preventDefault();
|
206
|
+
if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
|
207
|
+
throw new TypeError(`No method named "${config}"`);
|
178
208
|
}
|
179
209
|
|
180
|
-
|
181
|
-
};
|
210
|
+
data[config](this);
|
211
|
+
});
|
182
212
|
}
|
183
213
|
|
184
214
|
}
|
@@ -189,7 +219,7 @@
|
|
189
219
|
*/
|
190
220
|
|
191
221
|
|
192
|
-
|
222
|
+
enableDismissTrigger(Alert, 'close');
|
193
223
|
/**
|
194
224
|
* ------------------------------------------------------------------------
|
195
225
|
* jQuery
|
@@ -201,4 +231,4 @@
|
|
201
231
|
|
202
232
|
return Alert;
|
203
233
|
|
204
|
-
}))
|
234
|
+
}));
|
@@ -1,20 +1,25 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap base-component.js v5.
|
2
|
+
* Bootstrap base-component.js v5.1.3 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2021 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('./dom/data.js'), require('./dom/
|
8
|
-
typeof define === 'function' && define.amd ? define(['./dom/data', './dom/
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Base = factory(global.Data, global.
|
10
|
-
}(this, (function (Data,
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js')) :
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler'], factory) :
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Base = factory(global.Data, global.EventHandler));
|
10
|
+
})(this, (function (Data, EventHandler) { 'use strict';
|
11
11
|
|
12
|
-
|
12
|
+
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
14
|
+
const Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
|
15
|
+
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
17
16
|
|
17
|
+
/**
|
18
|
+
* --------------------------------------------------------------------------
|
19
|
+
* Bootstrap (v5.1.3): util/index.js
|
20
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
21
|
+
* --------------------------------------------------------------------------
|
22
|
+
*/
|
18
23
|
const MILLISECONDS_MULTIPLIER = 1000;
|
19
24
|
const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
20
25
|
|
@@ -64,7 +69,7 @@
|
|
64
69
|
}
|
65
70
|
|
66
71
|
if (typeof obj === 'string' && obj.length > 0) {
|
67
|
-
return
|
72
|
+
return document.querySelector(obj);
|
68
73
|
}
|
69
74
|
|
70
75
|
return null;
|
@@ -108,7 +113,7 @@
|
|
108
113
|
|
109
114
|
/**
|
110
115
|
* --------------------------------------------------------------------------
|
111
|
-
* Bootstrap (v5.
|
116
|
+
* Bootstrap (v5.1.3): base-component.js
|
112
117
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
113
118
|
* --------------------------------------------------------------------------
|
114
119
|
*/
|
@@ -118,7 +123,7 @@
|
|
118
123
|
* ------------------------------------------------------------------------
|
119
124
|
*/
|
120
125
|
|
121
|
-
const VERSION = '5.
|
126
|
+
const VERSION = '5.1.3';
|
122
127
|
|
123
128
|
class BaseComponent {
|
124
129
|
constructor(element) {
|
@@ -129,12 +134,12 @@
|
|
129
134
|
}
|
130
135
|
|
131
136
|
this._element = element;
|
132
|
-
Data__default
|
137
|
+
Data__default.default.set(this._element, this.constructor.DATA_KEY, this);
|
133
138
|
}
|
134
139
|
|
135
140
|
dispose() {
|
136
|
-
Data__default
|
137
|
-
EventHandler__default
|
141
|
+
Data__default.default.remove(this._element, this.constructor.DATA_KEY);
|
142
|
+
EventHandler__default.default.off(this._element, this.constructor.EVENT_KEY);
|
138
143
|
Object.getOwnPropertyNames(this).forEach(propertyName => {
|
139
144
|
this[propertyName] = null;
|
140
145
|
});
|
@@ -147,7 +152,7 @@
|
|
147
152
|
|
148
153
|
|
149
154
|
static getInstance(element) {
|
150
|
-
return Data__default
|
155
|
+
return Data__default.default.get(getElement(element), this.DATA_KEY);
|
151
156
|
}
|
152
157
|
|
153
158
|
static getOrCreateInstance(element, config = {}) {
|
@@ -174,4 +179,4 @@
|
|
174
179
|
|
175
180
|
return BaseComponent;
|
176
181
|
|
177
|
-
}))
|
182
|
+
}));
|
@@ -1,18 +1,25 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap button.js v5.
|
2
|
+
* Bootstrap button.js v5.1.3 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2021 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('./dom/
|
8
|
-
typeof define === 'function' && define.amd ? define(['./dom/
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.
|
10
|
-
}(this, (function (
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./base-component.js')) :
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/event-handler', './base-component'], factory) :
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.EventHandler, global.Base));
|
10
|
+
})(this, (function (EventHandler, BaseComponent) { 'use strict';
|
11
11
|
|
12
|
-
|
12
|
+
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
15
|
+
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
16
|
+
|
17
|
+
/**
|
18
|
+
* --------------------------------------------------------------------------
|
19
|
+
* Bootstrap (v5.1.3): util/index.js
|
20
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
21
|
+
* --------------------------------------------------------------------------
|
22
|
+
*/
|
16
23
|
|
17
24
|
const getjQuery = () => {
|
18
25
|
const {
|
@@ -64,7 +71,7 @@
|
|
64
71
|
|
65
72
|
/**
|
66
73
|
* --------------------------------------------------------------------------
|
67
|
-
* Bootstrap (v5.
|
74
|
+
* Bootstrap (v5.1.3): button.js
|
68
75
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
69
76
|
* --------------------------------------------------------------------------
|
70
77
|
*/
|
@@ -87,7 +94,7 @@
|
|
87
94
|
* ------------------------------------------------------------------------
|
88
95
|
*/
|
89
96
|
|
90
|
-
class Button extends BaseComponent__default
|
97
|
+
class Button extends BaseComponent__default.default {
|
91
98
|
// Getters
|
92
99
|
static get NAME() {
|
93
100
|
return NAME;
|
@@ -118,7 +125,7 @@
|
|
118
125
|
*/
|
119
126
|
|
120
127
|
|
121
|
-
EventHandler__default
|
128
|
+
EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {
|
122
129
|
event.preventDefault();
|
123
130
|
const button = event.target.closest(SELECTOR_DATA_TOGGLE);
|
124
131
|
const data = Button.getOrCreateInstance(button);
|
@@ -135,4 +142,4 @@
|
|
135
142
|
|
136
143
|
return Button;
|
137
144
|
|
138
|
-
}))
|
145
|
+
}));
|
@@ -1,21 +1,27 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap carousel.js v5.
|
2
|
+
* Bootstrap carousel.js v5.1.3 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2021 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('./dom/
|
8
|
-
typeof define === 'function' && define.amd ? define(['./dom/
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.
|
10
|
-
}(this, (function (
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./base-component.js')) :
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) :
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base));
|
10
|
+
})(this, (function (EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict';
|
11
11
|
|
12
|
-
|
12
|
+
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
15
|
+
const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
16
|
+
const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
17
|
+
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
18
18
|
|
19
|
+
/**
|
20
|
+
* --------------------------------------------------------------------------
|
21
|
+
* Bootstrap (v5.1.3): util/index.js
|
22
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
23
|
+
* --------------------------------------------------------------------------
|
24
|
+
*/
|
19
25
|
const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
20
26
|
|
21
27
|
const toType = obj => {
|
@@ -90,8 +96,20 @@
|
|
90
96
|
|
91
97
|
return getComputedStyle(element).getPropertyValue('visibility') === 'visible';
|
92
98
|
};
|
99
|
+
/**
|
100
|
+
* Trick to restart an element's animation
|
101
|
+
*
|
102
|
+
* @param {HTMLElement} element
|
103
|
+
* @return void
|
104
|
+
*
|
105
|
+
* @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
|
106
|
+
*/
|
107
|
+
|
93
108
|
|
94
|
-
const reflow = element =>
|
109
|
+
const reflow = element => {
|
110
|
+
// eslint-disable-next-line no-unused-expressions
|
111
|
+
element.offsetHeight;
|
112
|
+
};
|
95
113
|
|
96
114
|
const getjQuery = () => {
|
97
115
|
const {
|
@@ -172,7 +190,7 @@
|
|
172
190
|
|
173
191
|
/**
|
174
192
|
* --------------------------------------------------------------------------
|
175
|
-
* Bootstrap (v5.
|
193
|
+
* Bootstrap (v5.1.3): carousel.js
|
176
194
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
177
195
|
* --------------------------------------------------------------------------
|
178
196
|
*/
|
@@ -253,7 +271,7 @@
|
|
253
271
|
* ------------------------------------------------------------------------
|
254
272
|
*/
|
255
273
|
|
256
|
-
class Carousel extends BaseComponent__default
|
274
|
+
class Carousel extends BaseComponent__default.default {
|
257
275
|
constructor(element, config) {
|
258
276
|
super(element);
|
259
277
|
this._items = null;
|
@@ -265,7 +283,7 @@
|
|
265
283
|
this.touchStartX = 0;
|
266
284
|
this.touchDeltaX = 0;
|
267
285
|
this._config = this._getConfig(config);
|
268
|
-
this._indicatorsElement = SelectorEngine__default
|
286
|
+
this._indicatorsElement = SelectorEngine__default.default.findOne(SELECTOR_INDICATORS, this._element);
|
269
287
|
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
|
270
288
|
this._pointerEvent = Boolean(window.PointerEvent);
|
271
289
|
|
@@ -303,7 +321,7 @@
|
|
303
321
|
this._isPaused = true;
|
304
322
|
}
|
305
323
|
|
306
|
-
if (SelectorEngine__default
|
324
|
+
if (SelectorEngine__default.default.findOne(SELECTOR_NEXT_PREV, this._element)) {
|
307
325
|
triggerTransitionEnd(this._element);
|
308
326
|
this.cycle(true);
|
309
327
|
}
|
@@ -330,7 +348,7 @@
|
|
330
348
|
}
|
331
349
|
|
332
350
|
to(index) {
|
333
|
-
this._activeElement = SelectorEngine__default
|
351
|
+
this._activeElement = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element);
|
334
352
|
|
335
353
|
const activeIndex = this._getItemIndex(this._activeElement);
|
336
354
|
|
@@ -339,7 +357,7 @@
|
|
339
357
|
}
|
340
358
|
|
341
359
|
if (this._isSliding) {
|
342
|
-
EventHandler__default
|
360
|
+
EventHandler__default.default.one(this._element, EVENT_SLID, () => this.to(index));
|
343
361
|
return;
|
344
362
|
}
|
345
363
|
|
@@ -357,7 +375,7 @@
|
|
357
375
|
|
358
376
|
_getConfig(config) {
|
359
377
|
config = { ...Default,
|
360
|
-
...Manipulator__default
|
378
|
+
...Manipulator__default.default.getDataAttributes(this._element),
|
361
379
|
...(typeof config === 'object' ? config : {})
|
362
380
|
};
|
363
381
|
typeCheckConfig(NAME, config, DefaultType);
|
@@ -383,12 +401,12 @@
|
|
383
401
|
|
384
402
|
_addEventListeners() {
|
385
403
|
if (this._config.keyboard) {
|
386
|
-
EventHandler__default
|
404
|
+
EventHandler__default.default.on(this._element, EVENT_KEYDOWN, event => this._keydown(event));
|
387
405
|
}
|
388
406
|
|
389
407
|
if (this._config.pause === 'hover') {
|
390
|
-
EventHandler__default
|
391
|
-
EventHandler__default
|
408
|
+
EventHandler__default.default.on(this._element, EVENT_MOUSEENTER, event => this.pause(event));
|
409
|
+
EventHandler__default.default.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event));
|
392
410
|
}
|
393
411
|
|
394
412
|
if (this._config.touch && this._touchSupported) {
|
@@ -397,8 +415,12 @@
|
|
397
415
|
}
|
398
416
|
|
399
417
|
_addTouchEventListeners() {
|
418
|
+
const hasPointerPenTouch = event => {
|
419
|
+
return this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);
|
420
|
+
};
|
421
|
+
|
400
422
|
const start = event => {
|
401
|
-
if (
|
423
|
+
if (hasPointerPenTouch(event)) {
|
402
424
|
this.touchStartX = event.clientX;
|
403
425
|
} else if (!this._pointerEvent) {
|
404
426
|
this.touchStartX = event.touches[0].clientX;
|
@@ -411,7 +433,7 @@
|
|
411
433
|
};
|
412
434
|
|
413
435
|
const end = event => {
|
414
|
-
if (
|
436
|
+
if (hasPointerPenTouch(event)) {
|
415
437
|
this.touchDeltaX = event.clientX - this.touchStartX;
|
416
438
|
}
|
417
439
|
|
@@ -435,19 +457,19 @@
|
|
435
457
|
}
|
436
458
|
};
|
437
459
|
|
438
|
-
SelectorEngine__default
|
439
|
-
EventHandler__default
|
460
|
+
SelectorEngine__default.default.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {
|
461
|
+
EventHandler__default.default.on(itemImg, EVENT_DRAG_START, event => event.preventDefault());
|
440
462
|
});
|
441
463
|
|
442
464
|
if (this._pointerEvent) {
|
443
|
-
EventHandler__default
|
444
|
-
EventHandler__default
|
465
|
+
EventHandler__default.default.on(this._element, EVENT_POINTERDOWN, event => start(event));
|
466
|
+
EventHandler__default.default.on(this._element, EVENT_POINTERUP, event => end(event));
|
445
467
|
|
446
468
|
this._element.classList.add(CLASS_NAME_POINTER_EVENT);
|
447
469
|
} else {
|
448
|
-
EventHandler__default
|
449
|
-
EventHandler__default
|
450
|
-
EventHandler__default
|
470
|
+
EventHandler__default.default.on(this._element, EVENT_TOUCHSTART, event => start(event));
|
471
|
+
EventHandler__default.default.on(this._element, EVENT_TOUCHMOVE, event => move(event));
|
472
|
+
EventHandler__default.default.on(this._element, EVENT_TOUCHEND, event => end(event));
|
451
473
|
}
|
452
474
|
}
|
453
475
|
|
@@ -466,7 +488,7 @@
|
|
466
488
|
}
|
467
489
|
|
468
490
|
_getItemIndex(element) {
|
469
|
-
this._items = element && element.parentNode ? SelectorEngine__default
|
491
|
+
this._items = element && element.parentNode ? SelectorEngine__default.default.find(SELECTOR_ITEM, element.parentNode) : [];
|
470
492
|
return this._items.indexOf(element);
|
471
493
|
}
|
472
494
|
|
@@ -478,9 +500,9 @@
|
|
478
500
|
_triggerSlideEvent(relatedTarget, eventDirectionName) {
|
479
501
|
const targetIndex = this._getItemIndex(relatedTarget);
|
480
502
|
|
481
|
-
const fromIndex = this._getItemIndex(SelectorEngine__default
|
503
|
+
const fromIndex = this._getItemIndex(SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element));
|
482
504
|
|
483
|
-
return EventHandler__default
|
505
|
+
return EventHandler__default.default.trigger(this._element, EVENT_SLIDE, {
|
484
506
|
relatedTarget,
|
485
507
|
direction: eventDirectionName,
|
486
508
|
from: fromIndex,
|
@@ -490,10 +512,10 @@
|
|
490
512
|
|
491
513
|
_setActiveIndicatorElement(element) {
|
492
514
|
if (this._indicatorsElement) {
|
493
|
-
const activeIndicator = SelectorEngine__default
|
515
|
+
const activeIndicator = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE, this._indicatorsElement);
|
494
516
|
activeIndicator.classList.remove(CLASS_NAME_ACTIVE);
|
495
517
|
activeIndicator.removeAttribute('aria-current');
|
496
|
-
const indicators = SelectorEngine__default
|
518
|
+
const indicators = SelectorEngine__default.default.find(SELECTOR_INDICATOR, this._indicatorsElement);
|
497
519
|
|
498
520
|
for (let i = 0; i < indicators.length; i++) {
|
499
521
|
if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {
|
@@ -506,7 +528,7 @@
|
|
506
528
|
}
|
507
529
|
|
508
530
|
_updateInterval() {
|
509
|
-
const element = this._activeElement || SelectorEngine__default
|
531
|
+
const element = this._activeElement || SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element);
|
510
532
|
|
511
533
|
if (!element) {
|
512
534
|
return;
|
@@ -525,7 +547,7 @@
|
|
525
547
|
_slide(directionOrOrder, element) {
|
526
548
|
const order = this._directionToOrder(directionOrOrder);
|
527
549
|
|
528
|
-
const activeElement = SelectorEngine__default
|
550
|
+
const activeElement = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element);
|
529
551
|
|
530
552
|
const activeElementIndex = this._getItemIndex(activeElement);
|
531
553
|
|
@@ -571,7 +593,7 @@
|
|
571
593
|
this._activeElement = nextElement;
|
572
594
|
|
573
595
|
const triggerSlidEvent = () => {
|
574
|
-
EventHandler__default
|
596
|
+
EventHandler__default.default.trigger(this._element, EVENT_SLID, {
|
575
597
|
relatedTarget: nextElement,
|
576
598
|
direction: eventDirectionName,
|
577
599
|
from: activeElementIndex,
|
@@ -672,8 +694,8 @@
|
|
672
694
|
return;
|
673
695
|
}
|
674
696
|
|
675
|
-
const config = { ...Manipulator__default
|
676
|
-
...Manipulator__default
|
697
|
+
const config = { ...Manipulator__default.default.getDataAttributes(target),
|
698
|
+
...Manipulator__default.default.getDataAttributes(this)
|
677
699
|
};
|
678
700
|
const slideIndex = this.getAttribute('data-bs-slide-to');
|
679
701
|
|
@@ -698,9 +720,9 @@
|
|
698
720
|
*/
|
699
721
|
|
700
722
|
|
701
|
-
EventHandler__default
|
702
|
-
EventHandler__default
|
703
|
-
const carousels = SelectorEngine__default
|
723
|
+
EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);
|
724
|
+
EventHandler__default.default.on(window, EVENT_LOAD_DATA_API, () => {
|
725
|
+
const carousels = SelectorEngine__default.default.find(SELECTOR_DATA_RIDE);
|
704
726
|
|
705
727
|
for (let i = 0, len = carousels.length; i < len; i++) {
|
706
728
|
Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]));
|
@@ -717,4 +739,4 @@
|
|
717
739
|
|
718
740
|
return Carousel;
|
719
741
|
|
720
|
-
}))
|
742
|
+
}));
|