bootstrap 5.1.3 → 5.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +56 -0
- data/CHANGELOG.md +9 -0
- data/Gemfile +1 -0
- data/README.md +35 -14
- data/Rakefile +16 -5
- data/assets/javascripts/bootstrap/alert.js +22 -167
- data/assets/javascripts/bootstrap/base-component.js +35 -132
- data/assets/javascripts/bootstrap/button.js +19 -86
- data/assets/javascripts/bootstrap/carousel.js +209 -564
- data/assets/javascripts/bootstrap/collapse.js +78 -324
- data/assets/javascripts/bootstrap/dom/data.js +8 -14
- data/assets/javascripts/bootstrap/dom/event-handler.js +89 -174
- data/assets/javascripts/bootstrap/dom/manipulator.js +22 -39
- data/assets/javascripts/bootstrap/dom/selector-engine.js +47 -71
- data/assets/javascripts/bootstrap/dropdown.js +135 -420
- data/assets/javascripts/bootstrap/modal.js +115 -837
- data/assets/javascripts/bootstrap/offcanvas.js +93 -714
- data/assets/javascripts/bootstrap/popover.js +42 -130
- data/assets/javascripts/bootstrap/scrollspy.js +180 -296
- data/assets/javascripts/bootstrap/tab.js +197 -245
- data/assets/javascripts/bootstrap/toast.js +51 -276
- data/assets/javascripts/bootstrap/tooltip.js +284 -744
- data/assets/javascripts/bootstrap/util/backdrop.js +138 -0
- data/assets/javascripts/bootstrap/util/component-functions.js +41 -0
- data/assets/javascripts/bootstrap/util/config.js +67 -0
- data/assets/javascripts/bootstrap/util/focustrap.js +112 -0
- data/assets/javascripts/bootstrap/util/index.js +280 -0
- data/assets/javascripts/bootstrap/util/sanitizer.js +112 -0
- data/assets/javascripts/bootstrap/util/scrollbar.js +112 -0
- data/assets/javascripts/bootstrap/util/swipe.js +134 -0
- data/assets/javascripts/bootstrap/util/template-factory.js +150 -0
- data/assets/javascripts/bootstrap-global-this-define.js +1 -1
- data/assets/javascripts/bootstrap-sprockets.js +18 -9
- data/assets/javascripts/bootstrap.js +2279 -2831
- data/assets/javascripts/bootstrap.min.js +3 -3
- data/assets/stylesheets/_bootstrap-grid.scss +4 -9
- data/assets/stylesheets/_bootstrap-reboot.scss +4 -7
- data/assets/stylesheets/_bootstrap-utilities.scss +19 -0
- data/assets/stylesheets/_bootstrap.scss +5 -6
- data/assets/stylesheets/bootstrap/_accordion.scss +68 -33
- data/assets/stylesheets/bootstrap/_alert.scss +25 -14
- data/assets/stylesheets/bootstrap/_badge.scss +14 -5
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +22 -10
- data/assets/stylesheets/bootstrap/_button-group.scss +12 -4
- data/assets/stylesheets/bootstrap/_buttons.scss +133 -28
- data/assets/stylesheets/bootstrap/_card.scss +69 -47
- data/assets/stylesheets/bootstrap/_carousel.scss +22 -25
- data/assets/stylesheets/bootstrap/_close.scss +36 -10
- data/assets/stylesheets/bootstrap/_containers.scss +1 -1
- data/assets/stylesheets/bootstrap/_dropdown.scss +86 -76
- data/assets/stylesheets/bootstrap/_functions.scss +11 -11
- data/assets/stylesheets/bootstrap/_grid.scss +9 -3
- data/assets/stylesheets/bootstrap/_helpers.scss +3 -0
- data/assets/stylesheets/bootstrap/_list-group.scss +81 -56
- data/assets/stylesheets/bootstrap/_maps.scss +174 -0
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -2
- data/assets/stylesheets/bootstrap/_modal.scss +76 -45
- data/assets/stylesheets/bootstrap/_nav.scss +87 -29
- data/assets/stylesheets/bootstrap/_navbar.scss +102 -148
- data/assets/stylesheets/bootstrap/_offcanvas.scss +125 -61
- data/assets/stylesheets/bootstrap/_pagination.scss +66 -21
- data/assets/stylesheets/bootstrap/_placeholders.scss +1 -1
- data/assets/stylesheets/bootstrap/_popover.scss +90 -52
- data/assets/stylesheets/bootstrap/_progress.scss +31 -11
- data/assets/stylesheets/bootstrap/_reboot.scss +38 -46
- data/assets/stylesheets/bootstrap/_root.scss +155 -22
- data/assets/stylesheets/bootstrap/_spinners.scss +39 -22
- data/assets/stylesheets/bootstrap/_tables.scss +40 -24
- data/assets/stylesheets/bootstrap/_toasts.scss +38 -16
- data/assets/stylesheets/bootstrap/_tooltip.scss +60 -56
- data/assets/stylesheets/bootstrap/_type.scss +3 -1
- data/assets/stylesheets/bootstrap/_utilities.scss +209 -33
- data/assets/stylesheets/bootstrap/_variables-dark.scss +102 -0
- data/assets/stylesheets/bootstrap/_variables.scss +415 -303
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +39 -5
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +51 -14
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +36 -41
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +3 -3
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +12 -4
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +20 -9
- data/assets/stylesheets/bootstrap/helpers/_color-bg.scss +7 -0
- data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +20 -2
- data/assets/stylesheets/bootstrap/helpers/_focus-ring.scss +5 -0
- data/assets/stylesheets/bootstrap/helpers/_icon-link.scss +25 -0
- data/assets/stylesheets/bootstrap/helpers/_position.scss +7 -1
- data/assets/stylesheets/bootstrap/helpers/_ratio.scss +2 -2
- data/assets/stylesheets/bootstrap/helpers/_vr.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +11 -4
- data/assets/stylesheets/bootstrap/mixins/_banner.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +11 -5
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +8 -8
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +32 -95
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +30 -25
- data/assets/stylesheets/bootstrap/mixins/_color-mode.scss +21 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +4 -2
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +38 -19
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +15 -15
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +4 -25
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +12 -9
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +14 -6
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +11 -2
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +23 -29
- data/bootstrap.gemspec +4 -4
- data/lib/bootstrap/engine.rb +17 -2
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +10 -5
- data/tasks/updater/network.rb +2 -2
- data/tasks/updater/scss.rb +2 -2
- data/tasks/updater.rb +2 -2
- data/test/dummy_rails/config/application.rb +0 -2
- data/test/dummy_rails/public/favicon.ico +0 -0
- data/test/gemfiles/rails_4_2.gemfile +2 -1
- data/test/gemfiles/rails_5_0.gemfile +1 -2
- data/test/gemfiles/rails_5_1.gemfile +1 -2
- data/test/gemfiles/rails_5_2.gemfile +7 -0
- data/test/gemfiles/rails_6_0.gemfile +9 -1
- data/test/gemfiles/rails_6_1.gemfile +9 -1
- data/test/gemfiles/rails_7_0_dartsass.gemfile +15 -0
- data/test/gemfiles/rails_7_0_sassc.gemfile +15 -0
- data/test/rails_test.rb +0 -5
- data/test/test_helper.rb +7 -4
- metadata +57 -27
- data/.travis.yml +0 -32
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +0 -18
|
@@ -1,84 +1,24 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap button.js v5.
|
|
3
|
-
* Copyright 2011-
|
|
2
|
+
* Bootstrap button.js v5.3.8 (https://getbootstrap.com/)
|
|
3
|
+
* Copyright 2011-2025 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/event-handler.js'), require('./
|
|
8
|
-
typeof define === 'function' && define.amd ? define(['./dom/event-handler', './
|
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.EventHandler, global.
|
|
10
|
-
})(this, (function (EventHandler,
|
|
11
|
-
|
|
12
|
-
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
|
13
|
-
|
|
14
|
-
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
|
15
|
-
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./util/index.js')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './util/index'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.BaseComponent, global.EventHandler, global.Index));
|
|
10
|
+
})(this, (function (BaseComponent, EventHandler, index_js) { 'use strict';
|
|
16
11
|
|
|
17
12
|
/**
|
|
18
13
|
* --------------------------------------------------------------------------
|
|
19
|
-
* Bootstrap
|
|
14
|
+
* Bootstrap button.js
|
|
20
15
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
21
16
|
* --------------------------------------------------------------------------
|
|
22
17
|
*/
|
|
23
18
|
|
|
24
|
-
const getjQuery = () => {
|
|
25
|
-
const {
|
|
26
|
-
jQuery
|
|
27
|
-
} = window;
|
|
28
|
-
|
|
29
|
-
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
|
|
30
|
-
return jQuery;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return null;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
const DOMContentLoadedCallbacks = [];
|
|
37
|
-
|
|
38
|
-
const onDOMContentLoaded = callback => {
|
|
39
|
-
if (document.readyState === 'loading') {
|
|
40
|
-
// add listener on the first call when the document is in loading state
|
|
41
|
-
if (!DOMContentLoadedCallbacks.length) {
|
|
42
|
-
document.addEventListener('DOMContentLoaded', () => {
|
|
43
|
-
DOMContentLoadedCallbacks.forEach(callback => callback());
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
DOMContentLoadedCallbacks.push(callback);
|
|
48
|
-
} else {
|
|
49
|
-
callback();
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
const defineJQueryPlugin = plugin => {
|
|
54
|
-
onDOMContentLoaded(() => {
|
|
55
|
-
const $ = getjQuery();
|
|
56
|
-
/* istanbul ignore if */
|
|
57
|
-
|
|
58
|
-
if ($) {
|
|
59
|
-
const name = plugin.NAME;
|
|
60
|
-
const JQUERY_NO_CONFLICT = $.fn[name];
|
|
61
|
-
$.fn[name] = plugin.jQueryInterface;
|
|
62
|
-
$.fn[name].Constructor = plugin;
|
|
63
|
-
|
|
64
|
-
$.fn[name].noConflict = () => {
|
|
65
|
-
$.fn[name] = JQUERY_NO_CONFLICT;
|
|
66
|
-
return plugin.jQueryInterface;
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
19
|
|
|
72
20
|
/**
|
|
73
|
-
* --------------------------------------------------------------------------
|
|
74
|
-
* Bootstrap (v5.1.3): button.js
|
|
75
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
76
|
-
* --------------------------------------------------------------------------
|
|
77
|
-
*/
|
|
78
|
-
/**
|
|
79
|
-
* ------------------------------------------------------------------------
|
|
80
21
|
* Constants
|
|
81
|
-
* ------------------------------------------------------------------------
|
|
82
22
|
*/
|
|
83
23
|
|
|
84
24
|
const NAME = 'button';
|
|
@@ -88,57 +28,50 @@
|
|
|
88
28
|
const CLASS_NAME_ACTIVE = 'active';
|
|
89
29
|
const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="button"]';
|
|
90
30
|
const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
|
|
31
|
+
|
|
91
32
|
/**
|
|
92
|
-
*
|
|
93
|
-
* Class Definition
|
|
94
|
-
* ------------------------------------------------------------------------
|
|
33
|
+
* Class definition
|
|
95
34
|
*/
|
|
96
35
|
|
|
97
|
-
class Button extends
|
|
36
|
+
class Button extends BaseComponent {
|
|
98
37
|
// Getters
|
|
99
38
|
static get NAME() {
|
|
100
39
|
return NAME;
|
|
101
|
-
}
|
|
102
|
-
|
|
40
|
+
}
|
|
103
41
|
|
|
42
|
+
// Public
|
|
104
43
|
toggle() {
|
|
105
44
|
// Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
|
|
106
45
|
this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE));
|
|
107
|
-
}
|
|
108
|
-
|
|
46
|
+
}
|
|
109
47
|
|
|
48
|
+
// Static
|
|
110
49
|
static jQueryInterface(config) {
|
|
111
50
|
return this.each(function () {
|
|
112
51
|
const data = Button.getOrCreateInstance(this);
|
|
113
|
-
|
|
114
52
|
if (config === 'toggle') {
|
|
115
53
|
data[config]();
|
|
116
54
|
}
|
|
117
55
|
});
|
|
118
56
|
}
|
|
119
|
-
|
|
120
57
|
}
|
|
58
|
+
|
|
121
59
|
/**
|
|
122
|
-
*
|
|
123
|
-
* Data Api implementation
|
|
124
|
-
* ------------------------------------------------------------------------
|
|
60
|
+
* Data API implementation
|
|
125
61
|
*/
|
|
126
62
|
|
|
127
|
-
|
|
128
|
-
EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {
|
|
63
|
+
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {
|
|
129
64
|
event.preventDefault();
|
|
130
65
|
const button = event.target.closest(SELECTOR_DATA_TOGGLE);
|
|
131
66
|
const data = Button.getOrCreateInstance(button);
|
|
132
67
|
data.toggle();
|
|
133
68
|
});
|
|
69
|
+
|
|
134
70
|
/**
|
|
135
|
-
* ------------------------------------------------------------------------
|
|
136
71
|
* jQuery
|
|
137
|
-
* ------------------------------------------------------------------------
|
|
138
|
-
* add .Button to jQuery only if jQuery is present
|
|
139
72
|
*/
|
|
140
73
|
|
|
141
|
-
defineJQueryPlugin(Button);
|
|
74
|
+
index_js.defineJQueryPlugin(Button);
|
|
142
75
|
|
|
143
76
|
return Button;
|
|
144
77
|
|