bootstrap 4.6.0 → 5.0.0

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 (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
- })));