bootstrap 5.1.3 → 5.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -4
  3. data/assets/javascripts/bootstrap/alert.js +11 -146
  4. data/assets/javascripts/bootstrap/base-component.js +37 -120
  5. data/assets/javascripts/bootstrap/button.js +10 -74
  6. data/assets/javascripts/bootstrap/carousel.js +213 -485
  7. data/assets/javascripts/bootstrap/collapse.js +65 -249
  8. data/assets/javascripts/bootstrap/dom/data.js +3 -5
  9. data/assets/javascripts/bootstrap/dom/event-handler.js +94 -132
  10. data/assets/javascripts/bootstrap/dom/manipulator.js +23 -27
  11. data/assets/javascripts/bootstrap/dom/selector-engine.js +16 -58
  12. data/assets/javascripts/bootstrap/dropdown.js +103 -317
  13. data/assets/javascripts/bootstrap/modal.js +107 -749
  14. data/assets/javascripts/bootstrap/offcanvas.js +90 -659
  15. data/assets/javascripts/bootstrap/popover.js +36 -118
  16. data/assets/javascripts/bootstrap/scrollspy.js +183 -262
  17. data/assets/javascripts/bootstrap/tab.js +215 -214
  18. data/assets/javascripts/bootstrap/toast.js +36 -218
  19. data/assets/javascripts/bootstrap/tooltip.js +280 -629
  20. data/assets/javascripts/bootstrap/util/backdrop.js +165 -0
  21. data/assets/javascripts/bootstrap/util/component-functions.js +46 -0
  22. data/assets/javascripts/bootstrap/util/config.js +79 -0
  23. data/assets/javascripts/bootstrap/util/focustrap.js +129 -0
  24. data/assets/javascripts/bootstrap/util/index.js +350 -0
  25. data/assets/javascripts/bootstrap/util/sanitizer.js +122 -0
  26. data/assets/javascripts/bootstrap/util/scrollbar.js +138 -0
  27. data/assets/javascripts/bootstrap/util/swipe.js +155 -0
  28. data/assets/javascripts/bootstrap/util/template-factory.js +177 -0
  29. data/assets/javascripts/bootstrap-global-this-define.js +1 -1
  30. data/assets/javascripts/bootstrap-sprockets.js +17 -8
  31. data/assets/javascripts/bootstrap.js +2093 -1881
  32. data/assets/javascripts/bootstrap.min.js +3 -3
  33. data/assets/stylesheets/_bootstrap-grid.scss +3 -6
  34. data/assets/stylesheets/_bootstrap-reboot.scss +3 -7
  35. data/assets/stylesheets/_bootstrap.scss +4 -6
  36. data/assets/stylesheets/bootstrap/_accordion.scss +56 -25
  37. data/assets/stylesheets/bootstrap/_alert.scss +18 -4
  38. data/assets/stylesheets/bootstrap/_badge.scss +14 -5
  39. data/assets/stylesheets/bootstrap/_breadcrumb.scss +22 -10
  40. data/assets/stylesheets/bootstrap/_button-group.scss +4 -1
  41. data/assets/stylesheets/bootstrap/_buttons.scss +125 -29
  42. data/assets/stylesheets/bootstrap/_card.scss +55 -37
  43. data/assets/stylesheets/bootstrap/_close.scss +1 -1
  44. data/assets/stylesheets/bootstrap/_containers.scss +1 -1
  45. data/assets/stylesheets/bootstrap/_dropdown.scss +85 -76
  46. data/assets/stylesheets/bootstrap/_functions.scss +8 -8
  47. data/assets/stylesheets/bootstrap/_grid.scss +3 -3
  48. data/assets/stylesheets/bootstrap/_helpers.scss +1 -0
  49. data/assets/stylesheets/bootstrap/_list-group.scss +48 -30
  50. data/assets/stylesheets/bootstrap/_maps.scss +54 -0
  51. data/assets/stylesheets/bootstrap/_modal.scss +71 -43
  52. data/assets/stylesheets/bootstrap/_nav.scss +53 -20
  53. data/assets/stylesheets/bootstrap/_navbar.scss +93 -150
  54. data/assets/stylesheets/bootstrap/_offcanvas.scss +120 -59
  55. data/assets/stylesheets/bootstrap/_pagination.scss +66 -21
  56. data/assets/stylesheets/bootstrap/_placeholders.scss +1 -1
  57. data/assets/stylesheets/bootstrap/_popover.scss +90 -52
  58. data/assets/stylesheets/bootstrap/_progress.scss +20 -9
  59. data/assets/stylesheets/bootstrap/_reboot.scss +25 -40
  60. data/assets/stylesheets/bootstrap/_root.scss +40 -21
  61. data/assets/stylesheets/bootstrap/_spinners.scss +38 -22
  62. data/assets/stylesheets/bootstrap/_tables.scss +32 -23
  63. data/assets/stylesheets/bootstrap/_toasts.scss +38 -16
  64. data/assets/stylesheets/bootstrap/_tooltip.scss +61 -56
  65. data/assets/stylesheets/bootstrap/_type.scss +2 -0
  66. data/assets/stylesheets/bootstrap/_utilities.scss +43 -26
  67. data/assets/stylesheets/bootstrap/_variables.scss +128 -135
  68. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +3 -6
  69. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +15 -3
  70. data/assets/stylesheets/bootstrap/forms/_form-check.scss +28 -5
  71. data/assets/stylesheets/bootstrap/forms/_form-control.scss +12 -37
  72. data/assets/stylesheets/bootstrap/forms/_form-select.scss +0 -1
  73. data/assets/stylesheets/bootstrap/forms/_input-group.scss +19 -8
  74. data/assets/stylesheets/bootstrap/helpers/_color-bg.scss +10 -0
  75. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +2 -2
  76. data/assets/stylesheets/bootstrap/helpers/_position.scss +7 -1
  77. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +2 -2
  78. data/assets/stylesheets/bootstrap/helpers/_vr.scss +1 -1
  79. data/assets/stylesheets/bootstrap/mixins/_alert.scss +7 -3
  80. data/assets/stylesheets/bootstrap/mixins/_banner.scss +9 -0
  81. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +8 -8
  82. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +32 -95
  83. data/assets/stylesheets/bootstrap/mixins/_container.scss +4 -2
  84. data/assets/stylesheets/bootstrap/mixins/_forms.scss +18 -10
  85. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +1 -1
  86. data/assets/stylesheets/bootstrap/mixins/_grid.scss +12 -12
  87. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +4 -25
  88. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
  89. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +12 -9
  90. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +13 -5
  91. data/bootstrap.gemspec +1 -1
  92. data/lib/bootstrap/version.rb +2 -2
  93. data/tasks/updater/js.rb +10 -5
  94. data/tasks/updater.rb +2 -2
  95. metadata +16 -4
