bootstrap 4.6.1 → 5.0.0.alpha1

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 (133) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/javascripts/bootstrap/alert.js +148 -70
  4. data/assets/javascripts/bootstrap/button.js +71 -151
  5. data/assets/javascripts/bootstrap/carousel.js +314 -206
  6. data/assets/javascripts/bootstrap/collapse.js +306 -150
  7. data/assets/javascripts/bootstrap/dom/data.js +81 -0
  8. data/assets/javascripts/bootstrap/dom/event-handler.js +311 -0
  9. data/assets/javascripts/bootstrap/dom/manipulator.js +100 -0
  10. data/assets/javascripts/bootstrap/dom/polyfill.js +110 -0
  11. data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
  12. data/assets/javascripts/bootstrap/dropdown.js +256 -202
  13. data/assets/javascripts/bootstrap/modal.js +353 -247
  14. data/assets/javascripts/bootstrap/popover.js +83 -91
  15. data/assets/javascripts/bootstrap/scrollspy.js +175 -103
  16. data/assets/javascripts/bootstrap/tab.js +170 -96
  17. data/assets/javascripts/bootstrap/toast.js +180 -107
  18. data/assets/javascripts/bootstrap/tooltip.js +374 -223
  19. data/assets/javascripts/bootstrap-sprockets.js +11 -7
  20. data/assets/javascripts/bootstrap.js +2257 -1548
  21. data/assets/javascripts/bootstrap.min.js +3 -3
  22. data/assets/stylesheets/_bootstrap-grid.scss +53 -18
  23. data/assets/stylesheets/_bootstrap-reboot.scss +6 -3
  24. data/assets/stylesheets/_bootstrap.scss +16 -10
  25. data/assets/stylesheets/bootstrap/_alert.scss +3 -4
  26. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  27. data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -17
  28. data/assets/stylesheets/bootstrap/_button-group.scss +16 -38
  29. data/assets/stylesheets/bootstrap/_buttons.scss +27 -45
  30. data/assets/stylesheets/bootstrap/_card.scss +22 -68
  31. data/assets/stylesheets/bootstrap/_carousel.scss +15 -20
  32. data/assets/stylesheets/bootstrap/_close.scss +9 -13
  33. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  34. data/assets/stylesheets/bootstrap/_dropdown.scss +12 -9
  35. data/assets/stylesheets/bootstrap/_forms.scss +9 -347
  36. data/assets/stylesheets/bootstrap/_functions.scss +82 -69
  37. data/assets/stylesheets/bootstrap/_grid.scss +3 -54
  38. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  39. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  40. data/assets/stylesheets/bootstrap/_list-group.scss +7 -4
  41. data/assets/stylesheets/bootstrap/_mixins.scss +6 -12
  42. data/assets/stylesheets/bootstrap/_modal.scss +36 -41
  43. data/assets/stylesheets/bootstrap/_nav.scss +7 -4
  44. data/assets/stylesheets/bootstrap/_navbar.scss +42 -82
  45. data/assets/stylesheets/bootstrap/_pagination.scss +7 -20
  46. data/assets/stylesheets/bootstrap/_popover.scss +14 -14
  47. data/assets/stylesheets/bootstrap/_progress.scss +3 -5
  48. data/assets/stylesheets/bootstrap/_reboot.scss +304 -172
  49. data/assets/stylesheets/bootstrap/_root.scss +5 -8
  50. data/assets/stylesheets/bootstrap/_spinners.scss +6 -15
  51. data/assets/stylesheets/bootstrap/_tables.scss +80 -114
  52. data/assets/stylesheets/bootstrap/_toasts.scss +2 -4
  53. data/assets/stylesheets/bootstrap/_tooltip.scss +9 -9
  54. data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
  55. data/assets/stylesheets/bootstrap/_type.scss +38 -59
  56. data/assets/stylesheets/bootstrap/_utilities.scss +503 -18
  57. data/assets/stylesheets/bootstrap/_variables.scss +548 -436
  58. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  59. data/assets/stylesheets/bootstrap/forms/_form-check.scss +142 -0
  60. data/assets/stylesheets/bootstrap/forms/_form-control.scss +116 -0
  61. data/assets/stylesheets/bootstrap/forms/_form-file.scss +91 -0
  62. data/assets/stylesheets/bootstrap/forms/_form-range.scss +136 -0
  63. data/assets/stylesheets/bootstrap/forms/_form-select.scss +82 -0
  64. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  65. data/assets/stylesheets/bootstrap/forms/_input-group.scss +140 -0
  66. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  67. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  68. data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
  69. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  70. data/assets/stylesheets/bootstrap/helpers/_embed.scss +31 -0
  71. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  72. data/assets/stylesheets/bootstrap/helpers/_screenreaders.scss +8 -0
  73. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  74. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  75. data/assets/stylesheets/bootstrap/mixins/_alert.scss +0 -4
  76. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +1 -1
  77. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -8
  78. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +62 -47
  79. data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
  80. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  81. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  82. data/assets/stylesheets/bootstrap/mixins/_forms.scss +23 -85
  83. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
  84. data/assets/stylesheets/bootstrap/mixins/_grid.scss +86 -34
  85. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  86. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -1
  87. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  88. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
  89. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  90. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +18 -24
  91. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  92. data/assets/stylesheets/bootstrap/mixins/_transition.scss +2 -2
  93. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +49 -0
  94. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  95. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +214 -130
  96. data/lib/bootstrap/version.rb +2 -2
  97. data/tasks/updater/js.rb +3 -3
  98. metadata +32 -40
  99. data/assets/javascripts/bootstrap/util.js +0 -189
  100. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  101. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
  102. data/assets/stylesheets/bootstrap/_input-group.scss +0 -211
  103. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  104. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  105. data/assets/stylesheets/bootstrap/_print.scss +0 -132
  106. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
  107. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  108. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  109. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
  110. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  111. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  112. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  113. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  114. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  115. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  116. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  117. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  118. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  119. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  120. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  121. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  122. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  123. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  124. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
  125. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  126. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  127. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  128. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  129. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  130. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  131. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  132. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  133. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e791267a64e7f6a3aef767cc844085c0c3b815ca4aa8148d2c07a16a9f149db4
