bootstrap 5.0.0.alpha2 → 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 (96) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/README.md +7 -4
  4. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  5. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  6. data/assets/javascripts/bootstrap-sprockets.js +10 -7
  7. data/assets/javascripts/bootstrap.js +2554 -2564
  8. data/assets/javascripts/bootstrap.min.js +3 -3
  9. data/assets/javascripts/bootstrap/alert.js +119 -115
  10. data/assets/javascripts/bootstrap/base-component.js +63 -0
  11. data/assets/javascripts/bootstrap/button.js +67 -69
  12. data/assets/javascripts/bootstrap/carousel.js +340 -331
  13. data/assets/javascripts/bootstrap/collapse.js +214 -209
  14. data/assets/javascripts/bootstrap/dom/data.js +35 -48
  15. data/assets/javascripts/bootstrap/dom/event-handler.js +105 -98
  16. data/assets/javascripts/bootstrap/dom/manipulator.js +26 -34
  17. data/assets/javascripts/bootstrap/dom/selector-engine.js +28 -41
  18. data/assets/javascripts/bootstrap/dropdown.js +392 -325
  19. data/assets/javascripts/bootstrap/modal.js +492 -434
  20. data/assets/javascripts/bootstrap/offcanvas.js +671 -0
  21. data/assets/javascripts/bootstrap/popover.js +114 -132
  22. data/assets/javascripts/bootstrap/scrollspy.js +172 -180
  23. data/assets/javascripts/bootstrap/tab.js +168 -144
  24. data/assets/javascripts/bootstrap/toast.js +141 -150
  25. data/assets/javascripts/bootstrap/tooltip.js +466 -452
  26. data/assets/stylesheets/_bootstrap-grid.scss +9 -9
  27. data/assets/stylesheets/_bootstrap-reboot.scss +3 -3
  28. data/assets/stylesheets/_bootstrap.scss +5 -3
  29. data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
  30. data/assets/stylesheets/bootstrap/_alert.scss +10 -3
  31. data/assets/stylesheets/bootstrap/_breadcrumb.scss +2 -4
  32. data/assets/stylesheets/bootstrap/_button-group.scss +5 -7
  33. data/assets/stylesheets/bootstrap/_buttons.scss +2 -15
  34. data/assets/stylesheets/bootstrap/_card.scss +2 -29
  35. data/assets/stylesheets/bootstrap/_carousel.scss +35 -18
  36. data/assets/stylesheets/bootstrap/_close.scss +2 -3
  37. data/assets/stylesheets/bootstrap/_dropdown.scss +33 -29
  38. data/assets/stylesheets/bootstrap/_forms.scss +1 -1
  39. data/assets/stylesheets/bootstrap/_functions.scss +11 -12
  40. data/assets/stylesheets/bootstrap/_list-group.scss +23 -6
  41. data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
  42. data/assets/stylesheets/bootstrap/_modal.scss +2 -9
  43. data/assets/stylesheets/bootstrap/_nav.scss +12 -0
  44. data/assets/stylesheets/bootstrap/_navbar.scss +15 -2
  45. data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
  46. data/assets/stylesheets/bootstrap/_pagination.scss +3 -3
  47. data/assets/stylesheets/bootstrap/_popover.scss +10 -22
  48. data/assets/stylesheets/bootstrap/_progress.scss +4 -1
  49. data/assets/stylesheets/bootstrap/_reboot.scss +48 -44
  50. data/assets/stylesheets/bootstrap/_root.scss +5 -5
  51. data/assets/stylesheets/bootstrap/_spinners.scss +18 -5
  52. data/assets/stylesheets/bootstrap/_tables.scss +15 -16
  53. data/assets/stylesheets/bootstrap/_toasts.scss +15 -12
  54. data/assets/stylesheets/bootstrap/_tooltip.scss +12 -12
  55. data/assets/stylesheets/bootstrap/_transitions.scss +2 -0
  56. data/assets/stylesheets/bootstrap/_utilities.scss +133 -70
  57. data/assets/stylesheets/bootstrap/_variables.scss +363 -207
  58. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +5 -5
  59. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
  60. data/assets/stylesheets/bootstrap/forms/_form-check.scss +21 -11
  61. data/assets/stylesheets/bootstrap/forms/_form-control.scss +112 -9
  62. data/assets/stylesheets/bootstrap/forms/_form-range.scss +1 -46
  63. data/assets/stylesheets/bootstrap/forms/_form-select.scss +1 -16
  64. data/assets/stylesheets/bootstrap/forms/_input-group.scss +21 -40
  65. data/assets/stylesheets/bootstrap/forms/_validation.scss +1 -1
  66. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +2 -2
  67. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +2 -2
  68. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +1 -1
  69. data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -1
  70. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +8 -6
  71. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +10 -5
  72. data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -6
  73. data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
  74. data/assets/stylesheets/bootstrap/mixins/_container.scss +2 -4
  75. data/assets/stylesheets/bootstrap/mixins/_forms.scss +26 -22
  76. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +5 -1
  77. data/assets/stylesheets/bootstrap/mixins/_grid.scss +18 -13
  78. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +3 -1
  79. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +5 -3
  80. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +7 -7
  81. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +19 -0
  82. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +3 -2
  83. data/assets/stylesheets/bootstrap/utilities/_api.scss +1 -1
  84. data/bootstrap.gemspec +1 -3
  85. data/lib/bootstrap/version.rb +2 -2
  86. data/tasks/updater/js.rb +20 -5
  87. data/tasks/updater/network.rb +7 -1
  88. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  89. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  90. data/test/dummy_rails/app/views/pages/root.html +89 -0
  91. data/test/dummy_rails/config/application.rb +0 -3
  92. data/test/gemfiles/rails_6_1.gemfile +7 -0
  93. metadata +20 -40
  94. data/assets/javascripts/bootstrap/dom/polyfill.js +0 -110
  95. data/assets/stylesheets/bootstrap/forms/_form-file.scss +0 -91
  96. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
