bootstrap 4.3.1 → 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.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +17 -2
  3. data/CHANGELOG.md +2 -14
  4. data/README.md +7 -4
  5. data/assets/javascripts/bootstrap/alert.js +172 -136
  6. data/assets/javascripts/bootstrap/base-component.js +182 -0
  7. data/assets/javascripts/bootstrap/button.js +101 -142
  8. data/assets/javascripts/bootstrap/carousel.js +483 -408
  9. data/assets/javascripts/bootstrap/collapse.js +340 -273
  10. data/assets/javascripts/bootstrap/dom/data.js +68 -0
  11. data/assets/javascripts/bootstrap/dom/event-handler.js +321 -0
  12. data/assets/javascripts/bootstrap/dom/manipulator.js +88 -0
  13. data/assets/javascripts/bootstrap/dom/selector-engine.js +127 -0
  14. data/assets/javascripts/bootstrap/dropdown.js +491 -399
  15. data/assets/javascripts/bootstrap/modal.js +841 -449
  16. data/assets/javascripts/bootstrap/offcanvas.js +866 -0
  17. data/assets/javascripts/bootstrap/popover.js +121 -198
  18. data/assets/javascripts/bootstrap/scrollspy.js +256 -240
  19. data/assets/javascripts/bootstrap/tab.js +218 -154
  20. data/assets/javascripts/bootstrap/toast.js +329 -189
  21. data/assets/javascripts/bootstrap/tooltip.js +651 -552
  22. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  23. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  24. data/assets/javascripts/bootstrap-sprockets.js +8 -1
  25. data/assets/javascripts/bootstrap.js +3503 -2892
  26. data/assets/javascripts/bootstrap.min.js +4 -4
  27. data/assets/stylesheets/_bootstrap-grid.scss +56 -18
  28. data/assets/stylesheets/_bootstrap-reboot.scss +5 -4
  29. data/assets/stylesheets/_bootstrap.scss +20 -11
  30. data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
  31. data/assets/stylesheets/bootstrap/_alert.scss +15 -9
  32. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  33. data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -18
  34. data/assets/stylesheets/bootstrap/_button-group.scss +21 -45
  35. data/assets/stylesheets/bootstrap/_buttons.scss +28 -54
  36. data/assets/stylesheets/bootstrap/_card.scss +52 -125
  37. data/assets/stylesheets/bootstrap/_carousel.scss +70 -38
  38. data/assets/stylesheets/bootstrap/_close.scss +30 -31
  39. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  40. data/assets/stylesheets/bootstrap/_dropdown.scss +88 -39
  41. data/assets/stylesheets/bootstrap/_forms.scss +9 -330
  42. data/assets/stylesheets/bootstrap/_functions.scss +243 -27
  43. data/assets/stylesheets/bootstrap/_grid.scss +14 -33
  44. data/assets/stylesheets/bootstrap/_helpers.scss +9 -0
  45. data/assets/stylesheets/bootstrap/_images.scss +3 -3
  46. data/assets/stylesheets/bootstrap/_list-group.scss +61 -36
  47. data/assets/stylesheets/bootstrap/_mixins.scss +12 -16
  48. data/assets/stylesheets/bootstrap/_modal.scss +64 -84
  49. data/assets/stylesheets/bootstrap/_nav.scss +29 -10
  50. data/assets/stylesheets/bootstrap/_navbar.scss +93 -52
  51. data/assets/stylesheets/bootstrap/_offcanvas.scss +83 -0
  52. data/assets/stylesheets/bootstrap/_pagination.scss +13 -22
  53. data/assets/stylesheets/bootstrap/_placeholders.scss +51 -0
  54. data/assets/stylesheets/bootstrap/_popover.scss +29 -42
  55. data/assets/stylesheets/bootstrap/_progress.scss +10 -5
  56. data/assets/stylesheets/bootstrap/_reboot.scss +350 -208
  57. data/assets/stylesheets/bootstrap/_root.scss +43 -8
  58. data/assets/stylesheets/bootstrap/_spinners.scss +21 -7
  59. data/assets/stylesheets/bootstrap/_tables.scss +84 -114
  60. data/assets/stylesheets/bootstrap/_toasts.scss +21 -14
  61. data/assets/stylesheets/bootstrap/_tooltip.scss +21 -21
  62. data/assets/stylesheets/bootstrap/_transitions.scss +8 -1
  63. data/assets/stylesheets/bootstrap/_type.scss +40 -61
  64. data/assets/stylesheets/bootstrap/_utilities.scss +630 -17
  65. data/assets/stylesheets/bootstrap/_variables.scss +1007 -489
  66. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  67. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +63 -0
  68. data/assets/stylesheets/bootstrap/forms/_form-check.scss +152 -0
  69. data/assets/stylesheets/bootstrap/forms/_form-control.scss +219 -0
  70. data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
  71. data/assets/stylesheets/bootstrap/forms/_form-select.scss +72 -0
  72. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  73. data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
  74. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  75. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  76. data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
  77. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  78. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  79. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  80. data/assets/stylesheets/bootstrap/helpers/_stacks.scss +15 -0
  81. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  82. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  83. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  84. data/assets/stylesheets/bootstrap/helpers/_vr.scss +8 -0
  85. data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -5
  86. data/assets/stylesheets/bootstrap/mixins/_backdrop.scss +14 -0
  87. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +37 -22
  88. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
  89. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
  90. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +77 -51
  91. data/assets/stylesheets/bootstrap/mixins/_caret.scss +10 -8
  92. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  93. data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
  94. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  95. data/assets/stylesheets/bootstrap/mixins/_forms.scss +67 -115
  96. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
  97. data/assets/stylesheets/bootstrap/mixins/_grid.scss +132 -32
  98. data/assets/stylesheets/bootstrap/mixins/_image.scss +0 -20
  99. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +5 -2
  100. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +17 -8
  101. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
  102. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  103. data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
  104. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +89 -0
  105. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
  106. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  107. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +278 -128
  108. data/bootstrap.gemspec +4 -6
  109. data/lib/bootstrap/version.rb +2 -2
  110. data/tasks/updater/js.rb +25 -6
  111. data/tasks/updater/network.rb +8 -2
  112. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  113. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  114. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  115. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  116. data/test/dummy_rails/app/views/pages/root.html +89 -0
  117. data/test/dummy_rails/config/application.rb +0 -3
  118. data/test/gemfiles/rails_6_0.gemfile +7 -0
  119. data/test/gemfiles/rails_6_1.gemfile +7 -0
  120. data/test/support/dummy_rails_integration.rb +3 -1
  121. data/test/test_helper.rb +18 -13
  122. metadata +61 -79
  123. data/assets/javascripts/bootstrap/util.js +0 -171
  124. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  125. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -507
  126. data/assets/stylesheets/bootstrap/_input-group.scss +0 -193
  127. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  128. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  129. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  130. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -21
  131. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  132. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  133. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -66
  134. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  135. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  136. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -33
  137. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  138. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  139. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -16
  140. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  141. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  142. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  143. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  144. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  145. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  146. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  147. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  148. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  149. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  150. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  151. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  152. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  153. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  154. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  155. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  156. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  157. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
  158. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