@@ -1,199 +1,34 @@
1
1
  /*!
2
- * Bootstrap collapse.js v5.1.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap collapse.js v5.2.2 (https://getbootstrap.com/)
3
+ * Copyright 2011-2022 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/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./base-component.js')) :
8
- typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base));
10
- })(this, (function (Data, EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict';
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./dom/event-handler'), require('./dom/selector-engine'), require('./base-component')) :
8
+ typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './dom/selector-engine', './base-component'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Index, global.EventHandler, global.SelectorEngine, global.BaseComponent));
10
+ })(this, (function (index, EventHandler, SelectorEngine, BaseComponent) { 'use strict';
11
11
 
12
12
  const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
13
13
 
14
- const Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
15
14
  const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
16
- const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
17
15
  const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
18
16
  const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
19
17
 
20
18
  /**
21
19
  * --------------------------------------------------------------------------
22
- * Bootstrap (v5.1.3): util/index.js
20
+ * Bootstrap (v5.2.2): collapse.js
23
21
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
24
22
  * --------------------------------------------------------------------------
25
23
  */
26
-
27
- const toType = obj => {
28
- if (obj === null || obj === undefined) {
29
- return `${obj}`;
30
- }
31
-
32
- return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
33
- };
34
-
35
- const getSelector = element => {
36
- let selector = element.getAttribute('data-bs-target');
37
-
38
- if (!selector || selector === '#') {
39
- let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
40
- // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
41
- // `document.querySelector` will rightfully complain it is invalid.
42
- // See https://github.com/twbs/bootstrap/issues/32273
43
-
44
- if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {
45
- return null;
46
- } // Just in case some CMS puts out a full URL with the anchor appended
47
-
48
-
49
- if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {
50
- hrefAttr = `#${hrefAttr.split('#')[1]}`;
51
- }
52
-
53
- selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
54
- }
55
-
56
- return selector;
57
- };
58
-
59
- const getSelectorFromElement = element => {
60
- const selector = getSelector(element);
61
-
62
- if (selector) {
63
- return document.querySelector(selector) ? selector : null;
64
- }
65
-
66
- return null;
67
- };
68
-
69
- const getElementFromSelector = element => {
70
- const selector = getSelector(element);
71
- return selector ? document.querySelector(selector) : null;
72
- };
73
-
74
- const isElement = obj => {
75
- if (!obj || typeof obj !== 'object') {
76
- return false;
77
- }
78
-
79
- if (typeof obj.jquery !== 'undefined') {
80
- obj = obj[0];
81
- }
82
-
83
- return typeof obj.nodeType !== 'undefined';
84
- };
85
-
86
- const getElement = obj => {
87
- if (isElement(obj)) {
88
- // it's a jQuery object or a node element
89
- return obj.jquery ? obj[0] : obj;
90
- }
91
-
92
- if (typeof obj === 'string' && obj.length > 0) {
93
- return document.querySelector(obj);
94
- }
95
-
96
- return null;
97
- };
98
-
99
- const typeCheckConfig = (componentName, config, configTypes) => {
100
- Object.keys(configTypes).forEach(property => {
101
- const expectedTypes = configTypes[property];
102
- const value = config[property];
103
- const valueType = value && isElement(value) ? 'element' : toType(value);
104
-
105
- if (!new RegExp(expectedTypes).test(valueType)) {
106
- throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
107
- }
108
- });
109
- };
110
- /**
111
- * Trick to restart an element's animation
112
- *
113
- * @param {HTMLElement} element
114
- * @return void
115
- *
116
- * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
117
- */
118
-
119
-
120
- const reflow = element => {
121
- // eslint-disable-next-line no-unused-expressions
122
- element.offsetHeight;
123
- };
124
-
125
- const getjQuery = () => {
126
- const {
127
- jQuery
128
- } = window;
129
-
130
- if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
131
- return jQuery;
132
- }
133
-
134
- return null;
135
- };
136
-
137
- const DOMContentLoadedCallbacks = [];
138
-
139
- const onDOMContentLoaded = callback => {
140
- if (document.readyState === 'loading') {
141
- // add listener on the first call when the document is in loading state
142
- if (!DOMContentLoadedCallbacks.length) {
143
- document.addEventListener('DOMContentLoaded', () => {
144
- DOMContentLoadedCallbacks.forEach(callback => callback());
145
- });
146
- }
147
-
148
- DOMContentLoadedCallbacks.push(callback);
149
- } else {
150
- callback();
151
- }
152
- };
153
-
154
- const defineJQueryPlugin = plugin => {
155
- onDOMContentLoaded(() => {
156
- const $ = getjQuery();
157
- /* istanbul ignore if */
158
-
159
- if ($) {
160
- const name = plugin.NAME;
161
- const JQUERY_NO_CONFLICT = $.fn[name];
162
- $.fn[name] = plugin.jQueryInterface;
163
- $.fn[name].Constructor = plugin;
164
-
165
- $.fn[name].noConflict = () => {
166
- $.fn[name] = JQUERY_NO_CONFLICT;
167
- return plugin.jQueryInterface;
168
- };
169
- }
170
- });
171
- };
172
-
173
24
  /**
174
- * --------------------------------------------------------------------------
175
- * Bootstrap (v5.1.3): collapse.js
176
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
177
- * --------------------------------------------------------------------------
178
- */
179
- /**
180
- * ------------------------------------------------------------------------
181
25
  * Constants
182
- * ------------------------------------------------------------------------
183
26
  */
