bootstrap 4.5.3 → 5.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +55 -0
  3. data/README.md +28 -5
  4. data/assets/javascripts/bootstrap/alert.js +54 -133
  5. data/assets/javascripts/bootstrap/base-component.js +99 -0
  6. data/assets/javascripts/bootstrap/button.js +44 -183
  7. data/assets/javascripts/bootstrap/carousel.js +308 -450
  8. data/assets/javascripts/bootstrap/collapse.js +180 -243
  9. data/assets/javascripts/bootstrap/dom/data.js +66 -0
  10. data/assets/javascripts/bootstrap/dom/event-handler.js +283 -0
  11. data/assets/javascripts/bootstrap/dom/manipulator.js +84 -0
  12. data/assets/javascripts/bootstrap/dom/selector-engine.js +85 -0
  13. data/assets/javascripts/bootstrap/dropdown.js +320 -387
  14. data/assets/javascripts/bootstrap/modal.js +238 -478
  15. data/assets/javascripts/bootstrap/offcanvas.js +297 -0
  16. data/assets/javascripts/bootstrap/popover.js +58 -163
  17. data/assets/javascripts/bootstrap/scrollspy.js +223 -228
  18. data/assets/javascripts/bootstrap/tab.js +251 -166
  19. data/assets/javascripts/bootstrap/toast.js +147 -149
  20. data/assets/javascripts/bootstrap/tooltip.js +434 -646
  21. data/assets/javascripts/bootstrap/util/backdrop.js +165 -0
  22. data/assets/javascripts/bootstrap/util/component-functions.js +46 -0
  23. data/assets/javascripts/bootstrap/util/config.js +79 -0
  24. data/assets/javascripts/bootstrap/util/focustrap.js +129 -0
  25. data/assets/javascripts/bootstrap/util/index.js +350 -0
  26. data/assets/javascripts/bootstrap/util/sanitizer.js +122 -0
  27. data/assets/javascripts/bootstrap/util/scrollbar.js +138 -0
  28. data/assets/javascripts/bootstrap/util/swipe.js +155 -0
  29. data/assets/javascripts/bootstrap/util/template-factory.js +177 -0
  30. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  31. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  32. data/assets/javascripts/bootstrap-sprockets.js +24 -8
  33. data/assets/javascripts/bootstrap.js +4037 -3206
  34. data/assets/javascripts/bootstrap.min.js +3 -3
  35. data/assets/stylesheets/_bootstrap-grid.scss +56 -21
  36. data/assets/stylesheets/_bootstrap-reboot.scss +4 -7
  37. data/assets/stylesheets/_bootstrap.scss +20 -13
  38. data/assets/stylesheets/bootstrap/_accordion.scss +149 -0
  39. data/assets/stylesheets/bootstrap/_alert.scss +33 -14
  40. data/assets/stylesheets/bootstrap/_badge.scss +15 -31
  41. data/assets/stylesheets/bootstrap/_breadcrumb.scss +23 -27
  42. data/assets/stylesheets/bootstrap/_button-group.scss +25 -46
  43. data/assets/stylesheets/bootstrap/_buttons.scss +136 -71
  44. data/assets/stylesheets/bootstrap/_card.scss +61 -113
  45. data/assets/stylesheets/bootstrap/_carousel.scss +64 -35
  46. data/assets/stylesheets/bootstrap/_close.scss +30 -30
  47. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  48. data/assets/stylesheets/bootstrap/_dropdown.scss +128 -71
  49. data/assets/stylesheets/bootstrap/_forms.scss +9 -347
  50. data/assets/stylesheets/bootstrap/_functions.scss +181 -23
  51. data/assets/stylesheets/bootstrap/_grid.scss +13 -53
  52. data/assets/stylesheets/bootstrap/_helpers.scss +10 -0
  53. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  54. data/assets/stylesheets/bootstrap/_list-group.scss +72 -34
  55. data/assets/stylesheets/bootstrap/_maps.scss +54 -0
  56. data/assets/stylesheets/bootstrap/_mixins.scss +9 -13
  57. data/assets/stylesheets/bootstrap/_modal.scss +107 -110
  58. data/assets/stylesheets/bootstrap/_nav.scss +72 -23
  59. data/assets/stylesheets/bootstrap/_navbar.scss +127 -173
  60. data/assets/stylesheets/bootstrap/_offcanvas.scss +144 -0
  61. data/assets/stylesheets/bootstrap/_pagination.scss +72 -37
  62. data/assets/stylesheets/bootstrap/_placeholders.scss +51 -0
  63. data/assets/stylesheets/bootstrap/_popover.scss +99 -73
  64. data/assets/stylesheets/bootstrap/_progress.scss +26 -14
  65. data/assets/stylesheets/bootstrap/_reboot.scss +326 -200
  66. data/assets/stylesheets/bootstrap/_root.scss +62 -9
  67. data/assets/stylesheets/bootstrap/_spinners.scss +51 -22
  68. data/assets/stylesheets/bootstrap/_tables.scss +94 -115
  69. data/assets/stylesheets/bootstrap/_toasts.scss +54 -27
  70. data/assets/stylesheets/bootstrap/_tooltip.scss +68 -63
  71. data/assets/stylesheets/bootstrap/_transitions.scss +8 -1
  72. data/assets/stylesheets/bootstrap/_type.scss +40 -59
  73. data/assets/stylesheets/bootstrap/_utilities.scss +647 -18
  74. data/assets/stylesheets/bootstrap/_variables.scss +1018 -526
  75. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  76. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +75 -0
  77. data/assets/stylesheets/bootstrap/forms/_form-check.scss +175 -0
  78. data/assets/stylesheets/bootstrap/forms/_form-control.scss +194 -0
  79. data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
  80. data/assets/stylesheets/bootstrap/forms/_form-select.scss +71 -0
  81. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  82. data/assets/stylesheets/bootstrap/forms/_input-group.scss +132 -0
  83. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  84. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  85. data/assets/stylesheets/bootstrap/helpers/_color-bg.scss +10 -0
  86. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  87. data/assets/stylesheets/bootstrap/helpers/_position.scss +36 -0
  88. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  89. data/assets/stylesheets/bootstrap/helpers/_stacks.scss +15 -0
  90. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  91. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  92. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  93. data/assets/stylesheets/bootstrap/helpers/_vr.scss +8 -0
  94. data/assets/stylesheets/bootstrap/mixins/_alert.scss +8 -6
  95. data/assets/stylesheets/bootstrap/mixins/_backdrop.scss +14 -0
  96. data/assets/stylesheets/bootstrap/mixins/_banner.scss +9 -0
  97. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +10 -8
  98. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
  99. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +20 -16
  100. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +60 -100
  101. data/assets/stylesheets/bootstrap/mixins/_caret.scss +10 -8
  102. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  103. data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
  104. data/assets/stylesheets/bootstrap/mixins/_container.scss +11 -0
  105. data/assets/stylesheets/bootstrap/mixins/_forms.scss +48 -74
  106. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
  107. data/assets/stylesheets/bootstrap/mixins/_grid.scss +119 -37
  108. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  109. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +5 -2
  110. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  111. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +7 -19
  112. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +3 -3
  113. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +24 -0
  114. data/assets/stylesheets/bootstrap/mixins/_transition.scss +1 -1
  115. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +97 -0
  116. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
  117. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  118. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +278 -128
  119. data/bootstrap.gemspec +3 -5
  120. data/lib/bootstrap/version.rb +2 -2
  121. data/tasks/updater/js.rb +31 -7
  122. data/tasks/updater/network.rb +9 -3
  123. data/tasks/updater.rb +2 -2
  124. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  125. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  126. data/test/dummy_rails/app/views/pages/root.html +89 -0
  127. data/test/dummy_rails/config/application.rb +0 -3
  128. data/test/gemfiles/rails_5_2.gemfile +8 -0
  129. data/test/gemfiles/rails_6_1.gemfile +7 -0
  130. data/test/gemfiles/rails_7_0.gemfile +7 -0
  131. data/test/test_helper.rb +3 -2
  132. metadata +70 -78
  133. data/.travis.yml +0 -31
  134. data/assets/javascripts/bootstrap/util.js +0 -192
  135. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  136. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -524
  137. data/assets/stylesheets/bootstrap/_input-group.scss +0 -192
  138. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  139. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  140. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  141. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
  142. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  143. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  144. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
  145. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  146. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  147. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
  148. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  149. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  150. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  151. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  152. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  153. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  154. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  155. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  156. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  157. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  158. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  159. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  160. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
  161. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  162. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  163. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  164. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  165. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  166. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  167. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  168. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  169. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
  170. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
  171. /data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