4
- data.tar.gz: '068dcaefca522f86bbffde485b6b87b4ab446e591fcb65858f963ebd105d4eb0'
3
+ metadata.gz: da3029d47624ce88dca2ddb395d250b689f2bea68844f66718189fd25dff9b24
4
+ data.tar.gz: 99158148a82693decf171b07d999e45eeff3ab6fa157084b5b592ecda230426c
5
5
  SHA512:
6
- metadata.gz: 132b45ccfd439386a5b998e0111f0e845b35a090c764f3274158474b29b908c82915d79a723175bdb29b1d47a6f74cab426d2d4c20f36e95ef40649a1da86c9a
7
- data.tar.gz: 0d9fd4713444aa657b664a1216146c0a500437ec493e1df8ac93e0faaecd1964483d63ada3b988714d991a1e9317705af14f9405db936a774c767e179625b70b
6
+ metadata.gz: e1790921eb6fefab26c74b036f316daec352870f6a9b2dfb795f0a51ae0fd65cd3c3b23f082d2de6b17bf59045bcf3db000f9ffc41c0ebfe809cabc370b79600
7
+ data.tar.gz: e2b21f142c4761d751d964b12fe4ed27b045f8df89ce87c6ad09a0d403e9e5d3ea9744f64d13a99bba76ce9058fe1e5f3f892804ff55a388dd630d2a1a60dfa0
data/README.md CHANGED
@@ -17,7 +17,7 @@ Please see the appropriate guide for your environment of choice:
17
17
  Add `bootstrap` to your Gemfile:
18
18
 
19
19
  ```ruby
20
- gem 'bootstrap', '~> 4.6.1'
20
+ gem 'bootstrap', '~> 5.0.0.alpha1'
21
21
  ```
22
22
 
23
23
  Ensure that `sprockets-rails` is at least v2.3.2.
