bootstrap 5.3.0 → 5.3.8

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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +22 -21
  3. data/CHANGELOG.md +9 -0
  4. data/Gemfile +1 -0
  5. data/README.md +11 -10
  6. data/Rakefile +16 -5
  7. data/assets/javascripts/bootstrap/alert.js +2 -2
  8. data/assets/javascripts/bootstrap/base-component.js +5 -3
  9. data/assets/javascripts/bootstrap/button.js +2 -2
  10. data/assets/javascripts/bootstrap/carousel.js +2 -2
  11. data/assets/javascripts/bootstrap/collapse.js +4 -4
  12. data/assets/javascripts/bootstrap/dom/data.js +2 -2
  13. data/assets/javascripts/bootstrap/dom/event-handler.js +2 -2
  14. data/assets/javascripts/bootstrap/dom/manipulator.js +3 -3
  15. data/assets/javascripts/bootstrap/dom/selector-engine.js +3 -3
  16. data/assets/javascripts/bootstrap/dropdown.js +4 -4
  17. data/assets/javascripts/bootstrap/modal.js +2 -2
  18. data/assets/javascripts/bootstrap/offcanvas.js +2 -2
  19. data/assets/javascripts/bootstrap/popover.js +2 -2
  20. data/assets/javascripts/bootstrap/scrollspy.js +2 -2
  21. data/assets/javascripts/bootstrap/tab.js +14 -6
  22. data/assets/javascripts/bootstrap/toast.js +2 -3
  23. data/assets/javascripts/bootstrap/tooltip.js +6 -6
  24. data/assets/javascripts/bootstrap/util/backdrop.js +2 -3
  25. data/assets/javascripts/bootstrap/util/component-functions.js +2 -2
  26. data/assets/javascripts/bootstrap/util/config.js +2 -2
  27. data/assets/javascripts/bootstrap/util/focustrap.js +2 -3
  28. data/assets/javascripts/bootstrap/util/index.js +4 -5
  29. data/assets/javascripts/bootstrap/util/sanitizer.js +5 -3
  30. data/assets/javascripts/bootstrap/util/scrollbar.js +2 -2
  31. data/assets/javascripts/bootstrap/util/swipe.js +2 -2
  32. data/assets/javascripts/bootstrap/util/template-factory.js +3 -3
  33. data/assets/javascripts/bootstrap-sprockets.js +13 -13
  34. data/assets/javascripts/bootstrap.js +33 -25
  35. data/assets/javascripts/bootstrap.min.js +3 -3
  36. data/assets/stylesheets/_bootstrap-utilities.scss +19 -0
  37. data/assets/stylesheets/bootstrap/_accordion.scss +10 -15
  38. data/assets/stylesheets/bootstrap/_button-group.scss +8 -3
  39. data/assets/stylesheets/bootstrap/_buttons.scss +10 -1
  40. data/assets/stylesheets/bootstrap/_card.scss +9 -10
  41. data/assets/stylesheets/bootstrap/_carousel.scss +17 -35
  42. data/assets/stylesheets/bootstrap/_close.scss +9 -6
  43. data/assets/stylesheets/bootstrap/_functions.scss +2 -2
  44. data/assets/stylesheets/bootstrap/_list-group.scss +27 -25
  45. data/assets/stylesheets/bootstrap/_modal.scss +6 -3
  46. data/assets/stylesheets/bootstrap/_nav.scss +3 -15
  47. data/assets/stylesheets/bootstrap/_navbar.scss +1 -1
  48. data/assets/stylesheets/bootstrap/_offcanvas.scss +2 -1
  49. data/assets/stylesheets/bootstrap/_pagination.scss +1 -1
  50. data/assets/stylesheets/bootstrap/_progress.scss +1 -1
  51. data/assets/stylesheets/bootstrap/_reboot.scss +12 -5
  52. data/assets/stylesheets/bootstrap/_root.scss +3 -0
  53. data/assets/stylesheets/bootstrap/_spinners.scss +1 -0
  54. data/assets/stylesheets/bootstrap/_tables.scss +1 -1
  55. data/assets/stylesheets/bootstrap/_type.scss +1 -1
  56. data/assets/stylesheets/bootstrap/_utilities.scss +3 -3
  57. data/assets/stylesheets/bootstrap/_variables-dark.scss +20 -3
  58. data/assets/stylesheets/bootstrap/_variables.scss +42 -32
  59. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +20 -17
  60. data/assets/stylesheets/bootstrap/forms/_form-check.scss +3 -2
  61. data/assets/stylesheets/bootstrap/forms/_form-control.scss +1 -1
  62. data/assets/stylesheets/bootstrap/forms/_form-range.scss +3 -3
  63. data/assets/stylesheets/bootstrap/forms/_form-select.scss +1 -1
  64. data/assets/stylesheets/bootstrap/forms/_input-group.scss +1 -1
  65. data/assets/stylesheets/bootstrap/helpers/_color-bg.scss +1 -2
  66. data/assets/stylesheets/bootstrap/helpers/_vr.scss +1 -1
  67. data/assets/stylesheets/bootstrap/mixins/_banner.scss +2 -2
  68. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +11 -5
  69. data/assets/stylesheets/bootstrap/mixins/_forms.scss +12 -2
  70. data/assets/stylesheets/bootstrap/mixins/_grid.scss +3 -3
  71. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +6 -1
  72. data/bootstrap.gemspec +4 -4
  73. data/lib/bootstrap/engine.rb +17 -2
  74. data/lib/bootstrap/version.rb +2 -2
  75. data/tasks/updater/scss.rb +1 -1
  76. data/test/dummy_rails/config/application.rb +0 -2
  77. data/test/dummy_rails/public/favicon.ico +0 -0
  78. data/test/gemfiles/rails_4_2.gemfile +2 -1
  79. data/test/gemfiles/rails_5_0.gemfile +1 -2
  80. data/test/gemfiles/rails_5_1.gemfile +1 -2
  81. data/test/gemfiles/rails_5_2.gemfile +1 -2
  82. data/test/gemfiles/rails_6_0.gemfile +9 -1
  83. data/test/gemfiles/rails_6_1.gemfile +9 -1
  84. data/test/gemfiles/rails_7_0_dartsass.gemfile +15 -0
  85. data/test/gemfiles/rails_7_0_sassc.gemfile +15 -0
  86. data/test/rails_test.rb +0 -5
  87. data/test/test_helper.rb +6 -4
  88. metadata +42 -32
  89. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +0 -19
  90. data/test/gemfiles/rails_7_0.gemfile +0 -7
