bootstrap 5.2.3 → 5.3.0.alpha3

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 (83) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/javascripts/bootstrap/alert.js +21 -32
  4. data/assets/javascripts/bootstrap/base-component.js +21 -38
  5. data/assets/javascripts/bootstrap/button.js +18 -22
  6. data/assets/javascripts/bootstrap/carousel.js +51 -135
  7. data/assets/javascripts/bootstrap/collapse.js +39 -102
  8. data/assets/javascripts/bootstrap/dom/data.js +8 -12
  9. data/assets/javascripts/bootstrap/dom/event-handler.js +18 -66
  10. data/assets/javascripts/bootstrap/dom/manipulator.js +4 -17
  11. data/assets/javascripts/bootstrap/dom/selector-engine.js +41 -24
  12. data/assets/javascripts/bootstrap/dropdown.js +73 -145
  13. data/assets/javascripts/bootstrap/modal.js +52 -133
  14. data/assets/javascripts/bootstrap/offcanvas.js +49 -102
  15. data/assets/javascripts/bootstrap/popover.js +22 -29
  16. data/assets/javascripts/bootstrap/scrollspy.js +51 -89
  17. data/assets/javascripts/bootstrap/tab.js +51 -109
  18. data/assets/javascripts/bootstrap/toast.js +30 -73
  19. data/assets/javascripts/bootstrap/tooltip.js +74 -177
  20. data/assets/javascripts/bootstrap/util/backdrop.js +27 -54
  21. data/assets/javascripts/bootstrap/util/component-functions.js +13 -19
  22. data/assets/javascripts/bootstrap/util/config.js +14 -27
  23. data/assets/javascripts/bootstrap/util/focustrap.js +19 -36
  24. data/assets/javascripts/bootstrap/util/index.js +42 -111
  25. data/assets/javascripts/bootstrap/util/sanitizer.js +13 -19
  26. data/assets/javascripts/bootstrap/util/scrollbar.js +23 -50
  27. data/assets/javascripts/bootstrap/util/swipe.js +26 -48
  28. data/assets/javascripts/bootstrap/util/template-factory.js +24 -52
  29. data/assets/javascripts/bootstrap-sprockets.js +1 -1
  30. data/assets/javascripts/bootstrap.js +626 -1406
  31. data/assets/javascripts/bootstrap.min.js +3 -3
  32. data/assets/stylesheets/_bootstrap-grid.scss +1 -3
  33. data/assets/stylesheets/_bootstrap-reboot.scss +1 -0
  34. data/assets/stylesheets/_bootstrap.scss +1 -0
  35. data/assets/stylesheets/bootstrap/_accordion.scss +9 -0
  36. data/assets/stylesheets/bootstrap/_alert.scss +8 -11
  37. data/assets/stylesheets/bootstrap/_button-group.scss +2 -2
  38. data/assets/stylesheets/bootstrap/_buttons.scss +3 -3
  39. data/assets/stylesheets/bootstrap/_card.scss +5 -0
  40. data/assets/stylesheets/bootstrap/_carousel.scss +20 -2
  41. data/assets/stylesheets/bootstrap/_close.scss +32 -9
  42. data/assets/stylesheets/bootstrap/_dropdown.scss +1 -0
  43. data/assets/stylesheets/bootstrap/_functions.scss +1 -1
  44. data/assets/stylesheets/bootstrap/_grid.scss +6 -0
  45. data/assets/stylesheets/bootstrap/_helpers.scss +2 -0
  46. data/assets/stylesheets/bootstrap/_list-group.scss +12 -7
  47. data/assets/stylesheets/bootstrap/_maps.scss +120 -0
  48. data/assets/stylesheets/bootstrap/_mixins.scss +1 -2
  49. data/assets/stylesheets/bootstrap/_nav.scss +40 -3
  50. data/assets/stylesheets/bootstrap/_navbar.scss +13 -3
  51. data/assets/stylesheets/bootstrap/_offcanvas.scss +4 -2
  52. data/assets/stylesheets/bootstrap/_pagination.scss +1 -1
  53. data/assets/stylesheets/bootstrap/_progress.scss +10 -1
  54. data/assets/stylesheets/bootstrap/_reboot.scss +3 -3
  55. data/assets/stylesheets/bootstrap/_root.scss +125 -10
  56. data/assets/stylesheets/bootstrap/_tables.scss +1 -1
  57. data/assets/stylesheets/bootstrap/_tooltip.scss +4 -5
  58. data/assets/stylesheets/bootstrap/_utilities.scss +172 -13
  59. data/assets/stylesheets/bootstrap/_variables-dark.scss +85 -0
  60. data/assets/stylesheets/bootstrap/_variables.scss +260 -151
  61. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -0
  62. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +21 -3
  63. data/assets/stylesheets/bootstrap/forms/_form-check.scss +24 -11
  64. data/assets/stylesheets/bootstrap/forms/_form-control.scss +23 -3
  65. data/assets/stylesheets/bootstrap/forms/_form-select.scss +11 -2
  66. data/assets/stylesheets/bootstrap/forms/_input-group.scss +1 -1
  67. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +22 -2
  68. data/assets/stylesheets/bootstrap/helpers/_focus-ring.scss +5 -0
  69. data/assets/stylesheets/bootstrap/helpers/_icon-link.scss +25 -0
  70. data/assets/stylesheets/bootstrap/mixins/_alert.scss +4 -1
  71. data/assets/stylesheets/bootstrap/mixins/_banner.scss +2 -4
  72. data/assets/stylesheets/bootstrap/mixins/_caret.scss +30 -25
  73. data/assets/stylesheets/bootstrap/mixins/_color-mode.scss +21 -0
  74. data/assets/stylesheets/bootstrap/mixins/_forms.scss +8 -7
  75. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -0
  76. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +1 -1
  77. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +5 -1
  78. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +23 -29
  79. data/bootstrap.gemspec +1 -1
  80. data/lib/bootstrap/version.rb +2 -2
  81. data/tasks/updater/js.rb +1 -1
  82. data/tasks/updater/scss.rb +1 -1
  83. metadata +10 -6