@@ -1,59 +1,132 @@
1
1
  /*!
2
- * Bootstrap alert.js v4.6.1 (https://getbootstrap.com/)
3
- * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap alert.js v5.0.0-alpha1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2020 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('jquery'), require('./util.js')) :
8
- typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.jQuery, global.Util));
10
- })(this, (function ($, Util) { 'use strict';
11
-
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
- var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
16
-
17
- function _defineProperties(target, props) {
18
- for (var i = 0; i < props.length; i++) {
19
- var descriptor = props[i];
20
- descriptor.enumerable = descriptor.enumerable || false;
21
- descriptor.configurable = true;
22
- if ("value" in descriptor) descriptor.writable = true;
23
- Object.defineProperty(target, descriptor.key, descriptor);
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.js', './dom/event-handler.js'], factory) :
9
+ (global = global || self, global.Alert = factory(global.Data, global.EventHandler));
10
+ }(this, (function (Data, EventHandler) { 'use strict';
11
+
12
+ Data = Data && Object.prototype.hasOwnProperty.call(Data, 'default') ? Data['default'] : Data;
13
+ EventHandler = EventHandler && Object.prototype.hasOwnProperty.call(EventHandler, 'default') ? EventHandler['default'] : EventHandler;
14
+
15
+ /**
16
+ * --------------------------------------------------------------------------
17
+ * Bootstrap (v5.0.0-alpha1): util/index.js
18
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
19
+ * --------------------------------------------------------------------------
20
+ */
21
+ var MILLISECONDS_MULTIPLIER = 1000;
22
+ var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
23
+
24
+ var getSelector = function getSelector(element) {
25
+ var selector = element.getAttribute('data-target');
26
+
27
+ if (!selector || selector === '#') {
28
+ var hrefAttr = element.getAttribute('href');
29
+ selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
24
30
  }
25
- }
26
31
 
27
- function _createClass(Constructor, protoProps, staticProps) {
28
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
- if (staticProps) _defineProperties(Constructor, staticProps);
30
- return Constructor;
31
- }
32
+ return selector;
33
+ };
34
+
35
+ var getElementFromSelector = function getElementFromSelector(element) {
36
+ var selector = getSelector(element);
37
+ return selector ? document.querySelector(selector) : null;
38
+ };
39
+
40
+ var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) {
41
+ if (!element) {
42
+ return 0;
43
+ } // Get transition-duration of the element
44
+
32
45
 
46
+ var _window$getComputedSt = window.getComputedStyle(element),
47
+ transitionDuration = _window$getComputedSt.transitionDuration,
48
+ transitionDelay = _window$getComputedSt.transitionDelay;
49
+
50
+ var floatTransitionDuration = parseFloat(transitionDuration);
51
+ var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
52
+
53
+ if (!floatTransitionDuration && !floatTransitionDelay) {
54
+ return 0;
55
+ } // If multiple durations are defined, take the first
56
+
57
+
58
+ transitionDuration = transitionDuration.split(',')[0];
59
+ transitionDelay = transitionDelay.split(',')[0];
60
+ return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
61
+ };
62
+
63
+ var triggerTransitionEnd = function triggerTransitionEnd(element) {
64
+ element.dispatchEvent(new Event(TRANSITION_END));
65
+ };
66
+
67
+ var emulateTransitionEnd = function emulateTransitionEnd(element, duration) {
68
+ var called = false;
69
+ var durationPadding = 5;
70
+ var emulatedDuration = duration + durationPadding;
71
+
72
+ function listener() {
73
+ called = true;
74
+ element.removeEventListener(TRANSITION_END, listener);
75
+ }
76
+
77
+ element.addEventListener(TRANSITION_END, listener);
78
+ setTimeout(function () {
79
+ if (!called) {
80
+ triggerTransitionEnd(element);
81
+ }
82
+ }, emulatedDuration);
83
+ };
84
+
85
+ var getjQuery = function getjQuery() {
86
+ var _window = window,
87
+ jQuery = _window.jQuery;
88
+
89
+ if (jQuery && !document.body.hasAttribute('data-no-jquery')) {
90
+ return jQuery;
91
+ }
92
+
93
+ return null;
94
+ };
95
+
96
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
97
+
98
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
33
99
  /**
100
+ * ------------------------------------------------------------------------
34
101
  * Constants
102
+ * ------------------------------------------------------------------------
35
103
  */
36
104
 
37
105
  var NAME = 'alert';
38
- var VERSION = '4.6.1';
106
+ var VERSION = '5.0.0-alpha1';
39
107
  var DATA_KEY = 'bs.alert';