@@ -14,9 +14,11 @@
14
14
  top: 0;
15
15
  left: 0;
16
16
  z-index: 2;
17
+ max-width: 100%;
17
18
  height: 100%; // allow textareas
18
19
  padding: $form-floating-padding-y $form-floating-padding-x;
19
20
  overflow: hidden;
21
+ color: rgba(var(--#{$prefix}body-color-rgb), #{$form-floating-label-opacity});
20
22
  text-align: start;
21
23
  text-overflow: ellipsis;
22
24
  white-space: nowrap;
@@ -49,6 +51,7 @@
49
51
  > .form-select {
50
52
  padding-top: $form-floating-input-padding-t;
51
53
  padding-bottom: $form-floating-input-padding-b;
54
+ padding-left: $form-floating-padding-x;
52
55
  }
53
56
 
54
57
  > .form-control:focus,
@@ -56,27 +59,30 @@
56
59
  > .form-control-plaintext,
57
60
  > .form-select {
58
61
  ~ label {
59
- color: rgba(var(--#{$prefix}body-color-rgb), #{$form-floating-label-opacity});
60
62
  transform: $form-floating-label-transform;
61
-
62
- &::after {
63
- position: absolute;
64
- inset: $form-floating-padding-y ($form-floating-padding-x * .5);
65
- z-index: -1;
66
- height: $form-floating-label-height;
67
- content: "";
68
- background-color: $input-bg;
69
- @include border-radius($input-border-radius);
70
- }
71
63
  }
72
64
  }
73
65
  // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
74
66
  > .form-control:-webkit-autofill {
75
67
  ~ label {
76
- color: rgba(var(--#{$prefix}body-color-rgb), #{$form-floating-label-opacity});
77
68
  transform: $form-floating-label-transform;
78
69
  }
79
70
  }
71
+ > textarea:focus,
72
+ > textarea:not(:placeholder-shown) {
73
+ ~ label::after {
74
+ position: absolute;
75
+ inset: $form-floating-padding-y ($form-floating-padding-x * .5);
76
+ z-index: -1;
77
+ height: $form-floating-label-height;
78
+ content: "";
79
+ background-color: $input-bg;
80
+ @include border-radius($input-border-radius);
81
+ }
82
+ }
83
+ > textarea:disabled ~ label::after {
84
+ background-color: $input-disabled-bg;
85
+ }
80
86
 
81
87
  > .form-control-plaintext {
82
88
  ~ label {
@@ -84,11 +90,8 @@
84
90
  }
85
91
  }
86
92
 
87
- > :disabled ~ label {
93
+ > :disabled ~ label,
94
+ > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity
88
95
  color: $form-floating-label-disabled-color;
89
-
90
- &::after {
91
- background-color: $input-disabled-bg;
92
- }
93
96
  }
94
97
  }
@@ -29,17 +29,18 @@
29
29
  .form-check-input {
30
30
  --#{$prefix}form-check-bg: #{$form-check-input-bg};
31
31
 
32
+ flex-shrink: 0;
32
33
  width: $form-check-input-width;
33
34
  height: $form-check-input-width;
34
35
  margin-top: ($line-height-base - $form-check-input-width) * .5; // line-height minus check height
35
36
  vertical-align: top;
37
+ appearance: none;
36
38
  background-color: var(--#{$prefix}form-check-bg);
37
39
  background-image: var(--#{$prefix}form-check-bg-image);
38
40
  background-repeat: no-repeat;
39
41
  background-position: center;
40
42
  background-size: contain;
41
43
  border: $form-check-input-border;
42
- appearance: none;
43
44
  print-color-adjust: exact; // Keep themed appearance for print
44
45
  @include transition($form-check-transition);
45
46
 
@@ -130,7 +131,7 @@
130
131
  margin-left: $form-switch-padding-start * -1;
131
132
  background-image: var(--#{$prefix}form-switch-bg);
132
133
  background-position: left center;
133
- @include border-radius($form-switch-border-radius);
134
+ @include border-radius($form-switch-border-radius, 0);
134
135
  @include transition($form-switch-transition);
135
136
 
136
137
  &:focus {
@@ -11,10 +11,10 @@
11
11
  font-weight: $input-font-weight;
12
12
  line-height: $input-line-height;
13
13
  color: $input-color;
14
+ appearance: none; // Fix appearance for date inputs in Safari
14
15
  background-color: $input-bg;
15
16
  background-clip: padding-box;
16
17
  border: $input-border-width solid $input-border-color;
17
- appearance: none; // Fix appearance for date inputs in Safari
18
18
 
19
19
  // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
20
20
  @include border-radius($input-border-radius, 0);
@@ -8,8 +8,8 @@
8
8
  width: 100%;
9
9
  height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);
10
10
  padding: 0; // Need to reset padding
11
- background-color: transparent;
12
11
  appearance: none;
12
+ background-color: transparent;
13
13
 
14
14
  &:focus {
15
15
  outline: 0;
@@ -28,12 +28,12 @@
28
28
  width: $form-range-thumb-width;
29
29
  height: $form-range-thumb-height;
30
30
  margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific
31
+ appearance: none;
31
32
  @include gradient-bg($form-range-thumb-bg);
32
33
  border: $form-range-thumb-border;
33
34
  @include border-radius($form-range-thumb-border-radius);
34
35
  @include box-shadow($form-range-thumb-box-shadow);
35
36
  @include transition($form-range-thumb-transition);
36
- appearance: none;
37
37
 
38
38
  &:active {
39
39
  @include gradient-bg($form-range-thumb-active-bg);
@@ -54,12 +54,12 @@
54
54
  &::-moz-range-thumb {
55
55
  width: $form-range-thumb-width;
56
56
  height: $form-range-thumb-height;
57
+ appearance: none;
57
58
  @include gradient-bg($form-range-thumb-bg);
58
59
  border: $form-range-thumb-border;
59
60
  @include border-radius($form-range-thumb-border-radius);
60
61
  @include box-shadow($form-range-thumb-box-shadow);
61
62
  @include transition($form-range-thumb-transition);
62
- appearance: none;
63
63
 
64
64
  &:active {
65
65
  @include gradient-bg($form-range-thumb-active-bg);
@@ -14,6 +14,7 @@
14
14
  font-weight: $form-select-font-weight;
15
15
  line-height: $form-select-line-height;
16
16
  color: $form-select-color;
17
+ appearance: none;
17
18
  background-color: $form-select-bg;
18
19
  background-image: var(--#{$prefix}form-select-bg-img), var(--#{$prefix}form-select-bg-icon, none);
19
20
  background-repeat: no-repeat;
@@ -23,7 +24,6 @@
23
24
  @include border-radius($form-select-border-radius, 0);
24
25
  @include box-shadow($form-select-box-shadow);
25
26
  @include transition($form-select-transition);
26
- appearance: none;
27
27
 
28
28
  &:focus {
29
29
  border-color: $form-select-focus-border-color;
@@ -121,7 +121,7 @@
121
121
  }
122
122
 
123
123
  > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {
124
- margin-left: calc(#{$input-border-width} * -1); // stylelint-disable-line function-disallowed-list
124
+ margin-left: calc(-1 * #{$input-border-width}); // stylelint-disable-line function-disallowed-list
125
125
  @include border-start-radius(0);
126
126
  }
127
127
 
@@ -1,8 +1,7 @@
1
1
  // All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251
2
2
  @each $color, $value in $theme-colors {
3
- $color-rgb: to-rgb($value);
4
3
  .text-bg-#{$color} {
5
4
  color: color-contrast($value) if($enable-important-utilities, !important, null);
6
- background-color: RGBA($color-rgb, var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);
5
+ background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);
7
6
  }
8
7
  }
@@ -1,7 +1,7 @@
1
1
  .vr {
2
2
  display: inline-block;
3
3
  align-self: stretch;
4
- width: 1px;
4
+ width: $vr-border-width;
5
5
  min-height: 1em;
6
6
  background-color: currentcolor;
7
7
  opacity: $hr-opacity;
@@ -1,7 +1,7 @@
1
1
  @mixin bsBanner($file) {
2
2
  /*!
3
- * Bootstrap #{$file} v5.3.0 (https://getbootstrap.com/)
4
- * Copyright 2011-2023 The Bootstrap Authors
3
+ * Bootstrap #{$file} v5.3.8 (https://getbootstrap.com/)
4
+ * Copyright 2011-2025 The Bootstrap Authors
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6
6
  */
7
7
  }
@@ -1,17 +1,23 @@
1
1
  @mixin box-shadow($shadow...) {
2
2
  @if $enable-shadows {
3
3
  $result: ();
4
+ $has-single-value: false;
5
+ $single-value: null;
4
6
 
5
7
  @each $value in $shadow {
6
8
  @if $value != null {
7
- $result: append($result, $value, "comma");
8
- }
9
- @if $value == none and length($shadow) > 1 {
10
- @warn "The keyword 'none' must be used as a single argument.";
9
+ @if $value == none or $value == initial or $value == inherit or $value == unset {
10
+ $has-single-value: true;
11
+ $single-value: $value;
12
+ } @else {
13
+ $result: append($result, $value, "comma");
14
+ }
11
15
  }
12
16
  }
13
17
 
14
- @if (length($result) > 0) {
18
+ @if $has-single-value {
19
+ box-shadow: $single-value;
20
+ } @else if (length($result) > 0) {
15
21
  box-shadow: $result;
16
22
  }
17
23
  }
@@ -69,7 +69,12 @@
69
69
 
70
70
  &:focus {
71
71
  border-color: $border-color;
72
- box-shadow: $focus-box-shadow;
72
+ @if $enable-shadows {
73
+ @include box-shadow($input-box-shadow, $focus-box-shadow);
74
+ } @else {
75
+ // Avoid using mixin so we can pass custom focus shadow properly
76
+ box-shadow: $focus-box-shadow;
77
+ }
73
78
  }
74
79
  }
75
80
  }
@@ -100,7 +105,12 @@
100
105
 
101
106
  &:focus {
102
107
  border-color: $border-color;
103
- box-shadow: $focus-box-shadow;
108
+ @if $enable-shadows {
109
+ @include box-shadow($form-select-box-shadow, $focus-box-shadow);
110
+ } @else {
111
+ // Avoid using mixin so we can pass custom focus shadow properly
112
+ box-shadow: $focus-box-shadow;
113
+ }
104
114
  }
105
115
  }
106
116
  }
@@ -56,7 +56,7 @@
56
56
  @mixin row-cols($count) {
57
57
  > * {
58
58
  flex: 0 0 auto;
59
- width: divide(100%, $count);
59
+ width: percentage(divide(1, $count));
60
60
  }
61
61
  }
62
62
 
@@ -72,7 +72,7 @@
72
72
  @include media-breakpoint-up($breakpoint, $breakpoints) {
73
73
  // Provide basic `.col-{bp}` classes for equal-width flexbox columns
74
74
  .col#{$infix} {
75
- flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
75
+ flex: 1 0 0;
76
76
  }
77
77
 
78
78
  .row-cols#{$infix}-auto > * {
@@ -138,7 +138,7 @@
138
138
  }
139
139
  }
140
140
 
141
- // Start with `1` because `0` is and invalid value.
141
+ // Start with `1` because `0` is an invalid value.
142
142
  // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.
143
143
  @for $i from 1 through ($columns - 1) {
144
144
  .g-start#{$infix}-#{$i} {
@@ -19,12 +19,17 @@
19
19
  &:not(caption) {
20
20
  position: absolute !important;
21
21
  }
22
+
23
+ // Fix to prevent overflowing children to become focusable
24
+ * {
25
+ overflow: hidden !important;
26
+ }
22
27
  }
23
28
 
24
29
  // Use to only display content when it's focused, or one of its child elements is focused
25
30
  // (i.e. when focus is within the element/container that the class was applied to)
26
31
  //
27
- // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
32
+ // Useful for "Skip to main content" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html
28
33
 
29
34
  @mixin visually-hidden-focusable() {
30
35
  &:not(:focus):not(:focus-within) {
data/bootstrap.gemspec CHANGED
@@ -14,19 +14,19 @@ 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', '>= 2.11.7', '< 3'
17
+ s.add_runtime_dependency 'popper_js', '>= 2.11.8', '< 3'
18
18
 
19
- s.add_runtime_dependency 'sassc-rails', '>= 2.0.0'
20
- s.add_runtime_dependency 'autoprefixer-rails', '>= 9.1.0'
19
+ s.add_development_dependency 'rake'
21
20
 
22
21
  # Testing dependencies
23
- s.add_development_dependency 'minitest', '~> 5.14.4'
22
+ s.add_development_dependency 'minitest', '>= 5.14.4', '< 7'
24
23
  s.add_development_dependency 'minitest-reporters', '~> 1.4.3'
25
24
  s.add_development_dependency 'term-ansicolor'
26
25
  # Integration testing
27
26
  s.add_development_dependency 'capybara', '>= 2.6.0'
28
27
  s.add_development_dependency 'cuprite'
29
28
  # Dummy Rails app dependencies
29
+ s.add_development_dependency 'railties'
30
30
  s.add_development_dependency 'actionpack', '>= 4.1.5'
31
31
  s.add_development_dependency 'activesupport', '>= 4.1.5'
32
32
  s.add_development_dependency 'json', '>= 1.8.1'
@@ -1,7 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'autoprefixer-rails'
4
- require 'sassc-rails'
3
+ begin
4
+ require 'dartsass-sprockets'
5
+ rescue LoadError
6
+ begin
7
+ require 'sassc-rails'
8
+ rescue LoadError
9
+ begin
10
+ require 'dartsass-rails'
11
+ rescue LoadError
12
+ begin
13
+ require 'cssbundling-rails'
14
+ rescue LoadError
15
+ raise LoadError.new("bootstrap-rubygem requires a Sass engine. Please add dartsass-sprockets, sassc-rails, dartsass-rails or cssbundling-rails to your dependencies.")
16
+ end
17
+ end
18
+ end
19
+ end
5
20
 
6
21
  module Bootstrap
7
22
  module Rails
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bootstrap
4
- VERSION = '5.3.0'
5
- BOOTSTRAP_SHA = '60098ac499d30aa50575b0b7137391c06ef25429'
4
+ VERSION = '5.3.8'
5
+ BOOTSTRAP_SHA = '25aa8cc0b32f0d1a54be575347e6d84b70b1acd7'
6
6
  end
@@ -12,7 +12,7 @@ class Updater
12
12
  log_processed "#{bootstrap_scss_files * ' '}"
13
13
 
14
14
  log_status 'Updating scss main files'
15
- %w(bootstrap bootstrap-grid bootstrap-reboot).each do |name|
15
+ %w(bootstrap bootstrap-grid bootstrap-reboot bootstrap-utilities).each do |name|
16
16
  # Compass treats non-partials as targets to copy into the main project, so make them partials.
17
17
  # Also move them up a level to clearly indicate entry points.
18
18
  from = "#{save_to}/#{name}.scss"
@@ -10,7 +10,6 @@ require 'rails'
10
10
  require "#{framework}/railtie"
11
11
  end
12
12
 
13
- require 'autoprefixer-rails'
14
13
  require 'uglifier'
15
14
  require 'bootstrap'
16
15
 
@@ -29,4 +28,3 @@ module Dummy
29
28
  end
30
29
  end
31
30
  end
32
-
File without changes
@@ -2,6 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'actionpack', '~> 4.2.7'
4
4
  gem 'activesupport', '~> 4.2.7'
5
+ gem 'sassc-rails', '~> 2.0'
6
+ gem 'bigdecimal', '1.3.5'
5
7
 
6
8
  gemspec path: '../../'
7
-
@@ -2,7 +2,6 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'actionpack', '~> 5.0.0'
4
4
  gem 'activesupport', '~> 5.0.0'
5
- gem 'autoprefixer-rails', '>= 6.3.6.1'
5
+ gem 'sassc-rails', '~> 2.0'
6
6
 
7
7
  gemspec path: '../../'
8
-
@@ -2,7 +2,6 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'actionpack', '~> 5.1.0'
4
4
  gem 'activesupport', '~> 5.1.0'
5
- gem 'autoprefixer-rails', '>= 7.1.1'
5
+ gem 'sassc-rails', '~> 2.0'
6
6
 
7
7
  gemspec path: '../../'
8
-
@@ -2,7 +2,6 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'actionpack', '~> 5.2.8'
4
4
  gem 'activesupport', '~> 5.2.8'
5
- gem 'autoprefixer-rails', '>= 7.1.1'
5
+ gem 'sassc-rails', '~> 2.0'
6
6
 
7
7
  gemspec path: '../../'
8
-
@@ -2,6 +2,14 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'actionpack', '~> 6.0.3'
4
4
  gem 'activesupport', '~> 6.0.3'
5
- gem 'autoprefixer-rails', '>= 9.7.6'
5
+ gem 'sassc-rails', '~> 2.0'
6
6
 
7
7
  gemspec path: '../../'
8
+
9
+ # no longer bundled as default gems in newer ruby
10
+ gem 'base64'
11
+ gem 'benchmark'
12
+ gem 'drb'
13
+ gem 'mutex_m'
14
+ gem 'ruby2_keywords'
15
+ gem 'tsort'
@@ -2,6 +2,14 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'actionpack', '~> 6.1.3'
4
4
  gem 'activesupport', '~> 6.1.3'
5
- gem 'autoprefixer-rails', '>= 9.7.6'
5
+ gem 'sassc-rails', '~> 2.0'
6
6
 
7
7
  gemspec path: '../../'
8
+
9
+ # no longer bundled as default gems in newer ruby
10
+ gem 'base64'
11
+ gem 'benchmark'
12
+ gem 'drb'
13
+ gem 'mutex_m'
14
+ gem 'ruby2_keywords'
15
+ gem 'tsort'
@@ -0,0 +1,15 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'actionpack', '~> 7.0.4'
4
+ gem 'activesupport', '~> 7.0.4'
5
+ gem 'dartsass-sprockets', '~> 3.0'
6
+
7
+ gemspec path: '../../'
8
+
9
+ # no longer bundled as default gems in newer ruby
10
+ gem 'base64'
11
+ gem 'benchmark'
12
+ gem 'drb'
13
+ gem 'mutex_m'
14
+ gem 'ruby2_keywords'
15
+ gem 'tsort'
@@ -0,0 +1,15 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'actionpack', '~> 7.0.4'
4
+ gem 'activesupport', '~> 7.0.4'
5
+ gem 'sassc-rails', '~> 2.0'
6
+
7
+ gemspec path: '../../'
8
+
9
+ # no longer bundled as default gems in newer ruby
10
+ gem 'base64'
11
+ gem 'benchmark'
12
+ gem 'drb'
13
+ gem 'mutex_m'
14
+ gem 'ruby2_keywords'
15
+ gem 'tsort'
data/test/rails_test.rb CHANGED
@@ -12,11 +12,6 @@ class RailsTest < ActionDispatch::IntegrationTest
12
12
  screenshot!
13
13
  end
14
14
 
15
- def test_autoprefixer
16
- get ActionController::Base.helpers.stylesheet_path('application.css')
17
- assert_match(/-webkit-(?:transition|transform)/, response.body)
18
- end
19
-
20
15
  def test_precompile
21
16
  Dummy::Application.load_tasks
22
17
  Rake::Task['assets:precompile'].invoke
data/test/test_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'logger'
2
+
1
3
  require 'minitest/autorun'
2
4
  require 'minitest/reporters'
3
5
  Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
@@ -25,8 +27,8 @@ browser_path = ENV['CHROMIUM_BIN'] || %w[
25
27
  Capybara.register_driver :cuprite do |app|
26
28
  options = {
27
29
  window_size: [1280, 1024],
28
- timeout: 15,
29
- process_timeout: 15
30
+ timeout: 30,
31
+ process_timeout: 60
30
32
  }
31
33
  options[:browser_path] = browser_path if browser_path
32
34
  Capybara::Cuprite::Driver.new(app, options)
@@ -34,9 +36,9 @@ end
34
36
 
35
37
  Capybara.configure do |config|
36
38
  config.server = :webrick
37
- config.app_host = 'http://localhost:7000'
39
+ config.app_host = 'http://localhost:8000'
38
40
  config.default_driver = :cuprite
39
41
  config.javascript_driver = :cuprite
40
- config.server_port = 7000
42
+ config.server_port = 8000
41
43
  config.default_max_wait_time = 10
42
44
  end