bootstrap 4.5.3 → 5.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
+ }));