184
27
 
185
28
  const NAME = 'collapse';
186
29
  const DATA_KEY = 'bs.collapse';
187
30
  const EVENT_KEY = `.${DATA_KEY}`;
188
31
  const DATA_API_KEY = '.data-api';
189
- const Default = {
190
- toggle: true,
191
- parent: null
192
- };
193
- const DefaultType = {
194
- toggle: 'boolean',
195
- parent: '(null|element)'
196
- };
197
32
  const EVENT_SHOW = `show${EVENT_KEY}`;
198
33
  const EVENT_SHOWN = `shown${EVENT_KEY}`;
199
34
  const EVENT_HIDE = `hide${EVENT_KEY}`;
@@ -209,28 +44,30 @@
209
44
  const HEIGHT = 'height';
210
45
  const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
211
46
  const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="collapse"]';
47
+ const Default = {
48
+ parent: null,
49
+ toggle: true
50
+ };
51
+ const DefaultType = {
52
+ parent: '(null|element)',
53
+ toggle: 'boolean'
54
+ };
212
55
  /**
213
- * ------------------------------------------------------------------------
214
- * Class Definition
215
- * ------------------------------------------------------------------------
56
+ * Class definition
216
57
  */
217
58
 
218
59
  class Collapse extends BaseComponent__default.default {
219
60
  constructor(element, config) {
220
- super(element);
61
+ super(element, config);
221
62
  this._isTransitioning = false;
222
- this._config = this._getConfig(config);
223
63
  this._triggerArray = [];
224
64
  const toggleList = SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE);
225
65
 
226
- for (let i = 0, len = toggleList.length; i < len; i++) {
227
- const elem = toggleList[i];
228
- const selector = getSelectorFromElement(elem);
229
- const filterElement = SelectorEngine__default.default.find(selector).filter(foundElem => foundElem === this._element);
66
+ for (const elem of toggleList) {
67
+ const selector = index.getSelectorFromElement(elem);
68
+ const filterElement = SelectorEngine__default.default.find(selector).filter(foundElement => foundElement === this._element);
230
69
 
231
70
  if (selector !== null && filterElement.length) {
232
- this._selector = selector;
233
-
234
71
  this._triggerArray.push(elem);
235
72
  }
236
73
  }
@@ -251,6 +88,10 @@
251
88
  return Default;
252
89
  }
253
90
 
91
+ static get DefaultType() {
92
+ return DefaultType;
93
+ }
94
+
254
95
  static get NAME() {
255
96
  return NAME;
256
97
  } // Public
@@ -269,23 +110,16 @@
269
110
  return;
270
111
  }
