bootstrap 4.6.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -1
  3. data/README.md +7 -4
  4. data/assets/javascripts/bootstrap/alert.js +181 -109
  5. data/assets/javascripts/bootstrap/base-component.js +63 -0
  6. data/assets/javascripts/bootstrap/button.js +85 -173
  7. data/assets/javascripts/bootstrap/carousel.js +458 -355
  8. data/assets/javascripts/bootstrap/collapse.js +366 -218
  9. data/assets/javascripts/bootstrap/dom/data.js +68 -0
  10. data/assets/javascripts/bootstrap/dom/event-handler.js +322 -0
  11. data/assets/javascripts/bootstrap/dom/manipulator.js +88 -0
  12. data/assets/javascripts/bootstrap/dom/selector-engine.js +85 -0
  13. data/assets/javascripts/bootstrap/dropdown.js +459 -351
  14. data/assets/javascripts/bootstrap/modal.js +597 -429
  15. data/assets/javascripts/bootstrap/offcanvas.js +671 -0
  16. data/assets/javascripts/bootstrap/popover.js +130 -154
  17. data/assets/javascripts/bootstrap/scrollspy.js +238 -188
  18. data/assets/javascripts/bootstrap/tab.js +235 -137
  19. data/assets/javascripts/bootstrap/toast.js +210 -148
  20. data/assets/javascripts/bootstrap/tooltip.js +627 -466
  21. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  22. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  23. data/assets/javascripts/bootstrap-sprockets.js +15 -8
  24. data/assets/javascripts/bootstrap.js +3174 -2563
  25. data/assets/javascripts/bootstrap.min.js +2 -2
  26. data/assets/stylesheets/_bootstrap-grid.scss +51 -16
  27. data/assets/stylesheets/_bootstrap-reboot.scss +4 -1
  28. data/assets/stylesheets/_bootstrap.scss +16 -8
  29. data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
  30. data/assets/stylesheets/bootstrap/_alert.scss +15 -10
  31. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  32. data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -17
  33. data/assets/stylesheets/bootstrap/_button-group.scss +21 -45
  34. data/assets/stylesheets/bootstrap/_buttons.scss +29 -60
  35. data/assets/stylesheets/bootstrap/_card.scss +20 -91
  36. data/assets/stylesheets/bootstrap/_carousel.scss +65 -33
  37. data/assets/stylesheets/bootstrap/_close.scss +30 -30
  38. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  39. data/assets/stylesheets/bootstrap/_dropdown.scss +84 -36
  40. data/assets/stylesheets/bootstrap/_forms.scss +9 -347
  41. data/assets/stylesheets/bootstrap/_functions.scss +84 -23
  42. data/assets/stylesheets/bootstrap/_grid.scss +3 -54
  43. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  44. data/assets/stylesheets/bootstrap/_list-group.scss +28 -8
  45. data/assets/stylesheets/bootstrap/_mixins.scss +8 -13
  46. data/assets/stylesheets/bootstrap/_modal.scss +43 -55
  47. data/assets/stylesheets/bootstrap/_nav.scss +23 -4
  48. data/assets/stylesheets/bootstrap/_navbar.scss +45 -71
  49. data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
  50. data/assets/stylesheets/bootstrap/_pagination.scss +10 -20
  51. data/assets/stylesheets/bootstrap/_popover.scss +15 -27
  52. data/assets/stylesheets/bootstrap/_progress.scss +5 -4
  53. data/assets/stylesheets/bootstrap/_reboot.scss +316 -179
  54. data/assets/stylesheets/bootstrap/_root.scss +5 -8
  55. data/assets/stylesheets/bootstrap/_spinners.scss +11 -7
  56. data/assets/stylesheets/bootstrap/_tables.scss +79 -114
  57. data/assets/stylesheets/bootstrap/_toasts.scss +20 -15
  58. data/assets/stylesheets/bootstrap/_tooltip.scss +17 -17
  59. data/assets/stylesheets/bootstrap/_transitions.scss +2 -1
  60. data/assets/stylesheets/bootstrap/_type.scss +38 -59
  61. data/assets/stylesheets/bootstrap/_utilities.scss +594 -18
  62. data/assets/stylesheets/bootstrap/_variables.scss +800 -482
  63. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  64. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
  65. data/assets/stylesheets/bootstrap/forms/_form-check.scss +152 -0
  66. data/assets/stylesheets/bootstrap/forms/_form-control.scss +219 -0
  67. data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
  68. data/assets/stylesheets/bootstrap/forms/_form-select.scss +67 -0
  69. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  70. data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
  71. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  72. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  73. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  74. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  75. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  76. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  77. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  78. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  79. data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -5
  80. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +10 -8
  81. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
  82. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
  83. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +71 -48
  84. data/assets/stylesheets/bootstrap/mixins/_caret.scss +10 -8
  85. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  86. data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
  87. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  88. data/assets/stylesheets/bootstrap/mixins/_forms.scss +38 -86
  89. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
  90. data/assets/stylesheets/bootstrap/mixins/_grid.scss +89 -33
  91. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  92. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +5 -2
  93. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  94. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +17 -8
  95. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  96. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  97. data/assets/stylesheets/bootstrap/mixins/_transition.scss +1 -1
  98. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +68 -0
  99. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
  100. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  101. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
  102. data/bootstrap.gemspec +1 -3
  103. data/lib/bootstrap/version.rb +2 -2
  104. data/tasks/updater/js.rb +20 -5
  105. data/tasks/updater/network.rb +7 -1
  106. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  107. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  108. data/test/dummy_rails/app/views/pages/root.html +89 -0
  109. data/test/dummy_rails/config/application.rb +0 -3
  110. data/test/gemfiles/rails_6_1.gemfile +7 -0
  111. metadata +45 -73
  112. data/assets/javascripts/bootstrap/util.js +0 -192
  113. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  114. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
  115. data/assets/stylesheets/bootstrap/_input-group.scss +0 -208
  116. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  117. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  118. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  119. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
  120. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  121. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  122. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
  123. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  124. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  125. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
  126. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  127. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  128. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  129. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  130. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  131. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  132. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  133. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  134. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  135. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  136. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  137. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  138. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
  139. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  140. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  141. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  142. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  143. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  144. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  145. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  146. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  147. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
  148. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
  149. /data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
