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,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