@@ -1,29 +1,21 @@
1
1
  /*!
2
- * Bootstrap offcanvas.js v5.2.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap offcanvas.js v5.3.0-alpha3 (https://getbootstrap.com/)
3
+ * Copyright 2011-2023 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('./util/index'), require('./util/scrollbar'), require('./dom/event-handler'), require('./base-component'), require('./dom/selector-engine'), require('./util/backdrop'), require('./util/focustrap'), require('./util/component-functions')) :
8
- typeof define === 'function' && define.amd ? define(['./util/index', './util/scrollbar', './dom/event-handler', './base-component', './dom/selector-engine', './util/backdrop', './util/focustrap', './util/component-functions'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Offcanvas = factory(global.Index, global.Scrollbar, global.EventHandler, global.BaseComponent, global.SelectorEngine, global.Backdrop, global.Focustrap, global.ComponentFunctions));
10
- })(this, (function (index, ScrollBarHelper, EventHandler, BaseComponent, SelectorEngine, Backdrop, FocusTrap, componentFunctions) { 'use strict';
11
-
12
- const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
13
-
14
- const ScrollBarHelper__default = /*#__PURE__*/_interopDefaultLegacy(ScrollBarHelper);
15
- const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
16
- const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
17
- const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
18
- const Backdrop__default = /*#__PURE__*/_interopDefaultLegacy(Backdrop);
19
- const FocusTrap__default = /*#__PURE__*/_interopDefaultLegacy(FocusTrap);
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js'), require('./util/backdrop.js'), require('./util/component-functions.js'), require('./util/focustrap.js'), require('./util/index.js'), require('./util/scrollbar.js')) :
8
+ typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './dom/selector-engine', './util/backdrop', './util/component-functions', './util/focustrap', './util/index', './util/scrollbar'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Offcanvas = factory(global.BaseComponent, global.EventHandler, global.SelectorEngine, global.Backdrop, global.ComponentFunctions, global.Focustrap, global.Index, global.Scrollbar));
10
+ })(this, (function (BaseComponent, EventHandler, SelectorEngine, Backdrop, componentFunctions_js, FocusTrap, index_js, ScrollBarHelper) { 'use strict';
20
11
 
21
12
  /**
22
13
  * --------------------------------------------------------------------------
23
- * Bootstrap (v5.2.3): offcanvas.js
14
+ * Bootstrap offcanvas.js
24
15
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
25
16
  * --------------------------------------------------------------------------
26
17
  */
18
+
27
19
  /**
28
20
  * Constants
29
21
  */
@@ -58,142 +50,108 @@
58
50
  keyboard: 'boolean',
59
51
  scroll: 'boolean'
60
52
  };
53
+
61
54
  /**
62
55
  * Class definition
63
56
  */
64
57
 
65
- class Offcanvas extends BaseComponent__default.default {
58
+ class Offcanvas extends BaseComponent {
66
59
  constructor(element, config) {
67
60
  super(element, config);
68
61
  this._isShown = false;
69
62
  this._backdrop = this._initializeBackDrop();
70
63
  this._focustrap = this._initializeFocusTrap();
71
-
72
64
  this._addEventListeners();
73
- } // Getters
74
-
65
+ }
75
66
 
67
+ // Getters
76
68
  static get Default() {
77
69
  return Default;
78
70
  }
79
-
80
71
  static get DefaultType() {
81
72
  return DefaultType;
82
73
  }
83
-
84
74
  static get NAME() {
85
75
  return NAME;
86
- } // Public
87
-
76
+ }
88
77
 
78
+ // Public
89
79
  toggle(relatedTarget) {
90
80
  return this._isShown ? this.hide() : this.show(relatedTarget);
91
81
  }
92
-
93
82
  show(relatedTarget) {
94
83
  if (this._isShown) {
95
84
  return;
96
85
  }
97
-
98
- const showEvent = EventHandler__default.default.trigger(this._element, EVENT_SHOW, {
86
+ const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {
99
87
  relatedTarget
100
88
  });
101
-
102
89
  if (showEvent.defaultPrevented) {
103
90
  return;
104
91
  }
105
-
106
92
  this._isShown = true;
107
-
108
93
  this._backdrop.show();
109
-
110
94
  if (!this._config.scroll) {
111
- new ScrollBarHelper__default.default().hide();
95
+ new ScrollBarHelper().hide();
112
96
  }
113
-
114
97
  this._element.setAttribute('aria-modal', true);
115
-
116
98
  this._element.setAttribute('role', 'dialog');
117
-
118
99
  this._element.classList.add(CLASS_NAME_SHOWING);
119
-
120
100
  const completeCallBack = () => {
121
101
  if (!this._config.scroll || this._config.backdrop) {
122
102
  this._focustrap.activate();
123
103
  }
124
-
125
104
  this._element.classList.add(CLASS_NAME_SHOW);
126
-
127
105
  this._element.classList.remove(CLASS_NAME_SHOWING);
128
-
129
- EventHandler__default.default.trigger(this._element, EVENT_SHOWN, {
106
+ EventHandler.trigger(this._element, EVENT_SHOWN, {
130
107
  relatedTarget
131
108
  });
132
109
  };
133
-
134
110
  this._queueCallback(completeCallBack, this._element, true);
135
111
  }
136
-
137
112
  hide() {
138
113
  if (!this._isShown) {
139
114
  return;
140
115
  }
141
-
142
- const hideEvent = EventHandler__default.default.trigger(this._element, EVENT_HIDE);
143
-
116
+ const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);
144
117
  if (hideEvent.defaultPrevented) {
145
118
  return;
146
119
  }
147
-
148
120
  this._focustrap.deactivate();
149
-
150
121
  this._element.blur();
151
-
152
122
  this._isShown = false;
153
-
154
123
  this._element.classList.add(CLASS_NAME_HIDING);
155
-
156
124
  this._backdrop.hide();
157
-
158
125
  const completeCallback = () => {
159
126
  this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING);
160
-
161
127
  this._element.removeAttribute('aria-modal');
162
-
163
128
  this._element.removeAttribute('role');
164
-
165
129
  if (!this._config.scroll) {
166
- new ScrollBarHelper__default.default().reset();
130
+ new ScrollBarHelper().reset();
167
131
  }
168
-
169
- EventHandler__default.default.trigger(this._element, EVENT_HIDDEN);
132
+ EventHandler.trigger(this._element, EVENT_HIDDEN);
170
133
  };
171
-
172
134
  this._queueCallback(completeCallback, this._element, true);
173
135
  }
174
-
175
136
  dispose() {
176
137
  this._backdrop.dispose();
177
-
178
138
  this._focustrap.deactivate();
179
-
180
139
  super.dispose();
181
- } // Private
182
-
140
+ }
183
141
 
142
+ // Private
184
143
  _initializeBackDrop() {
185
144
  const clickCallback = () => {
186
145
  if (this._config.backdrop === 'static') {
187
- EventHandler__default.default.trigger(this._element, EVENT_HIDE_PREVENTED);
146
+ EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
188
147
  return;
189
148
  }
190
-
191
149
  this.hide();
192
- }; // 'static' option will be translated to true, and booleans will keep their value
193
-
150
+ };
194
151
 
152
+ // 'static' option will be translated to true, and booleans will keep their value
195
153
  const isVisible = Boolean(this._config.backdrop);
196
- return new Backdrop__default.default({
154
+ return new Backdrop({
197
155
  className: CLASS_NAME_BACKDROP,
198
156
  isVisible,
199
157
  isAnimated: true,
@@ -201,96 +159,85 @@
201
159
  clickCallback: isVisible ? clickCallback : null
202
160
  });
203
161
  }
204
-
205
162
  _initializeFocusTrap() {
206
- return new FocusTrap__default.default({
163
+ return new FocusTrap({
207
164
  trapElement: this._element
208
165
  });
209
166
  }
210
-
211
167
  _addEventListeners() {
212
- EventHandler__default.default.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
168
+ EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
213
169
  if (event.key !== ESCAPE_KEY) {
214
170
  return;
215
171
  }
216
-
217
- if (!this._config.keyboard) {
218
- EventHandler__default.default.trigger(this._element, EVENT_HIDE_PREVENTED);
172
+ if (this._config.keyboard) {
173
+ this.hide();
219
174
  return;
220
175
  }
221
-
222
- this.hide();
176
+ EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
223
177
  });
224
- } // Static
225
-
178
+ }
226
179
 
180
+ // Static
227
181
  static jQueryInterface(config) {
228
182
  return this.each(function () {
229
183
  const data = Offcanvas.getOrCreateInstance(this, config);
230
-
231
184
  if (typeof config !== 'string') {
232
185
  return;
233
186
  }
234
-
235
187
  if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
236
188
  throw new TypeError(`No method named "${config}"`);
237
189
  }
238
-
239
190
  data[config](this);
240
191
  });
241
192
  }
242
-
243
193
  }
194
+
244
195
  /**
245
196
  * Data API implementation
246
197
  */
247
198
 
248
-
249
- EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
250
- const target = index.getElementFromSelector(this);
251
-
199
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
200
+ const target = SelectorEngine.getElementFromSelector(this);
252
201
  if (['A', 'AREA'].includes(this.tagName)) {
253
202
  event.preventDefault();
254
203
  }
255
-
256
- if (index.isDisabled(this)) {
204
+ if (index_js.isDisabled(this)) {
257
205
  return;
258
206
  }
259
-
260
- EventHandler__default.default.one(target, EVENT_HIDDEN, () => {
207
+ EventHandler.one(target, EVENT_HIDDEN, () => {
261
208
  // focus on trigger when it is closed
262
- if (index.isVisible(this)) {
209
+ if (index_js.isVisible(this)) {
263
210
  this.focus();
264
211
  }
265
- }); // avoid conflict when clicking a toggler of an offcanvas, while another is open
266
-
267
- const alreadyOpen = SelectorEngine__default.default.findOne(OPEN_SELECTOR);
212
+ });
268
213
 
214
+ // avoid conflict when clicking a toggler of an offcanvas, while another is open
215
+ const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);
269
216
  if (alreadyOpen && alreadyOpen !== target) {
270
217
  Offcanvas.getInstance(alreadyOpen).hide();
271
218
  }
272
-
273
219
  const data = Offcanvas.getOrCreateInstance(target);
274
220
  data.toggle(this);
275
221
  });