data/tasks/updater/js.rb CHANGED
@@ -2,6 +2,8 @@ require 'tsort'
2
2
 
3
3
  class Updater
4
4
  module Js
5
+ INLINED_SRCS = %w[util/index.js util/backdrop.js util/sanitizer.js util/scrollbar.js].freeze
6
+
5
7
  def update_javascript_assets
6
8
  log_status 'Updating javascripts...'
7
9
  save_to = @save_to[:js]
@@ -11,13 +13,26 @@ class Updater
11
13
  log_processed "#{bootstrap_js_files * ' '}"
12
14
 
13
15
  log_status 'Updating javascript manifest'
14
- manifest = ''
16
+ manifest = "//= require ./bootstrap-global-this-define\n"
15
17
  bootstrap_js_files.each do |name|
16
18
  name = name.gsub(/\.js$/, '')
17
19
  manifest << "//= require ./bootstrap/#{name}\n"
18
20
  end
21
+ manifest << "//= require ./bootstrap-global-this-undefine\n"
19
22
  dist_js = read_files('dist/js', %w(bootstrap.js bootstrap.min.js))
20
23
  {
24
+ 'assets/javascripts/bootstrap-global-this-define.js' => <<~JS,
25
+ // Set a `globalThis` so that bootstrap components are defined on window.bootstrap instead of window.
26
+ window['bootstrap'] = {
27
+ Popper: window.Popper,
28
+ _originalGlobalThis: window['globalThis']
29
+ };
30
+ window['globalThis'] = window['bootstrap'];
31
+ JS
32
+ 'assets/javascripts/bootstrap-global-this-undefine.js' => <<~JS,
33
+ window['globalThis'] = window['bootstrap']._originalGlobalThis;
34
+ window['bootstrap']._originalGlobalThis = null;
35
+ JS
21
36
  'assets/javascripts/bootstrap-sprockets.js' => manifest,
22
37
  'assets/javascripts/bootstrap.js' => dist_js['bootstrap.js'],
23
38
  'assets/javascripts/bootstrap.min.js' => dist_js['bootstrap.min.js'],
@@ -29,13 +44,13 @@ class Updater
29
44
 
30
45
  def bootstrap_js_files
31
46
  @bootstrap_js_files ||= begin
32
- src_files = get_paths_by_type('js/src', /\.js$/) - %w[index.js tools/sanitizer.js]
47
+ src_files = get_paths_by_type('js/src', /\.js$/) - INLINED_SRCS
48
+ puts "src_files: #{src_files.inspect}"
33
49
  imports = Deps.new
34
50
  # Get the imports from the ES6 files to order requires correctly.
35
51
  read_files('js/src', src_files).each do |name, content|
36
- imports.add name,
37
- *content.scan(%r{import [a-zA-Z]* from '\./(\w+)})
38
- .flatten(1).map { |f| "#{f}.js" }
52
+ file_imports = content.scan(%r{import *(?:[a-zA-Z]*|\{[a-zA-Z ,]*\}) *from '\./([\w/-]+)}).flatten(1).map { |f| "#{f}.js" }.uniq
53
+ imports.add name, *(file_imports - INLINED_SRCS)
39
54
  end
40
55
  imports.tsort
41
56
  end
@@ -25,7 +25,13 @@ class Updater
25
25
  log_http_get_files files, path_url, false
26
26
  files.map do |name|
27
27
  Thread.start {
28
- contents[name] = URI.open("#{path_url}/#{name}").read
28
+ begin
29
+ url = "#{path_url}/#{name}"
30
+ contents[name] = URI.open(url).read
31
+ rescue Exception => e
32
+ log "Error downloading #{url}: #{e}"
33
+ exit 1
34
+ end
29
35
  WRITE_FILES_MUTEX.synchronize { write_cached_files path, name => contents[name] }
30
36
  }
31
37
  end.each(&:join)
@@ -1,7 +1,8 @@
1
- //= require jquery
2
1
  //= require popper.js
3
2
  //= require bootstrap-sprockets
4
3
 
5
- jQuery(function ($) {
6
- $('[data-toggle="tooltip"]').tooltip()
4
+ document.addEventListener('DOMContentLoaded', () => {
5
+ for (const tooltipTriggerEl of document.querySelectorAll('[data-bs-toggle="tooltip"]')) {
6
+ new bootstrap.Tooltip(tooltipTriggerEl)
7
+ }
7
8
  });
@@ -1,14 +1,16 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
+ <meta charset="utf-8">
4
5
  <title>bootstrap Dummy App</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1">
5
7
  <%= stylesheet_link_tag 'application', media: "all", 'data-turbolinks-track' => true %>
6
- <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
8
  <%= csrf_meta_tags %>
8
9
  </head>
9
10
 
10
11
  <body>
11
12
  <%= yield %>
13
+ <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
12
14
  </body>
13
15
 
14
16
  </html>
@@ -0,0 +1,89 @@
1
+ <nav class="navbar navbar-expand-lg navbar-light bg-light">
2
+ <div class="container-fluid">
3
+ <a class="navbar-brand" href="#">Navbar</a>
4
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent"
5
+ aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
6
+ <span class="navbar-toggler-icon"></span>
7
+ </button>
8
+ <div class="collapse navbar-collapse" id="navbarSupportedContent">
9
+ <ul class="navbar-nav me-auto mb-2 mb-lg-0">
10
+ <li class="nav-item">
11
+ <a class="nav-link active" aria-current="page" href="#">Home</a>
12
+ </li>
13
+ <li class="nav-item">
14
+ <a class="nav-link" href="#">Link</a>
15
+ </li>
16
+ <li class="nav-item dropdown">
17
+ <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown"
18
+ aria-expanded="false">
19
+ Dropdown
20
+ </a>
21
+ <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
22
+ <li><a class="dropdown-item" href="#">Action</a></li>
23
+ <li><a class="dropdown-item" href="#">Another action</a></li>
24
+ <li>
25
+ <hr class="dropdown-divider">
26
+ </li>
27
+ <li><a class="dropdown-item" href="#">Something else here</a></li>
28
+ </ul>
29
+ </li>
30
+ <li class="nav-item">
31
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
32
+ </li>
33
+ </ul>
34
+ <form class="d-flex">
35
+ <input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
36
+ <button class="btn btn-outline-success" type="submit">Search</button>
37
+ </form>
38
+ </div>
39
+ </div>
40
+ </nav>
41
+
42
+ <div class="container">
43
+ <div class="row">
44
+ <div class="card" style="width: 18rem;">
45
+ <div class="card-body">
46
+ <h5 class="card-title">Card title</h5>
47
+ <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's
48
+ content.</p>
49
+ <a href="#" class="btn btn-primary">Go somewhere</a>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ <div class="row">
54
+ <div class="col-sm">
55
+ <div class="card" style="width: 18rem;">
56
+ <ul class="list-group list-group-flush">
57
+ <li class="list-group-item">An item</li>
58
+ <li class="list-group-item">A second item</li>
59
+ <li class="list-group-item">A third item</li>
60
+ </ul>
61
+ </div>
62
+ </div>
63
+ <div class="col-sm">
64
+ <div class="btn-group" role="group" aria-label="Basic mixed styles example">
65
+ <button type="button" class="btn btn-danger">Left</button>
66
+ <button type="button" class="btn btn-warning">Middle</button>
67
+ <button type="button" class="btn btn-success">Right</button>
68
+ </div>
69
+ </div>
70
+ <div class="col-sm">
71
+ <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top"
72
+ title="Tooltip on top">
73
+ Tooltip on top
74
+ </button>
75
+ <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right"
76
+ title="Tooltip on right">
77
+ Tooltip on right
78
+ </button>
79
+ <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom"
80
+ title="Tooltip on bottom">
81
+ Tooltip on bottom
82
+ </button>
83
+ <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left"
84
+ title="Tooltip on left">
85
+ Tooltip on left
86
+ </button>
87
+ </div>
88
+ </div>
89
+ </div>
@@ -11,11 +11,8 @@ require 'rails'
11
11
  end
12
12
 
13
13
  require 'autoprefixer-rails'
14
- require 'slim-rails'
15
14
  require 'uglifier'
16
-
17
15
  require 'bootstrap'
18
- require 'jquery-rails'
19
16
 
20
17
  module Dummy
21
18
  class Application < Rails::Application
@@ -0,0 +1,7 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'actionpack', '~> 6.1.3'
4
+ gem 'activesupport', '~> 6.1.3'
5
+ gem 'autoprefixer-rails', '>= 9.7.6'
6
+
7
+ gemspec path: '../../'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.6.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Twitter, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-26 00:00:00.000000000 Z
11
+ date: 2021-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: popper_js
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.14.3
19
+ version: 2.9.2
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '2'
22
+ version: '3'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 1.14.3
29
+ version: 2.9.2
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '2'
32
+ version: '3'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: sassc-rails
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -184,34 +184,6 @@ dependencies:
184
184
  - - ">="
185
185
  - !ruby/object:Gem::Version
186
186
  version: 2.3.2
187
- - !ruby/object:Gem::Dependency
188
- name: jquery-rails
189
- requirement: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - ">="
192
- - !ruby/object:Gem::Version
193
- version: 3.1.0
194
- type: :development
195
- prerelease: false
196
- version_requirements: !ruby/object:Gem::Requirement
197
- requirements:
198
- - - ">="
199
- - !ruby/object:Gem::Version
200
- version: 3.1.0
201
- - !ruby/object:Gem::Dependency
202
- name: slim-rails
203
- requirement: !ruby/object:Gem::Requirement
204
- requirements:
205
- - - ">="
206
- - !ruby/object:Gem::Version
207
- version: '0'
208
- type: :development
209
- prerelease: false
210
- version_requirements: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - ">="
213
- - !ruby/object:Gem::Version
214
- version: '0'
215
187
  - !ruby/object:Gem::Dependency
216
188
  name: uglifier
217
189
  requirement: !ruby/object:Gem::Requirement
@@ -240,24 +212,32 @@ files:
240
212
  - LICENSE
241
213
  - README.md
242
214
  - Rakefile
215
+ - assets/javascripts/bootstrap-global-this-define.js
216
+ - assets/javascripts/bootstrap-global-this-undefine.js
243
217
  - assets/javascripts/bootstrap-sprockets.js
244
218
  - assets/javascripts/bootstrap.js
245
219
  - assets/javascripts/bootstrap.min.js
246
220
  - assets/javascripts/bootstrap/alert.js
221
+ - assets/javascripts/bootstrap/base-component.js
247
222
  - assets/javascripts/bootstrap/button.js
248
223
  - assets/javascripts/bootstrap/carousel.js
249
224
  - assets/javascripts/bootstrap/collapse.js
225
+ - assets/javascripts/bootstrap/dom/data.js
226
+ - assets/javascripts/bootstrap/dom/event-handler.js
227
+ - assets/javascripts/bootstrap/dom/manipulator.js
228
+ - assets/javascripts/bootstrap/dom/selector-engine.js
250
229
  - assets/javascripts/bootstrap/dropdown.js
251
230
  - assets/javascripts/bootstrap/modal.js
231
+ - assets/javascripts/bootstrap/offcanvas.js
252
232
  - assets/javascripts/bootstrap/popover.js
253
233
  - assets/javascripts/bootstrap/scrollspy.js
254
234
  - assets/javascripts/bootstrap/tab.js
255
235
  - assets/javascripts/bootstrap/toast.js
256
236
  - assets/javascripts/bootstrap/tooltip.js
257
- - assets/javascripts/bootstrap/util.js
258
237
  - assets/stylesheets/_bootstrap-grid.scss
259
238
  - assets/stylesheets/_bootstrap-reboot.scss
260
239
  - assets/stylesheets/_bootstrap.scss
240
+ - assets/stylesheets/bootstrap/_accordion.scss
261
241
  - assets/stylesheets/bootstrap/_alert.scss
262
242
  - assets/stylesheets/bootstrap/_badge.scss
263
243
  - assets/stylesheets/bootstrap/_breadcrumb.scss
@@ -266,24 +246,21 @@ files:
266
246
  - assets/stylesheets/bootstrap/_card.scss
267
247
  - assets/stylesheets/bootstrap/_carousel.scss
268
248
  - assets/stylesheets/bootstrap/_close.scss
269
- - assets/stylesheets/bootstrap/_code.scss
270
- - assets/stylesheets/bootstrap/_custom-forms.scss
249
+ - assets/stylesheets/bootstrap/_containers.scss
271
250
  - assets/stylesheets/bootstrap/_dropdown.scss
272
251
  - assets/stylesheets/bootstrap/_forms.scss
273
252
  - assets/stylesheets/bootstrap/_functions.scss
274
253
  - assets/stylesheets/bootstrap/_grid.scss
254
+ - assets/stylesheets/bootstrap/_helpers.scss
275
255
  - assets/stylesheets/bootstrap/_images.scss
276
- - assets/stylesheets/bootstrap/_input-group.scss
277
- - assets/stylesheets/bootstrap/_jumbotron.scss
278
256
  - assets/stylesheets/bootstrap/_list-group.scss
279
- - assets/stylesheets/bootstrap/_media.scss
280
257
  - assets/stylesheets/bootstrap/_mixins.scss
281
258
  - assets/stylesheets/bootstrap/_modal.scss
282
259
  - assets/stylesheets/bootstrap/_nav.scss
283
260
  - assets/stylesheets/bootstrap/_navbar.scss
261
+ - assets/stylesheets/bootstrap/_offcanvas.scss
284
262
  - assets/stylesheets/bootstrap/_pagination.scss
285
263
  - assets/stylesheets/bootstrap/_popover.scss
286
- - assets/stylesheets/bootstrap/_print.scss
287
264
  - assets/stylesheets/bootstrap/_progress.scss
288
265
  - assets/stylesheets/bootstrap/_reboot.scss
289
266
  - assets/stylesheets/bootstrap/_root.scss
@@ -295,55 +272,48 @@ files:
295
272
  - assets/stylesheets/bootstrap/_type.scss
296
273
  - assets/stylesheets/bootstrap/_utilities.scss
297
274
  - assets/stylesheets/bootstrap/_variables.scss
275
+ - assets/stylesheets/bootstrap/bootstrap-utilities.scss
276
+ - assets/stylesheets/bootstrap/forms/_floating-labels.scss
277
+ - assets/stylesheets/bootstrap/forms/_form-check.scss
278
+ - assets/stylesheets/bootstrap/forms/_form-control.scss
279
+ - assets/stylesheets/bootstrap/forms/_form-range.scss
280
+ - assets/stylesheets/bootstrap/forms/_form-select.scss
281
+ - assets/stylesheets/bootstrap/forms/_form-text.scss
282
+ - assets/stylesheets/bootstrap/forms/_input-group.scss
283
+ - assets/stylesheets/bootstrap/forms/_labels.scss
284
+ - assets/stylesheets/bootstrap/forms/_validation.scss
285
+ - assets/stylesheets/bootstrap/helpers/_clearfix.scss
286
+ - assets/stylesheets/bootstrap/helpers/_colored-links.scss
287
+ - assets/stylesheets/bootstrap/helpers/_position.scss
288
+ - assets/stylesheets/bootstrap/helpers/_ratio.scss
289
+ - assets/stylesheets/bootstrap/helpers/_stretched-link.scss
290
+ - assets/stylesheets/bootstrap/helpers/_text-truncation.scss
291
+ - assets/stylesheets/bootstrap/helpers/_visually-hidden.scss
298
292
  - assets/stylesheets/bootstrap/mixins/_alert.scss
299
- - assets/stylesheets/bootstrap/mixins/_background-variant.scss
300
- - assets/stylesheets/bootstrap/mixins/_badge.scss
301
293
  - assets/stylesheets/bootstrap/mixins/_border-radius.scss
302
294
  - assets/stylesheets/bootstrap/mixins/_box-shadow.scss
303
295
  - assets/stylesheets/bootstrap/mixins/_breakpoints.scss
304
296
  - assets/stylesheets/bootstrap/mixins/_buttons.scss
305
297
  - assets/stylesheets/bootstrap/mixins/_caret.scss
306
298
  - assets/stylesheets/bootstrap/mixins/_clearfix.scss
299
+ - assets/stylesheets/bootstrap/mixins/_color-scheme.scss
300
+ - assets/stylesheets/bootstrap/mixins/_container.scss
307
301
  - assets/stylesheets/bootstrap/mixins/_deprecate.scss
308
- - assets/stylesheets/bootstrap/mixins/_float.scss
309
302
  - assets/stylesheets/bootstrap/mixins/_forms.scss
310
303
  - assets/stylesheets/bootstrap/mixins/_gradients.scss
311
- - assets/stylesheets/bootstrap/mixins/_grid-framework.scss
312
304
  - assets/stylesheets/bootstrap/mixins/_grid.scss
313
- - assets/stylesheets/bootstrap/mixins/_hover.scss
314
305
  - assets/stylesheets/bootstrap/mixins/_image.scss
315
306
  - assets/stylesheets/bootstrap/mixins/_list-group.scss
316
307
  - assets/stylesheets/bootstrap/mixins/_lists.scss
317
- - assets/stylesheets/bootstrap/mixins/_nav-divider.scss
318
308
  - assets/stylesheets/bootstrap/mixins/_pagination.scss
319
309
  - assets/stylesheets/bootstrap/mixins/_reset-text.scss
320
310
  - assets/stylesheets/bootstrap/mixins/_resize.scss
321
- - assets/stylesheets/bootstrap/mixins/_screen-reader.scss
322
- - assets/stylesheets/bootstrap/mixins/_size.scss
323
- - assets/stylesheets/bootstrap/mixins/_table-row.scss
324
- - assets/stylesheets/bootstrap/mixins/_text-emphasis.scss
325
- - assets/stylesheets/bootstrap/mixins/_text-hide.scss
311
+ - assets/stylesheets/bootstrap/mixins/_table-variants.scss
326
312
  - assets/stylesheets/bootstrap/mixins/_text-truncate.scss
327
313
  - assets/stylesheets/bootstrap/mixins/_transition.scss
328
- - assets/stylesheets/bootstrap/mixins/_visibility.scss
329
- - assets/stylesheets/bootstrap/utilities/_align.scss
330
- - assets/stylesheets/bootstrap/utilities/_background.scss
331
- - assets/stylesheets/bootstrap/utilities/_borders.scss
332
- - assets/stylesheets/bootstrap/utilities/_clearfix.scss
333
- - assets/stylesheets/bootstrap/utilities/_display.scss
334
- - assets/stylesheets/bootstrap/utilities/_embed.scss
335
- - assets/stylesheets/bootstrap/utilities/_flex.scss
336
- - assets/stylesheets/bootstrap/utilities/_float.scss
337
- - assets/stylesheets/bootstrap/utilities/_interactions.scss
338
- - assets/stylesheets/bootstrap/utilities/_overflow.scss
339
- - assets/stylesheets/bootstrap/utilities/_position.scss
340
- - assets/stylesheets/bootstrap/utilities/_screenreaders.scss
341
- - assets/stylesheets/bootstrap/utilities/_shadows.scss
342
- - assets/stylesheets/bootstrap/utilities/_sizing.scss
343
- - assets/stylesheets/bootstrap/utilities/_spacing.scss
344
- - assets/stylesheets/bootstrap/utilities/_stretched-link.scss
345
- - assets/stylesheets/bootstrap/utilities/_text.scss
346
- - assets/stylesheets/bootstrap/utilities/_visibility.scss
314
+ - assets/stylesheets/bootstrap/mixins/_utilities.scss
315
+ - assets/stylesheets/bootstrap/mixins/_visually-hidden.scss
316
+ - assets/stylesheets/bootstrap/utilities/_api.scss
347
317
  - assets/stylesheets/bootstrap/vendor/_rfs.scss
348
318
  - bootstrap.gemspec
349
319
  - lib/bootstrap.rb
@@ -365,7 +335,7 @@ files:
365
335
  - test/dummy_rails/app/controllers/pages_controller.rb
366
336
  - test/dummy_rails/app/helpers/application_helper.rb
367
337
  - test/dummy_rails/app/views/layouts/application.html.erb
368
- - test/dummy_rails/app/views/pages/root.html.slim
338
+ - test/dummy_rails/app/views/pages/root.html
369
339
  - test/dummy_rails/config.ru
370
340
  - test/dummy_rails/config/application.rb
371
341
  - test/dummy_rails/config/boot.rb
@@ -388,6 +358,7 @@ files:
388
358
  - test/gemfiles/rails_5_0.gemfile
389
359
  - test/gemfiles/rails_5_1.gemfile
390
360
  - test/gemfiles/rails_6_0.gemfile
361
+ - test/gemfiles/rails_6_1.gemfile
391
362
  - test/rails_test.rb
392
363
  - test/support/dummy_rails_integration.rb
393
364
  - test/support/reporting.rb
@@ -429,7 +400,7 @@ test_files:
429
400
  - test/dummy_rails/app/controllers/pages_controller.rb
430
401
  - test/dummy_rails/app/helpers/application_helper.rb
431
402
  - test/dummy_rails/app/views/layouts/application.html.erb
432
- - test/dummy_rails/app/views/pages/root.html.slim
403
+ - test/dummy_rails/app/views/pages/root.html
433
404
  - test/dummy_rails/config.ru
434
405
  - test/dummy_rails/config/application.rb
435
406
  - test/dummy_rails/config/boot.rb
@@ -452,6 +423,7 @@ test_files:
452
423
  - test/gemfiles/rails_5_0.gemfile
453
424
  - test/gemfiles/rails_5_1.gemfile
454
425
  - test/gemfiles/rails_6_0.gemfile
426
+ - test/gemfiles/rails_6_1.gemfile
455
427
  - test/rails_test.rb
456
428
  - test/support/dummy_rails_integration.rb
457
429
  - test/support/reporting.rb
@@ -1,192 +0,0 @@
1
- /*!
2
- * Bootstrap util.js v4.6.0 (https://getbootstrap.com/)
3
- * Copyright 2011-2021 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('jquery')) :
8
- typeof define === 'function' && define.amd ? define(['jquery'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Util = factory(global.jQuery));
10
- }(this, (function ($) { 'use strict';
11
-
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
-
16
- /**
17
- * --------------------------------------------------------------------------
18
- * Bootstrap (v4.6.0): util.js
19
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
20
- * --------------------------------------------------------------------------
21
- */
22
- /**
23
- * ------------------------------------------------------------------------
24
- * Private TransitionEnd Helpers
25
- * ------------------------------------------------------------------------
26
- */
27
-
28
- var TRANSITION_END = 'transitionend';
29
- var MAX_UID = 1000000;
30
- var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
31
-
32
- function toType(obj) {
33
- if (obj === null || typeof obj === 'undefined') {
34
- return "" + obj;
35
- }
36
-
37
- return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
38
- }
39
-
40
- function getSpecialTransitionEndEvent() {
41
- return {
42
- bindType: TRANSITION_END,
43
- delegateType: TRANSITION_END,
44
- handle: function handle(event) {
45
- if ($__default['default'](event.target).is(this)) {
46
- return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
47
- }
48
-
49
- return undefined;
50
- }
51
- };
52
- }
53
-
54
- function transitionEndEmulator(duration) {
55
- var _this = this;
56
-
57
- var called = false;
58
- $__default['default'](this).one(Util.TRANSITION_END, function () {
59
- called = true;
60
- });
61
- setTimeout(function () {
62
- if (!called) {
63
- Util.triggerTransitionEnd(_this);
64
- }
65
- }, duration);
66
- return this;
67
- }
68
-
69
- function setTransitionEndSupport() {
70
- $__default['default'].fn.emulateTransitionEnd = transitionEndEmulator;
71
- $__default['default'].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
72
- }
73
- /**
74
- * --------------------------------------------------------------------------
75
- * Public Util Api
76
- * --------------------------------------------------------------------------
77
- */
78
-
79
-
80
- var Util = {
81
- TRANSITION_END: 'bsTransitionEnd',
82
- getUID: function getUID(prefix) {
83
- do {
84
- prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
85
- } while (document.getElementById(prefix));
86
-
87
- return prefix;
88
- },
89
- getSelectorFromElement: function getSelectorFromElement(element) {
90
- var selector = element.getAttribute('data-target');
91
-
92
- if (!selector || selector === '#') {
93
- var hrefAttr = element.getAttribute('href');
94
- selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';
95
- }
96
-
97
- try {
98
- return document.querySelector(selector) ? selector : null;
99
- } catch (_) {
100
- return null;
101
- }
102
- },
103
- getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
104
- if (!element) {
105
- return 0;
106
- } // Get transition-duration of the element
107
-
108
-
109
- var transitionDuration = $__default['default'](element).css('transition-duration');
110
- var transitionDelay = $__default['default'](element).css('transition-delay');
111
- var floatTransitionDuration = parseFloat(transitionDuration);
112
- var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
113
-
114
- if (!floatTransitionDuration && !floatTransitionDelay) {
115
- return 0;
116
- } // If multiple durations are defined, take the first
117
-
118
-
119
- transitionDuration = transitionDuration.split(',')[0];
120
- transitionDelay = transitionDelay.split(',')[0];
121
- return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
122
- },
123
- reflow: function reflow(element) {
124
- return element.offsetHeight;
125
- },
126
- triggerTransitionEnd: function triggerTransitionEnd(element) {
127
- $__default['default'](element).trigger(TRANSITION_END);
128
- },
129
- supportsTransitionEnd: function supportsTransitionEnd() {
130
- return Boolean(TRANSITION_END);
131
- },
132
- isElement: function isElement(obj) {
133
- return (obj[0] || obj).nodeType;
134
- },
135
- typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
136
- for (var property in configTypes) {
137
- if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
138
- var expectedTypes = configTypes[property];
139
- var value = config[property];
140
- var valueType = value && Util.isElement(value) ? 'element' : toType(value);
141
-
142
- if (!new RegExp(expectedTypes).test(valueType)) {
143
- throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
144
- }
145
- }
146
- }
147
- },
148
- findShadowRoot: function findShadowRoot(element) {
149
- if (!document.documentElement.attachShadow) {
150
- return null;
151
- } // Can find the shadow root otherwise it'll return the document
152
-
153
-
154
- if (typeof element.getRootNode === 'function') {
155
- var root = element.getRootNode();
156
- return root instanceof ShadowRoot ? root : null;
157
- }
158
-
159
- if (element instanceof ShadowRoot) {
160
- return element;
161
- } // when we don't find a shadow root
162
-
163
-
164
- if (!element.parentNode) {
165
- return null;
166
- }
167
-
168
- return Util.findShadowRoot(element.parentNode);
169
- },
170
- jQueryDetection: function jQueryDetection() {
171
- if (typeof $__default['default'] === 'undefined') {
172
- throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
173
- }
174
-
175
- var version = $__default['default'].fn.jquery.split(' ')[0].split('.');
176
- var minMajor = 1;
177
- var ltMajor = 2;
178
- var minMinor = 9;
179
- var minPatch = 1;
180
- var maxMajor = 4;
181
-
182
- if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
183
- throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
184
- }
185
- }
186
- };
187
- Util.jQueryDetection();
188
- setTransitionEndSupport();
189
-
190
- return Util;
191
-
192
- })));