@@ -1,259 +1,182 @@
1
1
  /*!
2
- * Bootstrap popover.js v4.3.1 (https://getbootstrap.com/)
3
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2
+ * Bootstrap popover.js v5.1.3 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 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('jquery'), require('./tooltip.js')) :
8
- typeof define === 'function' && define.amd ? define(['jquery', './tooltip.js'], factory) :
9
- (global = global || self, global.Popover = factory(global.jQuery, global.Tooltip));
10
- }(this, function ($, Tooltip) { 'use strict';
11
-
12
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
- Tooltip = Tooltip && Tooltip.hasOwnProperty('default') ? Tooltip['default'] : Tooltip;
14
-
15
- function _defineProperties(target, props) {
16
- for (var i = 0; i < props.length; i++) {
17
- var descriptor = props[i];
18
- descriptor.enumerable = descriptor.enumerable || false;
19
- descriptor.configurable = true;
20
- if ("value" in descriptor) descriptor.writable = true;
21
- Object.defineProperty(target, descriptor.key, descriptor);
22
- }
23
- }
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./tooltip.js')) :
8
+ typeof define === 'function' && define.amd ? define(['./tooltip'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Tooltip));
10
+ })(this, (function (Tooltip) { 'use strict';
24
11
 
25
- function _createClass(Constructor, protoProps, staticProps) {
26
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
- if (staticProps) _defineProperties(Constructor, staticProps);
28
- return Constructor;
29
- }
12
+ const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
30
13
 
31
- function _defineProperty(obj, key, value) {
32
- if (key in obj) {
33
- Object.defineProperty(obj, key, {
34
- value: value,
35
- enumerable: true,
36
- configurable: true,
37
- writable: true
38
- });
39
- } else {
40
- obj[key] = value;
14
+ const Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
15
+
16
+ /**
17
+ * --------------------------------------------------------------------------
18
+ * Bootstrap (v5.1.3): util/index.js
19
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
20
+ * --------------------------------------------------------------------------
21
+ */
22
+
23
+ const getjQuery = () => {
24
+ const {
25
+ jQuery
26
+ } = window;
27
+
28
+ if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
29
+ return jQuery;
41
30
  }
