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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/README.md +7 -4
- data/assets/javascripts/bootstrap-global-this-define.js +6 -0
- data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
- data/assets/javascripts/bootstrap-sprockets.js +10 -7
- data/assets/javascripts/bootstrap.js +2554 -2564
- data/assets/javascripts/bootstrap.min.js +3 -3
- data/assets/javascripts/bootstrap/alert.js +119 -115
- data/assets/javascripts/bootstrap/base-component.js +63 -0
- data/assets/javascripts/bootstrap/button.js +67 -69
- data/assets/javascripts/bootstrap/carousel.js +340 -331
- data/assets/javascripts/bootstrap/collapse.js +214 -209
- data/assets/javascripts/bootstrap/dom/data.js +35 -48
- data/assets/javascripts/bootstrap/dom/event-handler.js +105 -98
- data/assets/javascripts/bootstrap/dom/manipulator.js +26 -34
- data/assets/javascripts/bootstrap/dom/selector-engine.js +28 -41
- data/assets/javascripts/bootstrap/dropdown.js +392 -325
- data/assets/javascripts/bootstrap/modal.js +492 -434
- data/assets/javascripts/bootstrap/offcanvas.js +671 -0
- data/assets/javascripts/bootstrap/popover.js +114 -132
- data/assets/javascripts/bootstrap/scrollspy.js +172 -180
- data/assets/javascripts/bootstrap/tab.js +168 -144
- data/assets/javascripts/bootstrap/toast.js +141 -150
- data/assets/javascripts/bootstrap/tooltip.js +466 -452
- data/assets/stylesheets/_bootstrap-grid.scss +9 -9
- data/assets/stylesheets/_bootstrap-reboot.scss +3 -3
- data/assets/stylesheets/_bootstrap.scss +5 -3
- data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
- data/assets/stylesheets/bootstrap/_alert.scss +10 -3
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +2 -4
- data/assets/stylesheets/bootstrap/_button-group.scss +5 -7
- data/assets/stylesheets/bootstrap/_buttons.scss +2 -15
- data/assets/stylesheets/bootstrap/_card.scss +2 -29
- data/assets/stylesheets/bootstrap/_carousel.scss +35 -18
- data/assets/stylesheets/bootstrap/_close.scss +2 -3
- data/assets/stylesheets/bootstrap/_dropdown.scss +33 -29
- data/assets/stylesheets/bootstrap/_forms.scss +1 -1
- data/assets/stylesheets/bootstrap/_functions.scss +11 -12
- data/assets/stylesheets/bootstrap/_list-group.scss +23 -6
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
- data/assets/stylesheets/bootstrap/_modal.scss +2 -9
- data/assets/stylesheets/bootstrap/_nav.scss +12 -0
- data/assets/stylesheets/bootstrap/_navbar.scss +15 -2
- data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
- data/assets/stylesheets/bootstrap/_pagination.scss +3 -3
- data/assets/stylesheets/bootstrap/_popover.scss +10 -22
- data/assets/stylesheets/bootstrap/_progress.scss +4 -1
- data/assets/stylesheets/bootstrap/_reboot.scss +48 -44
- data/assets/stylesheets/bootstrap/_root.scss +5 -5
- data/assets/stylesheets/bootstrap/_spinners.scss +18 -5
- data/assets/stylesheets/bootstrap/_tables.scss +15 -16
- data/assets/stylesheets/bootstrap/_toasts.scss +15 -12
- data/assets/stylesheets/bootstrap/_tooltip.scss +12 -12
- data/assets/stylesheets/bootstrap/_transitions.scss +2 -0
- data/assets/stylesheets/bootstrap/_utilities.scss +133 -70
- data/assets/stylesheets/bootstrap/_variables.scss +363 -207
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +5 -5
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +21 -11
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +112 -9
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +1 -46
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +1 -16
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +21 -40
- data/assets/stylesheets/bootstrap/forms/_validation.scss +1 -1
- data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +2 -2
- data/assets/stylesheets/bootstrap/helpers/_ratio.scss +2 -2
- data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -1
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +8 -6
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +10 -5
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -6
- data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +2 -4
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +26 -22
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +5 -1
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +18 -13
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +3 -1
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +5 -3
- data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +7 -7
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +19 -0
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +3 -2
- data/assets/stylesheets/bootstrap/utilities/_api.scss +1 -1
- data/bootstrap.gemspec +1 -3
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +20 -5
- data/tasks/updater/network.rb +7 -1
- data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
- data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
- data/test/dummy_rails/app/views/pages/root.html +89 -0
- data/test/dummy_rails/config/application.rb +0 -3
- data/test/gemfiles/rails_6_1.gemfile +7 -0
- metadata +20 -40
- data/assets/javascripts/bootstrap/dom/polyfill.js +0 -110
- data/assets/stylesheets/bootstrap/forms/_form-file.scss +0 -91
- 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
|
-
|
|
7
|
-
|
|
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(
|
|
11
|
-
margin-right: calc(var(
|
|
12
|
-
margin-left: calc(var(
|
|
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(
|
|
25
|
-
padding-left: calc(var(
|
|
26
|
-
margin-top: var(
|
|
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
|
-
|
|
31
|
-
|
|
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
|
-
|
|
115
|
+
--#{$variable-prefix}gutter-x: #{$value};
|
|
111
116
|
}
|
|
112
117
|
|
|
113
118
|
.g#{$infix}-#{$key},
|
|
114
119
|
.gy#{$infix}-#{$key} {
|
|
115
|
-
|
|
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:
|
|
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-
|
|
11
|
+
@if $pagination-margin-start == (-$pagination-border-width) {
|
|
11
12
|
&:first-child {
|
|
12
13
|
.page-link {
|
|
13
|
-
@include border-
|
|
14
|
+
@include border-start-radius($border-radius);
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
&:last-child {
|
|
18
19
|
.page-link {
|
|
19
|
-
@include border-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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', '>=
|
|
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")
|
data/lib/bootstrap/version.rb
CHANGED
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$/) -
|
|
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
|
-
|
|
37
|
-
|
|
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
|
data/tasks/updater/network.rb
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
6
|
-
|
|
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>
|
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
|
|
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:
|
|
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:
|
|
19
|
+
version: 2.9.2
|
|
20
20
|
- - "<"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '
|
|
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:
|
|
29
|
+
version: 2.9.2
|
|
30
30
|
- - "<"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '
|
|
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
|
|
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:
|
|
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
|
|
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
|