bootstrap 5.2.3 → 5.3.0.alpha3

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 (83) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/javascripts/bootstrap/alert.js +21 -32
  4. data/assets/javascripts/bootstrap/base-component.js +21 -38
  5. data/assets/javascripts/bootstrap/button.js +18 -22
  6. data/assets/javascripts/bootstrap/carousel.js +51 -135
  7. data/assets/javascripts/bootstrap/collapse.js +39 -102
  8. data/assets/javascripts/bootstrap/dom/data.js +8 -12
  9. data/assets/javascripts/bootstrap/dom/event-handler.js +18 -66
  10. data/assets/javascripts/bootstrap/dom/manipulator.js +4 -17
  11. data/assets/javascripts/bootstrap/dom/selector-engine.js +41 -24
  12. data/assets/javascripts/bootstrap/dropdown.js +73 -145
  13. data/assets/javascripts/bootstrap/modal.js +52 -133
  14. data/assets/javascripts/bootstrap/offcanvas.js +49 -102
  15. data/assets/javascripts/bootstrap/popover.js +22 -29
  16. data/assets/javascripts/bootstrap/scrollspy.js +51 -89
  17. data/assets/javascripts/bootstrap/tab.js +51 -109
  18. data/assets/javascripts/bootstrap/toast.js +30 -73
  19. data/assets/javascripts/bootstrap/tooltip.js +74 -177
  20. data/assets/javascripts/bootstrap/util/backdrop.js +27 -54
  21. data/assets/javascripts/bootstrap/util/component-functions.js +13 -19
  22. data/assets/javascripts/bootstrap/util/config.js +14 -27
  23. data/assets/javascripts/bootstrap/util/focustrap.js +19 -36
  24. data/assets/javascripts/bootstrap/util/index.js +42 -111
  25. data/assets/javascripts/bootstrap/util/sanitizer.js +13 -19
  26. data/assets/javascripts/bootstrap/util/scrollbar.js +23 -50
  27. data/assets/javascripts/bootstrap/util/swipe.js +26 -48
  28. data/assets/javascripts/bootstrap/util/template-factory.js +24 -52
  29. data/assets/javascripts/bootstrap-sprockets.js +1 -1
  30. data/assets/javascripts/bootstrap.js +626 -1406
  31. data/assets/javascripts/bootstrap.min.js +3 -3
  32. data/assets/stylesheets/_bootstrap-grid.scss +1 -3
  33. data/assets/stylesheets/_bootstrap-reboot.scss +1 -0
  34. data/assets/stylesheets/_bootstrap.scss +1 -0
  35. data/assets/stylesheets/bootstrap/_accordion.scss +9 -0
  36. data/assets/stylesheets/bootstrap/_alert.scss +8 -11
  37. data/assets/stylesheets/bootstrap/_button-group.scss +2 -2
  38. data/assets/stylesheets/bootstrap/_buttons.scss +3 -3
  39. data/assets/stylesheets/bootstrap/_card.scss +5 -0
  40. data/assets/stylesheets/bootstrap/_carousel.scss +20 -2
  41. data/assets/stylesheets/bootstrap/_close.scss +32 -9
  42. data/assets/stylesheets/bootstrap/_dropdown.scss +1 -0
  43. data/assets/stylesheets/bootstrap/_functions.scss +1 -1
  44. data/assets/stylesheets/bootstrap/_grid.scss +6 -0
  45. data/assets/stylesheets/bootstrap/_helpers.scss +2 -0
  46. data/assets/stylesheets/bootstrap/_list-group.scss +12 -7
  47. data/assets/stylesheets/bootstrap/_maps.scss +120 -0
  48. data/assets/stylesheets/bootstrap/_mixins.scss +1 -2
  49. data/assets/stylesheets/bootstrap/_nav.scss +40 -3
  50. data/assets/stylesheets/bootstrap/_navbar.scss +13 -3
  51. data/assets/stylesheets/bootstrap/_offcanvas.scss +4 -2
  52. data/assets/stylesheets/bootstrap/_pagination.scss +1 -1
  53. data/assets/stylesheets/bootstrap/_progress.scss +10 -1
  54. data/assets/stylesheets/bootstrap/_reboot.scss +3 -3
  55. data/assets/stylesheets/bootstrap/_root.scss +125 -10
  56. data/assets/stylesheets/bootstrap/_tables.scss +1 -1
  57. data/assets/stylesheets/bootstrap/_tooltip.scss +4 -5
  58. data/assets/stylesheets/bootstrap/_utilities.scss +172 -13
  59. data/assets/stylesheets/bootstrap/_variables-dark.scss +85 -0
  60. data/assets/stylesheets/bootstrap/_variables.scss +260 -151
  61. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -0
  62. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +21 -3
  63. data/assets/stylesheets/bootstrap/forms/_form-check.scss +24 -11
  64. data/assets/stylesheets/bootstrap/forms/_form-control.scss +23 -3
  65. data/assets/stylesheets/bootstrap/forms/_form-select.scss +11 -2
  66. data/assets/stylesheets/bootstrap/forms/_input-group.scss +1 -1
  67. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +22 -2
  68. data/assets/stylesheets/bootstrap/helpers/_focus-ring.scss +5 -0
  69. data/assets/stylesheets/bootstrap/helpers/_icon-link.scss +25 -0
  70. data/assets/stylesheets/bootstrap/mixins/_alert.scss +4 -1
  71. data/assets/stylesheets/bootstrap/mixins/_banner.scss +2 -4
  72. data/assets/stylesheets/bootstrap/mixins/_caret.scss +30 -25
  73. data/assets/stylesheets/bootstrap/mixins/_color-mode.scss +21 -0
  74. data/assets/stylesheets/bootstrap/mixins/_forms.scss +8 -7
  75. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -0
  76. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +1 -1
  77. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +5 -1
  78. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +23 -29
  79. data/bootstrap.gemspec +1 -1
  80. data/lib/bootstrap/version.rb +2 -2
  81. data/tasks/updater/js.rb +1 -1
  82. data/tasks/updater/scss.rb +1 -1
  83. metadata +10 -6