40
108
  var EVENT_KEY = "." + DATA_KEY;
41
109
  var DATA_API_KEY = '.data-api';
42
- var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
43
- var CLASS_NAME_ALERT = 'alert';
44
- var CLASS_NAME_FADE = 'fade';
45
- var CLASS_NAME_SHOW = 'show';
110
+ var SELECTOR_DISMISS = '[data-dismiss="alert"]';
46
111
  var EVENT_CLOSE = "close" + EVENT_KEY;
47
112
  var EVENT_CLOSED = "closed" + EVENT_KEY;
48
113
  var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
49
- var SELECTOR_DISMISS = '[data-dismiss="alert"]';
114
+ var CLASSNAME_ALERT = 'alert';
115
+ var CLASSNAME_FADE = 'fade';
116
+ var CLASSNAME_SHOW = 'show';
50
117
  /**
51
- * Class definition
118
+ * ------------------------------------------------------------------------
119
+ * Class Definition
120
+ * ------------------------------------------------------------------------
52
121
  */
53
122
 
54
123
  var Alert = /*#__PURE__*/function () {
55
124
  function Alert(element) {
56
125
  this._element = element;
126
+
127
+ if (this._element) {
128
+ Data.setData(element, DATA_KEY, this);
129
+ }
57
130
  } // Getters
58
131
 
59
132
 
@@ -69,7 +142,7 @@
69
142
 
70
143
  var customEvent = this._triggerCloseEvent(rootElement);
71
144
 
72
- if (customEvent.isDefaultPrevented()) {
145
+ if (customEvent === null || customEvent.defaultPrevented) {
73
146
  return;
74
147
  }
75
148
 
@@ -77,62 +150,52 @@
77
150
  };
78
151
 
79
152
  _proto.dispose = function dispose() {
80
- $__default["default"].removeData(this._element, DATA_KEY);
153
+ Data.removeData(this._element, DATA_KEY);
81
154
  this._element = null;
82
155
  } // Private
83
156
  ;
84
157
 
85
158
  _proto._getRootElement = function _getRootElement(element) {
86
- var selector = Util__default["default"].getSelectorFromElement(element);
87
- var parent = false;
88
-
89
- if (selector) {
90
- parent = document.querySelector(selector);
91
- }
92
-
93
- if (!parent) {
94
- parent = $__default["default"](element).closest("." + CLASS_NAME_ALERT)[0];
95
- }
96
-
97
- return parent;
159
+ return getElementFromSelector(element) || element.closest("." + CLASSNAME_ALERT);
98
160
  };
99
161
 
100
162
  _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
101
- var closeEvent = $__default["default"].Event(EVENT_CLOSE);
102
- $__default["default"](element).trigger(closeEvent);
103
- return closeEvent;
163
+ return EventHandler.trigger(element, EVENT_CLOSE);
104
164
  };
105
165
 
