bootstrap 4.0.0.alpha1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of bootstrap might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/.gitattributes +14 -0
- data/.gitignore +19 -0
- data/.travis.yml +16 -0
- data/CHANGELOG.md +7 -0
- data/Gemfile +13 -0
- data/LICENSE +21 -0
- data/README.md +143 -0
- data/Rakefile +75 -0
- data/assets/javascripts/bootstrap-sprockets.js +11 -0
- data/assets/javascripts/bootstrap.js +3560 -0
- data/assets/javascripts/bootstrap.min.js +220 -0
- data/assets/javascripts/bootstrap/alert.js +192 -0
- data/assets/javascripts/bootstrap/button.js +172 -0
- data/assets/javascripts/bootstrap/carousel.js +478 -0
- data/assets/javascripts/bootstrap/collapse.js +364 -0
- data/assets/javascripts/bootstrap/dropdown.js +293 -0
- data/assets/javascripts/bootstrap/modal.js +536 -0
- data/assets/javascripts/bootstrap/popover.js +201 -0
- data/assets/javascripts/bootstrap/scrollspy.js +320 -0
- data/assets/javascripts/bootstrap/tab.js +263 -0
- data/assets/javascripts/bootstrap/tooltip.js +619 -0
- data/assets/javascripts/bootstrap/util.js +157 -0
- data/assets/stylesheets/_bootstrap-flex.scss +8 -0
- data/assets/stylesheets/_bootstrap-grid.scss +62 -0
- data/assets/stylesheets/_bootstrap-reboot.scss +10 -0
- data/assets/stylesheets/_bootstrap.scss +55 -0
- data/assets/stylesheets/bootstrap/_alert.scss +65 -0
- data/assets/stylesheets/bootstrap/_animation.scss +27 -0
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +23 -0
- data/assets/stylesheets/bootstrap/_button-group.scss +224 -0
- data/assets/stylesheets/bootstrap/_buttons.scss +174 -0
- data/assets/stylesheets/bootstrap/_card.scss +293 -0
- data/assets/stylesheets/bootstrap/_carousel.scss +252 -0
- data/assets/stylesheets/bootstrap/_close.scss +28 -0
- data/assets/stylesheets/bootstrap/_code.scss +58 -0
- data/assets/stylesheets/bootstrap/_custom-forms.scss +225 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +191 -0
- data/assets/stylesheets/bootstrap/_forms.scss +454 -0
- data/assets/stylesheets/bootstrap/_grid.scss +76 -0
- data/assets/stylesheets/bootstrap/_images.scss +28 -0
- data/assets/stylesheets/bootstrap/_input-group.scss +181 -0
- data/assets/stylesheets/bootstrap/_jumbotron.scss +22 -0
- data/assets/stylesheets/bootstrap/_labels.scss +75 -0
- data/assets/stylesheets/bootstrap/_list-group.scss +128 -0
- data/assets/stylesheets/bootstrap/_media.scss +90 -0
- data/assets/stylesheets/bootstrap/_mixins.scss +54 -0
- data/assets/stylesheets/bootstrap/_modal.scss +146 -0
- data/assets/stylesheets/bootstrap/_nav.scss +155 -0
- data/assets/stylesheets/bootstrap/_navbar.scss +230 -0
- data/assets/stylesheets/bootstrap/_normalize.scss +428 -0
- data/assets/stylesheets/bootstrap/_pager.scss +57 -0
- data/assets/stylesheets/bootstrap/_pagination.scss +82 -0
- data/assets/stylesheets/bootstrap/_popover.scss +140 -0
- data/assets/stylesheets/bootstrap/_print.scss +88 -0
- data/assets/stylesheets/bootstrap/_progress.scss +156 -0
- data/assets/stylesheets/bootstrap/_reboot.scss +298 -0
- data/assets/stylesheets/bootstrap/_responsive-embed.scss +38 -0
- data/assets/stylesheets/bootstrap/_tables.scss +193 -0
- data/assets/stylesheets/bootstrap/_tooltip.scss +85 -0
- data/assets/stylesheets/bootstrap/_type.scss +192 -0
- data/assets/stylesheets/bootstrap/_utilities-responsive.scss +49 -0
- data/assets/stylesheets/bootstrap/_utilities-spacing.scss +78 -0
- data/assets/stylesheets/bootstrap/_utilities.scss +117 -0
- data/assets/stylesheets/bootstrap/_variables.scss +632 -0
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +14 -0
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +13 -0
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +35 -0
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +76 -0
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +100 -0
- data/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +89 -0
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +43 -0
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +44 -0
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +75 -0
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +59 -0
- data/assets/stylesheets/bootstrap/mixins/_image.scss +33 -0
- data/assets/stylesheets/bootstrap/mixins/_label.scss +11 -0
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +30 -0
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
- data/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +9 -0
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +24 -0
- data/assets/stylesheets/bootstrap/mixins/_progress.scss +18 -0
- data/assets/stylesheets/bootstrap/mixins/_pulls.scss +6 -0
- data/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +18 -0
- data/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +32 -0
- data/assets/stylesheets/bootstrap/mixins/_size.scss +6 -0
- data/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +30 -0
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +12 -0
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_text-truncate.scss +8 -0
- data/bootstrap.gemspec +36 -0
- data/lib/bootstrap.rb +76 -0
- data/lib/bootstrap/engine.rb +11 -0
- data/lib/bootstrap/version.rb +4 -0
- data/tasks/updater.rb +67 -0
- data/tasks/updater/js.rb +37 -0
- data/tasks/updater/logger.rb +57 -0
- data/tasks/updater/network.rb +101 -0
- data/tasks/updater/scss.rb +34 -0
- data/templates/project/_bootstrap-variables.scss +633 -0
- data/templates/project/manifest.rb +18 -0
- data/templates/project/styles.scss +10 -0
- data/test/compass_test.rb +9 -0
- data/test/dummy_rails/README.rdoc +3 -0
- data/test/dummy_rails/Rakefile +6 -0
- data/test/dummy_rails/app/assets/images/.keep +0 -0
- data/test/dummy_rails/app/assets/javascripts/application.js +7 -0
- data/test/dummy_rails/app/assets/stylesheets/application.sass +1 -0
- data/test/dummy_rails/app/controllers/application_controller.rb +5 -0
- data/test/dummy_rails/app/controllers/pages_controller.rb +4 -0
- data/test/dummy_rails/app/helpers/application_helper.rb +2 -0
- data/test/dummy_rails/app/views/layouts/application.html.erb +14 -0
- data/test/dummy_rails/app/views/pages/root.html.slim +58 -0
- data/test/dummy_rails/config.ru +4 -0
- data/test/dummy_rails/config/application.rb +34 -0
- data/test/dummy_rails/config/boot.rb +5 -0
- data/test/dummy_rails/config/environment.rb +5 -0
- data/test/dummy_rails/config/environments/development.rb +23 -0
- data/test/dummy_rails/config/environments/production.rb +82 -0
- data/test/dummy_rails/config/environments/test.rb +38 -0
- data/test/dummy_rails/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy_rails/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy_rails/config/initializers/inflections.rb +16 -0
- data/test/dummy_rails/config/initializers/mime_types.rb +5 -0
- data/test/dummy_rails/config/initializers/secret_token.rb +18 -0
- data/test/dummy_rails/config/initializers/session_store.rb +3 -0
- data/test/dummy_rails/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy_rails/config/locales/en.yml +3 -0
- data/test/dummy_rails/config/locales/es.yml +3 -0
- data/test/dummy_rails/config/routes.rb +3 -0
- data/test/dummy_rails/log/.keep +0 -0
- data/test/gemfiles/rails_4_2.gemfile +11 -0
- data/test/gemfiles/rails_head.gemfile +19 -0
- data/test/rails_test.rb +19 -0
- data/test/support/dummy_rails_integration.rb +22 -0
- data/test/support/reporting.rb +27 -0
- data/test/test_helper.rb +35 -0
- data/test/test_helper_rails.rb +6 -0
- metadata +433 -0
data/tasks/updater.rb
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
require 'open-uri'
|
4
|
+
require 'json'
|
5
|
+
require 'strscan'
|
6
|
+
require 'forwardable'
|
7
|
+
require 'term/ansicolor'
|
8
|
+
require 'fileutils'
|
9
|
+
|
10
|
+
require_relative 'updater/scss'
|
11
|
+
require_relative 'updater/js'
|
12
|
+
require_relative 'updater/logger'
|
13
|
+
require_relative 'updater/network'
|
14
|
+
|
15
|
+
class Updater
|
16
|
+
extend Forwardable
|
17
|
+
include Network
|
18
|
+
include Js
|
19
|
+
include Scss
|
20
|
+
|
21
|
+
def initialize(repo: 'twbs/bootstrap', branch: 'master', save_to: {}, cache_path: 'tmp/bootstrap-cache')
|
22
|
+
@logger = Logger.new
|
23
|
+
@repo = repo
|
24
|
+
@branch = branch || 'master'
|
25
|
+
@branch_sha = get_branch_sha
|
26
|
+
@cache_path = cache_path
|
27
|
+
@repo_url = "https://github.com/#@repo"
|
28
|
+
@save_to = {
|
29
|
+
js: 'assets/javascripts/bootstrap',
|
30
|
+
scss: 'assets/stylesheets/bootstrap'}.merge(save_to)
|
31
|
+
end
|
32
|
+
|
33
|
+
def_delegators :@logger, :log, :log_status, :log_processing, :log_transform, :log_file_info, :log_processed, :log_http_get_file, :log_http_get_files, :silence_log
|
34
|
+
|
35
|
+
def update_bootstrap
|
36
|
+
log_status 'Updating Bootstrap'
|
37
|
+
puts " repo : #@repo_url"
|
38
|
+
puts " branch : #@branch_sha #@repo_url/tree/#@branch"
|
39
|
+
puts " save to: #{@save_to.to_json}"
|
40
|
+
puts " twbs cache: #{@cache_path}"
|
41
|
+
puts '-' * 60
|
42
|
+
|
43
|
+
FileUtils.rm_rf('assets')
|
44
|
+
@save_to.each { |_, v| FileUtils.mkdir_p(v) }
|
45
|
+
|
46
|
+
update_scss_assets
|
47
|
+
update_javascript_assets
|
48
|
+
store_version
|
49
|
+
end
|
50
|
+
|
51
|
+
def save_file(path, content, mode='w')
|
52
|
+
dir = File.dirname(path)
|
53
|
+
FileUtils.mkdir_p(dir) unless File.directory?(dir)
|
54
|
+
File.open(path, mode) { |file| file.write(content) }
|
55
|
+
end
|
56
|
+
|
57
|
+
def upstream_version
|
58
|
+
@upstream_version ||= get_json(file_url 'package.json')['version']
|
59
|
+
end
|
60
|
+
|
61
|
+
# Update version.rb file with BOOTSTRAP_SHA
|
62
|
+
def store_version
|
63
|
+
path = 'lib/bootstrap/version.rb'
|
64
|
+
content = File.read(path).sub(/BOOTSTRAP_SHA\s*=\s*['"][^'"]*['"]/, "BOOTSTRAP_SHA = '#@branch_sha'")
|
65
|
+
File.open(path, 'w') { |f| f.write(content) }
|
66
|
+
end
|
67
|
+
end
|
data/tasks/updater/js.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
class Updater
|
2
|
+
module Js
|
3
|
+
def update_javascript_assets
|
4
|
+
log_status 'Updating javascripts...'
|
5
|
+
save_to = @save_to[:js]
|
6
|
+
contents = {}
|
7
|
+
read_files('js/dist', bootstrap_js_files).each do |name, file|
|
8
|
+
contents[name] = file
|
9
|
+
save_file("#{save_to}/#{name}", file)
|
10
|
+
end
|
11
|
+
log_processed "#{bootstrap_js_files * ' '}"
|
12
|
+
|
13
|
+
log_status 'Updating javascript manifest'
|
14
|
+
manifest = ''
|
15
|
+
bootstrap_js_files.each do |name|
|
16
|
+
name = name.gsub(/\.js$/, '')
|
17
|
+
manifest << "//= require ./bootstrap/#{name}\n"
|
18
|
+
end
|
19
|
+
dist_js = read_files('dist/js', %w(bootstrap.js bootstrap.min.js))
|
20
|
+
{
|
21
|
+
'assets/javascripts/bootstrap-sprockets.js' => manifest,
|
22
|
+
'assets/javascripts/bootstrap.js' => dist_js['bootstrap.js'],
|
23
|
+
'assets/javascripts/bootstrap.min.js' => dist_js['bootstrap.min.js'],
|
24
|
+
}.each do |path, content|
|
25
|
+
save_file path, content
|
26
|
+
log_processed path
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def bootstrap_js_files
|
31
|
+
@bootstrap_js_files ||= begin
|
32
|
+
gruntfile = get_file(file_url 'Gruntfile.js')
|
33
|
+
JSON.parse(/concat:.*?src: (\[[^\]]+\])/m.match(gruntfile)[1].tr("'", '"')).map { |p| p.sub %r(\Ajs/src/), '' }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
class Updater
|
2
|
+
class Logger
|
3
|
+
include Term::ANSIColor
|
4
|
+
|
5
|
+
def log_status(status)
|
6
|
+
puts bold status
|
7
|
+
end
|
8
|
+
|
9
|
+
def log_file_info(s)
|
10
|
+
puts " #{magenta s}"
|
11
|
+
end
|
12
|
+
|
13
|
+
def log_transform(*args, from: caller[1][/`.*'/][1..-2].sub(/^block in /, ''))
|
14
|
+
puts " #{cyan from}#{cyan ": #{args * ', '}" unless args.empty?}"
|
15
|
+
end
|
16
|
+
|
17
|
+
def log_processing(name)
|
18
|
+
puts yellow " #{File.basename(name)}"
|
19
|
+
end
|
20
|
+
|
21
|
+
def log_processed(name)
|
22
|
+
puts green " #{name}"
|
23
|
+
end
|
24
|
+
|
25
|
+
def log_http_get_file(url, cached = false)
|
26
|
+
s = " #{'CACHED ' if cached}GET #{url}..."
|
27
|
+
if cached
|
28
|
+
puts dark green s
|
29
|
+
else
|
30
|
+
puts dark cyan s
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def log_http_get_files(files, from, cached = false)
|
35
|
+
return if files.empty?
|
36
|
+
s = " #{'CACHED ' if cached}GET #{files.length} files from #{from} #{files * ' '}..."
|
37
|
+
if cached
|
38
|
+
puts dark green s
|
39
|
+
else
|
40
|
+
puts dark cyan s
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def puts(*args)
|
45
|
+
STDERR.puts *args unless @silence
|
46
|
+
end
|
47
|
+
|
48
|
+
alias log puts
|
49
|
+
|
50
|
+
def silence_log
|
51
|
+
@silence = true
|
52
|
+
yield
|
53
|
+
ensure
|
54
|
+
@silence = false
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,101 @@
|
|
1
|
+
require 'shellwords'
|
2
|
+
class Updater
|
3
|
+
module Network
|
4
|
+
protected
|
5
|
+
|
6
|
+
def get_paths_by_type(dir, file_re, recursive = true)
|
7
|
+
get_file_paths(dir, recursive).select { |path| path =~ file_re }
|
8
|
+
end
|
9
|
+
|
10
|
+
def get_file_paths(dir, recursive = true)
|
11
|
+
get_tree(get_tree_sha(dir), recursive)['tree'].select { |f| f['type'] == 'blob' }.map { |f| f['path'] }
|
12
|
+
end
|
13
|
+
|
14
|
+
def file_url(path)
|
15
|
+
"https://raw.githubusercontent.com/#@repo/#@branch_sha/#{path}"
|
16
|
+
end
|
17
|
+
|
18
|
+
def read_files(path, files)
|
19
|
+
path_url = file_url path
|
20
|
+
contents = read_cached_files(path, files)
|
21
|
+
log_http_get_files contents.keys, path_url, true if contents.keys
|
22
|
+
files -= contents.keys
|
23
|
+
log_http_get_files files, path_url, false
|
24
|
+
files.map do |name|
|
25
|
+
Thread.start {
|
26
|
+
contents[name] = open("#{path_url}/#{name}").read
|
27
|
+
Thread.exclusive { write_cached_files path, name => contents[name] }
|
28
|
+
}
|
29
|
+
end.each(&:join)
|
30
|
+
contents
|
31
|
+
end
|
32
|
+
|
33
|
+
def read_cached_files(path, files)
|
34
|
+
full_path = "#@cache_path/#@branch_sha/#{path}"
|
35
|
+
contents = {}
|
36
|
+
if File.directory?(full_path)
|
37
|
+
files.each do |name|
|
38
|
+
path = "#{full_path}/#{name}"
|
39
|
+
contents[name] = File.read(path, mode: 'rb') if File.exists?(path)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
contents
|
43
|
+
end
|
44
|
+
|
45
|
+
def write_cached_files(path, files)
|
46
|
+
full_path = "./#@cache_path/#@branch_sha/#{path}"
|
47
|
+
files.each do |name, content|
|
48
|
+
FileUtils.mkdir_p File.dirname(File.join(full_path, name))
|
49
|
+
File.open("#{full_path}/#{name}", 'wb') { |f| f.write content }
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
def get_file(url)
|
55
|
+
uri = URI(url)
|
56
|
+
cache_path = "./#@cache_path#{uri.path}#{uri.query.tr('?&=', '-') if uri.query}"
|
57
|
+
FileUtils.mkdir_p File.dirname(cache_path)
|
58
|
+
if File.exists?(cache_path)
|
59
|
+
log_http_get_file url, true
|
60
|
+
File.read(cache_path, mode: 'rb')
|
61
|
+
else
|
62
|
+
log_http_get_file url, false
|
63
|
+
content = open(url).read
|
64
|
+
File.open(cache_path, 'wb') { |f| f.write content }
|
65
|
+
content
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
# get sha of the branch (= the latest commit)
|
70
|
+
def get_branch_sha
|
71
|
+
@branch_sha ||= begin
|
72
|
+
if @branch =~ /\A[0-9a-f]{40,}\z/
|
73
|
+
@branch
|
74
|
+
else
|
75
|
+
cmd = "git ls-remote #{Shellwords.escape "https://github.com/#@repo"} #@branch"
|
76
|
+
log cmd
|
77
|
+
result = %x[#{cmd}]
|
78
|
+
raise 'Could not get branch sha!' unless $?.success? && !result.empty?
|
79
|
+
result.split(/\s+/).first
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
# Get the sha of a dir
|
85
|
+
def get_tree_sha(dir, tree = get_trees)
|
86
|
+
tree['tree'].find { |t| t['path'] == dir }['sha']
|
87
|
+
end
|
88
|
+
|
89
|
+
def get_trees
|
90
|
+
@trees ||= get_tree(@branch_sha)
|
91
|
+
end
|
92
|
+
|
93
|
+
def get_tree(sha, recursive = true)
|
94
|
+
get_json("https://api.github.com/repos/#@repo/git/trees/#{sha}#{'?recursive=1' if recursive}")
|
95
|
+
end
|
96
|
+
|
97
|
+
def get_json(url)
|
98
|
+
JSON.parse get_file(url)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
class Updater
|
2
|
+
module Scss
|
3
|
+
def update_scss_assets
|
4
|
+
log_status 'Updating scss...'
|
5
|
+
save_to = @save_to[:scss]
|
6
|
+
contents = {}
|
7
|
+
bootstrap_scss_files = get_paths_by_type('scss', /\.scss$/)
|
8
|
+
read_files('scss', bootstrap_scss_files).each do |name, file|
|
9
|
+
contents[name] = file
|
10
|
+
save_file("#{save_to}/#{name}", file)
|
11
|
+
end
|
12
|
+
log_processed "#{bootstrap_scss_files * ' '}"
|
13
|
+
|
14
|
+
log_status 'Updating scss main files'
|
15
|
+
%w(bootstrap bootstrap-flex bootstrap-grid bootstrap-reboot).each do |name|
|
16
|
+
# Compass treats non-partials as targets to copy into the main project, so make them partials.
|
17
|
+
# Also move them up a level to clearly indicate entry points.
|
18
|
+
from = "#{save_to}/#{name}.scss"
|
19
|
+
to = "#{save_to}/../_#{name}.scss"
|
20
|
+
FileUtils.mv from, to
|
21
|
+
# As we moved the files, adjust imports accordingly (except for bootstrap-flex that imports the main bootstrap).
|
22
|
+
unless 'bootstrap-flex' == name
|
23
|
+
File.write to, File.read(to).gsub(/ "/, ' "bootstrap/')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
log_status 'Generating variable template file'
|
28
|
+
save_file 'templates/project/_bootstrap-variables.scss',
|
29
|
+
"// Override Bootstrap variables here (defaults from bootstrap v#{upstream_version}):\n\n" +
|
30
|
+
File.read("#{save_to}/_variables.scss").lines[1..-1].join.gsub(/^(?=\$|\)|[ ]{2})/, '// ').gsub(/ !default/, '')
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,633 @@
|
|
1
|
+
// Override Bootstrap variables here (defaults from bootstrap v4.0.0-alpha):
|
2
|
+
|
3
|
+
//
|
4
|
+
// Copy settings from this file into the provided `_custom.scss` to override
|
5
|
+
// the Bootstrap defaults without modifying key, versioned files.
|
6
|
+
|
7
|
+
|
8
|
+
// Table of Contents
|
9
|
+
//
|
10
|
+
// Colors
|
11
|
+
// Options
|
12
|
+
// Spacing
|
13
|
+
// Body
|
14
|
+
// Links
|
15
|
+
// Grid breakpoints
|
16
|
+
// Grid containers
|
17
|
+
// Grid columns
|
18
|
+
// Fonts
|
19
|
+
// Components
|
20
|
+
|
21
|
+
// General variable structure
|
22
|
+
//
|
23
|
+
// Variable format should follow the `$component-modifier-state-property` order.
|
24
|
+
|
25
|
+
|
26
|
+
// Colors
|
27
|
+
//
|
28
|
+
// Grayscale and brand colors for use across Bootstrap.
|
29
|
+
|
30
|
+
// $gray-dark: #373a3c;
|
31
|
+
// $gray: #55595c;
|
32
|
+
// $gray-light: #818a91;
|
33
|
+
// $gray-lighter: #eceeef;
|
34
|
+
// $gray-lightest: #f7f7f9;
|
35
|
+
|
36
|
+
// $brand-primary: #0275d8;
|
37
|
+
// $brand-success: #5cb85c;
|
38
|
+
// $brand-info: #5bc0de;
|
39
|
+
// $brand-warning: #f0ad4e;
|
40
|
+
// $brand-danger: #d9534f;
|
41
|
+
|
42
|
+
|
43
|
+
// Options
|
44
|
+
//
|
45
|
+
// Quickly modify global styling by enabling or disabling optional features.
|
46
|
+
|
47
|
+
// $enable-flex: false;
|
48
|
+
// $enable-rounded: true;
|
49
|
+
// $enable-shadows: false;
|
50
|
+
// $enable-gradients: false;
|
51
|
+
// $enable-transitions: false;
|
52
|
+
// $enable-hover-media-query: false;
|
53
|
+
// $enable-grid-classes: true;
|
54
|
+
|
55
|
+
|
56
|
+
// Spacing
|
57
|
+
//
|
58
|
+
// Control the default styling of most Bootstrap elements by modifying these
|
59
|
+
// variables. Mostly focused on spacing.
|
60
|
+
|
61
|
+
// $spacer: 1rem;
|
62
|
+
// $spacer-x: $spacer;
|
63
|
+
// $spacer-y: $spacer;
|
64
|
+
// $border-width: 1px;
|
65
|
+
|
66
|
+
|
67
|
+
// Body
|
68
|
+
//
|
69
|
+
// Settings for the `<body>` element.
|
70
|
+
|
71
|
+
// $body-bg: #fff;
|
72
|
+
// $body-color: $gray-dark;
|
73
|
+
|
74
|
+
|
75
|
+
// Links
|
76
|
+
//
|
77
|
+
// Style anchor elements.
|
78
|
+
|
79
|
+
// $link-color: $brand-primary;
|
80
|
+
// $link-decoration: none;
|
81
|
+
// $link-hover-color: darken($link-color, 15%);
|
82
|
+
// $link-hover-decoration: underline;
|
83
|
+
|
84
|
+
|
85
|
+
// Grid breakpoints
|
86
|
+
//
|
87
|
+
// Define the minimum and maximum dimensions at which your layout will change,
|
88
|
+
// adapting to different screen sizes, for use in media queries.
|
89
|
+
|
90
|
+
// $grid-breakpoints: (
|
91
|
+
// // Extra small screen / phone
|
92
|
+
// xs: 0,
|
93
|
+
// // Small screen / phone
|
94
|
+
// sm: 544px,
|
95
|
+
// // Medium screen / tablet
|
96
|
+
// md: 768px,
|
97
|
+
// // Large screen / desktop
|
98
|
+
// lg: 992px,
|
99
|
+
// // Extra large screen / wide desktop
|
100
|
+
// xl: 1200px
|
101
|
+
// );
|
102
|
+
|
103
|
+
|
104
|
+
// Grid containers
|
105
|
+
//
|
106
|
+
// Define the maximum width of `.container` for different screen sizes.
|
107
|
+
|
108
|
+
// $container-max-widths: (
|
109
|
+
// sm: 576px,
|
110
|
+
// md: 720px,
|
111
|
+
// lg: 940px,
|
112
|
+
// xl: 1140px
|
113
|
+
// );
|
114
|
+
|
115
|
+
|
116
|
+
// Grid columns
|
117
|
+
//
|
118
|
+
// Set the number of columns and specify the width of the gutters.
|
119
|
+
|
120
|
+
// $grid-columns: 12;
|
121
|
+
// $grid-gutter-width: 1.875rem; // 30px
|
122
|
+
|
123
|
+
|
124
|
+
// Typography
|
125
|
+
//
|
126
|
+
// Font, line-height, and color for body text, headings, and more.
|
127
|
+
|
128
|
+
// $font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
129
|
+
// $font-family-serif: Georgia, "Times New Roman", Times, serif;
|
130
|
+
// $font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
|
131
|
+
// $font-family-base: $font-family-sans-serif;
|
132
|
+
|
133
|
+
// Pixel value used to responsively scale all typography. Applied to the `<html>` element.
|
134
|
+
// $font-size-root: 16px;
|
135
|
+
|
136
|
+
// $font-size-base: 1rem;
|
137
|
+
// $font-size-lg: 1.25rem;
|
138
|
+
// $font-size-sm: .85rem;
|
139
|
+
// $font-size-xs: .75rem;
|
140
|
+
|
141
|
+
// $font-size-h1: 2.5rem;
|
142
|
+
// $font-size-h2: 2rem;
|
143
|
+
// $font-size-h3: 1.75rem;
|
144
|
+
// $font-size-h4: 1.5rem;
|
145
|
+
// $font-size-h5: 1.25rem;
|
146
|
+
// $font-size-h6: 1rem;
|
147
|
+
|
148
|
+
// $display1-size: 6rem;
|
149
|
+
// $display2-size: 5.5rem;
|
150
|
+
// $display3-size: 4.5rem;
|
151
|
+
// $display4-size: 3.5rem;
|
152
|
+
|
153
|
+
// $display1-weight: 300;
|
154
|
+
// $display2-weight: 300;
|
155
|
+
// $display3-weight: 300;
|
156
|
+
// $display4-weight: 300;
|
157
|
+
|
158
|
+
// $line-height: 1.5;
|
159
|
+
|
160
|
+
// $headings-margin-bottom: ($spacer / 2);
|
161
|
+
// $headings-font-family: inherit;
|
162
|
+
// $headings-font-weight: 500;
|
163
|
+
// $headings-line-height: 1.1;
|
164
|
+
// $headings-color: inherit;
|
165
|
+
|
166
|
+
// $lead-font-size: 1.25rem;
|
167
|
+
// $lead-font-weight: 300;
|
168
|
+
|
169
|
+
// $text-muted: $gray-light;
|
170
|
+
|
171
|
+
// $abbr-border-color: $gray-light;
|
172
|
+
|
173
|
+
// $blockquote-small-color: $gray-light;
|
174
|
+
// $blockquote-font-size: ($font-size-base * 1.25);
|
175
|
+
// $blockquote-border-color: $gray-lighter;
|
176
|
+
|
177
|
+
// $hr-border-color: rgba(0,0,0,.1);
|
178
|
+
// $hr-border-width: $border-width;
|
179
|
+
|
180
|
+
|
181
|
+
// Components
|
182
|
+
//
|
183
|
+
// Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
|
184
|
+
|
185
|
+
// $line-height-lg: (4 / 3);
|
186
|
+
// $line-height-sm: 1.5;
|
187
|
+
|
188
|
+
// $border-radius: .25rem;
|
189
|
+
// $border-radius-lg: .3rem;
|
190
|
+
// $border-radius-sm: .2rem;
|
191
|
+
|
192
|
+
// $component-active-color: #fff;
|
193
|
+
// $component-active-bg: $brand-primary;
|
194
|
+
|
195
|
+
// $caret-width: .3em;
|
196
|
+
// $caret-width-lg: $caret-width;
|
197
|
+
|
198
|
+
|
199
|
+
// Tables
|
200
|
+
//
|
201
|
+
// Customizes the `.table` component with basic values, each used across all table variations.
|
202
|
+
|
203
|
+
// $table-cell-padding: .75rem;
|
204
|
+
// $table-sm-cell-padding: .3rem;
|
205
|
+
|
206
|
+
// $table-bg: transparent;
|
207
|
+
// $table-bg-accent: #f9f9f9;
|
208
|
+
// $table-bg-hover: #f5f5f5;
|
209
|
+
// $table-bg-active: $table-bg-hover;
|
210
|
+
|
211
|
+
// $table-border-color: $gray-lighter;
|
212
|
+
|
213
|
+
|
214
|
+
// Buttons
|
215
|
+
//
|
216
|
+
// For each of Bootstrap's buttons, define text, background and border color.
|
217
|
+
|
218
|
+
// $btn-padding-x: 1rem;
|
219
|
+
// $btn-padding-y: .375rem;
|
220
|
+
// $btn-font-weight: normal;
|
221
|
+
|
222
|
+
// $btn-primary-color: #fff;
|
223
|
+
// $btn-primary-bg: $brand-primary;
|
224
|
+
// $btn-primary-border: $btn-primary-bg;
|
225
|
+
|
226
|
+
// $btn-secondary-color: $gray-dark;
|
227
|
+
// $btn-secondary-bg: #fff;
|
228
|
+
// $btn-secondary-border: #ccc;
|
229
|
+
|
230
|
+
// $btn-info-color: #fff;
|
231
|
+
// $btn-info-bg: $brand-info;
|
232
|
+
// $btn-info-border: $btn-info-bg;
|
233
|
+
|
234
|
+
// $btn-success-color: #fff;
|
235
|
+
// $btn-success-bg: $brand-success;
|
236
|
+
// $btn-success-border: $btn-success-bg;
|
237
|
+
|
238
|
+
// $btn-warning-color: #fff;
|
239
|
+
// $btn-warning-bg: $brand-warning;
|
240
|
+
// $btn-warning-border: $btn-warning-bg;
|
241
|
+
|
242
|
+
// $btn-danger-color: #fff;
|
243
|
+
// $btn-danger-bg: $brand-danger;
|
244
|
+
// $btn-danger-border: $btn-danger-bg;
|
245
|
+
|
246
|
+
// $btn-link-disabled-color: $gray-light;
|
247
|
+
|
248
|
+
// $btn-padding-x-sm: .75rem;
|
249
|
+
// $btn-padding-y-sm: .25rem;
|
250
|
+
|
251
|
+
// $btn-padding-x-lg: 1.25rem;
|
252
|
+
// $btn-padding-y-lg: .75rem;
|
253
|
+
|
254
|
+
// Allows for customizing button radius independently from global border radius
|
255
|
+
// $btn-border-radius: $border-radius;
|
256
|
+
// $btn-border-radius-lg: $border-radius-lg;
|
257
|
+
// $btn-border-radius-sm: $border-radius-sm;
|
258
|
+
|
259
|
+
|
260
|
+
// Forms
|
261
|
+
|
262
|
+
// $input-padding-x: .75rem;
|
263
|
+
// $input-padding-y: .375rem;
|
264
|
+
|
265
|
+
// $input-bg: #fff;
|
266
|
+
// $input-bg-disabled: $gray-lighter;
|
267
|
+
|
268
|
+
// $input-color: $gray;
|
269
|
+
// $input-border: #ccc;
|
270
|
+
// $input-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
271
|
+
|
272
|
+
// $input-border-radius: $border-radius;
|
273
|
+
// $input-border-radius-lg: $border-radius-lg;
|
274
|
+
// $input-border-radius-sm: $border-radius-sm;
|
275
|
+
|
276
|
+
// $input-border-focus: #66afe9;
|
277
|
+
// $input-box-shadow-focus: rgba(102,175,233,.6);
|
278
|
+
|
279
|
+
// $input-color-placeholder: #999;
|
280
|
+
|
281
|
+
// $input-padding-x-sm: .75rem;
|
282
|
+
// $input-padding-y-sm: .275rem;
|
283
|
+
|
284
|
+
// $input-padding-x-lg: 1.25rem;
|
285
|
+
// $input-padding-y-lg: .75rem;
|
286
|
+
|
287
|
+
// $input-height: (($font-size-base * $line-height) + ($input-padding-y * 2));
|
288
|
+
// $input-height-lg: (($font-size-lg * $line-height-lg) + ($input-padding-y-lg * 2));
|
289
|
+
// $input-height-sm: (($font-size-sm * $line-height-sm) + ($input-padding-y-sm * 2));
|
290
|
+
|
291
|
+
// $form-group-margin-bottom: $spacer-y;
|
292
|
+
|
293
|
+
// $input-group-addon-bg: $gray-lighter;
|
294
|
+
// $input-group-addon-border-color: $input-border;
|
295
|
+
|
296
|
+
// $cursor-disabled: not-allowed;
|
297
|
+
|
298
|
+
// Form validation icons
|
299
|
+
// $form-icon-success: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNoZWNrIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDYxMiA3OTIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYxMiA3OTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGZpbGw9IiM1Q0I4NUMiIGQ9Ik0yMzMuOCw2MTAuMWMtMTMuMywwLTI1LjktNi4yLTM0LTE2LjlMOTAuNSw0NDguOEM3Ni4zLDQzMCw4MCw0MDMuMyw5OC44LDM4OS4xYzE4LjgtMTQuMyw0NS41LTEwLjUsNTkuOCw4LjNsNzEuOSw5NWwyMjAuOS0yNTAuNWMxMi41LTIwLDM4LjgtMjYuMSw1OC44LTEzLjZjMjAsMTIuNCwyNi4xLDM4LjcsMTMuNiw1OC44TDI3MCw1OTBjLTcuNCwxMi0yMC4yLDE5LjQtMzQuMywyMC4xQzIzNS4xLDYxMC4xLDIzNC41LDYxMC4xLDIzMy44LDYxMC4xeiIvPjwvc3ZnPg==";
|
300
|
+
// $form-icon-warning: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9Ildhcm5pbmciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNjEyIDc5MiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjEyIDc5MiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZmlsbD0iI0YwQUQ0RSIgZD0iTTYwMyw2NDAuMmwtMjc4LjUtNTA5Yy0zLjgtNi42LTEwLjgtMTAuNi0xOC41LTEwLjZzLTE0LjcsNC4xLTE4LjUsMTAuNkw5LDY0MC4yYy0zLjcsNi41LTMuNiwxNC40LDAuMiwyMC44YzMuOCw2LjUsMTAuOCwxMC40LDE4LjMsMTAuNGg1NTcuMWM3LjUsMCwxNC41LTMuOSwxOC4zLTEwLjRDNjA2LjYsNjU0LjYsNjA2LjcsNjQ2LjYsNjAzLDY0MC4yeiBNMzM2LjYsNjEwLjJoLTYxLjJWNTQ5aDYxLjJWNjEwLjJ6IE0zMzYuNiw1MDMuMWgtNjEuMlYzMDQuMmg2MS4yVjUwMy4xeiIvPjwvc3ZnPg==";
|
301
|
+
// $form-icon-error: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNyb3NzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDYxMiA3OTIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYxMiA3OTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGZpbGw9IiNEOTUzNEYiIGQ9Ik00NDcsNTQ0LjRjLTE0LjQsMTQuNC0zNy42LDE0LjQtNTEuOSwwTDMwNiw0NTEuN2wtODkuMSw5Mi43Yy0xNC40LDE0LjQtMzcuNiwxNC40LTUxLjksMGMtMTQuNC0xNC40LTE0LjQtMzcuNiwwLTUxLjlsOTIuNC05Ni40TDE2NSwyOTkuNmMtMTQuNC0xNC40LTE0LjQtMzcuNiwwLTUxLjlzMzcuNi0xNC40LDUxLjksMGw4OS4yLDkyLjdsODkuMS05Mi43YzE0LjQtMTQuNCwzNy42LTE0LjQsNTEuOSwwYzE0LjQsMTQuNCwxNC40LDM3LjYsMCw1MS45TDM1NC43LDM5Nmw5Mi40LDk2LjRDNDYxLjQsNTA2LjgsNDYxLjQsNTMwLDQ0Nyw1NDQuNHoiLz48L3N2Zz4=";
|
302
|
+
|
303
|
+
|
304
|
+
// Dropdowns
|
305
|
+
//
|
306
|
+
// Dropdown menu container and contents.
|
307
|
+
|
308
|
+
// $dropdown-bg: #fff;
|
309
|
+
// $dropdown-border: rgba(0,0,0,.15);
|
310
|
+
// $dropdown-divider-bg: #e5e5e5;
|
311
|
+
|
312
|
+
// $dropdown-link-color: $gray-dark;
|
313
|
+
// $dropdown-link-hover-color: darken($gray-dark, 5%);
|
314
|
+
// $dropdown-link-hover-bg: #f5f5f5;
|
315
|
+
|
316
|
+
// $dropdown-link-active-color: $component-active-color;
|
317
|
+
// $dropdown-link-active-bg: $component-active-bg;
|
318
|
+
|
319
|
+
// $dropdown-link-disabled-color: $gray-light;
|
320
|
+
|
321
|
+
// $dropdown-header-color: $gray-light;
|
322
|
+
|
323
|
+
|
324
|
+
// Z-index master list
|
325
|
+
//
|
326
|
+
// Warning: Avoid customizing these values. They're used for a bird's eye view
|
327
|
+
// of components dependent on the z-axis and are designed to all work together.
|
328
|
+
//
|
329
|
+
// Note: These variables are not generated into the Customizer.
|
330
|
+
|
331
|
+
// $zindex-navbar: 1000;
|
332
|
+
// $zindex-dropdown: 1000;
|
333
|
+
// $zindex-popover: 1060;
|
334
|
+
// $zindex-tooltip: 1070;
|
335
|
+
// $zindex-navbar-fixed: 1030;
|
336
|
+
// $zindex-navbar-sticky: 1030;
|
337
|
+
// $zindex-modal-bg: 1040;
|
338
|
+
// $zindex-modal: 1050;
|
339
|
+
|
340
|
+
|
341
|
+
// Navbar
|
342
|
+
|
343
|
+
// $navbar-border-radius: $border-radius;
|
344
|
+
// $navbar-padding-horizontal: $spacer;
|
345
|
+
// $navbar-padding-vertical: ($spacer / 2);
|
346
|
+
|
347
|
+
// $navbar-dark-color: rgba(255,255,255,.5);
|
348
|
+
// $navbar-dark-hover-color: rgba(255,255,255,.75);
|
349
|
+
// $navbar-dark-active-color: rgba(255,255,255,1);
|
350
|
+
// $navbar-dark-disabled-color: rgba(255,255,255,.25);
|
351
|
+
|
352
|
+
// $navbar-light-color: rgba(0,0,0,.3);
|
353
|
+
// $navbar-light-hover-color: rgba(0,0,0,.6);
|
354
|
+
// $navbar-light-active-color: rgba(0,0,0,.8);
|
355
|
+
// $navbar-light-disabled-color: rgba(0,0,0,.15);
|
356
|
+
|
357
|
+
|
358
|
+
// Navs
|
359
|
+
|
360
|
+
// $nav-link-padding: .5em 1em;
|
361
|
+
// $nav-link-hover-bg: $gray-lighter;
|
362
|
+
|
363
|
+
// $nav-disabled-link-color: $gray-light;
|
364
|
+
// $nav-disabled-link-hover-color: $gray-light;
|
365
|
+
|
366
|
+
// $nav-tabs-border-color: #ddd;
|
367
|
+
|
368
|
+
// $nav-tabs-link-hover-border-color: $gray-lighter;
|
369
|
+
|
370
|
+
// $nav-tabs-active-link-hover-bg: $body-bg;
|
371
|
+
// $nav-tabs-active-link-hover-color: $gray;
|
372
|
+
// $nav-tabs-active-link-hover-border-color: #ddd;
|
373
|
+
|
374
|
+
// $nav-tabs-justified-link-border-color: #ddd;
|
375
|
+
// $nav-tabs-justified-active-link-border-color: $body-bg;
|
376
|
+
|
377
|
+
// $nav-pills-border-radius: $border-radius;
|
378
|
+
// $nav-pills-active-link-hover-bg: $component-active-bg;
|
379
|
+
// $nav-pills-active-link-hover-color: $component-active-color;
|
380
|
+
|
381
|
+
|
382
|
+
// Pagination
|
383
|
+
|
384
|
+
// $pagination-padding-x: .75rem;
|
385
|
+
// $pagination-padding-y: .5rem;
|
386
|
+
// $pagination-padding-x-sm: .75rem;
|
387
|
+
// $pagination-padding-y-sm: .275rem;
|
388
|
+
// $pagination-padding-x-lg: 1.5rem;
|
389
|
+
// $pagination-padding-y-lg: .75rem;
|
390
|
+
|
391
|
+
|
392
|
+
// $pagination-color: $link-color;
|
393
|
+
// $pagination-bg: #fff;
|
394
|
+
// $pagination-border: #ddd;
|
395
|
+
|
396
|
+
// $pagination-hover-color: $link-hover-color;
|
397
|
+
// $pagination-hover-bg: $gray-lighter;
|
398
|
+
// $pagination-hover-border: #ddd;
|
399
|
+
|
400
|
+
// $pagination-active-color: #fff;
|
401
|
+
// $pagination-active-bg: $brand-primary;
|
402
|
+
// $pagination-active-border: $brand-primary;
|
403
|
+
|
404
|
+
// $pagination-disabled-color: $gray-light;
|
405
|
+
// $pagination-disabled-bg: #fff;
|
406
|
+
// $pagination-disabled-border: #ddd;
|
407
|
+
|
408
|
+
|
409
|
+
// Pager
|
410
|
+
|
411
|
+
// $pager-bg: $pagination-bg;
|
412
|
+
// $pager-border: $pagination-border;
|
413
|
+
// $pager-border-radius: 15px;
|
414
|
+
|
415
|
+
// $pager-hover-bg: $pagination-hover-bg;
|
416
|
+
|
417
|
+
// $pager-active-bg: $pagination-active-bg;
|
418
|
+
// $pager-active-color: $pagination-active-color;
|
419
|
+
|
420
|
+
// $pager-disabled-color: $pagination-disabled-color;
|
421
|
+
|
422
|
+
|
423
|
+
// Jumbotron
|
424
|
+
|
425
|
+
// $jumbotron-padding: 2rem;
|
426
|
+
// $jumbotron-bg: $gray-lighter;
|
427
|
+
|
428
|
+
|
429
|
+
// Form states and alerts
|
430
|
+
//
|
431
|
+
// Define colors for form feedback states and, by default, alerts.
|
432
|
+
|
433
|
+
// $state-success-text: #3c763d;
|
434
|
+
// $state-success-bg: #dff0d8;
|
435
|
+
// $state-success-border: darken($state-success-bg, 5%);
|
436
|
+
|
437
|
+
// $state-info-text: #31708f;
|
438
|
+
// $state-info-bg: #d9edf7;
|
439
|
+
// $state-info-border: darken($state-info-bg, 7%);
|
440
|
+
|
441
|
+
// $state-warning-text: #8a6d3b;
|
442
|
+
// $state-warning-bg: #fcf8e3;
|
443
|
+
// $state-warning-border: darken($state-warning-bg, 5%);
|
444
|
+
|
445
|
+
// $state-danger-text: #a94442;
|
446
|
+
// $state-danger-bg: #f2dede;
|
447
|
+
// $state-danger-border: darken($state-danger-bg, 5%);
|
448
|
+
|
449
|
+
|
450
|
+
// Cards
|
451
|
+
// $card-spacer-x: 1.25rem;
|
452
|
+
// $card-spacer-y: .75rem;
|
453
|
+
// $card-border-width: .0625rem;
|
454
|
+
// $card-border-radius: $border-radius;
|
455
|
+
// $card-border-color: #e5e5e5;
|
456
|
+
// $card-border-radius-inner: ($card-border-radius - $card-border-width);
|
457
|
+
// $card-cap-bg: #f5f5f5;
|
458
|
+
// $card-bg: #fff;
|
459
|
+
|
460
|
+
// Tooltips
|
461
|
+
|
462
|
+
// $tooltip-max-width: 200px;
|
463
|
+
// $tooltip-color: #fff;
|
464
|
+
// $tooltip-bg: #000;
|
465
|
+
// $tooltip-opacity: .9;
|
466
|
+
|
467
|
+
// $tooltip-arrow-width: 5px;
|
468
|
+
// $tooltip-arrow-color: $tooltip-bg;
|
469
|
+
|
470
|
+
|
471
|
+
// Popovers
|
472
|
+
|
473
|
+
// $popover-bg: #fff;
|
474
|
+
// $popover-max-width: 276px;
|
475
|
+
// $popover-border-color: rgba(0,0,0,.2);
|
476
|
+
// $popover-fallback-border-color: #ccc;
|
477
|
+
|
478
|
+
// $popover-title-bg: darken($popover-bg, 3%);
|
479
|
+
|
480
|
+
// $popover-arrow-width: 10px;
|
481
|
+
// $popover-arrow-color: $popover-bg;
|
482
|
+
|
483
|
+
// $popover-arrow-outer-width: ($popover-arrow-width + 1);
|
484
|
+
// $popover-arrow-outer-color: fade-in($popover-border-color, 0.05);
|
485
|
+
// $popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%);
|
486
|
+
|
487
|
+
|
488
|
+
// Labels
|
489
|
+
|
490
|
+
// $label-default-bg: $gray-light;
|
491
|
+
// $label-primary-bg: $brand-primary;
|
492
|
+
// $label-success-bg: $brand-success;
|
493
|
+
// $label-info-bg: $brand-info;
|
494
|
+
// $label-warning-bg: $brand-warning;
|
495
|
+
// $label-danger-bg: $brand-danger;
|
496
|
+
|
497
|
+
// $label-color: #fff;
|
498
|
+
// $label-link-hover-color: #fff;
|
499
|
+
|
500
|
+
|
501
|
+
// Modals
|
502
|
+
|
503
|
+
// Padding applied to the modal body
|
504
|
+
// $modal-inner-padding: 15px;
|
505
|
+
|
506
|
+
// $modal-title-padding: 15px;
|
507
|
+
// $modal-title-line-height: $line-height;
|
508
|
+
|
509
|
+
// $modal-content-bg: #fff;
|
510
|
+
// $modal-content-border-color: rgba(0,0,0,.2);
|
511
|
+
|
512
|
+
// $modal-backdrop-bg: #000;
|
513
|
+
// $modal-backdrop-opacity: .5;
|
514
|
+
// $modal-header-border-color: #e5e5e5;
|
515
|
+
// $modal-footer-border-color: $modal-header-border-color;
|
516
|
+
|
517
|
+
// $modal-lg: 900px;
|
518
|
+
// $modal-md: 600px;
|
519
|
+
// $modal-sm: 300px;
|
520
|
+
|
521
|
+
|
522
|
+
// Alerts
|
523
|
+
//
|
524
|
+
// Define alert colors, border radius, and padding.
|
525
|
+
|
526
|
+
// $alert-padding: 15px;
|
527
|
+
// $alert-border-radius: $border-radius;
|
528
|
+
// $alert-link-font-weight: bold;
|
529
|
+
|
530
|
+
// $alert-success-bg: $state-success-bg;
|
531
|
+
// $alert-success-text: $state-success-text;
|
532
|
+
// $alert-success-border: $state-success-border;
|
533
|
+
|
534
|
+
// $alert-info-bg: $state-info-bg;
|
535
|
+
// $alert-info-text: $state-info-text;
|
536
|
+
// $alert-info-border: $state-info-border;
|
537
|
+
|
538
|
+
// $alert-warning-bg: $state-warning-bg;
|
539
|
+
// $alert-warning-text: $state-warning-text;
|
540
|
+
// $alert-warning-border: $state-warning-border;
|
541
|
+
|
542
|
+
// $alert-danger-bg: $state-danger-bg;
|
543
|
+
// $alert-danger-text: $state-danger-text;
|
544
|
+
// $alert-danger-border: $state-danger-border;
|
545
|
+
|
546
|
+
|
547
|
+
// Progress bars
|
548
|
+
|
549
|
+
// $progress-bg: #f5f5f5;
|
550
|
+
// $progress-bar-color: #fff;
|
551
|
+
// $progress-border-radius: $border-radius;
|
552
|
+
|
553
|
+
// $progress-bar-bg: $brand-primary;
|
554
|
+
// $progress-bar-success-bg: $brand-success;
|
555
|
+
// $progress-bar-warning-bg: $brand-warning;
|
556
|
+
// $progress-bar-danger-bg: $brand-danger;
|
557
|
+
// $progress-bar-info-bg: $brand-info;
|
558
|
+
|
559
|
+
|
560
|
+
// List group
|
561
|
+
|
562
|
+
// $list-group-bg: #fff;
|
563
|
+
// $list-group-border: #ddd;
|
564
|
+
// $list-group-border-radius: $border-radius;
|
565
|
+
|
566
|
+
// $list-group-hover-bg: #f5f5f5;
|
567
|
+
// $list-group-active-color: $component-active-color;
|
568
|
+
// $list-group-active-bg: $component-active-bg;
|
569
|
+
// $list-group-active-border: $list-group-active-bg;
|
570
|
+
// $list-group-active-text-color: lighten($list-group-active-bg, 40%);
|
571
|
+
|
572
|
+
// $list-group-disabled-color: $gray-light;
|
573
|
+
// $list-group-disabled-bg: $gray-lighter;
|
574
|
+
// $list-group-disabled-text-color: $list-group-disabled-color;
|
575
|
+
|
576
|
+
// $list-group-link-color: #555;
|
577
|
+
// $list-group-link-hover-color: $list-group-link-color;
|
578
|
+
// $list-group-link-heading-color: #333;
|
579
|
+
|
580
|
+
|
581
|
+
// Image thumbnails
|
582
|
+
|
583
|
+
// $thumbnail-padding: .25rem;
|
584
|
+
// $thumbnail-bg: $body-bg;
|
585
|
+
// $thumbnail-border: #ddd;
|
586
|
+
// $thumbnail-border-radius: $border-radius;
|
587
|
+
|
588
|
+
|
589
|
+
// Breadcrumbs
|
590
|
+
|
591
|
+
// $breadcrumb-padding-vertical: .75rem;
|
592
|
+
// $breadcrumb-padding-horizontal: 1rem;
|
593
|
+
|
594
|
+
// $breadcrumb-bg: $gray-lighter;
|
595
|
+
// $breadcrumb-divider-color: $gray-light;
|
596
|
+
// $breadcrumb-active-color: $gray-light;
|
597
|
+
// $breadcrumb-divider: "/";
|
598
|
+
|
599
|
+
|
600
|
+
// Carousel
|
601
|
+
|
602
|
+
// $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6);
|
603
|
+
|
604
|
+
// $carousel-control-color: #fff;
|
605
|
+
// $carousel-control-width: 15%;
|
606
|
+
// $carousel-control-opacity: .5;
|
607
|
+
// $carousel-control-font-size: 20px;
|
608
|
+
|
609
|
+
// $carousel-indicator-active-bg: #fff;
|
610
|
+
// $carousel-indicator-border-color: #fff;
|
611
|
+
|
612
|
+
// $carousel-caption-color: #fff;
|
613
|
+
|
614
|
+
|
615
|
+
// Close
|
616
|
+
|
617
|
+
// $close-font-weight: bold;
|
618
|
+
// $close-color: #000;
|
619
|
+
// $close-text-shadow: 0 1px 0 #fff;
|
620
|
+
|
621
|
+
|
622
|
+
// Code
|
623
|
+
|
624
|
+
// $code-color: #bd4147;
|
625
|
+
// $code-bg: #f7f7f9;
|
626
|
+
|
627
|
+
// $kbd-color: #fff;
|
628
|
+
// $kbd-bg: #333;
|
629
|
+
|
630
|
+
// $pre-bg: #f7f7f9;
|
631
|
+
// $pre-color: $gray-dark;
|
632
|
+
// $pre-border-color: #ccc;
|
633
|
+
// $pre-scrollable-max-height: 340px;
|