@@ -3,13 +3,13 @@
3
3
  // Generate semantic grid columns with these mixins.
4
4
 
5
5
  @mixin make-row($gutter: $grid-gutter-width) {
6
- --bs-gutter-x: #{$gutter};
7
- --bs-gutter-y: 0;
6
+ --#{$variable-prefix}gutter-x: #{$gutter};
7
+ --#{$variable-prefix}gutter-y: 0;
8
8
  display: flex;
9
9
  flex-wrap: wrap;
10
- margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-disallowed-list
11
- margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-disallowed-list
12
- margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-disallowed-list
10
+ margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list
11
+ margin-right: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list
12
+ margin-left: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list
13
13
  }
14
14
 
15
15
  @mixin make-col-ready($gutter: $grid-gutter-width) {
@@ -21,14 +21,19 @@
21
21
  flex-shrink: 0;
22
22
  width: 100%;
23
23
  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid
24
- padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list
25
- padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list
26
- margin-top: var(--bs-gutter-y);
24
+ padding-right: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list
25
+ padding-left: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list
26
+ margin-top: var(--#{$variable-prefix}gutter-y);
27
27
  }
28
28
 
29
- @mixin make-col($size, $columns: $grid-columns) {
30
- flex: 0 0 auto;
31
- width: percentage($size / $columns);
29
+ @mixin make-col($size: false, $columns: $grid-columns) {
30
+ @if $size {
31
+ flex: 0 0 auto;
32
+ width: percentage($size / $columns);
33
+ } @else {
34
+ flex: 1 1 0;
35
+ max-width: 100%;
36
+ }
32
37
  }
33
38
 
34
39
  @mixin make-col-auto() {
@@ -107,12 +112,12 @@
107
112
  @each $key, $value in $gutters {
108
113
  .g#{$infix}-#{$key},
109
114
  .gx#{$infix}-#{$key} {
110
- --bs-gutter-x: #{$value};
115
+ --#{$variable-prefix}gutter-x: #{$value};
111
116
  }
112
117
 
113
118
  .g#{$infix}-#{$key},
114
119
  .gy#{$infix}-#{$key} {
115
- --bs-gutter-y: #{$value};
120
+ --#{$variable-prefix}gutter-y: #{$value};
116
121
  }
117
122
  }
118
123
  }
@@ -1,5 +1,6 @@
1
1
  // List Groups
2
2
 