276
- EventHandler__default.default.on(window, EVENT_LOAD_DATA_API, () => {
277
- for (const selector of SelectorEngine__default.default.find(OPEN_SELECTOR)) {
222
+ EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
223
+ for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
278
224
  Offcanvas.getOrCreateInstance(selector).show();
279
225
  }
280
226
  });
281
- EventHandler__default.default.on(window, EVENT_RESIZE, () => {
282
- for (const element of SelectorEngine__default.default.find('[aria-modal][class*=show][class*=offcanvas-]')) {
227
+ EventHandler.on(window, EVENT_RESIZE, () => {
228
+ for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {
283
229
  if (getComputedStyle(element).position !== 'fixed') {
284
230
  Offcanvas.getOrCreateInstance(element).hide();
285
231
  }
286
232
  }
287
233
  });
288
- componentFunctions.enableDismissTrigger(Offcanvas);
234
+ componentFunctions_js.enableDismissTrigger(Offcanvas);
235
+
289
236
  /**
290
237
  * jQuery
291
238
  */
292
239
 
293
- index.defineJQueryPlugin(Offcanvas);
240
+ index_js.defineJQueryPlugin(Offcanvas);
294
241
 
295
242
  return Offcanvas;
296
243
 
@@ -1,24 +1,21 @@
1
1
  /*!
2
- * Bootstrap popover.js v5.2.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap popover.js v5.3.0-alpha3 (https://getbootstrap.com/)
3
+ * Copyright 2011-2023 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('./util/index'), require('./tooltip')) :
8
- typeof define === 'function' && define.amd ? define(['./util/index', './tooltip'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Index, global.Tooltip));
10
- })(this, (function (index, Tooltip) { 'use strict';
11
-
12
- const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
13
-
14
- const Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./tooltip.js'), require('./util/index.js')) :
8
+ typeof define === 'function' && define.amd ? define(['./tooltip', './util/index'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Tooltip, global.Index));
10
+ })(this, (function (Tooltip, index_js) { 'use strict';
15
11
 
16
12
  /**
17
13
  * --------------------------------------------------------------------------
18
- * Bootstrap (v5.2.3): popover.js
14
+ * Bootstrap popover.js
19
15
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
20
16
  * --------------------------------------------------------------------------
21
17
  */
18
+
22
19
  /**
23
20
  * Constants
24
21
  */
@@ -26,75 +23,71 @@
26
23
  const NAME = 'popover';
27
24
  const SELECTOR_TITLE = '.popover-header';
28
25
  const SELECTOR_CONTENT = '.popover-body';
29
- const Default = { ...Tooltip__default.default.Default,
26
+ const Default = {
27
+ ...Tooltip.Default,
30
28
  content: '',
31
29
  offset: [0, 8],
32
30
  placement: 'right',
33
31
  template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
34
32
  trigger: 'click'
35
33
  };
36
- const DefaultType = { ...Tooltip__default.default.DefaultType,
34
+ const DefaultType = {
35
+ ...Tooltip.DefaultType,
37
36
  content: '(null|string|element|function)'
38
37
  };
38
+
39
39
  /**
40
40
  * Class definition
41
41
  */
42
42
 
43
- class Popover extends Tooltip__default.default {
43
+ class Popover extends Tooltip {
44
44
  // Getters
45
45
  static get Default() {
46
46
  return Default;
47
47
  }
48
-
49
48
  static get DefaultType() {
50
49
  return DefaultType;
51
50
  }
52
-
53
51
  static get NAME() {
54
52
  return NAME;
55
- } // Overrides
56
-
53
+ }
57
54
 
55
+ // Overrides
58
56
  _isWithContent() {
59
57
  return this._getTitle() || this._getContent();
60
- } // Private
61
-
58
+ }
62
59
 
60
+ // Private
63
61
  _getContentForTemplate() {
64
62
  return {
65
63
  [SELECTOR_TITLE]: this._getTitle(),
66
64
  [SELECTOR_CONTENT]: this._getContent()
67
65
  };
68
66
  }
69
-
70
67
  _getContent() {
71
68
  return this._resolvePossibleFunction(this._config.content);
72
- } // Static
73
-
69
+ }
74
70
 
71
+ // Static
75
72
  static jQueryInterface(config) {
76
73
  return this.each(function () {
77
74
  const data = Popover.getOrCreateInstance(this, config);
78
-
79
75
  if (typeof config !== 'string') {
80
76
  return;
81
77
  }
82
-
83
78
  if (typeof data[config] === 'undefined') {
84
79
  throw new TypeError(`No method named "${config}"`);
85
80
  }
86
-
87
81
  data[config]();
88
82
  });
89
83
  }
90
-
91
84
  }
85
+
92
86
  /**
93
87
  * jQuery
94
88
  */
95
89
 
96
-
97
- index.defineJQueryPlugin(Popover);
90
+ index_js.defineJQueryPlugin(Popover);
98
91
 
99
92
  return Popover;
100
93