@@ -0,0 +1,297 @@
1
+ /*!
2
+ * Bootstrap offcanvas.js v5.2.3 (https://getbootstrap.com/)
3
+ * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
+ */
6
+ (function (global, factory) {
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./util/scrollbar'), require('./dom/event-handler'), require('./base-component'), require('./dom/selector-engine'), require('./util/backdrop'), require('./util/focustrap'), require('./util/component-functions')) :
8
+ typeof define === 'function' && define.amd ? define(['./util/index', './util/scrollbar', './dom/event-handler', './base-component', './dom/selector-engine', './util/backdrop', './util/focustrap', './util/component-functions'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Offcanvas = factory(global.Index, global.Scrollbar, global.EventHandler, global.BaseComponent, global.SelectorEngine, global.Backdrop, global.Focustrap, global.ComponentFunctions));
10
+ })(this, (function (index, ScrollBarHelper, EventHandler, BaseComponent, SelectorEngine, Backdrop, FocusTrap, componentFunctions) { 'use strict';
11
+
12
+ const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
13
+
14
+ const ScrollBarHelper__default = /*#__PURE__*/_interopDefaultLegacy(ScrollBarHelper);
15
+ const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
16
+ const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
17
+ const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
18
+ const Backdrop__default = /*#__PURE__*/_interopDefaultLegacy(Backdrop);
19
+ const FocusTrap__default = /*#__PURE__*/_interopDefaultLegacy(FocusTrap);
20
+
21
+ /**
22
+ * --------------------------------------------------------------------------
23
+ * Bootstrap (v5.2.3): offcanvas.js
24
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
25
+ * --------------------------------------------------------------------------
26
+ */
27
+ /**
28
+ * Constants
29
+ */
30
+
31
+ const NAME = 'offcanvas';
32
+ const DATA_KEY = 'bs.offcanvas';
33
+ const EVENT_KEY = `.${DATA_KEY}`;
34
+ const DATA_API_KEY = '.data-api';
35
+ const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;
36
+ const ESCAPE_KEY = 'Escape';
37
+ const CLASS_NAME_SHOW = 'show';
38
+ const CLASS_NAME_SHOWING = 'showing';
39
+ const CLASS_NAME_HIDING = 'hiding';
40
+ const CLASS_NAME_BACKDROP = 'offcanvas-backdrop';
41
+ const OPEN_SELECTOR = '.offcanvas.show';
42
+ const EVENT_SHOW = `show${EVENT_KEY}`;
43
+ const EVENT_SHOWN = `shown${EVENT_KEY}`;
44
+ const EVENT_HIDE = `hide${EVENT_KEY}`;
45
+ const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`;
46
+ const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
47
+ const EVENT_RESIZE = `resize${EVENT_KEY}`;
48
+ const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
49
+ const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;
50
+ const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="offcanvas"]';
51
+ const Default = {
52
+ backdrop: true,
53
+ keyboard: true,
54
+ scroll: false
55
+ };
56
+ const DefaultType = {
57
+ backdrop: '(boolean|string)',
58
+ keyboard: 'boolean',
59
+ scroll: 'boolean'
60
+ };
61
+ /**
62
+ * Class definition
63
+ */
64
+
65
+ class Offcanvas extends BaseComponent__default.default {
66
+ constructor(element, config) {
67
+ super(element, config);
68
+ this._isShown = false;
69
+ this._backdrop = this._initializeBackDrop();
70
+ this._focustrap = this._initializeFocusTrap();
71
+
72
+ this._addEventListeners();
73
+ } // Getters
74
+
75
+
76
+ static get Default() {
77
+ return Default;
78
+ }
79
+
80
+ static get DefaultType() {
81
+ return DefaultType;
82
+ }
83
+
84
+ static get NAME() {
85
+ return NAME;
86
+ } // Public
87
+
88
+
89
+ toggle(relatedTarget) {
90
+ return this._isShown ? this.hide() : this.show(relatedTarget);
91
+ }
92
+
93
+ show(relatedTarget) {
94
+ if (this._isShown) {
95
+ return;
96
+ }
97
+
98
+ const showEvent = EventHandler__default.default.trigger(this._element, EVENT_SHOW, {
99
+ relatedTarget
100
+ });
101
+
102
+ if (showEvent.defaultPrevented) {
103
+ return;
104
+ }
105
+
106
+ this._isShown = true;
107
+
108
+ this._backdrop.show();
109
+
110
+ if (!this._config.scroll) {
111
+ new ScrollBarHelper__default.default().hide();
112
+ }
113
+
114
+ this._element.setAttribute('aria-modal', true);
115
+
116
+ this._element.setAttribute('role', 'dialog');
117
+
118
+ this._element.classList.add(CLASS_NAME_SHOWING);
119
+
120
+ const completeCallBack = () => {
121
+ if (!this._config.scroll || this._config.backdrop) {
122
+ this._focustrap.activate();
123
+ }
124
+
125
+ this._element.classList.add(CLASS_NAME_SHOW);
126
+
127
+ this._element.classList.remove(CLASS_NAME_SHOWING);
128
+
129
+ EventHandler__default.default.trigger(this._element, EVENT_SHOWN, {
130
+ relatedTarget
131
+ });
132
+ };
133
+
134
+ this._queueCallback(completeCallBack, this._element, true);
135
+ }
136
+
137
+ hide() {
138
+ if (!this._isShown) {
139
+ return;
140
+ }
141
+
142
+ const hideEvent = EventHandler__default.default.trigger(this._element, EVENT_HIDE);
143
+
144
+ if (hideEvent.defaultPrevented) {
145
+ return;
146
+ }
147
+
148
+ this._focustrap.deactivate();
149
+
150
+ this._element.blur();
151
+
152
+ this._isShown = false;
153
+
154
+ this._element.classList.add(CLASS_NAME_HIDING);
155
+
156
+ this._backdrop.hide();
157
+
158
+ const completeCallback = () => {
159
+ this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING);
160
+
161
+ this._element.removeAttribute('aria-modal');
162
+
163
+ this._element.removeAttribute('role');
164
+
165
+ if (!this._config.scroll) {
166
+ new ScrollBarHelper__default.default().reset();
167
+ }
168
+
169
+ EventHandler__default.default.trigger(this._element, EVENT_HIDDEN);
170
+ };
171
+
172
+ this._queueCallback(completeCallback, this._element, true);
173
+ }
174
+
175
+ dispose() {
176
+ this._backdrop.dispose();
177
+
178
+ this._focustrap.deactivate();
179
+
180
+ super.dispose();
181
+ } // Private
182
+
183
+
184
+ _initializeBackDrop() {
185
+ const clickCallback = () => {
186
+ if (this._config.backdrop === 'static') {
187
+ EventHandler__default.default.trigger(this._element, EVENT_HIDE_PREVENTED);
188
+ return;
189
+ }
190
+
191
+ this.hide();
192
+ }; // 'static' option will be translated to true, and booleans will keep their value
193
+
194
+
195
+ const isVisible = Boolean(this._config.backdrop);
196
+ return new Backdrop__default.default({
197
+ className: CLASS_NAME_BACKDROP,
198
+ isVisible,
199
+ isAnimated: true,
200
+ rootElement: this._element.parentNode,
201
+ clickCallback: isVisible ? clickCallback : null
202
+ });
203
+ }
204
+
205
+ _initializeFocusTrap() {
206
+ return new FocusTrap__default.default({
207
+ trapElement: this._element
208
+ });
209
+ }
210
+
211
+ _addEventListeners() {
212
+ EventHandler__default.default.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
213
+ if (event.key !== ESCAPE_KEY) {
214
+ return;
215
+ }
216
+
217
+ if (!this._config.keyboard) {
218
+ EventHandler__default.default.trigger(this._element, EVENT_HIDE_PREVENTED);
219
+ return;
220
+ }
221
+
222
+ this.hide();
223
+ });
224
+ } // Static
225
+
226
+
227
+ static jQueryInterface(config) {
228
+ return this.each(function () {
229
+ const data = Offcanvas.getOrCreateInstance(this, config);
230
+
231
+ if (typeof config !== 'string') {
232
+ return;
233
+ }
234
+
235
+ if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
236
+ throw new TypeError(`No method named "${config}"`);
237
+ }
238
+
239
+ data[config](this);
240
+ });
241
+ }
242
+
243
+ }
244
+ /**
245
+ * Data API implementation
246
+ */
247
+
248
+
249
+ EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
250
+ const target = index.getElementFromSelector(this);
251
+
252
+ if (['A', 'AREA'].includes(this.tagName)) {
253
+ event.preventDefault();
254
+ }
255
+
256
+ if (index.isDisabled(this)) {
257
+ return;
258
+ }
259
+
260
+ EventHandler__default.default.one(target, EVENT_HIDDEN, () => {
261
+ // focus on trigger when it is closed
262
+ if (index.isVisible(this)) {
263
+ this.focus();
264
+ }
265
+ }); // avoid conflict when clicking a toggler of an offcanvas, while another is open
266
+
267
+ const alreadyOpen = SelectorEngine__default.default.findOne(OPEN_SELECTOR);
268
+
269
+ if (alreadyOpen && alreadyOpen !== target) {
270
+ Offcanvas.getInstance(alreadyOpen).hide();
271
+ }
272
+
273
+ const data = Offcanvas.getOrCreateInstance(target);
274
+ data.toggle(this);
275
+ });
276
+ EventHandler__default.default.on(window, EVENT_LOAD_DATA_API, () => {
277
+ for (const selector of SelectorEngine__default.default.find(OPEN_SELECTOR)) {
278
+ Offcanvas.getOrCreateInstance(selector).show();
279
+ }
280
+ });
281
+ EventHandler__default.default.on(window, EVENT_RESIZE, () => {
282
+ for (const element of SelectorEngine__default.default.find('[aria-modal][class*=show][class*=offcanvas-]')) {
283
+ if (getComputedStyle(element).position !== 'fixed') {
284
+ Offcanvas.getOrCreateInstance(element).hide();
285
+ }
286
+ }
287
+ });
288
+ componentFunctions.enableDismissTrigger(Offcanvas);
289
+ /**
290
+ * jQuery
291
+ */
292
+
293
+ index.defineJQueryPlugin(Offcanvas);
294
+
295
+ return Offcanvas;
296
+
297
+ }));
@@ -1,206 +1,101 @@
1
1
  /*!
2
- * Bootstrap popover.js v4.5.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap popover.js v5.2.3 (https://getbootstrap.com/)
3
+ * Copyright 2011-2022 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('./tooltip.js')) :
8
- typeof define === 'function' && define.amd ? define(['jquery', './tooltip.js'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.jQuery, global.Tooltip));
10
- }(this, (function ($, Tooltip) { 'use strict';
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./tooltip')) :
8
+ typeof define === 'function' && define.amd ? define(['./util/index', './tooltip'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Index, global.Tooltip));
10
+ })(this, (function (index, Tooltip) { 'use strict';
11
11
 
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+ const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
13
13
 
14
- var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
- var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
14
+ const Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
16
15
 
17
- 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); } }
18
-
19
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
20
-
21
- function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
22
-
23
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
24
16
  /**
25
- * ------------------------------------------------------------------------
17
+ * --------------------------------------------------------------------------
18
+ * Bootstrap (v5.2.3): popover.js
19
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
20
+ * --------------------------------------------------------------------------
21
+ */
22
+ /**
26
23
  * Constants
27
- * ------------------------------------------------------------------------
28
24
  */
29
25
 
30
- var NAME = 'popover';
31
- var VERSION = '4.5.3';
32
- var DATA_KEY = 'bs.popover';
33
- var EVENT_KEY = "." + DATA_KEY;
34
- var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
35
- var CLASS_PREFIX = 'bs-popover';
36
- var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
37
-
38
- var Default = _extends({}, Tooltip__default['default'].Default, {
39
- placement: 'right',
40
- trigger: 'click',
26
+ const NAME = 'popover';
27
+ const SELECTOR_TITLE = '.popover-header';
28
+ const SELECTOR_CONTENT = '.popover-body';
29
+ const Default = { ...Tooltip__default.default.Default,
41
30
  content: '',
42
- template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
43
- });
44
-
45
- var DefaultType = _extends({}, Tooltip__default['default'].DefaultType, {
46
- content: '(string|element|function)'
47
- });
48
-
49
- var CLASS_NAME_FADE = 'fade';
50
- var CLASS_NAME_SHOW = 'show';
51
- var SELECTOR_TITLE = '.popover-header';
52
- var SELECTOR_CONTENT = '.popover-body';
53
- var Event = {
54
- HIDE: "hide" + EVENT_KEY,
55
- HIDDEN: "hidden" + EVENT_KEY,
56
- SHOW: "show" + EVENT_KEY,
57
- SHOWN: "shown" + EVENT_KEY,
58
- INSERTED: "inserted" + EVENT_KEY,
59
- CLICK: "click" + EVENT_KEY,
60
- FOCUSIN: "focusin" + EVENT_KEY,
61
- FOCUSOUT: "focusout" + EVENT_KEY,
62
- MOUSEENTER: "mouseenter" + EVENT_KEY,
63
- MOUSELEAVE: "mouseleave" + EVENT_KEY
31
+ offset: [0, 8],
32
+ placement: 'right',
33
+ template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
34
+ trigger: 'click'
35
+ };
36
+ const DefaultType = { ...Tooltip__default.default.DefaultType,
37
+ content: '(null|string|element|function)'
64
38
  };
65
39
  /**
66
- * ------------------------------------------------------------------------
67
- * Class Definition
68
- * ------------------------------------------------------------------------
40
+ * Class definition
69
41
  */
70
42
 
71
- var Popover = /*#__PURE__*/function (_Tooltip) {
72
- _inheritsLoose(Popover, _Tooltip);
73
-
74
- function Popover() {
75
- return _Tooltip.apply(this, arguments) || this;
43
+ class Popover extends Tooltip__default.default {
44
+ // Getters
45
+ static get Default() {
46
+ return Default;
76
47
  }
77
48
 
78
- var _proto = Popover.prototype;
79
-
80
- // Overrides
81
- _proto.isWithContent = function isWithContent() {
82
- return this.getTitle() || this._getContent();
83
- };
84
-
85
- _proto.addAttachmentClass = function addAttachmentClass(attachment) {
86
- $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
87
- };
88
-
89
- _proto.getTipElement = function getTipElement() {
90
- this.tip = this.tip || $__default['default'](this.config.template)[0];
91
- return this.tip;
92
- };
93
-
94
- _proto.setContent = function setContent() {
95
- var $tip = $__default['default'](this.getTipElement()); // We use append for html objects to maintain js events
96
-
97
- this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
49
+ static get DefaultType() {
50
+ return DefaultType;
51
+ }
98
52
 
99
- var content = this._getContent();
53
+ static get NAME() {
54
+ return NAME;
55
+ } // Overrides
100
56
 
101
- if (typeof content === 'function') {
102
- content = content.call(this.element);
103
- }
104
57
 
105
- this.setElementContent($tip.find(SELECTOR_CONTENT), content);
106
- $tip.removeClass(CLASS_NAME_FADE + " " + CLASS_NAME_SHOW);
58
+ _isWithContent() {
59
+ return this._getTitle() || this._getContent();
107
60
  } // Private
108
- ;
109
61
 
110
- _proto._getContent = function _getContent() {
111
- return this.element.getAttribute('data-content') || this.config.content;
112
- };
113
62
 
114
- _proto._cleanTipClass = function _cleanTipClass() {
115
- var $tip = $__default['default'](this.getTipElement());
116
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
63
+ _getContentForTemplate() {
64
+ return {
65
+ [SELECTOR_TITLE]: this._getTitle(),
66
+ [SELECTOR_CONTENT]: this._getContent()
67
+ };
68
+ }
117
69
 
118
- if (tabClass !== null && tabClass.length > 0) {
119
- $tip.removeClass(tabClass.join(''));
120
- }
70
+ _getContent() {
71
+ return this._resolvePossibleFunction(this._config.content);
121
72
  } // Static
122
- ;
123
73
 
124
- Popover._jQueryInterface = function _jQueryInterface(config) {
125
- return this.each(function () {
126
- var data = $__default['default'](this).data(DATA_KEY);
127
74
 
128
- var _config = typeof config === 'object' ? config : null;
75
+ static jQueryInterface(config) {
76
+ return this.each(function () {
77
+ const data = Popover.getOrCreateInstance(this, config);
129
78
 
130
- if (!data && /dispose|hide/.test(config)) {
79
+ if (typeof config !== 'string') {
131
80
  return;
132
81
  }
133
82
 
134
- if (!data) {
135
- data = new Popover(this, _config);
136
- $__default['default'](this).data(DATA_KEY, data);
83
+ if (typeof data[config] === 'undefined') {
84
+ throw new TypeError(`No method named "${config}"`);
137
85
  }
138
86
 
139
- if (typeof config === 'string') {
140
- if (typeof data[config] === 'undefined') {
141
- throw new TypeError("No method named \"" + config + "\"");
142
- }
143
-
144
- data[config]();
145
- }
87
+ data[config]();
146
88
  });
147
- };
148
-
149
- _createClass(Popover, null, [{
150
- key: "VERSION",
151
- // Getters
152
- get: function get() {
153
- return VERSION;
154
- }
155
- }, {
156
- key: "Default",
157
- get: function get() {
158
- return Default;
159
- }
160
- }, {
161
- key: "NAME",
162
- get: function get() {
163
- return NAME;
164
- }
165
- }, {
166
- key: "DATA_KEY",
167
- get: function get() {
168
- return DATA_KEY;
169
- }
170
- }, {
171
- key: "Event",
172
- get: function get() {
173
- return Event;
174
- }
175
- }, {
176
- key: "EVENT_KEY",
177
- get: function get() {
178
- return EVENT_KEY;
179
- }
180
- }, {
181
- key: "DefaultType",
182
- get: function get() {
183
- return DefaultType;
184
- }
185
- }]);
186
-
187
- return Popover;
188
- }(Tooltip__default['default']);
89
+ }
90
+
91
+ }
189
92
  /**
190
- * ------------------------------------------------------------------------
191
93
  * jQuery
192
- * ------------------------------------------------------------------------
193
94
  */
194
95
 
195
96
 
196
- $__default['default'].fn[NAME] = Popover._jQueryInterface;
197
- $__default['default'].fn[NAME].Constructor = Popover;
198
-
199
- $__default['default'].fn[NAME].noConflict = function () {
200
- $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
201
- return Popover._jQueryInterface;
202
- };
97
+ index.defineJQueryPlugin(Popover);
203
98
 
204
99
  return Popover;
205
100
 
206
- })));
101
+ }));