106
166
  _proto._removeElement = function _removeElement(element) {
107
167
  var _this = this;
108
168
 
109
- $__default["default"](element).removeClass(CLASS_NAME_SHOW);
169
+ element.classList.remove(CLASSNAME_SHOW);
110
170
 
111
- if (!$__default["default"](element).hasClass(CLASS_NAME_FADE)) {
171
+ if (!element.classList.contains(CLASSNAME_FADE)) {
112
172
  this._destroyElement(element);
113
173
 
114
174
  return;
115
175
  }
116
176
 
117
- var transitionDuration = Util__default["default"].getTransitionDurationFromElement(element);
118
- $__default["default"](element).one(Util__default["default"].TRANSITION_END, function (event) {
119
- return _this._destroyElement(element, event);
120
- }).emulateTransitionEnd(transitionDuration);
177
+ var transitionDuration = getTransitionDurationFromElement(element);
178
+ EventHandler.one(element, TRANSITION_END, function () {
179
+ return _this._destroyElement(element);
180
+ });
181
+ emulateTransitionEnd(element, transitionDuration);
121
182
  };
122
183
 
123
184
  _proto._destroyElement = function _destroyElement(element) {
124
- $__default["default"](element).detach().trigger(EVENT_CLOSED).remove();
185
+ if (element.parentNode) {
186
+ element.parentNode.removeChild(element);
187
+ }
188
+
189
+ EventHandler.trigger(element, EVENT_CLOSED);
125
190
  } // Static
126
191
  ;
127
192
 
128
- Alert._jQueryInterface = function _jQueryInterface(config) {
193
+ Alert.jQueryInterface = function jQueryInterface(config) {
129
194
  return this.each(function () {
130
- var $element = $__default["default"](this);
131
- var data = $element.data(DATA_KEY);
195
+ var data = Data.getData(this, DATA_KEY);
132
196
 
133
197
  if (!data) {
134
198
  data = new Alert(this);
135
- $element.data(DATA_KEY, data);
136
199
  }
137
200
 
138
201
  if (config === 'close') {
@@ -141,7 +204,7 @@
141
204
  });
142
205
  };
143
206
 
144
- Alert._handleDismiss = function _handleDismiss(alertInstance) {
207
+ Alert.handleDismiss = function handleDismiss(alertInstance) {
145
208
  return function (event) {
146
209
  if (event) {
147
210
  event.preventDefault();
@@ -151,6 +214,10 @@
151
214
  };
152
215
  };
153
216
 
217
+ Alert.getInstance = function getInstance(element) {
218
+ return Data.getData(element, DATA_KEY);
219
+ };
220
+
154
221
  _createClass(Alert, null, [{
155
222
  key: "VERSION",
156
223
  get: function get() {
@@ -161,23 +228,34 @@
161
228
  return Alert;
162
229
  }();
163
230
  /**
164
- * Data API implementation
231
+ * ------------------------------------------------------------------------
232
+ * Data Api implementation
233
+ * ------------------------------------------------------------------------
165
234
  */
166
235
 
167
236
 
168
- $__default["default"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));
237
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));
238
+ var $ = getjQuery();
169
239
  /**
240
+ * ------------------------------------------------------------------------
170
241
  * jQuery
242
+ * ------------------------------------------------------------------------
243
+ * add .alert to jQuery only if jQuery is present
171
244
  */
172
245
 
173
- $__default["default"].fn[NAME] = Alert._jQueryInterface;
174
- $__default["default"].fn[NAME].Constructor = Alert;
246
+ /* istanbul ignore if */
175
247
 
176
- $__default["default"].fn[NAME].noConflict = function () {
177
- $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
178
- return Alert._jQueryInterface;
179
- };
248
+ if ($) {
249
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
250
+ $.fn[NAME] = Alert.jQueryInterface;
251
+ $.fn[NAME].Constructor = Alert;
252
+
253
+ $.fn[NAME].noConflict = function () {
254
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
255
+ return Alert.jQueryInterface;
256
+ };
257
+ }
180
258
 
181
259
  return Alert;
182
260
 
183
- }));
261
+ })));
@@ -1,65 +1,62 @@
1
1
  /*!
2
- * Bootstrap button.js v4.6.1 (https://getbootstrap.com/)
3
- * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap button.js v5.0.0-alpha1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2020 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('jquery')) :
8
- typeof define === 'function' && define.amd ? define(['jquery'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.jQuery));
10
- })(this, (function ($) { 'use strict';
11
-
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
-
16
- function _defineProperties(target, props) {
17
- for (var i = 0; i < props.length; i++) {
18
- var descriptor = props[i];
19
- descriptor.enumerable = descriptor.enumerable || false;
20
- descriptor.configurable = true;
21
- if ("value" in descriptor) descriptor.writable = true;
22
- Object.defineProperty(target, descriptor.key, descriptor);
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.js', './dom/event-handler.js'], factory) :
9
+ (global = global || self, global.Button = factory(global.Data, global.EventHandler));
10
+ }(this, (function (Data, EventHandler) { 'use strict';
11
+
12
+ Data = Data && Object.prototype.hasOwnProperty.call(Data, 'default') ? Data['default'] : Data;
13
+ EventHandler = EventHandler && Object.prototype.hasOwnProperty.call(EventHandler, 'default') ? EventHandler['default'] : EventHandler;
14
+
15
+ /**
16
+ * --------------------------------------------------------------------------
17
+ * Bootstrap (v5.0.0-alpha1): util/index.js
18
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
19
+ * --------------------------------------------------------------------------
20
+ */
21
+
22
+ var getjQuery = function getjQuery() {
23
+ var _window = window,
24
+ jQuery = _window.jQuery;
25
+
26
+ if (jQuery && !document.body.hasAttribute('data-no-jquery')) {
27
+ return jQuery;
23
28
  }
24
- }
25
29
 