271
112
 
272
- let actives = [];
273
- let activesData;
113
+ let activeChildren = []; // find active children
274
114
 
275
115
  if (this._config.parent) {
276
- const children = SelectorEngine__default.default.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);
277
- actives = SelectorEngine__default.default.find(SELECTOR_ACTIVES, this._config.parent).filter(elem => !children.includes(elem)); // remove children if greater depth
116
+ activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {
117
+ toggle: false
118
+ }));
278
119
  }
279
120
 
280
- const container = SelectorEngine__default.default.findOne(this._selector);
281
-
282
- if (actives.length) {
283
- const tempActiveData = actives.find(elem => container !== elem);
284
- activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null;
285
-
286
- if (activesData && activesData._isTransitioning) {
287
- return;
288
- }
121
+ if (activeChildren.length && activeChildren[0]._isTransitioning) {
122
+ return;
289
123
  }
290
124
 
291
125
  const startEvent = EventHandler__default.default.trigger(this._element, EVENT_SHOW);
@@ -294,17 +128,9 @@
294
128
  return;
295
129
  }
296
130
 
297
- actives.forEach(elemActive => {
298
- if (container !== elemActive) {
299
- Collapse.getOrCreateInstance(elemActive, {
300
- toggle: false
301
- }).hide();
302
- }
303
-
304
- if (!activesData) {
305
- Data__default.default.set(elemActive, DATA_KEY, null);
306
- }
307
- });
131
+ for (const activeInstance of activeChildren) {
132
+ activeInstance.hide();
133
+ }
308
134
 
309
135
  const dimension = this._getDimension();
310
136
 
@@ -351,19 +177,16 @@
351
177
  const dimension = this._getDimension();
352
178
 
353
179
  this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;
354
- reflow(this._element);
180
+ index.reflow(this._element);
355
181
 
356
182
  this._element.classList.add(CLASS_NAME_COLLAPSING);
357
183
 
358
184
  this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
359
185
 
