bootstrap 5.1.3 → 5.3.5
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 +61 -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 +34 -133
- 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 +52 -276
- data/assets/javascripts/bootstrap/tooltip.js +283 -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 +113 -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 +15 -6
- data/assets/javascripts/bootstrap.js +2278 -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 +61 -39
- 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 +10 -10
- 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 +32 -46
- data/assets/stylesheets/bootstrap/_root.scss +155 -22
- data/assets/stylesheets/bootstrap/_spinners.scss +38 -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/_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 +6 -2
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +23 -29
- data/bootstrap.gemspec +3 -3
- 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 +1 -1
- data/test/gemfiles/rails_6_1.gemfile +1 -1
- data/test/gemfiles/rails_7_0_dartsass.gemfile +7 -0
- data/test/gemfiles/rails_7_0_sassc.gemfile +7 -0
- data/test/rails_test.rb +0 -5
- data/test/test_helper.rb +3 -2
- metadata +49 -29
- data/.travis.yml +0 -32
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +0 -18
|
@@ -1,180 +1,81 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap base-component.js v5.
|
|
3
|
-
* Copyright 2011-
|
|
2
|
+
* Bootstrap base-component.js v5.3.5 (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/data.js'), require('./dom/event-handler.js')) :
|
|
8
|
-
typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler'], factory) :
|
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.
|
|
10
|
-
})(this, (function (Data, EventHandler) { 'use strict';
|
|
11
|
-
|
|
12
|
-
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
|
13
|
-
|
|
14
|
-
const Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
|
|
15
|
-
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./util/config.js'), require('./util/index.js')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './util/config', './util/index'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.BaseComponent = factory(global.Data, global.EventHandler, global.Config, global.Index));
|
|
10
|
+
})(this, (function (Data, EventHandler, Config, index_js) { 'use strict';
|
|
16
11
|
|
|
17
12
|
/**
|
|
18
13
|
* --------------------------------------------------------------------------
|
|
19
|
-
* Bootstrap
|
|
14
|
+
* Bootstrap base-component.js
|
|
20
15
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
21
16
|
* --------------------------------------------------------------------------
|
|
22
17
|
*/
|
|
23
|
-
const MILLISECONDS_MULTIPLIER = 1000;
|
|
24
|
-
const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
|
25
|
-
|
|
26
|
-
const getTransitionDurationFromElement = element => {
|
|
27
|
-
if (!element) {
|
|
28
|
-
return 0;
|
|
29
|
-
} // Get transition-duration of the element
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
let {
|
|
33
|
-
transitionDuration,
|
|
34
|
-
transitionDelay
|
|
35
|
-
} = window.getComputedStyle(element);
|
|
36
|
-
const floatTransitionDuration = Number.parseFloat(transitionDuration);
|
|
37
|
-
const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
|
|
38
|
-
|
|
39
|
-
if (!floatTransitionDuration && !floatTransitionDelay) {
|
|
40
|
-
return 0;
|
|
41
|
-
} // If multiple durations are defined, take the first
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
transitionDuration = transitionDuration.split(',')[0];
|
|
45
|
-
transitionDelay = transitionDelay.split(',')[0];
|
|
46
|
-
return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
const triggerTransitionEnd = element => {
|
|
50
|
-
element.dispatchEvent(new Event(TRANSITION_END));
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
const isElement = obj => {
|
|
54
|
-
if (!obj || typeof obj !== 'object') {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (typeof obj.jquery !== 'undefined') {
|
|
59
|
-
obj = obj[0];
|
|
60
|
-
}
|
|
61
18
|
|
|
62
|
-
return typeof obj.nodeType !== 'undefined';
|
|
63
|
-
};
|
|
64
19
|
|
|
65
|
-
const getElement = obj => {
|
|
66
|
-
if (isElement(obj)) {
|
|
67
|
-
// it's a jQuery object or a node element
|
|
68
|
-
return obj.jquery ? obj[0] : obj;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (typeof obj === 'string' && obj.length > 0) {
|
|
72
|
-
return document.querySelector(obj);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return null;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
const execute = callback => {
|
|
79
|
-
if (typeof callback === 'function') {
|
|
80
|
-
callback();
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
|
|
85
|
-
if (!waitForTransition) {
|
|
86
|
-
execute(callback);
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
const durationPadding = 5;
|
|
91
|
-
const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;
|
|
92
|
-
let called = false;
|
|
93
|
-
|
|
94
|
-
const handler = ({
|
|
95
|
-
target
|
|
96
|
-
}) => {
|
|
97
|
-
if (target !== transitionElement) {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
called = true;
|
|
102
|
-
transitionElement.removeEventListener(TRANSITION_END, handler);
|
|
103
|
-
execute(callback);
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
transitionElement.addEventListener(TRANSITION_END, handler);
|
|
107
|
-
setTimeout(() => {
|
|
108
|
-
if (!called) {
|
|
109
|
-
triggerTransitionEnd(transitionElement);
|
|
110
|
-
}
|
|
111
|
-
}, emulatedDuration);
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* --------------------------------------------------------------------------
|
|
116
|
-
* Bootstrap (v5.1.3): base-component.js
|
|
117
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
118
|
-
* --------------------------------------------------------------------------
|
|
119
|
-
*/
|
|
120
20
|
/**
|
|
121
|
-
* ------------------------------------------------------------------------
|
|
122
21
|
* Constants
|
|
123
|
-
* ------------------------------------------------------------------------
|
|
124
22
|
*/
|
|
125
23
|
|
|
126
|
-
const VERSION = '5.
|
|
24
|
+
const VERSION = '5.3.5';
|
|
127
25
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Class definition
|
|
28
|
+
*/
|
|
131
29
|
|
|
30
|
+
class BaseComponent extends Config {
|
|
31
|
+
constructor(element, config) {
|
|
32
|
+
super();
|
|
33
|
+
element = index_js.getElement(element);
|
|
132
34
|
if (!element) {
|
|
133
35
|
return;
|
|
134
36
|
}
|
|
135
|
-
|
|
136
37
|
this._element = element;
|
|
137
|
-
|
|
38
|
+
this._config = this._getConfig(config);
|
|
39
|
+
Data.set(this._element, this.constructor.DATA_KEY, this);
|
|
138
40
|
}
|
|
139
41
|
|
|
42
|
+
// Public
|
|
140
43
|
dispose() {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
Object.getOwnPropertyNames(this)
|
|
44
|
+
Data.remove(this._element, this.constructor.DATA_KEY);
|
|
45
|
+
EventHandler.off(this._element, this.constructor.EVENT_KEY);
|
|
46
|
+
for (const propertyName of Object.getOwnPropertyNames(this)) {
|
|
144
47
|
this[propertyName] = null;
|
|
145
|
-
}
|
|
48
|
+
}
|
|
146
49
|
}
|
|
147
|
-
|
|
148
50
|
_queueCallback(callback, element, isAnimated = true) {
|
|
149
|
-
executeAfterTransition(callback, element, isAnimated);
|
|
51
|
+
index_js.executeAfterTransition(callback, element, isAnimated);
|
|
52
|
+
}
|
|
53
|
+
_getConfig(config) {
|
|
54
|
+
config = this._mergeConfigObj(config, this._element);
|
|
55
|
+
config = this._configAfterMerge(config);
|
|
56
|
+
this._typeCheckConfig(config);
|
|
57
|
+
return config;
|
|
150
58
|
}
|
|
151
|
-
/** Static */
|
|
152
|
-
|
|
153
59
|
|
|
60
|
+
// Static
|
|
154
61
|
static getInstance(element) {
|
|
155
|
-
return
|
|
62
|
+
return Data.get(index_js.getElement(element), this.DATA_KEY);
|
|
156
63
|
}
|
|
157
|
-
|
|
158
64
|
static getOrCreateInstance(element, config = {}) {
|
|
159
65
|
return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);
|
|
160
66
|
}
|
|
161
|
-
|
|
162
67
|
static get VERSION() {
|
|
163
68
|
return VERSION;
|
|
164
69
|
}
|
|
165
|
-
|
|
166
|
-
static get NAME() {
|
|
167
|
-
throw new Error('You have to implement the static method "NAME", for each component!');
|
|
168
|
-
}
|
|
169
|
-
|
|
170
70
|
static get DATA_KEY() {
|
|
171
71
|
return `bs.${this.NAME}`;
|
|
172
72
|
}
|
|
173
|
-
|
|
174
73
|
static get EVENT_KEY() {
|
|
175
74
|
return `.${this.DATA_KEY}`;
|
|
176
75
|
}
|
|
177
|
-
|
|
76
|
+
static eventName(name) {
|
|
77
|
+
return `${name}${this.EVENT_KEY}`;
|
|
78
|
+
}
|
|
178
79
|
}
|
|
179
80
|
|
|
180
81
|
return BaseComponent;
|
|
@@ -1,84 +1,24 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap button.js v5.
|
|
3
|
-
* Copyright 2011-
|
|
2
|
+
* Bootstrap button.js v5.3.5 (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
|
|