26
- function _createClass(Constructor, protoProps, staticProps) {
27
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
28
- if (staticProps) _defineProperties(Constructor, staticProps);
29
- return Constructor;
30
- }
30
+ return null;
31
+ };
32
+
33
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
31
34
 
35
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
32
36
  /**
37
+ * ------------------------------------------------------------------------
33
38
  * Constants
39
+ * ------------------------------------------------------------------------
34
40
  */
35
41
 
36
42
  var NAME = 'button';
37
- var VERSION = '4.6.1';
43
+ var VERSION = '5.0.0-alpha1';
38
44
  var DATA_KEY = 'bs.button';
39
45
  var EVENT_KEY = "." + DATA_KEY;
40
46
  var DATA_API_KEY = '.data-api';
41
- var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
42
47
  var CLASS_NAME_ACTIVE = 'active';
43
- var CLASS_NAME_BUTTON = 'btn';
44
- var CLASS_NAME_FOCUS = 'focus';
45
- var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
46
- var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY);
47
- var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY;
48
- var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
49
- var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]';
50
48
  var SELECTOR_DATA_TOGGLE = '[data-toggle="button"]';
51
- var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn';
52
- var SELECTOR_INPUT = 'input:not([type="hidden"])';
53
- var SELECTOR_ACTIVE = '.active';
54
- var SELECTOR_BUTTON = '.btn';
49
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
55
50
  /**
56
- * Class definition
51
+ * ------------------------------------------------------------------------
52
+ * Class Definition
53
+ * ------------------------------------------------------------------------
57
54
  */
58
55
 
59
56
  var Button = /*#__PURE__*/function () {
60
57
  function Button(element) {
61
58
  this._element = element;
62
- this.shouldAvoidTriggerChange = false;
59
+ Data.setData(element, DATA_KEY, this);
63
60
  } // Getters
64
61
 
65
62
 
@@ -67,77 +64,34 @@
67
64
 
68
65
  // Public
69
66
  _proto.toggle = function toggle() {
70
- var triggerChangeEvent = true;
71
- var addAriaPressed = true;
72
- var rootElement = $__default["default"](this._element).closest(SELECTOR_DATA_TOGGLES)[0];
73
-
74
- if (rootElement) {
75
- var input = this._element.querySelector(SELECTOR_INPUT);
76
-
77
- if (input) {
78
- if (input.type === 'radio') {
79
- if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
80
- triggerChangeEvent = false;
81
- } else {
82
- var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);
83
-
84
- if (activeElement) {
85
- $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE);
86
- }
87
- }
88
- }
89
-
90
- if (triggerChangeEvent) {
91
- // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input
92
- if (input.type === 'checkbox' || input.type === 'radio') {
93
- input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
94
- }
95
-
96
- if (!this.shouldAvoidTriggerChange) {
97
- $__default["default"](input).trigger('change');
98
- }
99
- }
100
-
101
- input.focus();
102
- addAriaPressed = false;
103
- }
104
- }
105
-
106
- if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {
107
- if (addAriaPressed) {
108
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
109
- }
110
-
111
- if (triggerChangeEvent) {
112
- $__default["default"](this._element).toggleClass(CLASS_NAME_ACTIVE);
113
- }
114
- }
67
+ // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
68
+ this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE));
115
69
  };
116
70
 
117
71
  _proto.dispose = function dispose() {
118
- $__default["default"].removeData(this._element, DATA_KEY);
72
+ Data.removeData(this._element, DATA_KEY);
119
73
  this._element = null;
120
74
  } // Static
121
75
  ;
122
76
 
