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,155 @@
1
+ /*!
2
+ * Bootstrap swipe.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('./config'), require('../dom/event-handler'), require('./index')) :
8
+ typeof define === 'function' && define.amd ? define(['./config', '../dom/event-handler', './index'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Swipe = factory(global.Config, global.EventHandler, global.Index));
10
+ })(this, (function (Config, EventHandler, index) { 'use strict';
11
+
12
+ const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
13
+
14
+ const Config__default = /*#__PURE__*/_interopDefaultLegacy(Config);
15
+ const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
16
+
17
+ /**
18
+ * --------------------------------------------------------------------------
19
+ * Bootstrap (v5.2.3): util/swipe.js
20
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
21
+ * --------------------------------------------------------------------------
22
+ */
23
+ /**
24
+ * Constants
25
+ */
26
+
27
+ const NAME = 'swipe';
28
+ const EVENT_KEY = '.bs.swipe';
29
+ const EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`;
30
+ const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`;
31
+ const EVENT_TOUCHEND = `touchend${EVENT_KEY}`;
32
+ const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`;
33
+ const EVENT_POINTERUP = `pointerup${EVENT_KEY}`;
34
+ const POINTER_TYPE_TOUCH = 'touch';
35
+ const POINTER_TYPE_PEN = 'pen';
36
+ const CLASS_NAME_POINTER_EVENT = 'pointer-event';
37
+ const SWIPE_THRESHOLD = 40;
38
+ const Default = {
39
+ endCallback: null,
40
+ leftCallback: null,
41
+ rightCallback: null
42
+ };
43
+ const DefaultType = {
44
+ endCallback: '(function|null)',
45
+ leftCallback: '(function|null)',
46
+ rightCallback: '(function|null)'
47
+ };
48
+ /**
49
+ * Class definition
50
+ */
51
+
52
+ class Swipe extends Config__default.default {
53
+ constructor(element, config) {
54
+ super();
55
+ this._element = element;
56
+
57
+ if (!element || !Swipe.isSupported()) {
58
+ return;
59
+ }
60
+
61
+ this._config = this._getConfig(config);
62
+ this._deltaX = 0;
63
+ this._supportPointerEvents = Boolean(window.PointerEvent);
64
+
65
+ this._initEvents();
66
+ } // Getters
67
+
68
+
69
+ static get Default() {
70
+ return Default;
71
+ }
72
+
73
+ static get DefaultType() {
74
+ return DefaultType;
75
+ }
76
+
77
+ static get NAME() {
78
+ return NAME;
79
+ } // Public
80
+
81
+
82
+ dispose() {
83
+ EventHandler__default.default.off(this._element, EVENT_KEY);
84
+ } // Private
85
+
86
+
87
+ _start(event) {
88
+ if (!this._supportPointerEvents) {
89
+ this._deltaX = event.touches[0].clientX;
90
+ return;
91
+ }
92
+
93
+ if (this._eventIsPointerPenTouch(event)) {
94
+ this._deltaX = event.clientX;
95
+ }
96
+ }
97
+
98
+ _end(event) {
99
+ if (this._eventIsPointerPenTouch(event)) {
100
+ this._deltaX = event.clientX - this._deltaX;
101
+ }
102
+
103
+ this._handleSwipe();
104
+
105
+ index.execute(this._config.endCallback);
106
+ }
107
+
108
+ _move(event) {
109
+ this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;
110
+ }
111
+
112
+ _handleSwipe() {
113
+ const absDeltaX = Math.abs(this._deltaX);
114
+
115
+ if (absDeltaX <= SWIPE_THRESHOLD) {
116
+ return;
117
+ }
118
+
119
+ const direction = absDeltaX / this._deltaX;
120
+ this._deltaX = 0;
121
+
122
+ if (!direction) {
123
+ return;
124
+ }
125
+
126
+ index.execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
127
+ }
128
+
129
+ _initEvents() {
130
+ if (this._supportPointerEvents) {
131
+ EventHandler__default.default.on(this._element, EVENT_POINTERDOWN, event => this._start(event));
132
+ EventHandler__default.default.on(this._element, EVENT_POINTERUP, event => this._end(event));
133
+
134
+ this._element.classList.add(CLASS_NAME_POINTER_EVENT);
135
+ } else {
136
+ EventHandler__default.default.on(this._element, EVENT_TOUCHSTART, event => this._start(event));
137
+ EventHandler__default.default.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));
138
+ EventHandler__default.default.on(this._element, EVENT_TOUCHEND, event => this._end(event));
139
+ }
140
+ }
141
+
142
+ _eventIsPointerPenTouch(event) {
143
+ return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);
144
+ } // Static
145
+
146
+
147
+ static isSupported() {
148
+ return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
149
+ }
150
+
151
+ }
152
+
153
+ return Swipe;
154
+
155
+ }));
@@ -0,0 +1,177 @@
1
+ /*!
2
+ * Bootstrap template-factory.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('./sanitizer'), require('./index'), require('../dom/selector-engine'), require('./config')) :
8
+ typeof define === 'function' && define.amd ? define(['./sanitizer', './index', '../dom/selector-engine', './config'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.TemplateFactory = factory(global.Sanitizer, global.Index, global.SelectorEngine, global.Config));
10
+ })(this, (function (sanitizer, index, SelectorEngine, Config) { 'use strict';
11
+
12
+ const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
13
+
14
+ const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
15
+ const Config__default = /*#__PURE__*/_interopDefaultLegacy(Config);
16
+
17
+ /**
18
+ * --------------------------------------------------------------------------
19
+ * Bootstrap (v5.2.3): util/template-factory.js
20
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
21
+ * --------------------------------------------------------------------------
22
+ */
23
+ /**
24
+ * Constants
25
+ */
26
+
27
+ const NAME = 'TemplateFactory';
28
+ const Default = {
29
+ allowList: sanitizer.DefaultAllowlist,
30
+ content: {},
31
+ // { selector : text , selector2 : text2 , }
32
+ extraClass: '',
33
+ html: false,
34
+ sanitize: true,
35
+ sanitizeFn: null,
36
+ template: '<div></div>'
37
+ };
38
+ const DefaultType = {
39
+ allowList: 'object',
40
+ content: 'object',
41
+ extraClass: '(string|function)',
42
+ html: 'boolean',
43
+ sanitize: 'boolean',
44
+ sanitizeFn: '(null|function)',
45
+ template: 'string'
46
+ };
47
+ const DefaultContentType = {
48
+ entry: '(string|element|function|null)',
49
+ selector: '(string|element)'
50
+ };
51
+ /**
52
+ * Class definition
53
+ */
54
+
55
+ class TemplateFactory extends Config__default.default {
56
+ constructor(config) {
57
+ super();
58
+ this._config = this._getConfig(config);
59
+ } // Getters
60
+
61
+
62
+ static get Default() {
63
+ return Default;
64
+ }
65
+
66
+ static get DefaultType() {
67
+ return DefaultType;
68
+ }
69
+
70
+ static get NAME() {
71
+ return NAME;
72
+ } // Public
73
+
74
+
75
+ getContent() {
76
+ return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);
77
+ }
78
+
79
+ hasContent() {
80
+ return this.getContent().length > 0;
81
+ }
82
+
83
+ changeContent(content) {
84
+ this._checkContent(content);
85
+
86
+ this._config.content = { ...this._config.content,
87
+ ...content
88
+ };
89
+ return this;
90
+ }
91
+
92
+ toHtml() {
93
+ const templateWrapper = document.createElement('div');
94
+ templateWrapper.innerHTML = this._maybeSanitize(this._config.template);
95
+
96
+ for (const [selector, text] of Object.entries(this._config.content)) {
97
+ this._setContent(templateWrapper, text, selector);
98
+ }
99
+
100
+ const template = templateWrapper.children[0];
101
+
102
+ const extraClass = this._resolvePossibleFunction(this._config.extraClass);
103
+
104
+ if (extraClass) {
105
+ template.classList.add(...extraClass.split(' '));
106
+ }
107
+
108
+ return template;
109
+ } // Private
110
+
111
+
112
+ _typeCheckConfig(config) {
113
+ super._typeCheckConfig(config);
114
+
115
+ this._checkContent(config.content);
116
+ }
117
+
118
+ _checkContent(arg) {
119
+ for (const [selector, content] of Object.entries(arg)) {
120
+ super._typeCheckConfig({
121
+ selector,
122
+ entry: content
123
+ }, DefaultContentType);
124
+ }
125
+ }
126
+
127
+ _setContent(template, content, selector) {
128
+ const templateElement = SelectorEngine__default.default.findOne(selector, template);
129
+
130
+ if (!templateElement) {
131
+ return;
132
+ }
133
+
134
+ content = this._resolvePossibleFunction(content);
135
+
136
+ if (!content) {
137
+ templateElement.remove();
138
+ return;
139
+ }
140
+
141
+ if (index.isElement(content)) {
142
+ this._putElementInTemplate(index.getElement(content), templateElement);
143
+
144
+ return;
145
+ }
146
+
147
+ if (this._config.html) {
148
+ templateElement.innerHTML = this._maybeSanitize(content);
149
+ return;
150
+ }
151
+
152
+ templateElement.textContent = content;
153
+ }
154
+
155
+ _maybeSanitize(arg) {
156
+ return this._config.sanitize ? sanitizer.sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;
157
+ }
158
+
159
+ _resolvePossibleFunction(arg) {
160
+ return typeof arg === 'function' ? arg(this) : arg;
161
+ }
162
+
163
+ _putElementInTemplate(element, templateElement) {
164
+ if (this._config.html) {
165
+ templateElement.innerHTML = '';
166
+ templateElement.append(element);
167
+ return;
168
+ }
169
+
170
+ templateElement.textContent = element.textContent;
171
+ }
172
+
173
+ }
174
+
175
+ return TemplateFactory;
176
+
177
+ }));
@@ -0,0 +1,6 @@
1
+ // Set a `globalThis` so that bootstrap components are defined on window.bootstrap instead of window.
2
+ window['bootstrap'] = {
3
+ "@popperjs/core": window.Popper,
4
+ _originalGlobalThis: window['globalThis']
5
+ };
6
+ window['globalThis'] = window['bootstrap'];
@@ -0,0 +1,2 @@
1
+ window['globalThis'] = window['bootstrap']._originalGlobalThis;
2
+ window['bootstrap']._originalGlobalThis = null;
@@ -1,12 +1,28 @@
1
- //= require ./bootstrap/util
2
- //= require ./bootstrap/collapse
1
+ //= require ./bootstrap-global-this-define
2
+ //= require ./bootstrap/dom/data
3
+ //= require ./bootstrap/util/index
4
+ //= require ./bootstrap/dom/event-handler
5
+ //= require ./bootstrap/dom/manipulator
6
+ //= require ./bootstrap/util/config
7
+ //= require ./bootstrap/base-component
8
+ //= require ./bootstrap/util/component-functions
3
9
  //= require ./bootstrap/alert
4
- //= require ./bootstrap/tab
5
- //= require ./bootstrap/tooltip
6
- //= require ./bootstrap/popover
7
- //= require ./bootstrap/dropdown
8
- //= require ./bootstrap/carousel
9
10
  //= require ./bootstrap/button
11
+ //= require ./bootstrap/dom/selector-engine
12
+ //= require ./bootstrap/util/swipe
13
+ //= require ./bootstrap/carousel
14
+ //= require ./bootstrap/collapse
15
+ //= require ./bootstrap/dropdown
16
+ //= require ./bootstrap/util/backdrop
17
+ //= require ./bootstrap/util/focustrap
18
+ //= require ./bootstrap/util/scrollbar
10
19
  //= require ./bootstrap/modal
11
- //= require ./bootstrap/toast
20
+ //= require ./bootstrap/offcanvas
21
+ //= require ./bootstrap/util/sanitizer
22
+ //= require ./bootstrap/util/template-factory
23
+ //= require ./bootstrap/tooltip
24
+ //= require ./bootstrap/popover
12
25
  //= require ./bootstrap/scrollspy
26
+ //= require ./bootstrap/tab
27
+ //= require ./bootstrap/toast
28
+ //= require ./bootstrap-global-this-undefine