@@ -1,25 +1,21 @@
1
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)
2
+ * Bootstrap swipe.js v5.3.0-alpha3 (https://getbootstrap.com/)
3
+ * Copyright 2011-2023 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('./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);
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/event-handler.js'), require('./config.js'), require('./index.js')) :
8
+ typeof define === 'function' && define.amd ? define(['../dom/event-handler', './config', './index'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Swipe = factory(global.EventHandler, global.Config, global.Index));
10
+ })(this, (function (EventHandler, Config, index_js) { 'use strict';
16
11
 
17
12
  /**
18
13
  * --------------------------------------------------------------------------
19
- * Bootstrap (v5.2.3): util/swipe.js
14
+ * Bootstrap util/swipe.js
20
15
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
21
16
  * --------------------------------------------------------------------------
22
17
  */
18
+
23
19
  /**
24
20
  * Constants
25
21
  */
@@ -45,109 +41,91 @@
45
41
  leftCallback: '(function|null)',
46
42
  rightCallback: '(function|null)'
47
43
  };
44
+
48
45
  /**
49
46
  * Class definition
50
47
  */
51
48
 
52
- class Swipe extends Config__default.default {
49
+ class Swipe extends Config {
53
50
  constructor(element, config) {
54
51
  super();
55
52
  this._element = element;
56
-
57
53
  if (!element || !Swipe.isSupported()) {
58
54
  return;
59
55
  }
60
-
61
56
  this._config = this._getConfig(config);
62
57
  this._deltaX = 0;
63
58
  this._supportPointerEvents = Boolean(window.PointerEvent);
64
-
65
59
  this._initEvents();
66
- } // Getters
67
-
60
+ }
68
61
 
62
+ // Getters
69
63
  static get Default() {
70
64
  return Default;
71
65
  }
72
-
73
66
  static get DefaultType() {
74
67
  return DefaultType;
75
68
  }
76
-
77
69
  static get NAME() {
78
70
  return NAME;
79
- } // Public
80
-
71
+ }
81
72
 
73
+ // Public
82
74
  dispose() {
83
- EventHandler__default.default.off(this._element, EVENT_KEY);
84
- } // Private
85
-
75
+ EventHandler.off(this._element, EVENT_KEY);
76
+ }
86
77
 
78
+ // Private
87
79
  _start(event) {
88
80
  if (!this._supportPointerEvents) {
89
81
  this._deltaX = event.touches[0].clientX;
90
82
  return;
91
83
  }
92
-
93
84
  if (this._eventIsPointerPenTouch(event)) {
94
85
  this._deltaX = event.clientX;
95
86
  }
96
87
  }
97
-
98
88
  _end(event) {
99
89
  if (this._eventIsPointerPenTouch(event)) {
100
90
  this._deltaX = event.clientX - this._deltaX;
101
91
  }
102
-
103
92
  this._handleSwipe();
104
-
105
- index.execute(this._config.endCallback);
93
+ index_js.execute(this._config.endCallback);
106
94
  }
107
-
108
95
  _move(event) {
109
96
  this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;
110
97
  }
111
-
112
98
  _handleSwipe() {
113
99
  const absDeltaX = Math.abs(this._deltaX);
114
-
115
100
  if (absDeltaX <= SWIPE_THRESHOLD) {
116
101
  return;
117
102
  }
118
-
119
103
  const direction = absDeltaX / this._deltaX;
120
104
  this._deltaX = 0;
121
-
122
105
  if (!direction) {
123
106
  return;
124
107
  }
125
-
126
- index.execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
108
+ index_js.execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
127
109
  }
128
-
129
110
  _initEvents() {
130
111
  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
-
112
+ EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event));
113
+ EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event));
134
114
  this._element.classList.add(CLASS_NAME_POINTER_EVENT);