123
- Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) {
77
+ Button.jQueryInterface = function jQueryInterface(config) {
124
78
  return this.each(function () {
125
- var $element = $__default["default"](this);
126
- var data = $element.data(DATA_KEY);
79
+ var data = Data.getData(this, DATA_KEY);
127
80
 
128
81
  if (!data) {
129
82
  data = new Button(this);
130
- $element.data(DATA_KEY, data);
131
83
  }
132
84
 
133
- data.shouldAvoidTriggerChange = avoidTriggerChange;
134
-
135
85
  if (config === 'toggle') {
136
86
  data[config]();
137
87
  }
138
88
  });
139
89
  };
140
90
 
91
+ Button.getInstance = function getInstance(element) {
92
+ return Data.getData(element, DATA_KEY);
93
+ };
94
+
141
95
  _createClass(Button, null, [{
142
96
  key: "VERSION",
143
97
  get: function get() {
@@ -148,78 +102,44 @@
148
102
  return Button;
149
103
  }();
150
104
  /**
151
- * Data API implementation
105
+ * ------------------------------------------------------------------------
106
+ * Data Api implementation
107
+ * ------------------------------------------------------------------------
152
108
  */
153
109
 
154
110
 
155
- $__default["default"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
156
- var button = event.target;
157
- var initialButton = button;
158
-
159
- if (!$__default["default"](button).hasClass(CLASS_NAME_BUTTON)) {
160
- button = $__default["default"](button).closest(SELECTOR_BUTTON)[0];
161
- }
162
-
163
- if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {
164
- event.preventDefault(); // work around Firefox bug #1540995
165
- } else {
166
- var inputBtn = button.querySelector(SELECTOR_INPUT);
167
-
168
- if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {
169
- event.preventDefault(); // work around Firefox bug #1540995
170
-
171
- return;
172
- }
111
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
112
+ event.preventDefault();
113
+ var button = event.target.closest(SELECTOR_DATA_TOGGLE);
114
+ var data = Data.getData(button, DATA_KEY);
173
115
 
174
- if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {
175
- Button._jQueryInterface.call($__default["default"](button), 'toggle', initialButton.tagName === 'INPUT');
176
- }
116
+ if (!data) {
117
+ data = new Button(button);
177
118
  }
178
- }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
179
- var button = $__default["default"](event.target).closest(SELECTOR_BUTTON)[0];
180
- $__default["default"](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));
181
- });
182
- $__default["default"](window).on(EVENT_LOAD_DATA_API, function () {
183
- // ensure correct active class is set to match the controls' actual values/states
184
- // find all checkboxes/readio buttons inside data-toggle groups
185
- var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));
186
-
187
- for (var i = 0, len = buttons.length; i < len; i++) {
188
- var button = buttons[i];
189
- var input = button.querySelector(SELECTOR_INPUT);
190
-
191
- if (input.checked || input.hasAttribute('checked')) {
192
- button.classList.add(CLASS_NAME_ACTIVE);
193
- } else {
194
- button.classList.remove(CLASS_NAME_ACTIVE);
195
- }
196
- } // find all button toggles
197
-
198
-
199
- buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
200
119
 
201
- for (var _i = 0, _len = buttons.length; _i < _len; _i++) {
202
- var _button = buttons[_i];
203
-
204
- if (_button.getAttribute('aria-pressed') === 'true') {
205
- _button.classList.add(CLASS_NAME_ACTIVE);
206
- } else {
207
- _button.classList.remove(CLASS_NAME_ACTIVE);
208
- }
209
- }
120
+ data.toggle();
210
121
  });
122
+ var $ = getjQuery();
211
123
  /**
124
+ * ------------------------------------------------------------------------
212
125
  * jQuery
126
+ * ------------------------------------------------------------------------
127
+ * add .button to jQuery only if jQuery is present
213
128
  */
214
129
 
215
- $__default["default"].fn[NAME] = Button._jQueryInterface;
216
- $__default["default"].fn[NAME].Constructor = Button;
130
+ /* istanbul ignore if */
217
131
 
218
- $__default["default"].fn[NAME].noConflict = function () {
219
- $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
220
- return Button._jQueryInterface;
221
- };
132
+ if ($) {
133
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
134
+ $.fn[NAME] = Button.jQueryInterface;
135
+ $.fn[NAME].Constructor = Button;
136
+
137
+ $.fn[NAME].noConflict = function () {
138
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
139
+ return Button.jQueryInterface;
140
+ };
141
+ }
222
142
 
223
143
  return Button;
224
144
 
225
- }));
145
+ })));