3
+ // scss-docs-start list-group-mixin
3
4
  @mixin list-group-item-variant($state, $background, $color) {
4
5
  .list-group-item-#{$state} {
5
6
  color: $color;
@@ -9,7 +10,7 @@
9
10
  &:hover,
10
11
  &:focus {
11
12
  color: $color;
12
- background-color: darken($background, 5%);
13
+ background-color: shade-color($background, 10%);
13
14
  }
14
15
 
15
16
  &.active {
@@ -20,3 +21,4 @@
20
21
  }
21
22
  }
22
23
  }
24
+ // scss-docs-end list-group-mixin
@@ -1,5 +1,6 @@
1
1
  // Pagination
2
2
 
3
+ // scss-docs-start pagination-mixin
3
4
  @mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {
4
5
  .page-link {
5
6
  padding: $padding-y $padding-x;
@@ -7,16 +8,16 @@
7
8
  }
8
9
 
9
10
  .page-item {
10
- @if $pagination-margin-left == (-$pagination-border-width) {
11
+ @if $pagination-margin-start == (-$pagination-border-width) {
11
12
  &:first-child {
12
13
  .page-link {
13
- @include border-left-radius($border-radius);
14
+ @include border-start-radius($border-radius);
14
15
  }
15
16
  }
16
17
 
17
18
  &:last-child {
18
19
  .page-link {
19
- @include border-right-radius($border-radius);
20
+ @include border-end-radius($border-radius);
20
21
  }
21
22
  }
22
23
  } @else {
@@ -27,3 +28,4 @@
27
28
  }
28
29
  }
29
30
  }
31
+ // scss-docs-end pagination-mixin
@@ -6,13 +6,13 @@
6
6
  $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));
7
7
  $active-bg: mix($color, $background, percentage($table-active-bg-factor));
8
8
 
9
- --bs-table-bg: #{$background};
10
- --bs-table-striped-bg: #{$striped-bg};
11
- --bs-table-striped-color: #{color-contrast($striped-bg)};
12
- --bs-table-active-bg: #{$active-bg};
13
- --bs-table-active-color: #{color-contrast($active-bg)};
14
- --bs-table-hover-bg: #{$hover-bg};
15
- --bs-table-hover-color: #{color-contrast($hover-bg)};
9
+ --#{$variable-prefix}table-bg: #{$background};
10
+ --#{$variable-prefix}table-striped-bg: #{$striped-bg};
11
+ --#{$variable-prefix}table-striped-color: #{color-contrast($striped-bg)};
12
+ --#{$variable-prefix}table-active-bg: #{$active-bg};
13
+ --#{$variable-prefix}table-active-color: #{color-contrast($active-bg)};
14
+ --#{$variable-prefix}table-hover-bg: #{$hover-bg};
15
+ --#{$variable-prefix}table-hover-color: #{color-contrast($hover-bg)};
16
16
 
17
17
  color: $color;
18
18
  border-color: mix($color, $background, percentage($table-border-factor));
@@ -20,6 +20,9 @@
20
20
  $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));
21
21
  $property-class: if($property-class == null, "", $property-class);
22
22
 
23
+ // State params to generate pseudo-classes
24
+ $state: if(map-has-key($utility, state), map-get($utility, state), ());
25
+
23
26
  $infix: if($property-class == "" and str-slice($infix, 1, 1) == "-", str-slice($infix, 2), $infix);
24
27
 
25
28
  // Don't prefix if value key is null (eg. with shadow class)
@@ -38,12 +41,28 @@
38
41
  }
39
42
  }
40
43
 
44
+ $is-rtl: map-get($utility, rtl);
45
+
41
46
  @if $value != null {
47
+ @if $is-rtl == false {
48
+ /* rtl:begin:remove */
49
+ }
42
50
  .#{$property-class + $infix + $property-class-modifier} {
43
51
  @each $property in $properties {
44
52
  #{$property}: $value if($enable-important-utilities, !important, null);
45
53
  }
46
54
  }
55
+
56
+ @each $pseudo in $state {
57
+ .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {
58
+ @each $property in $properties {
59
+ #{$property}: $value if($enable-important-utilities, !important, null);
60
+ }
61
+ }
62
+ }
63
+ @if $is-rtl == false {
64
+ /* rtl:end:remove */
65
+ }
47
66
  }
48
67
  }
49
68
  }