42
31
 
43
- return obj;
44
- }
32
+ return null;
33
+ };
45
34
 
46
- function _objectSpread(target) {
47
- for (var i = 1; i < arguments.length; i++) {
48
- var source = arguments[i] != null ? arguments[i] : {};
49
- var ownKeys = Object.keys(source);
35
+ const DOMContentLoadedCallbacks = [];
50
36
 
51
- if (typeof Object.getOwnPropertySymbols === 'function') {
52
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
53
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
54
- }));
37
+ const onDOMContentLoaded = callback => {
38
+ if (document.readyState === 'loading') {
39
+ // add listener on the first call when the document is in loading state
40
+ if (!DOMContentLoadedCallbacks.length) {
41
+ document.addEventListener('DOMContentLoaded', () => {
42
+ DOMContentLoadedCallbacks.forEach(callback => callback());
43
+ });
55
44
  }
56
45
 
57
- ownKeys.forEach(function (key) {
58
- _defineProperty(target, key, source[key]);
59
- });
46
+ DOMContentLoadedCallbacks.push(callback);
47
+ } else {
48
+ callback();
60
49
  }
50
+ };
61
51
 
62
- return target;
63
- }
64
-
65
- function _inheritsLoose(subClass, superClass) {
66
- subClass.prototype = Object.create(superClass.prototype);
67
- subClass.prototype.constructor = subClass;
68
- subClass.__proto__ = superClass;
69
- }
52
+ const defineJQueryPlugin = plugin => {
53
+ onDOMContentLoaded(() => {
54
+ const $ = getjQuery();
55
+ /* istanbul ignore if */
56
+
57
+ if ($) {
58
+ const name = plugin.NAME;
59
+ const JQUERY_NO_CONFLICT = $.fn[name];
60
+ $.fn[name] = plugin.jQueryInterface;
61
+ $.fn[name].Constructor = plugin;
62
+
63
+ $.fn[name].noConflict = () => {
64
+ $.fn[name] = JQUERY_NO_CONFLICT;
65
+ return plugin.jQueryInterface;
66
+ };
67
+ }
68
+ });
69
+ };
70
70
 
71
+ /**
72
+ * --------------------------------------------------------------------------
73
+ * Bootstrap (v5.1.3): popover.js
74
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
75
+ * --------------------------------------------------------------------------
76
+ */
71
77
  /**
72
78
  * ------------------------------------------------------------------------
73
79
  * Constants
74
80
  * ------------------------------------------------------------------------
75
81
  */
76
82
 
