bootstrap-sass 3.3.6 → 3.4.1
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 +5 -5
- data/.gitignore +1 -0
- data/.travis.yml +4 -10
- data/CHANGELOG.md +15 -4
- data/Gemfile +1 -4
- data/LICENSE +2 -1
- data/README.md +71 -69
- data/Rakefile +12 -8
- data/assets/javascripts/bootstrap/affix.js +7 -5
- data/assets/javascripts/bootstrap/alert.js +6 -5
- data/assets/javascripts/bootstrap/button.js +14 -9
- data/assets/javascripts/bootstrap/carousel.js +16 -7
- data/assets/javascripts/bootstrap/collapse.js +7 -6
- data/assets/javascripts/bootstrap/dropdown.js +5 -5
- data/assets/javascripts/bootstrap/modal.js +44 -23
- data/assets/javascripts/bootstrap/popover.js +25 -10
- data/assets/javascripts/bootstrap/scrollspy.js +4 -4
- data/assets/javascripts/bootstrap/tab.js +10 -10
- data/assets/javascripts/bootstrap/tooltip.js +177 -14
- data/assets/javascripts/bootstrap/transition.js +5 -5
- data/assets/javascripts/bootstrap.js +324 -107
- data/assets/javascripts/bootstrap.min.js +3 -4
- data/assets/stylesheets/_bootstrap.scss +2 -2
- data/assets/stylesheets/bootstrap/_alerts.scss +3 -3
- data/assets/stylesheets/bootstrap/_badges.scss +3 -3
- data/assets/stylesheets/bootstrap/_breadcrumbs.scss +2 -2
- data/assets/stylesheets/bootstrap/_button-groups.scss +6 -6
- data/assets/stylesheets/bootstrap/_buttons.scss +4 -4
- data/assets/stylesheets/bootstrap/_carousel.scss +26 -25
- data/assets/stylesheets/bootstrap/_close.scss +1 -0
- data/assets/stylesheets/bootstrap/_code.scss +3 -3
- data/assets/stylesheets/bootstrap/_component-animations.scss +1 -0
- data/assets/stylesheets/bootstrap/_dropdowns.scss +20 -23
- data/assets/stylesheets/bootstrap/_forms.scss +48 -58
- data/assets/stylesheets/bootstrap/_glyphicons.scss +9 -9
- data/assets/stylesheets/bootstrap/_grid.scss +10 -0
- data/assets/stylesheets/bootstrap/_input-groups.scss +3 -3
- data/assets/stylesheets/bootstrap/_jumbotron.scss +5 -5
- data/assets/stylesheets/bootstrap/_labels.scss +1 -1
- data/assets/stylesheets/bootstrap/_list-group.scss +30 -32
- data/assets/stylesheets/bootstrap/_media.scss +1 -1
- data/assets/stylesheets/bootstrap/_modals.scss +7 -7
- data/assets/stylesheets/bootstrap/_navbar.scss +75 -81
- data/assets/stylesheets/bootstrap/_navs.scss +4 -4
- data/assets/stylesheets/bootstrap/_normalize.scss +5 -2
- data/assets/stylesheets/bootstrap/_pager.scss +2 -2
- data/assets/stylesheets/bootstrap/_pagination.scss +12 -15
- data/assets/stylesheets/bootstrap/_panels.scss +5 -5
- data/assets/stylesheets/bootstrap/_popovers.scss +47 -52
- data/assets/stylesheets/bootstrap/_print.scss +90 -92
- data/assets/stylesheets/bootstrap/_progress-bars.scss +3 -3
- data/assets/stylesheets/bootstrap/_responsive-embed.scss +2 -2
- data/assets/stylesheets/bootstrap/_responsive-utilities.scss +3 -3
- data/assets/stylesheets/bootstrap/_scaffolding.scss +7 -7
- data/assets/stylesheets/bootstrap/_tables.scss +23 -23
- data/assets/stylesheets/bootstrap/_theme.scss +21 -17
- data/assets/stylesheets/bootstrap/_thumbnails.scss +1 -1
- data/assets/stylesheets/bootstrap/_tooltip.scss +38 -27
- data/assets/stylesheets/bootstrap/_type.scss +10 -10
- data/assets/stylesheets/bootstrap/_variables.scss +7 -7
- data/assets/stylesheets/bootstrap/_wells.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_alerts.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +6 -10
- data/assets/stylesheets/bootstrap/mixins/_center-block.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +6 -8
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +7 -7
- data/assets/stylesheets/bootstrap/mixins/_image.scss +5 -10
- data/assets/stylesheets/bootstrap/mixins/_opacity.scss +2 -3
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_resize.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -4
- data/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +1 -1
- data/bootstrap-sass.gemspec +5 -4
- data/bower.json +2 -2
- data/composer.json +1 -1
- data/eyeglass-exports.js +7 -0
- data/lib/bootstrap-sass/version.rb +2 -2
- data/lib/bootstrap-sass.rb +13 -16
- data/package-lock.json +1611 -0
- data/package.json +19 -5
- data/tasks/converter/less_conversion.rb +7 -8
- data/tasks/converter/network.rb +2 -2
- data/templates/project/_bootstrap-variables.sass +8 -8
- data/test/compilation_test.rb +24 -12
- data/test/dummy_rails/config/application.rb +1 -0
- data/test/dummy_rails/config/boot.rb +1 -1
- data/test/dummy_sass_only/Gemfile +1 -1
- data/test/dummy_sass_only/compile.rb +14 -7
- data/test/dummy_sass_only/import_all.scss +2 -0
- data/test/gemfiles/default.gemfile +3 -0
- data/test/node_sass_compile_test.sh +4 -3
- data/test/sass_test.rb +10 -7
- data/test/sprockets_rails_test.rb +12 -8
- data/test/support/dummy_rails_integration.rb +1 -1
- data/test/test_helper.rb +2 -1
- metadata +34 -26
- data/test/compass_test.rb +0 -9
- data/test/dummy_sass_only/import_all.sass +0 -2
- data/test/gemfiles/rails_head.gemfile +0 -17
- data/test/gemfiles/sass_3_3.gemfile +0 -6
- data/test/gemfiles/sass_3_4.gemfile +0 -7
- data/test/gemfiles/sass_head.gemfile +0 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 58feea8410ac26aa16a8887d49c39915f01053fac4d547549f22ad09cca903a2
|
|
4
|
+
data.tar.gz: ab2888314daa99c23c67034bb52e89cab7ad5c80fc94cafa2aa000964e6ac4a6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 524b345c929bbd2013145b9d0efff1e9a9ae40dd92bf10084bbed4d00f1cd4a629258d337d497131be7d386badf3a512951a82670a6e6e1fc82ff34a1d6002ca
|
|
7
|
+
data.tar.gz: cf05215a71378dcd0f25293cd32095d947b7b748113c3e89c1d65c6f5030dc50ad6b5ecc2817695f8d530ba0ec7ef388e819c4b232c68ad2d03a564718896051
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
|
@@ -1,25 +1,19 @@
|
|
|
1
|
+
dist: xenial
|
|
1
2
|
language: ruby
|
|
2
3
|
cache: bundler
|
|
3
4
|
bundler_args: --path ../../vendor/bundle --without debug
|
|
4
5
|
rvm:
|
|
5
|
-
- 2.
|
|
6
|
+
- 2.5.1
|
|
6
7
|
gemfile:
|
|
7
|
-
- test/gemfiles/
|
|
8
|
-
- test/gemfiles/sass_3_3.gemfile
|
|
9
|
-
- test/gemfiles/sass_3_4.gemfile
|
|
10
|
-
- test/gemfiles/sass_head.gemfile
|
|
8
|
+
- test/gemfiles/default.gemfile
|
|
11
9
|
before_install:
|
|
12
10
|
- "nvm install stable"
|
|
13
11
|
- "npm install"
|
|
14
|
-
matrix:
|
|
15
|
-
allow_failures:
|
|
16
|
-
- gemfile: test/gemfiles/rails_head.gemfile
|
|
17
|
-
- gemfile: test/gemfiles/sass_head.gemfile
|
|
18
12
|
notifications:
|
|
19
13
|
slack: heybb:3n88HHilXn76ji9vV4gL819Y
|
|
20
14
|
env:
|
|
21
15
|
global:
|
|
22
16
|
- VERBOSE=1
|
|
23
17
|
script:
|
|
24
|
-
bundle exec rake &&
|
|
18
|
+
bundle exec rake && bash test/*.sh
|
|
25
19
|
sudo: false
|
data/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.4.0
|
|
4
|
+
|
|
5
|
+
* Bootstrap rubygem now depends on SassC instead of Sass.
|
|
6
|
+
* Compass no longer supported.
|
|
7
|
+
|
|
8
|
+
## 3.3.7
|
|
9
|
+
|
|
10
|
+
* Allows jQuery 3.x in bower.json. [#1048](https://github.com/twbs/bootstrap-sass/issues/1048)
|
|
11
|
+
* Adds the `style` and `sass` fields to package.json. [#1045](https://github.com/twbs/bootstrap-sass/issues/1045)
|
|
12
|
+
* Adds Eyeglass support. [#1007](https://github.com/twbs/bootstrap-sass/pull/1007)
|
|
13
|
+
|
|
3
14
|
## 3.3.6
|
|
4
15
|
|
|
5
|
-
Bumps Sass dependency to 3.3.4+ to avoid compatibility issues with @at-root.
|
|
6
|
-
Bumps node-sass dependency to ~3.4.2 for Node.js v5 compatibility. [#986](https://github.com/twbs/bootstrap-sass/issues/986)
|
|
7
|
-
Fixes breadcrumb content issues on libsass. [#919](https://github.com/twbs/bootstrap-sass/issues/919)
|
|
8
|
-
Fixes a Rails 5 compatibility issue. [#965](https://github.com/twbs/bootstrap-sass/pull/965)
|
|
16
|
+
* Bumps Sass dependency to 3.3.4+ to avoid compatibility issues with @at-root.
|
|
17
|
+
* Bumps node-sass dependency to ~3.4.2 for Node.js v5 compatibility. [#986](https://github.com/twbs/bootstrap-sass/issues/986)
|
|
18
|
+
* Fixes breadcrumb content issues on libsass. [#919](https://github.com/twbs/bootstrap-sass/issues/919)
|
|
19
|
+
* Fixes a Rails 5 compatibility issue. [#965](https://github.com/twbs/bootstrap-sass/pull/965)
|
|
9
20
|
|
|
10
21
|
Framework version: Bootstrap **v3.3.6**
|
|
11
22
|
|
data/Gemfile
CHANGED
data/LICENSE
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2011-2016 Twitter, Inc
|
|
4
|
+
Copyright (c) 2011-2016 The Bootstrap Authors
|
|
4
5
|
|
|
5
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
7
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Bootstrap for Sass
|
|
1
|
+
# Bootstrap 3 for Sass
|
|
2
2
|
[](http://badge.fury.io/rb/bootstrap-sass)
|
|
3
3
|
[](https://www.npmjs.com/package/bootstrap-sass)
|
|
4
4
|
[](http://badge.fury.io/bo/bootstrap-sass)
|
|
@@ -6,15 +6,15 @@
|
|
|
6
6
|
|
|
7
7
|
`bootstrap-sass` is a Sass-powered version of [Bootstrap](https://github.com/twbs/bootstrap) 3, ready to drop right into your Sass powered applications.
|
|
8
8
|
|
|
9
|
-
This is Bootstrap 3
|
|
9
|
+
This is Bootstrap **3**. For Bootstrap **4** use the [Bootstrap rubygem](https://github.com/twbs/bootstrap-rubygem) if you use Ruby, and the [main repo](https://github.com/twbs/bootstrap) otherwise.
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
13
13
|
Please see the appropriate guide for your environment of choice:
|
|
14
14
|
|
|
15
15
|
* [Ruby on Rails](#a-ruby-on-rails).
|
|
16
|
-
* [
|
|
17
|
-
* [
|
|
16
|
+
* [Bower](#b-bower).
|
|
17
|
+
* [npm / Node.js](#c-npm--nodejs).
|
|
18
18
|
|
|
19
19
|
### a. Ruby on Rails
|
|
20
20
|
|
|
@@ -23,8 +23,8 @@ Please see the appropriate guide for your environment of choice:
|
|
|
23
23
|
In your Gemfile you need to add the `bootstrap-sass` gem, and ensure that the `sass-rails` gem is present - it is added to new Rails applications by default.
|
|
24
24
|
|
|
25
25
|
```ruby
|
|
26
|
-
gem 'bootstrap-sass', '~> 3.
|
|
27
|
-
gem '
|
|
26
|
+
gem 'bootstrap-sass', '~> 3.4.1'
|
|
27
|
+
gem 'sassc-rails', '>= 2.1.0'
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
`bundle install` and restart your server to make the files available through the pipeline.
|
|
@@ -50,6 +50,17 @@ Then, remove all the `*= require_self` and `*= require_tree .` statements from t
|
|
|
50
50
|
|
|
51
51
|
Do not use `*= require` in Sass or your other stylesheets will not be [able to access][antirequire] the Bootstrap mixins or variables.
|
|
52
52
|
|
|
53
|
+
Bootstrap JavaScript depends on jQuery.
|
|
54
|
+
If you're using Rails 5.1+, add the `jquery-rails` gem to your Gemfile:
|
|
55
|
+
|
|
56
|
+
```ruby
|
|
57
|
+
gem 'jquery-rails'
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
```console
|
|
61
|
+
$ bundle install
|
|
62
|
+
```
|
|
63
|
+
|
|
53
64
|
Require Bootstrap Javascripts in `app/assets/javascripts/application.js`:
|
|
54
65
|
|
|
55
66
|
```js
|
|
@@ -100,49 +111,7 @@ Please make sure `sprockets-rails` is at least v2.1.4.
|
|
|
100
111
|
|
|
101
112
|
bootstrap-sass is no longer compatible with Rails 3. The latest version of bootstrap-sass compatible with Rails 3.2 is v3.1.1.0.
|
|
102
113
|
|
|
103
|
-
### b.
|
|
104
|
-
|
|
105
|
-
Install the gem:
|
|
106
|
-
|
|
107
|
-
```console
|
|
108
|
-
$ gem install bootstrap-sass
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
If you have an existing Compass project:
|
|
112
|
-
|
|
113
|
-
1. Require `bootstrap-sass` in `config.rb`:
|
|
114
|
-
|
|
115
|
-
```ruby
|
|
116
|
-
require 'bootstrap-sass'
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
2. Install Bootstrap with:
|
|
120
|
-
|
|
121
|
-
```console
|
|
122
|
-
$ bundle exec compass install bootstrap -r bootstrap-sass
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
If you are creating a new Compass project, you can generate it with bootstrap-sass support:
|
|
126
|
-
|
|
127
|
-
```console
|
|
128
|
-
$ bundle exec compass create my-new-project -r bootstrap-sass --using bootstrap
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
or, alternatively, if you're not using a Gemfile for your dependencies:
|
|
132
|
-
|
|
133
|
-
```console
|
|
134
|
-
$ compass create my-new-project -r bootstrap-sass --using bootstrap
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
This will create a new Compass project with the following files in it:
|
|
138
|
-
|
|
139
|
-
* [styles.sass](/templates/project/styles.sass) - main project Sass file, imports Bootstrap and variables.
|
|
140
|
-
* [_bootstrap-variables.sass](/templates/project/_bootstrap-variables.sass) - all of Bootstrap variables, override them here.
|
|
141
|
-
|
|
142
|
-
Some bootstrap-sass mixins may conflict with the Compass ones.
|
|
143
|
-
If this happens, change the import order so that Compass mixins are loaded later.
|
|
144
|
-
|
|
145
|
-
### c. Bower
|
|
114
|
+
### b. Bower
|
|
146
115
|
|
|
147
116
|
bootstrap-sass Bower package is compatible with node-sass 3.2.0+. You can install it with:
|
|
148
117
|
|
|
@@ -157,7 +126,7 @@ This is compatible by default with asset managers such as [wiredep](https://gith
|
|
|
157
126
|
|
|
158
127
|
#### Node.js Mincer
|
|
159
128
|
|
|
160
|
-
If you use [mincer][mincer] with node-sass, import
|
|
129
|
+
If you use [mincer][mincer] with node-sass, import Bootstrap like so:
|
|
161
130
|
|
|
162
131
|
In `application.css.ejs.scss` (NB **.css.ejs.scss**):
|
|
163
132
|
|
|
@@ -175,10 +144,15 @@ In `application.js`:
|
|
|
175
144
|
|
|
176
145
|
See also this [example manifest.js](/test/dummy_node_mincer/manifest.js) for mincer.
|
|
177
146
|
|
|
147
|
+
### c. npm / Node.js
|
|
148
|
+
```console
|
|
149
|
+
$ npm install bootstrap-sass
|
|
150
|
+
```
|
|
178
151
|
|
|
179
|
-
### Configuration
|
|
180
152
|
|
|
181
|
-
|
|
153
|
+
## Configuration
|
|
154
|
+
|
|
155
|
+
### Sass
|
|
182
156
|
|
|
183
157
|
By default all of Bootstrap is imported.
|
|
184
158
|
|
|
@@ -191,25 +165,39 @@ In the application Sass file, replace `@import 'bootstrap'` with:
|
|
|
191
165
|
@import 'bootstrap-custom';
|
|
192
166
|
```
|
|
193
167
|
|
|
194
|
-
|
|
168
|
+
### Sass: Number Precision
|
|
195
169
|
|
|
196
170
|
bootstrap-sass [requires](https://github.com/twbs/bootstrap-sass/issues/409) minimum [Sass number precision][sass-precision] of 8 (default is 5).
|
|
197
171
|
|
|
198
|
-
Precision is set for
|
|
199
|
-
When using
|
|
172
|
+
Precision is set for Ruby automatically when using the `sassc-rails` gem.
|
|
173
|
+
When using the npm or Bower version with Ruby, you can set it with:
|
|
200
174
|
|
|
201
175
|
```ruby
|
|
202
176
|
::Sass::Script::Value::Number.precision = [8, ::Sass::Script::Value::Number.precision].max
|
|
203
177
|
```
|
|
204
178
|
|
|
205
|
-
|
|
179
|
+
### Sass: Autoprefixer
|
|
206
180
|
|
|
207
181
|
Bootstrap requires the use of [Autoprefixer][autoprefixer].
|
|
208
|
-
[Autoprefixer][autoprefixer] adds vendor prefixes to CSS rules using values from [Can I Use](
|
|
182
|
+
[Autoprefixer][autoprefixer] adds vendor prefixes to CSS rules using values from [Can I Use](https://caniuse.com/).
|
|
183
|
+
|
|
184
|
+
To match [upstream Bootstrap's level of browser compatibility](https://getbootstrap.com/getting-started/#support), set Autoprefixer's `browsers` option to:
|
|
185
|
+
```json
|
|
186
|
+
[
|
|
187
|
+
"Android 2.3",
|
|
188
|
+
"Android >= 4",
|
|
189
|
+
"Chrome >= 20",
|
|
190
|
+
"Firefox >= 24",
|
|
191
|
+
"Explorer >= 8",
|
|
192
|
+
"iOS >= 6",
|
|
193
|
+
"Opera >= 12",
|
|
194
|
+
"Safari >= 6"
|
|
195
|
+
]
|
|
196
|
+
```
|
|
209
197
|
|
|
210
|
-
|
|
198
|
+
### JavaScript
|
|
211
199
|
|
|
212
|
-
[`assets/javascripts/bootstrap.js`](/assets/javascripts/bootstrap.js) contains all of Bootstrap JavaScript,
|
|
200
|
+
[`assets/javascripts/bootstrap.js`](/assets/javascripts/bootstrap.js) contains all of Bootstrap's JavaScript,
|
|
213
201
|
concatenated in the [correct order](/assets/javascripts/bootstrap-sprockets.js).
|
|
214
202
|
|
|
215
203
|
|
|
@@ -231,7 +219,7 @@ You can check dependencies in the [Bootstrap JS documentation][jsdocs].
|
|
|
231
219
|
//= require bootstrap/dropdown
|
|
232
220
|
```
|
|
233
221
|
|
|
234
|
-
|
|
222
|
+
### Fonts
|
|
235
223
|
|
|
236
224
|
The fonts are referenced as:
|
|
237
225
|
|
|
@@ -252,19 +240,19 @@ When using bootstrap-sass with Compass, Sprockets, or Mincer, you **must** impor
|
|
|
252
240
|
|
|
253
241
|
### Sass
|
|
254
242
|
|
|
255
|
-
Import Bootstrap into a Sass file (for example, application.scss) to get all of Bootstrap's styles, mixins and variables!
|
|
243
|
+
Import Bootstrap into a Sass file (for example, `application.scss`) to get all of Bootstrap's styles, mixins and variables!
|
|
256
244
|
|
|
257
245
|
```scss
|
|
258
246
|
@import "bootstrap";
|
|
259
247
|
```
|
|
260
248
|
|
|
261
|
-
You can also include optional
|
|
249
|
+
You can also include optional Bootstrap theme:
|
|
262
250
|
|
|
263
251
|
```scss
|
|
264
252
|
@import "bootstrap/theme";
|
|
265
253
|
```
|
|
266
254
|
|
|
267
|
-
The full list of
|
|
255
|
+
The full list of Bootstrap variables can be found [here](https://getbootstrap.com/customize/#less-variables). You can override these by simply redefining the variable before the `@import` directive, e.g.:
|
|
268
256
|
|
|
269
257
|
```scss
|
|
270
258
|
$navbar-default-bg: #312312;
|
|
@@ -274,10 +262,26 @@ $navbar-default-color: $light-orange;
|
|
|
274
262
|
@import "bootstrap";
|
|
275
263
|
```
|
|
276
264
|
|
|
265
|
+
### Eyeglass
|
|
266
|
+
|
|
267
|
+
Bootstrap is available as an [Eyeglass](https://github.com/sass-eyeglass/eyeglass) module. After installing Bootstrap via NPM you can import the Bootstrap library via:
|
|
268
|
+
|
|
269
|
+
```scss
|
|
270
|
+
@import "bootstrap-sass/bootstrap"
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
or import only the parts of Bootstrap you need:
|
|
274
|
+
|
|
275
|
+
```scss
|
|
276
|
+
@import "bootstrap-sass/bootstrap/variables";
|
|
277
|
+
@import "bootstrap-sass/bootstrap/mixins";
|
|
278
|
+
@import "bootstrap-sass/bootstrap/carousel";
|
|
279
|
+
```
|
|
280
|
+
|
|
277
281
|
## Version
|
|
278
282
|
|
|
279
283
|
Bootstrap for Sass version may differ from the upstream version in the last number, known as
|
|
280
|
-
[PATCH](
|
|
284
|
+
[PATCH](https://semver.org/spec/v2.0.0.html). The patch version may be ahead of the corresponding upstream minor.
|
|
281
285
|
This happens when we need to release Sass-specific changes.
|
|
282
286
|
|
|
283
287
|
Before v3.3.2, Bootstrap for Sass version used to reflect the upstream version, with an additional number for
|
|
@@ -287,9 +291,7 @@ The upstream versions vs the Bootstrap for Sass versions are:
|
|
|
287
291
|
|
|
288
292
|
| Upstream | Sass |
|
|
289
293
|
|---------:|--------:|
|
|
290
|
-
| 3.3.
|
|
291
|
-
| 3.3.5 | 3.3.5 |
|
|
292
|
-
| 3.3.4 | 3.3.4 |
|
|
294
|
+
| 3.3.4+ | same |
|
|
293
295
|
| 3.3.2 | 3.3.3 |
|
|
294
296
|
| <= 3.3.1 | 3.3.1.x |
|
|
295
297
|
|
|
@@ -320,7 +322,7 @@ To convert a specific branch or version, pass the branch name or the commit hash
|
|
|
320
322
|
|
|
321
323
|
The latest converter script is located [here][converter] and does the following:
|
|
322
324
|
|
|
323
|
-
* Converts upstream
|
|
325
|
+
* Converts upstream Bootstrap LESS files to its matching SCSS file.
|
|
324
326
|
* Copies all upstream JavaScript into `assets/javascripts/bootstrap`, a Sprockets manifest at `assets/javascripts/bootstrap-sprockets.js`, and a concatenation at `assets/javascripts/bootstrap.js`.
|
|
325
327
|
* Copies all upstream font files into `assets/fonts/bootstrap`.
|
|
326
328
|
* Sets `Bootstrap::BOOTSTRAP_SHA` in [version.rb][version] to the branch sha.
|
|
@@ -350,7 +352,7 @@ Michael Hartl's [Rails Tutorial](https://www.railstutorial.org/), [gitlabhq](htt
|
|
|
350
352
|
[version]: https://github.com/twbs/bootstrap-sass/blob/master/lib/bootstrap-sass/version.rb
|
|
351
353
|
[contrib]: https://github.com/twbs/bootstrap-sass/graphs/contributors
|
|
352
354
|
[antirequire]: https://github.com/twbs/bootstrap-sass/issues/79#issuecomment-4428595
|
|
353
|
-
[jsdocs]:
|
|
355
|
+
[jsdocs]: https://getbootstrap.com/javascript/#transitions
|
|
354
356
|
[sass-precision]: http://sass-lang.com/documentation/Sass/Script/Value/Number.html#precision%3D-class_method
|
|
355
357
|
[mincer]: https://github.com/nodeca/mincer
|
|
356
358
|
[autoprefixer]: https://github.com/postcss/autoprefixer
|
data/Rakefile
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
require 'bundler/gem_tasks'
|
|
2
|
+
|
|
3
|
+
lib_path = File.join(__dir__, 'lib')
|
|
2
4
|
$:.unshift(lib_path) unless $:.include?(lib_path)
|
|
3
5
|
|
|
4
6
|
load './tasks/bower.rake'
|
|
@@ -42,11 +44,12 @@ end
|
|
|
42
44
|
|
|
43
45
|
desc 'Dumps output to a CSS file for testing'
|
|
44
46
|
task :debug do
|
|
45
|
-
require '
|
|
47
|
+
require 'sassc'
|
|
48
|
+
require 'bootstrap-sass'
|
|
46
49
|
path = Bootstrap.stylesheets_path
|
|
47
|
-
%w(
|
|
48
|
-
engine =
|
|
49
|
-
File.open("
|
|
50
|
+
%w(_bootstrap).each do |file|
|
|
51
|
+
engine = SassC::Engine.new(File.read("#{path}/#{file}.scss"), syntax: :scss, load_paths: ['.', path])
|
|
52
|
+
File.open("tmp/#{file}.css", 'w') { |f| f.write(engine.render) }
|
|
50
53
|
end
|
|
51
54
|
end
|
|
52
55
|
|
|
@@ -64,7 +67,8 @@ end
|
|
|
64
67
|
|
|
65
68
|
desc 'Compile bootstrap-sass to tmp/ (or first arg)'
|
|
66
69
|
task :compile, :css_path do |t, args|
|
|
67
|
-
require '
|
|
70
|
+
require 'sassc'
|
|
71
|
+
require 'bootstrap-sass'
|
|
68
72
|
require 'term/ansicolor'
|
|
69
73
|
|
|
70
74
|
path = 'assets/stylesheets'
|
|
@@ -74,8 +78,8 @@ task :compile, :css_path do |t, args|
|
|
|
74
78
|
%w(_bootstrap bootstrap/_theme).each do |file|
|
|
75
79
|
save_path = "#{css_path}/#{file.sub(/(^|\/)?_+/, '\1').sub('/', '-')}.css"
|
|
76
80
|
puts Term::ANSIColor.cyan(" #{save_path}") + '...'
|
|
77
|
-
engine
|
|
78
|
-
css
|
|
81
|
+
engine = SassC::Engine.new(File.read("#{path}/#{file}.scss"), syntax: :scss, load_paths: ['.', path])
|
|
82
|
+
css = engine.render
|
|
79
83
|
File.open(save_path, 'w') { |f| f.write css }
|
|
80
84
|
end
|
|
81
85
|
end
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* ========================================================================
|
|
2
|
-
* Bootstrap: affix.js v3.
|
|
3
|
-
*
|
|
2
|
+
* Bootstrap: affix.js v3.4.1
|
|
3
|
+
* https://getbootstrap.com/docs/3.4/javascript/#affix
|
|
4
4
|
* ========================================================================
|
|
5
|
-
* Copyright 2011-
|
|
5
|
+
* Copyright 2011-2019 Twitter, Inc.
|
|
6
6
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
7
7
|
* ======================================================================== */
|
|
8
8
|
|
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
var Affix = function (element, options) {
|
|
17
17
|
this.options = $.extend({}, Affix.DEFAULTS, options)
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
var target = this.options.target === Affix.DEFAULTS.target ? $(this.options.target) : $(document).find(this.options.target)
|
|
20
|
+
|
|
21
|
+
this.$target = target
|
|
20
22
|
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
|
|
21
23
|
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
|
|
22
24
|
|
|
@@ -28,7 +30,7 @@
|
|
|
28
30
|
this.checkPosition()
|
|
29
31
|
}
|
|
30
32
|
|
|
31
|
-
Affix.VERSION = '3.
|
|
33
|
+
Affix.VERSION = '3.4.1'
|
|
32
34
|
|
|
33
35
|
Affix.RESET = 'affix affix-top affix-bottom'
|
|
34
36
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* ========================================================================
|
|
2
|
-
* Bootstrap: alert.js v3.
|
|
3
|
-
*
|
|
2
|
+
* Bootstrap: alert.js v3.4.1
|
|
3
|
+
* https://getbootstrap.com/docs/3.4/javascript/#alerts
|
|
4
4
|
* ========================================================================
|
|
5
|
-
* Copyright 2011-
|
|
5
|
+
* Copyright 2011-2019 Twitter, Inc.
|
|
6
6
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
7
7
|
* ======================================================================== */
|
|
8
8
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
$(el).on('click', dismiss, this.close)
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
Alert.VERSION = '3.
|
|
21
|
+
Alert.VERSION = '3.4.1'
|
|
22
22
|
|
|
23
23
|
Alert.TRANSITION_DURATION = 150
|
|
24
24
|
|
|
@@ -31,7 +31,8 @@
|
|
|
31
31
|
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
selector = selector === '#' ? [] : selector
|
|
35
|
+
var $parent = $(document).find(selector)
|
|
35
36
|
|
|
36
37
|
if (e) e.preventDefault()
|
|
37
38
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* ========================================================================
|
|
2
|
-
* Bootstrap: button.js v3.
|
|
3
|
-
*
|
|
2
|
+
* Bootstrap: button.js v3.4.1
|
|
3
|
+
* https://getbootstrap.com/docs/3.4/javascript/#buttons
|
|
4
4
|
* ========================================================================
|
|
5
|
-
* Copyright 2011-
|
|
5
|
+
* Copyright 2011-2019 Twitter, Inc.
|
|
6
6
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
7
7
|
* ======================================================================== */
|
|
8
8
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
this.isLoading = false
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
Button.VERSION = '3.
|
|
22
|
+
Button.VERSION = '3.4.1'
|
|
23
23
|
|
|
24
24
|
Button.DEFAULTS = {
|
|
25
25
|
loadingText: 'loading...'
|
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
|
|
42
42
|
if (state == 'loadingText') {
|
|
43
43
|
this.isLoading = true
|
|
44
|
-
$el.addClass(d).attr(d, d)
|
|
44
|
+
$el.addClass(d).attr(d, d).prop(d, true)
|
|
45
45
|
} else if (this.isLoading) {
|
|
46
46
|
this.isLoading = false
|
|
47
|
-
$el.removeClass(d).removeAttr(d)
|
|
47
|
+
$el.removeClass(d).removeAttr(d).prop(d, false)
|
|
48
48
|
}
|
|
49
49
|
}, this), 0)
|
|
50
50
|
}
|
|
@@ -108,10 +108,15 @@
|
|
|
108
108
|
|
|
109
109
|
$(document)
|
|
110
110
|
.on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
|
111
|
-
var $btn = $(e.target)
|
|
112
|
-
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
|
111
|
+
var $btn = $(e.target).closest('.btn')
|
|
113
112
|
Plugin.call($btn, 'toggle')
|
|
114
|
-
if (!($(e.target).is('input[type="radio"]
|
|
113
|
+
if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) {
|
|
114
|
+
// Prevent double click on radios, and the double selections (so cancellation) on checkboxes
|
|
115
|
+
e.preventDefault()
|
|
116
|
+
// The target component still receive the focus
|
|
117
|
+
if ($btn.is('input,button')) $btn.trigger('focus')
|
|
118
|
+
else $btn.find('input:visible,button:visible').first().trigger('focus')
|
|
119
|
+
}
|
|
115
120
|
})
|
|
116
121
|
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
|
117
122
|
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* ========================================================================
|
|
2
|
-
* Bootstrap: carousel.js v3.
|
|
3
|
-
*
|
|
2
|
+
* Bootstrap: carousel.js v3.4.1
|
|
3
|
+
* https://getbootstrap.com/docs/3.4/javascript/#carousel
|
|
4
4
|
* ========================================================================
|
|
5
|
-
* Copyright 2011-
|
|
5
|
+
* Copyright 2011-2019 Twitter, Inc.
|
|
6
6
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
7
7
|
* ======================================================================== */
|
|
8
8
|
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
Carousel.VERSION = '3.
|
|
33
|
+
Carousel.VERSION = '3.4.1'
|
|
34
34
|
|
|
35
35
|
Carousel.TRANSITION_DURATION = 600
|
|
36
36
|
|
|
@@ -144,7 +144,9 @@
|
|
|
144
144
|
var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
|
|
145
145
|
if ($.support.transition && this.$element.hasClass('slide')) {
|
|
146
146
|
$next.addClass(type)
|
|
147
|
-
$next
|
|
147
|
+
if (typeof $next === 'object' && $next.length) {
|
|
148
|
+
$next[0].offsetWidth // force reflow
|
|
149
|
+
}
|
|
148
150
|
$active.addClass(direction)
|
|
149
151
|
$next.addClass(direction)
|
|
150
152
|
$active
|
|
@@ -206,10 +208,17 @@
|
|
|
206
208
|
// =================
|
|
207
209
|
|
|
208
210
|
var clickHandler = function (e) {
|
|
209
|
-
var href
|
|
210
211
|
var $this = $(this)
|
|
211
|
-
var
|
|
212
|
+
var href = $this.attr('href')
|
|
213
|
+
if (href) {
|
|
214
|
+
href = href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
var target = $this.attr('data-target') || href
|
|
218
|
+
var $target = $(document).find(target)
|
|
219
|
+
|
|
212
220
|
if (!$target.hasClass('carousel')) return
|
|
221
|
+
|
|
213
222
|
var options = $.extend({}, $target.data(), $this.data())
|
|
214
223
|
var slideIndex = $this.attr('data-slide-to')
|
|
215
224
|
if (slideIndex) options.interval = false
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/* ========================================================================
|
|
2
|
-
* Bootstrap: collapse.js v3.
|
|
3
|
-
*
|
|
2
|
+
* Bootstrap: collapse.js v3.4.1
|
|
3
|
+
* https://getbootstrap.com/docs/3.4/javascript/#collapse
|
|
4
4
|
* ========================================================================
|
|
5
|
-
* Copyright 2011-
|
|
5
|
+
* Copyright 2011-2019 Twitter, Inc.
|
|
6
6
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
7
7
|
* ======================================================================== */
|
|
8
8
|
|
|
9
|
+
/* jshint latedef: false */
|
|
9
10
|
|
|
10
11
|
+function ($) {
|
|
11
12
|
'use strict';
|
|
@@ -29,7 +30,7 @@
|
|
|
29
30
|
if (this.options.toggle) this.toggle()
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
Collapse.VERSION = '3.
|
|
33
|
+
Collapse.VERSION = '3.4.1'
|
|
33
34
|
|
|
34
35
|
Collapse.TRANSITION_DURATION = 350
|
|
35
36
|
|
|
@@ -136,7 +137,7 @@
|
|
|
136
137
|
}
|
|
137
138
|
|
|
138
139
|
Collapse.prototype.getParent = function () {
|
|
139
|
-
return $(this.options.parent)
|
|
140
|
+
return $(document).find(this.options.parent)
|
|
140
141
|
.find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
|
|
141
142
|
.each($.proxy(function (i, element) {
|
|
142
143
|
var $element = $(element)
|
|
@@ -159,7 +160,7 @@
|
|
|
159
160
|
var target = $trigger.attr('data-target')
|
|
160
161
|
|| (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
|
|
161
162
|
|
|
162
|
-
return $(target)
|
|
163
|
+
return $(document).find(target)
|
|
163
164
|
}
|
|
164
165
|
|
|
165
166
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* ========================================================================
|
|
2
|
-
* Bootstrap: dropdown.js v3.
|
|
3
|
-
*
|
|
2
|
+
* Bootstrap: dropdown.js v3.4.1
|
|
3
|
+
* https://getbootstrap.com/docs/3.4/javascript/#dropdowns
|
|
4
4
|
* ========================================================================
|
|
5
|
-
* Copyright 2011-
|
|
5
|
+
* Copyright 2011-2019 Twitter, Inc.
|
|
6
6
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
7
7
|
* ======================================================================== */
|
|
8
8
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
$(element).on('click.bs.dropdown', this.toggle)
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
Dropdown.VERSION = '3.
|
|
22
|
+
Dropdown.VERSION = '3.4.1'
|
|
23
23
|
|
|
24
24
|
function getParent($this) {
|
|
25
25
|
var selector = $this.attr('data-target')
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
var $parent = selector
|
|
32
|
+
var $parent = selector !== '#' ? $(document).find(selector) : null
|
|
33
33
|
|
|
34
34
|
return $parent && $parent.length ? $parent : $this.parent()
|
|
35
35
|
}
|