less-rails-bootstrap 3.2.0 → 3.3.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/CHANGELOG.md +8 -0
- data/app/assets/fonts/twitter/bootstrap/glyphicons-halflings-regular.svg +1 -1
- data/app/assets/javascripts/twitter/bootstrap/affix.js +43 -23
- data/app/assets/javascripts/twitter/bootstrap/alert.js +6 -4
- data/app/assets/javascripts/twitter/bootstrap/button.js +16 -10
- data/app/assets/javascripts/twitter/bootstrap/carousel.js +26 -10
- data/app/assets/javascripts/twitter/bootstrap/collapse.js +69 -28
- data/app/assets/javascripts/twitter/bootstrap/dropdown.js +20 -10
- data/app/assets/javascripts/twitter/bootstrap/modal.js +22 -21
- data/app/assets/javascripts/twitter/bootstrap/popover.js +13 -7
- data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +12 -7
- data/app/assets/javascripts/twitter/bootstrap/tab.js +41 -16
- data/app/assets/javascripts/twitter/bootstrap/tooltip.js +60 -39
- data/app/assets/javascripts/twitter/bootstrap/transition.js +1 -1
- data/app/frameworks/twitter/bootstrap/button-groups.less +16 -9
- data/app/frameworks/twitter/bootstrap/buttons.less +7 -4
- data/app/frameworks/twitter/bootstrap/carousel.less +24 -0
- data/app/frameworks/twitter/bootstrap/code.less +1 -0
- data/app/frameworks/twitter/bootstrap/component-animations.less +5 -2
- data/app/frameworks/twitter/bootstrap/dropdowns.less +3 -5
- data/app/frameworks/twitter/bootstrap/forms.less +44 -25
- data/app/frameworks/twitter/bootstrap/glyphicons.less +2 -1
- data/app/frameworks/twitter/bootstrap/jumbotron.less +4 -4
- data/app/frameworks/twitter/bootstrap/list-group.less +1 -0
- data/app/frameworks/twitter/bootstrap/media.less +27 -36
- data/app/frameworks/twitter/bootstrap/mixins/buttons.less +2 -0
- data/app/frameworks/twitter/bootstrap/mixins/forms.less +5 -1
- data/app/frameworks/twitter/bootstrap/mixins/image.less +0 -1
- data/app/frameworks/twitter/bootstrap/mixins/labels.less +1 -1
- data/app/frameworks/twitter/bootstrap/mixins/vendor-prefixes.less +6 -3
- data/app/frameworks/twitter/bootstrap/modals.less +2 -3
- data/app/frameworks/twitter/bootstrap/navbar.less +29 -25
- data/app/frameworks/twitter/bootstrap/navs.less +3 -1
- data/app/frameworks/twitter/bootstrap/normalize.less +5 -3
- data/app/frameworks/twitter/bootstrap/pager.less +1 -2
- data/app/frameworks/twitter/bootstrap/pagination.less +1 -1
- data/app/frameworks/twitter/bootstrap/panels.less +21 -3
- data/app/frameworks/twitter/bootstrap/popovers.less +5 -4
- data/app/frameworks/twitter/bootstrap/print.less +102 -96
- data/app/frameworks/twitter/bootstrap/progress-bars.less +1 -19
- data/app/frameworks/twitter/bootstrap/responsive-embed.less +2 -1
- data/app/frameworks/twitter/bootstrap/scaffolding.less +1 -1
- data/app/frameworks/twitter/bootstrap/tables.less +11 -10
- data/app/frameworks/twitter/bootstrap/theme.less +12 -10
- data/app/frameworks/twitter/bootstrap/thumbnails.less +1 -1
- data/app/frameworks/twitter/bootstrap/type.less +0 -11
- data/app/frameworks/twitter/bootstrap/utilities.less +0 -1
- data/app/frameworks/twitter/bootstrap/variables.less +29 -19
- data/lib/less/rails/bootstrap/version.rb +1 -1
- metadata +19 -19
@@ -1,5 +1,5 @@
|
|
1
1
|
/* ========================================================================
|
2
|
-
* Bootstrap: transition.js v3.
|
2
|
+
* Bootstrap: transition.js v3.3.0
|
3
3
|
* http://getbootstrap.com/javascript/#transitions
|
4
4
|
* ========================================================================
|
5
5
|
* Copyright 2011-2014 Twitter, Inc.
|
@@ -198,7 +198,6 @@
|
|
198
198
|
}
|
199
199
|
|
200
200
|
|
201
|
-
|
202
201
|
// Justified button groups
|
203
202
|
// ----------------------
|
204
203
|
|
@@ -226,15 +225,23 @@
|
|
226
225
|
// Checkbox and radio options
|
227
226
|
//
|
228
227
|
// In order to support the browser's form validation feedback, powered by the
|
229
|
-
// `required` attribute, we have to "hide" the inputs via `
|
230
|
-
//
|
228
|
+
// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
|
229
|
+
// `display: none;` or `visibility: hidden;` as that also hides the popover.
|
230
|
+
// Simply visually hiding the inputs via `opacity` would leave them clickable in
|
231
|
+
// certain cases which is prevented by using `clip` and `pointer-events`.
|
231
232
|
// This way, we ensure a DOM element is visible to position the popover from.
|
232
233
|
//
|
233
|
-
// See https://github.com/twbs/bootstrap/pull/12794
|
234
|
+
// See https://github.com/twbs/bootstrap/pull/12794 and
|
235
|
+
// https://github.com/twbs/bootstrap/pull/14559 for more information.
|
234
236
|
|
235
|
-
[data-toggle="buttons"]
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
237
|
+
[data-toggle="buttons"] {
|
238
|
+
> .btn,
|
239
|
+
> .btn-group > .btn {
|
240
|
+
input[type="radio"],
|
241
|
+
input[type="checkbox"] {
|
242
|
+
position: absolute;
|
243
|
+
clip: rect(0,0,0,0);
|
244
|
+
pointer-events: none;
|
245
|
+
}
|
246
|
+
}
|
240
247
|
}
|
@@ -12,6 +12,7 @@
|
|
12
12
|
font-weight: @btn-font-weight;
|
13
13
|
text-align: center;
|
14
14
|
vertical-align: middle;
|
15
|
+
touch-action: manipulation;
|
15
16
|
cursor: pointer;
|
16
17
|
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
|
17
18
|
border: 1px solid transparent;
|
@@ -22,13 +23,15 @@
|
|
22
23
|
&,
|
23
24
|
&:active,
|
24
25
|
&.active {
|
25
|
-
&:focus
|
26
|
+
&:focus,
|
27
|
+
&.focus {
|
26
28
|
.tab-focus();
|
27
29
|
}
|
28
30
|
}
|
29
31
|
|
30
32
|
&:hover,
|
31
|
-
&:focus
|
33
|
+
&:focus,
|
34
|
+
&.focus {
|
32
35
|
color: @btn-default-color;
|
33
36
|
text-decoration: none;
|
34
37
|
}
|
@@ -43,7 +46,7 @@
|
|
43
46
|
&.disabled,
|
44
47
|
&[disabled],
|
45
48
|
fieldset[disabled] & {
|
46
|
-
cursor:
|
49
|
+
cursor: @cursor-disabled;
|
47
50
|
pointer-events: none; // Future-proof disabling of clicks
|
48
51
|
.opacity(.65);
|
49
52
|
.box-shadow(none);
|
@@ -85,11 +88,11 @@
|
|
85
88
|
.btn-link {
|
86
89
|
color: @link-color;
|
87
90
|
font-weight: normal;
|
88
|
-
cursor: pointer;
|
89
91
|
border-radius: 0;
|
90
92
|
|
91
93
|
&,
|
92
94
|
&:active,
|
95
|
+
&.active,
|
93
96
|
&[disabled],
|
94
97
|
fieldset[disabled] & {
|
95
98
|
background-color: transparent;
|
@@ -24,6 +24,30 @@
|
|
24
24
|
&:extend(.img-responsive);
|
25
25
|
line-height: 1;
|
26
26
|
}
|
27
|
+
|
28
|
+
// WebKit CSS3 transforms for supported devices
|
29
|
+
@media all and (transform-3d), (-webkit-transform-3d) {
|
30
|
+
transition: transform .6s ease-in-out;
|
31
|
+
backface-visibility: hidden;
|
32
|
+
perspective: 1000;
|
33
|
+
|
34
|
+
&.next,
|
35
|
+
&.active.right {
|
36
|
+
transform: translate3d(100%, 0, 0);
|
37
|
+
left: 0;
|
38
|
+
}
|
39
|
+
&.prev,
|
40
|
+
&.active.left {
|
41
|
+
transform: translate3d(-100%, 0, 0);
|
42
|
+
left: 0;
|
43
|
+
}
|
44
|
+
&.next.left,
|
45
|
+
&.prev.right,
|
46
|
+
&.active {
|
47
|
+
transform: translate3d(0, 0, 0);
|
48
|
+
left: 0;
|
49
|
+
}
|
50
|
+
}
|
27
51
|
}
|
28
52
|
|
29
53
|
> .active,
|
@@ -17,8 +17,9 @@
|
|
17
17
|
|
18
18
|
.collapse {
|
19
19
|
display: none;
|
20
|
+
visibility: hidden;
|
20
21
|
|
21
|
-
&.in { display: block; }
|
22
|
+
&.in { display: block; visibility: visible; }
|
22
23
|
tr&.in { display: table-row; }
|
23
24
|
tbody&.in { display: table-row-group; }
|
24
25
|
}
|
@@ -27,5 +28,7 @@
|
|
27
28
|
position: relative;
|
28
29
|
height: 0;
|
29
30
|
overflow: hidden;
|
30
|
-
.transition(height
|
31
|
+
.transition-property(~"height, visibility");
|
32
|
+
.transition-duration(.35s);
|
33
|
+
.transition-timing-function(ease);
|
31
34
|
}
|
@@ -103,16 +103,15 @@
|
|
103
103
|
&:focus {
|
104
104
|
color: @dropdown-link-disabled-color;
|
105
105
|
}
|
106
|
-
|
107
|
-
// Nuke hover/focus effects
|
108
|
-
.dropdown-menu > .disabled > a {
|
106
|
+
|
107
|
+
// Nuke hover/focus effects
|
109
108
|
&:hover,
|
110
109
|
&:focus {
|
111
110
|
text-decoration: none;
|
112
111
|
background-color: transparent;
|
113
112
|
background-image: none; // Remove CSS gradient
|
114
113
|
.reset-filter();
|
115
|
-
cursor:
|
114
|
+
cursor: @cursor-disabled;
|
116
115
|
}
|
117
116
|
}
|
118
117
|
|
@@ -212,4 +211,3 @@
|
|
212
211
|
}
|
213
212
|
}
|
214
213
|
}
|
215
|
-
|
@@ -141,7 +141,7 @@ output {
|
|
141
141
|
&[disabled],
|
142
142
|
&[readonly],
|
143
143
|
fieldset[disabled] & {
|
144
|
-
cursor:
|
144
|
+
cursor: @cursor-disabled;
|
145
145
|
background-color: @input-bg-disabled;
|
146
146
|
opacity: 1; // iOS fix for unreadable disabled content
|
147
147
|
}
|
@@ -183,9 +183,26 @@ input[type="month"] {
|
|
183
183
|
|
184
184
|
&.input-sm {
|
185
185
|
line-height: @input-height-small;
|
186
|
+
line-height: @line-height-small ~"\0";
|
186
187
|
}
|
187
188
|
&.input-lg {
|
188
189
|
line-height: @input-height-large;
|
190
|
+
line-height: @line-height-large ~"\0";
|
191
|
+
}
|
192
|
+
}
|
193
|
+
|
194
|
+
// IE 11 hack to reverse the iOS temporal input hack.
|
195
|
+
_:-ms-fullscreen, :root input[type="date"],
|
196
|
+
_:-ms-fullscreen, :root input[type="time"],
|
197
|
+
_:-ms-fullscreen, :root input[type="datetime-local"],
|
198
|
+
_:-ms-fullscreen, :root input[type="month"] {
|
199
|
+
line-height: @line-height-base;
|
200
|
+
|
201
|
+
&.input-sm {
|
202
|
+
line-height: @line-height-small;
|
203
|
+
}
|
204
|
+
&.input-lg {
|
205
|
+
line-height: @line-height-large;
|
189
206
|
}
|
190
207
|
}
|
191
208
|
|
@@ -208,11 +225,11 @@ input[type="month"] {
|
|
208
225
|
.checkbox {
|
209
226
|
position: relative;
|
210
227
|
display: block;
|
211
|
-
min-height: @line-height-computed; // clear the floating input if there is no label text
|
212
228
|
margin-top: 10px;
|
213
229
|
margin-bottom: 10px;
|
214
230
|
|
215
231
|
label {
|
232
|
+
min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text
|
216
233
|
padding-left: 20px;
|
217
234
|
margin-bottom: 0;
|
218
235
|
font-weight: normal;
|
@@ -258,7 +275,7 @@ input[type="checkbox"] {
|
|
258
275
|
&[disabled],
|
259
276
|
&.disabled,
|
260
277
|
fieldset[disabled] & {
|
261
|
-
cursor:
|
278
|
+
cursor: @cursor-disabled;
|
262
279
|
}
|
263
280
|
}
|
264
281
|
// These classes are used directly on <label>s
|
@@ -266,7 +283,7 @@ input[type="checkbox"] {
|
|
266
283
|
.checkbox-inline {
|
267
284
|
&.disabled,
|
268
285
|
fieldset[disabled] & {
|
269
|
-
cursor:
|
286
|
+
cursor: @cursor-disabled;
|
270
287
|
}
|
271
288
|
}
|
272
289
|
// These classes are used on elements with <label> descendants
|
@@ -275,7 +292,7 @@ input[type="checkbox"] {
|
|
275
292
|
&.disabled,
|
276
293
|
fieldset[disabled] & {
|
277
294
|
label {
|
278
|
-
cursor:
|
295
|
+
cursor: @cursor-disabled;
|
279
296
|
}
|
280
297
|
}
|
281
298
|
}
|
@@ -306,12 +323,14 @@ input[type="checkbox"] {
|
|
306
323
|
// Build on `.form-control` with modifier classes to decrease or increase the
|
307
324
|
// height and font-size of form controls.
|
308
325
|
|
309
|
-
.input-sm
|
310
|
-
|
326
|
+
.input-sm,
|
327
|
+
.form-group-sm .form-control {
|
328
|
+
.input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);
|
311
329
|
}
|
312
330
|
|
313
|
-
.input-lg
|
314
|
-
|
331
|
+
.input-lg,
|
332
|
+
.form-group-lg .form-control {
|
333
|
+
.input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);
|
315
334
|
}
|
316
335
|
|
317
336
|
|
@@ -331,7 +350,7 @@ input[type="checkbox"] {
|
|
331
350
|
// Feedback icon (requires .glyphicon classes)
|
332
351
|
.form-control-feedback {
|
333
352
|
position: absolute;
|
334
|
-
top:
|
353
|
+
top: 0;
|
335
354
|
right: 0;
|
336
355
|
z-index: 2; // Ensure icon is above input groups
|
337
356
|
display: block;
|
@@ -339,6 +358,7 @@ input[type="checkbox"] {
|
|
339
358
|
height: @input-height-base;
|
340
359
|
line-height: @input-height-base;
|
341
360
|
text-align: center;
|
361
|
+
pointer-events: none;
|
342
362
|
}
|
343
363
|
.input-lg + .form-control-feedback {
|
344
364
|
width: @input-height-large;
|
@@ -362,10 +382,15 @@ input[type="checkbox"] {
|
|
362
382
|
.form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);
|
363
383
|
}
|
364
384
|
|
385
|
+
// Reposition feedback icon if input has visible label above
|
386
|
+
.has-feedback label {
|
365
387
|
|
366
|
-
|
367
|
-
|
368
|
-
|
388
|
+
& ~ .form-control-feedback {
|
389
|
+
top: (@line-height-computed + 5); // Height of the `label` and its margin
|
390
|
+
}
|
391
|
+
&.sr-only ~ .form-control-feedback {
|
392
|
+
top: 0;
|
393
|
+
}
|
369
394
|
}
|
370
395
|
|
371
396
|
|
@@ -382,7 +407,6 @@ input[type="checkbox"] {
|
|
382
407
|
}
|
383
408
|
|
384
409
|
|
385
|
-
|
386
410
|
// Inline forms
|
387
411
|
//
|
388
412
|
// Make forms appear inline(-block) by adding the `.form-inline` class. Inline
|
@@ -412,6 +436,11 @@ input[type="checkbox"] {
|
|
412
436
|
vertical-align: middle;
|
413
437
|
}
|
414
438
|
|
439
|
+
// Make static controls behave like regular ones
|
440
|
+
.form-control-static {
|
441
|
+
display: inline-block;
|
442
|
+
}
|
443
|
+
|
415
444
|
.input-group {
|
416
445
|
display: inline-table;
|
417
446
|
vertical-align: middle;
|
@@ -453,10 +482,7 @@ input[type="checkbox"] {
|
|
453
482
|
margin-left: 0;
|
454
483
|
}
|
455
484
|
|
456
|
-
//
|
457
|
-
//
|
458
|
-
// Reposition the icon because it's now within a grid column and columns have
|
459
|
-
// `position: relative;` on them. Also accounts for the grid gutter padding.
|
485
|
+
// Re-override the feedback icon.
|
460
486
|
.has-feedback .form-control-feedback {
|
461
487
|
top: 0;
|
462
488
|
}
|
@@ -509,7 +535,6 @@ input[type="checkbox"] {
|
|
509
535
|
// Reposition the icon because it's now within a grid column and columns have
|
510
536
|
// `position: relative;` on them. Also accounts for the grid gutter padding.
|
511
537
|
.has-feedback .form-control-feedback {
|
512
|
-
top: 0;
|
513
538
|
right: (@grid-gutter-width / 2);
|
514
539
|
}
|
515
540
|
|
@@ -523,9 +548,6 @@ input[type="checkbox"] {
|
|
523
548
|
padding-top: ((@padding-large-vertical * @line-height-large) + 1);
|
524
549
|
}
|
525
550
|
}
|
526
|
-
.form-control {
|
527
|
-
&:extend(.input-lg);
|
528
|
-
}
|
529
551
|
}
|
530
552
|
.form-group-sm {
|
531
553
|
@media (min-width: @screen-sm-min) {
|
@@ -533,8 +555,5 @@ input[type="checkbox"] {
|
|
533
555
|
padding-top: (@padding-small-vertical + 1);
|
534
556
|
}
|
535
557
|
}
|
536
|
-
.form-control {
|
537
|
-
&:extend(.input-sm);
|
538
|
-
}
|
539
558
|
}
|
540
559
|
}
|
@@ -33,7 +33,8 @@
|
|
33
33
|
// Individual icons
|
34
34
|
.glyphicon-asterisk { &:before { content: "\2a"; } }
|
35
35
|
.glyphicon-plus { &:before { content: "\2b"; } }
|
36
|
-
.glyphicon-euro
|
36
|
+
.glyphicon-euro,
|
37
|
+
.glyphicon-eur { &:before { content: "\20ac"; } }
|
37
38
|
.glyphicon-minus { &:before { content: "\2212"; } }
|
38
39
|
.glyphicon-cloud { &:before { content: "\2601"; } }
|
39
40
|
.glyphicon-envelope { &:before { content: "\2709"; } }
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
.jumbotron {
|
7
|
-
padding: @jumbotron-padding;
|
7
|
+
padding: @jumbotron-padding (@jumbotron-padding / 2);
|
8
8
|
margin-bottom: @jumbotron-padding;
|
9
9
|
color: @jumbotron-color;
|
10
10
|
background-color: @jumbotron-bg;
|
@@ -23,7 +23,8 @@
|
|
23
23
|
border-top-color: darken(@jumbotron-bg, 10%);
|
24
24
|
}
|
25
25
|
|
26
|
-
.container
|
26
|
+
.container &,
|
27
|
+
.container-fluid & {
|
27
28
|
border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container
|
28
29
|
}
|
29
30
|
|
@@ -32,8 +33,7 @@
|
|
32
33
|
}
|
33
34
|
|
34
35
|
@media screen and (min-width: @screen-sm-min) {
|
35
|
-
padding
|
36
|
-
padding-bottom: (@jumbotron-padding * 1.6);
|
36
|
+
padding: (@jumbotron-padding * 1.6) 0;
|
37
37
|
|
38
38
|
.container & {
|
39
39
|
padding-left: (@jumbotron-padding * 2);
|
@@ -1,54 +1,45 @@
|
|
1
|
-
|
2
|
-
//
|
3
|
-
|
1
|
+
.media {
|
2
|
+
// Proper spacing between instances of .media
|
3
|
+
margin-top: 15px;
|
4
|
+
|
5
|
+
&:first-child {
|
6
|
+
margin-top: 0;
|
7
|
+
}
|
8
|
+
}
|
4
9
|
|
10
|
+
.media-right,
|
11
|
+
.media > .pull-right {
|
12
|
+
padding-left: 10px;
|
13
|
+
}
|
5
14
|
|
6
|
-
|
7
|
-
|
15
|
+
.media-left,
|
16
|
+
.media > .pull-left {
|
17
|
+
padding-right: 10px;
|
18
|
+
}
|
8
19
|
|
9
|
-
|
10
|
-
.media,
|
20
|
+
.media-left,
|
21
|
+
.media-right,
|
11
22
|
.media-body {
|
12
|
-
|
13
|
-
|
23
|
+
display: table-cell;
|
24
|
+
vertical-align: top;
|
14
25
|
}
|
15
26
|
|
16
|
-
|
17
|
-
|
18
|
-
.media .media {
|
19
|
-
margin-top: 15px;
|
20
|
-
}
|
21
|
-
.media:first-child {
|
22
|
-
margin-top: 0;
|
27
|
+
.media-middle {
|
28
|
+
vertical-align: middle;
|
23
29
|
}
|
24
30
|
|
25
|
-
|
26
|
-
|
27
|
-
display: block;
|
31
|
+
.media-bottom {
|
32
|
+
vertical-align: bottom;
|
28
33
|
}
|
29
34
|
|
30
35
|
// Reset margins on headings for tighter default spacing
|
31
36
|
.media-heading {
|
32
|
-
margin: 0
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
// Media image alignment
|
37
|
-
// -------------------------
|
38
|
-
|
39
|
-
.media {
|
40
|
-
> .pull-left {
|
41
|
-
margin-right: 10px;
|
42
|
-
}
|
43
|
-
> .pull-right {
|
44
|
-
margin-left: 10px;
|
45
|
-
}
|
37
|
+
margin-top: 0;
|
38
|
+
margin-bottom: 5px;
|
46
39
|
}
|
47
40
|
|
48
|
-
|
49
41
|
// Media list variation
|
50
|
-
//
|
51
|
-
|
42
|
+
//
|
52
43
|
// Undo default ul/ol styles
|
53
44
|
.media-list {
|
54
45
|
padding-left: 0;
|