360
- const triggerArrayLength = this._triggerArray.length;
186
+ for (const trigger of this._triggerArray) {
187
+ const element = index.getElementFromSelector(trigger);
361
188
 
362
- for (let i = 0; i < triggerArrayLength; i++) {
363
- const trigger = this._triggerArray[i];
364
- const elem = getElementFromSelector(trigger);
365
-
366
- if (elem && !this._isShown(elem)) {
189
+ if (element && !this._isShown(element)) {
367
190
  this._addAriaAndCollapsedClass([trigger], false);
368
191
  }
369
192
  }
@@ -390,15 +213,10 @@
390
213
  } // Private
391
214
 
392
215
 
393
- _getConfig(config) {
394
- config = { ...Default,
395
- ...Manipulator__default.default.getDataAttributes(this._element),
396
- ...config
397
- };
216
+ _configAfterMerge(config) {
398
217
  config.toggle = Boolean(config.toggle); // Coerce string values
399
218
 
400
- config.parent = getElement(config.parent);
401
- typeCheckConfig(NAME, config, DefaultType);
219
+ config.parent = index.getElement(config.parent);
402
220
  return config;
403
221
  }
404
222
 
@@ -411,14 +229,21 @@
411
229
  return;
412
230
  }
413
231
 
414
- const children = SelectorEngine__default.default.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);
415
- SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE, this._config.parent).filter(elem => !children.includes(elem)).forEach(element => {
416
- const selected = getElementFromSelector(element);
232
+ const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE);
233
+
234
+ for (const element of children) {
235
+ const selected = index.getElementFromSelector(element);
417
236
 
418
237
  if (selected) {
419
238
  this._addAriaAndCollapsedClass([element], this._isShown(selected));
420
239
  }
421
- });
240
+ }
241
+ }
242
+
243
+ _getFirstLevelChildren(selector) {
244
+ const children = SelectorEngine__default.default.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth
245
+
246
+ return SelectorEngine__default.default.find(selector, this._config.parent).filter(element => !children.includes(element));
422
247
  }
423
248
 
424
249
  _addAriaAndCollapsedClass(triggerArray, isOpen) {
@@ -426,26 +251,21 @@
426
251
  return;
427
252
  }
428
253
 
429
- triggerArray.forEach(elem => {
430
- if (isOpen) {
431
- elem.classList.remove(CLASS_NAME_COLLAPSED);
432
- } else {
433
- elem.classList.add(CLASS_NAME_COLLAPSED);
434
- }
435
-
436
- elem.setAttribute('aria-expanded', isOpen);
437
- });
254
+ for (const element of triggerArray) {
255
+ element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);
256
+ element.setAttribute('aria-expanded', isOpen);
257
+ }
438
258
  } // Static
439
259
 
440
260
 
441
261
  static jQueryInterface(config) {
442
- return this.each(function () {
443
- const _config = {};
262
+ const _config = {};
444
263
 
445
- if (typeof config === 'string' && /show|hide/.test(config)) {
446
- _config.toggle = false;
447
- }
264
+ if (typeof config === 'string' && /show|hide/.test(config)) {
265
+ _config.toggle = false;
266
+ }
448
267
 
268
+ return this.each(function () {
449
269
  const data = Collapse.getOrCreateInstance(this, _config);
450
270
 
451
271
  if (typeof config === 'string') {
@@ -460,9 +280,7 @@
460
280
 
461
281
  }
462
282
  /**
463
- * ------------------------------------------------------------------------
464
- * Data Api implementation
465
- * ------------------------------------------------------------------------
283
+ * Data API implementation
466
284
  */
467
285
 
468
286
 
@@ -472,22 +290,20 @@
472
290
  event.preventDefault();
473
291
  }
474
292
 
475
- const selector = getSelectorFromElement(this);
293
+ const selector = index.getSelectorFromElement(this);
476
294
  const selectorElements = SelectorEngine__default.default.find(selector);
477
- selectorElements.forEach(element => {
295
+
296
+ for (const element of selectorElements) {
478
297
  Collapse.getOrCreateInstance(element, {
479
298
  toggle: false
480
299
  }).toggle();
481
- });
300
+ }
482
301
  });
483
302
  /**
484
- * ------------------------------------------------------------------------
485
303
  * jQuery
486
- * ------------------------------------------------------------------------
487
- * add .Collapse to jQuery only if jQuery is present
488
304
  */
489
305
 
490
- defineJQueryPlugin(Collapse);
306
+ index.defineJQueryPlugin(Collapse);
491
307
 
492
308
  return Collapse;
493
309
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap data.js v5.1.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap data.js v5.2.2 (https://getbootstrap.com/)
3
+ * Copyright 2011-2022 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) {
@@ -11,15 +11,13 @@
11
11
 
12
12
  /**
13
13
  * --------------------------------------------------------------------------
14
- * Bootstrap (v5.1.3): dom/data.js
14
+ * Bootstrap (v5.2.2): dom/data.js
15
15
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
16
  * --------------------------------------------------------------------------
17
17
  */
18
18
 
19
19
  /**
20
- * ------------------------------------------------------------------------
21
20
  * Constants
22
- * ------------------------------------------------------------------------
23
21
  */
24
22
  const elementMap = new Map();
25
23
  const data = {