135
115
  } 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));
116
+ EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event));
117
+ EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));
118
+ EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event));
139
119
  }
140
120
  }
141
-
142
121
  _eventIsPointerPenTouch(event) {
143
122
  return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);
144
- } // Static
145
-
123
+ }
146
124
 
125
+ // Static
147
126
  static isSupported() {
148
127
  return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
149
128
  }
150
-
151
129
  }
152
130
 
153
131
  return Swipe;
@@ -1,32 +1,28 @@
1
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)
2
+ * Bootstrap template-factory.js v5.3.0-alpha3 (https://getbootstrap.com/)
3
+ * Copyright 2011-2023 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('./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);
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/selector-engine.js'), require('./config.js'), require('./sanitizer.js'), require('./index.js')) :
8
+ typeof define === 'function' && define.amd ? define(['../dom/selector-engine', './config', './sanitizer', './index'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.TemplateFactory = factory(global.SelectorEngine, global.Config, global.Sanitizer, global.Index));
10
+ })(this, (function (SelectorEngine, Config, sanitizer_js, index_js) { 'use strict';
16
11
 
17
12
  /**
18
13
  * --------------------------------------------------------------------------
19
- * Bootstrap (v5.2.3): util/template-factory.js
14
+ * Bootstrap util/template-factory.js
20
15
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
21
16
  * --------------------------------------------------------------------------
22
17
  */
18
+
23
19
  /**
24
20
  * Constants
25
21
  */
26
22
 
27
23
  const NAME = 'TemplateFactory';
28
24
  const Default = {
29
- allowList: sanitizer.DefaultAllowlist,
25
+ allowList: sanitizer_js.DefaultAllowlist,
30
26
  content: {},
31
27
  // { selector : text , selector2 : text2 , }
32
28
  extraClass: '',
@@ -48,73 +44,62 @@
48
44
  entry: '(string|element|function|null)',
49
45
  selector: '(string|element)'
50
46
  };
47
+
51
48
  /**
52
49
  * Class definition
53
50
  */
54
51
 
55
- class TemplateFactory extends Config__default.default {
52
+ class TemplateFactory extends Config {
56
53
  constructor(config) {
57
54
  super();
58
55
  this._config = this._getConfig(config);
59
- } // Getters
60
-
56
+ }
61
57
 
58
+ // Getters
62
59
  static get Default() {
63
60
  return Default;
64
61
  }
65
-
66
62
  static get DefaultType() {
67
63
  return DefaultType;
68
64
  }
69
-
70
65
  static get NAME() {
71
66
  return NAME;
72
- } // Public
73
-
67
+ }
74
68
 
69
+ // Public
75
70
  getContent() {
76
71
  return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);
77
72
  }
78
-
79
73
  hasContent() {
80
74
  return this.getContent().length > 0;
81
75
  }
82
-
83
76
  changeContent(content) {
84
77
  this._checkContent(content);
85
-
86
- this._config.content = { ...this._config.content,
78
+ this._config.content = {
79
+ ...this._config.content,
87
80
  ...content
88
81
  };
89
82
  return this;
90
83
  }
91
-
92
84
  toHtml() {
93
85
  const templateWrapper = document.createElement('div');
94
86
  templateWrapper.innerHTML = this._maybeSanitize(this._config.template);
95
-
96
87
  for (const [selector, text] of Object.entries(this._config.content)) {
97
88
  this._setContent(templateWrapper, text, selector);
98
89
  }
99
-
100
90
  const template = templateWrapper.children[0];
101
-
102
91
  const extraClass = this._resolvePossibleFunction(this._config.extraClass);
103
-
104
92
  if (extraClass) {
105
93
  template.classList.add(...extraClass.split(' '));
106
94
  }
107
-
108
95
  return template;
109
- } // Private
110
-
96
+ }
111
97
 
98
+ // Private
112
99
  _typeCheckConfig(config) {
113
100
  super._typeCheckConfig(config);
114
-
115
101
  this._checkContent(config.content);
116
102
  }
117
-
118
103
  _checkContent(arg) {
119
104
  for (const [selector, content] of Object.entries(arg)) {
120
105
  super._typeCheckConfig({
@@ -123,53 +108,40 @@
123
108
  }, DefaultContentType);
124
109
  }
125
110
  }
126
-
127
111
  _setContent(template, content, selector) {
128
- const templateElement = SelectorEngine__default.default.findOne(selector, template);
129
-
112
+ const templateElement = SelectorEngine.findOne(selector, template);
130
113
  if (!templateElement) {
131
114
  return;
132
115
  }
133
-
134
116
  content = this._resolvePossibleFunction(content);
135
-
136
117
  if (!content) {
137
118
  templateElement.remove();
138
119
  return;
139
120
  }
140
-
141
- if (index.isElement(content)) {
142
- this._putElementInTemplate(index.getElement(content), templateElement);
143
-
121
+ if (index_js.isElement(content)) {
122
+ this._putElementInTemplate(index_js.getElement(content), templateElement);
144
123
  return;
145
124
  }
146
-
147
125
  if (this._config.html) {
148
126
  templateElement.innerHTML = this._maybeSanitize(content);
149
127
  return;
150
128
  }
151
-
152
129
  templateElement.textContent = content;
153
130
  }
154
-
155
131
  _maybeSanitize(arg) {
156
- return this._config.sanitize ? sanitizer.sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;
132
+ return this._config.sanitize ? sanitizer_js.sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;
157
133
  }
158
-
159
134
  _resolvePossibleFunction(arg) {
160
- return typeof arg === 'function' ? arg(this) : arg;
135
+ return index_js.execute(arg, [this]);
161
136
  }
162
-
163
137
  _putElementInTemplate(element, templateElement) {
164
138
  if (this._config.html) {
165
139
  templateElement.innerHTML = '';
166
140
  templateElement.append(element);
167
141
  return;
168
142
  }
169
-
170
143
  templateElement.textContent = element.textContent;
171
144
  }
172
-
173
145
  }
174
146
 
175
147
  return TemplateFactory;
@@ -5,10 +5,10 @@
5
5
  //= require ./bootstrap/dom/manipulator
6
6
  //= require ./bootstrap/util/config
7
7
  //= require ./bootstrap/base-component
8
+ //= require ./bootstrap/dom/selector-engine
8
9
  //= require ./bootstrap/util/component-functions
9
10
  //= require ./bootstrap/alert
10
11
  //= require ./bootstrap/button
11
- //= require ./bootstrap/dom/selector-engine
12
12
  //= require ./bootstrap/util/swipe
13
13
  //= require ./bootstrap/carousel
14
14
  //= require ./bootstrap/collapse