77
- var NAME = 'popover';
78
- var VERSION = '4.3.1';
79
- var DATA_KEY = 'bs.popover';
80
- var EVENT_KEY = "." + DATA_KEY;
81
- var JQUERY_NO_CONFLICT = $.fn[NAME];
82
- var CLASS_PREFIX = 'bs-popover';
83
- var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
84
-
85
- var Default = _objectSpread({}, Tooltip.Default, {
83
+ const NAME = 'popover';
84
+ const DATA_KEY = 'bs.popover';
85
+ const EVENT_KEY = `.${DATA_KEY}`;
86
+ const CLASS_PREFIX = 'bs-popover';
87
+ const Default = { ...Tooltip__default.default.Default,
86
88
  placement: 'right',
89
+ offset: [0, 8],
87
90
  trigger: 'click',
88
91
  content: '',
89
- template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
90
- });
91
-
92
- var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
93
- content: '(string|element|function)'
94
- });
95
-
96
- var ClassName = {
97
- FADE: 'fade',
98
- SHOW: 'show'
92
+ template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>'
99
93
  };
100
- var Selector = {
101
- TITLE: '.popover-header',
102
- CONTENT: '.popover-body'
94
+ const DefaultType = { ...Tooltip__default.default.DefaultType,
95
+ content: '(string|element|function)'
103
96
  };
104
- var Event = {
105
- HIDE: "hide" + EVENT_KEY,
106
- HIDDEN: "hidden" + EVENT_KEY,
107
- SHOW: "show" + EVENT_KEY,
108
- SHOWN: "shown" + EVENT_KEY,
109
- INSERTED: "inserted" + EVENT_KEY,
110
- CLICK: "click" + EVENT_KEY,
111
- FOCUSIN: "focusin" + EVENT_KEY,
112
- FOCUSOUT: "focusout" + EVENT_KEY,
113
- MOUSEENTER: "mouseenter" + EVENT_KEY,
114
- MOUSELEAVE: "mouseleave" + EVENT_KEY
115
- /**
116
- * ------------------------------------------------------------------------
117
- * Class Definition
118
- * ------------------------------------------------------------------------
119
- */
120
-
97
+ const Event = {
98
+ HIDE: `hide${EVENT_KEY}`,
99
+ HIDDEN: `hidden${EVENT_KEY}`,
100
+ SHOW: `show${EVENT_KEY}`,
101
+ SHOWN: `shown${EVENT_KEY}`,
102
+ INSERTED: `inserted${EVENT_KEY}`,
103
+ CLICK: `click${EVENT_KEY}`,
104
+ FOCUSIN: `focusin${EVENT_KEY}`,
105
+ FOCUSOUT: `focusout${EVENT_KEY}`,
106
+ MOUSEENTER: `mouseenter${EVENT_KEY}`,
107
+ MOUSELEAVE: `mouseleave${EVENT_KEY}`
121
108
  };
109
+ const SELECTOR_TITLE = '.popover-header';
110
+ const SELECTOR_CONTENT = '.popover-body';
111
+ /**
112
+ * ------------------------------------------------------------------------
113
+ * Class Definition
114
+ * ------------------------------------------------------------------------
115
+ */
122
116
 
123
- var Popover =
124
- /*#__PURE__*/
125
- function (_Tooltip) {
126
- _inheritsLoose(Popover, _Tooltip);
127
-
128
- function Popover() {
129
- return _Tooltip.apply(this, arguments) || this;
117
+ class Popover extends Tooltip__default.default {
118
+ // Getters
119
+ static get Default() {
120
+ return Default;
130
121
  }
131
122
 
132
- var _proto = Popover.prototype;
133
-
134
- // Overrides
135
- _proto.isWithContent = function isWithContent() {
136
- return this.getTitle() || this._getContent();
137
- };
138
-
139
- _proto.addAttachmentClass = function addAttachmentClass(attachment) {
140
- $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
141
- };
123
+ static get NAME() {
124
+ return NAME;
125
+ }
142
126
 
143
- _proto.getTipElement = function getTipElement() {
144
- this.tip = this.tip || $(this.config.template)[0];
145
- return this.tip;
146
- };
127
+ static get Event() {
128
+ return Event;
129
+ }
147
130
 
148
- _proto.setContent = function setContent() {
149
- var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
131
+ static get DefaultType() {
132
+ return DefaultType;
133
+ } // Overrides
150
134
 
151
- this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
152
135
 
153
- var content = this._getContent();
136
+ isWithContent() {
137
+ return this.getTitle() || this._getContent();
138
+ }
154
139
 
155
- if (typeof content === 'function') {
156
- content = content.call(this.element);
157
- }
140
+ setContent(tip) {
141
+ this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE);
158
142
 
159
- this.setElementContent($tip.find(Selector.CONTENT), content);
160
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
143
+ this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT);
161
144
  } // Private
162
- ;
163
145
 
164
- _proto._getContent = function _getContent() {
165
- return this.element.getAttribute('data-content') || this.config.content;
166
- };
167
146
 
168
- _proto._cleanTipClass = function _cleanTipClass() {
169
- var $tip = $(this.getTipElement());
170
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
147
+ _getContent() {
148
+ return this._resolvePossibleFunction(this._config.content);
149
+ }
171
150
 
172
- if (tabClass !== null && tabClass.length > 0) {
173
- $tip.removeClass(tabClass.join(''));
174
- }
151
+ _getBasicClassPrefix() {
152
+ return CLASS_PREFIX;
175
153
  } // Static
176
- ;
177
-
178
- Popover._jQueryInterface = function _jQueryInterface(config) {
179
- return this.each(function () {
180
- var data = $(this).data(DATA_KEY);
181
-
182
- var _config = typeof config === 'object' ? config : null;
183
154
 
184
- if (!data && /dispose|hide/.test(config)) {
185
- return;
186
- }
187
155
 
188
- if (!data) {
189
- data = new Popover(this, _config);
190
- $(this).data(DATA_KEY, data);
191
- }
156
+ static jQueryInterface(config) {
157
+ return this.each(function () {
158
+ const data = Popover.getOrCreateInstance(this, config);
192
159
 
193
160
  if (typeof config === 'string') {
194
161
  if (typeof data[config] === 'undefined') {
195
- throw new TypeError("No method named \"" + config + "\"");
162
+ throw new TypeError(`No method named "${config}"`);
196
163
  }
197
164
 
198
165
  data[config]();
199
166
  }
200
167
  });
201
- };
202
-
203
- _createClass(Popover, null, [{
204
- key: "VERSION",
205
- // Getters
206
- get: function get() {
207
- return VERSION;
208
- }
209
- }, {
210
- key: "Default",
211
- get: function get() {
212
- return Default;
213
- }
214
- }, {
215
- key: "NAME",
216
- get: function get() {
217
- return NAME;
218
- }
219
- }, {
220
- key: "DATA_KEY",
221
- get: function get() {
222
- return DATA_KEY;
223
- }
224
- }, {
225
- key: "Event",
226
- get: function get() {
227
- return Event;
228
- }
229
- }, {
230
- key: "EVENT_KEY",
231
- get: function get() {
232
- return EVENT_KEY;
233
- }
234
- }, {
235
- key: "DefaultType",
236
- get: function get() {
237
- return DefaultType;
238
- }
239
- }]);
168
+ }
240
169
 
241
- return Popover;
242
- }(Tooltip);
170
+ }
243
171
  /**
244
172
  * ------------------------------------------------------------------------
245
173
  * jQuery
246
174
  * ------------------------------------------------------------------------
175
+ * add .Popover to jQuery only if jQuery is present
247
176
  */
248
177
 
249
178
 
250
- $.fn[NAME] = Popover._jQueryInterface;
251
- $.fn[NAME].Constructor = Popover;
252
-
253
- $.fn[NAME].noConflict = function () {
254
- $.fn[NAME] = JQUERY_NO_CONFLICT;
255
- return Popover._jQueryInterface;
256
- };
179
+ defineJQueryPlugin(Popover);
257
180
 
258
181
  return Popover;
259
182