@@ -17,12 +17,13 @@
17
17
  border: 0 !important;
18
18
  }
19
19
 
20
- // Use to only display content when it's focused.
20
+ // Use to only display content when it's focused, or one of its child elements is focused
21
+ // (i.e. when focus is within the element/container that the class was applied to)
21
22
  //
22
23
  // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
23
24
 
24
25
  @mixin visually-hidden-focusable() {
25
- &:not(:focus) {
26
+ &:not(:focus):not(:focus-within) {
26
27
  @include visually-hidden();
27
28
  }
28
29
  }
@@ -26,7 +26,7 @@
26
26
  @each $key, $utility in $utilities {
27
27
  // The utility can be disabled with `false`, thus check if the utility is a map first
28
28
  // Only proceed if responsive media queries are enabled or if it's the base media query
29
- @if type-of($utility) == "map" and map-get($utility, rfs) {
29
+ @if type-of($utility) == "map" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == "") {
30
30
  @include generate-utility($utility, $infix, true);
31
31
  }
32
32
  }
data/bootstrap.gemspec CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
  # SassC requires Ruby 2.3.3. Also specify here to make it obvious.
15
15
  s.required_ruby_version = '>= 2.3.3'
16
16
 
17
- s.add_runtime_dependency 'popper_js', '>= 1.14.3', '< 2'
17
+ s.add_runtime_dependency 'popper_js', '>= 2.9.2', '< 3'
18
18
 
19
19
  s.add_runtime_dependency 'sassc-rails', '>= 2.0.0'
20
20
  s.add_runtime_dependency 'autoprefixer-rails', '>= 9.1.0'
@@ -31,8 +31,6 @@ Gem::Specification.new do |s|
31
31
  s.add_development_dependency 'activesupport', '>= 4.1.5'
32
32
  s.add_development_dependency 'json', '>= 1.8.1'
33
33
  s.add_development_dependency 'sprockets-rails', '>= 2.3.2'
34
- s.add_development_dependency 'jquery-rails', '>= 3.1.0'
35
- s.add_development_dependency 'slim-rails'
36
34
  s.add_development_dependency 'uglifier'
37
35
 
38
36
  s.files = `git ls-files`.split("\n")
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bootstrap
4
- VERSION = '5.0.0.alpha2'
5
- BOOTSTRAP_SHA = 'b083c9639fd9012e5cba57d6c4088d43b3c3e57d'
4
+ VERSION = '5.0.0'
5
+ BOOTSTRAP_SHA = 'bf0936748602c8109fd916c64b4560799fa1c3f8'
6
6
  end
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[util/index.js util/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" }.uniq
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: 5.0.0.alpha2
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: 2020-11-08 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,20 +212,23 @@ 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
250
225
  - assets/javascripts/bootstrap/dom/data.js
251
226
  - assets/javascripts/bootstrap/dom/event-handler.js
252
227
  - assets/javascripts/bootstrap/dom/manipulator.js
253
- - assets/javascripts/bootstrap/dom/polyfill.js
254
228
  - assets/javascripts/bootstrap/dom/selector-engine.js
255
229
  - assets/javascripts/bootstrap/dropdown.js
256
230
  - assets/javascripts/bootstrap/modal.js
231
+ - assets/javascripts/bootstrap/offcanvas.js
257
232
  - assets/javascripts/bootstrap/popover.js
258
233
  - assets/javascripts/bootstrap/scrollspy.js
259
234
  - assets/javascripts/bootstrap/tab.js
@@ -262,6 +237,7 @@ files:
262
237
  - assets/stylesheets/_bootstrap-grid.scss
263
238
  - assets/stylesheets/_bootstrap-reboot.scss
264
239
  - assets/stylesheets/_bootstrap.scss
240
+ - assets/stylesheets/bootstrap/_accordion.scss
265
241
  - assets/stylesheets/bootstrap/_alert.scss
266
242
  - assets/stylesheets/bootstrap/_badge.scss
267
243
  - assets/stylesheets/bootstrap/_breadcrumb.scss
@@ -282,6 +258,7 @@ files:
282
258
  - assets/stylesheets/bootstrap/_modal.scss
283
259
  - assets/stylesheets/bootstrap/_nav.scss
284
260
  - assets/stylesheets/bootstrap/_navbar.scss
261
+ - assets/stylesheets/bootstrap/_offcanvas.scss
285
262
  - assets/stylesheets/bootstrap/_pagination.scss
286
263
  - assets/stylesheets/bootstrap/_popover.scss
287
264
  - assets/stylesheets/bootstrap/_progress.scss
@@ -296,9 +273,9 @@ files:
296
273
  - assets/stylesheets/bootstrap/_utilities.scss
297
274
  - assets/stylesheets/bootstrap/_variables.scss
298
275
  - assets/stylesheets/bootstrap/bootstrap-utilities.scss
276
+ - assets/stylesheets/bootstrap/forms/_floating-labels.scss
299
277
  - assets/stylesheets/bootstrap/forms/_form-check.scss
300
278
  - assets/stylesheets/bootstrap/forms/_form-control.scss
301
- - assets/stylesheets/bootstrap/forms/_form-file.scss
302
279
  - assets/stylesheets/bootstrap/forms/_form-range.scss
303
280
  - assets/stylesheets/bootstrap/forms/_form-select.scss
304
281
  - assets/stylesheets/bootstrap/forms/_form-text.scss
@@ -319,6 +296,7 @@ files:
319
296
  - assets/stylesheets/bootstrap/mixins/_buttons.scss
320
297
  - assets/stylesheets/bootstrap/mixins/_caret.scss
321
298
  - assets/stylesheets/bootstrap/mixins/_clearfix.scss
299
+ - assets/stylesheets/bootstrap/mixins/_color-scheme.scss
322
300
  - assets/stylesheets/bootstrap/mixins/_container.scss
323
301
  - assets/stylesheets/bootstrap/mixins/_deprecate.scss
324
302
  - assets/stylesheets/bootstrap/mixins/_forms.scss
@@ -357,7 +335,7 @@ files:
357
335
  - test/dummy_rails/app/controllers/pages_controller.rb
358
336
  - test/dummy_rails/app/helpers/application_helper.rb
359
337
  - test/dummy_rails/app/views/layouts/application.html.erb
360
- - test/dummy_rails/app/views/pages/root.html.slim
338
+ - test/dummy_rails/app/views/pages/root.html
361
339
  - test/dummy_rails/config.ru
362
340
  - test/dummy_rails/config/application.rb
363
341
  - test/dummy_rails/config/boot.rb
@@ -380,6 +358,7 @@ files:
380
358
  - test/gemfiles/rails_5_0.gemfile
381
359
  - test/gemfiles/rails_5_1.gemfile
382
360
  - test/gemfiles/rails_6_0.gemfile
361
+ - test/gemfiles/rails_6_1.gemfile
383
362
  - test/rails_test.rb
384
363
  - test/support/dummy_rails_integration.rb
385
364
  - test/support/reporting.rb
@@ -400,9 +379,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
400
379
  version: 2.3.3
401
380
  required_rubygems_version: !ruby/object:Gem::Requirement
402
381
  requirements:
403
- - - ">"
382
+ - - ">="
404
383
  - !ruby/object:Gem::Version
405
- version: 1.3.1
384
+ version: '0'
406
385
  requirements: []
407
386
  rubygems_version: 3.1.2
408
387
  signing_key:
@@ -421,7 +400,7 @@ test_files:
421
400
  - test/dummy_rails/app/controllers/pages_controller.rb
422
401
  - test/dummy_rails/app/helpers/application_helper.rb
423
402
  - test/dummy_rails/app/views/layouts/application.html.erb
424
- - test/dummy_rails/app/views/pages/root.html.slim
403
+ - test/dummy_rails/app/views/pages/root.html
425
404
  - test/dummy_rails/config.ru
426
405
  - test/dummy_rails/config/application.rb
427
406
  - test/dummy_rails/config/boot.rb
@@ -444,6 +423,7 @@ test_files:
444
423
  - test/gemfiles/rails_5_0.gemfile
445
424
  - test/gemfiles/rails_5_1.gemfile
446
425
  - test/gemfiles/rails_6_0.gemfile
426
+ - test/gemfiles/rails_6_1.gemfile
447
427
  - test/rails_test.rb
448
428
  - test/support/dummy_rails_integration.rb
449
429
  - test/support/reporting.rb