twitter-bootswatch-rails 3.1.1.1 → 3.2.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/app/assets/javascripts/twitter/bootstrap/affix.js +19 -14
- data/app/assets/javascripts/twitter/bootstrap/alert.js +10 -6
- data/app/assets/javascripts/twitter/bootstrap/button.js +11 -8
- data/app/assets/javascripts/twitter/bootstrap/carousel.js +49 -31
- data/app/assets/javascripts/twitter/bootstrap/collapse.js +22 -22
- data/app/assets/javascripts/twitter/bootstrap/dropdown.js +17 -13
- data/app/assets/javascripts/twitter/bootstrap/modal.js +66 -29
- data/app/assets/javascripts/twitter/bootstrap/popover.js +10 -7
- data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +40 -23
- data/app/assets/javascripts/twitter/bootstrap/tab.js +11 -8
- data/app/assets/javascripts/twitter/bootstrap/tooltip.js +115 -57
- data/app/assets/javascripts/twitter/bootstrap/transition.js +18 -7
- data/lib/generators/bootswatch/install/install_generator.rb +16 -5
- data/lib/generators/bootswatch/install/templates/bootstrap.less +3 -2
- data/lib/generators/bootswatch/install/templates/mixins.less.tt +35 -925
- data/lib/generators/bootswatch/install/templates/variables.less.tt +40 -23
- data/lib/twitter/bootswatch/rails/version.rb +1 -1
- data/vendor/toolkit/twitter/bootstrap/alerts.less +4 -3
- data/vendor/toolkit/twitter/bootstrap/badges.less +18 -18
- data/vendor/toolkit/twitter/bootstrap/bootstrap.less +3 -2
- data/vendor/toolkit/twitter/bootstrap/button-groups.less +16 -2
- data/vendor/toolkit/twitter/bootstrap/buttons.less +0 -2
- data/vendor/toolkit/twitter/bootstrap/carousel.less +15 -4
- data/vendor/toolkit/twitter/bootstrap/code.less +6 -1
- data/vendor/toolkit/twitter/bootstrap/component-animations.less +6 -4
- data/vendor/toolkit/twitter/bootstrap/dropdowns.less +2 -0
- data/vendor/toolkit/twitter/bootstrap/forms.less +144 -42
- data/vendor/toolkit/twitter/bootstrap/input-groups.less +6 -2
- data/vendor/toolkit/twitter/bootstrap/jumbotron.less +4 -0
- data/vendor/toolkit/twitter/bootstrap/labels.less +1 -1
- data/vendor/toolkit/twitter/bootstrap/list-group.less +22 -1
- data/vendor/toolkit/twitter/bootstrap/mixins.less +35 -925
- data/vendor/toolkit/twitter/bootstrap/mixins/alerts.less +14 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/background-variant.less +8 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/border-radius.less +18 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/buttons.less +50 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/center-block.less +7 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/clearfix.less +22 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/forms.less +81 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/gradients.less +59 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/grid-framework.less +91 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/grid.less +122 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/hide-text.less +21 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/image.less +34 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/labels.less +12 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/list-group.less +29 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/nav-divider.less +10 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/nav-vertical-align.less +9 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/opacity.less +8 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/pagination.less +23 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/panels.less +24 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/progress-bar.less +10 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/reset-filter.less +8 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/resize.less +6 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/responsive-visibility.less +15 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/size.less +10 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/tab-focus.less +9 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/table-row.less +28 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/text-emphasis.less +8 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/text-overflow.less +8 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/vendor-prefixes.less +224 -0
- data/vendor/toolkit/twitter/bootstrap/modals.less +18 -7
- data/vendor/toolkit/twitter/bootstrap/navbar.less +41 -2
- data/vendor/toolkit/twitter/bootstrap/navs.less +1 -1
- data/vendor/toolkit/twitter/bootstrap/normalize.less +21 -19
- data/vendor/toolkit/twitter/bootstrap/panels.less +8 -6
- data/vendor/toolkit/twitter/bootstrap/popovers.less +1 -1
- data/vendor/toolkit/twitter/bootstrap/progress-bars.less +27 -2
- data/vendor/toolkit/twitter/bootstrap/responsive-embed.less +34 -0
- data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +103 -1
- data/vendor/toolkit/twitter/bootstrap/scaffolding.less +17 -1
- data/vendor/toolkit/twitter/bootstrap/tables.less +4 -4
- data/vendor/toolkit/twitter/bootstrap/theme.less +11 -0
- data/vendor/toolkit/twitter/bootstrap/type.less +32 -12
- data/vendor/toolkit/twitter/bootstrap/utilities.less +1 -0
- data/vendor/toolkit/twitter/bootstrap/variables.less +40 -23
- metadata +35 -5
@@ -13,7 +13,7 @@
|
|
13
13
|
@gray-darker: lighten(#000, 13.5%); // #222
|
14
14
|
@gray-dark: lighten(#000, 20%); // #333
|
15
15
|
@gray: lighten(#000, 33.5%); // #555
|
16
|
-
@gray-light: lighten(#000,
|
16
|
+
@gray-light: lighten(#000, 46.7%); // #777
|
17
17
|
@gray-lighter: lighten(#000, 93.5%); // #eee
|
18
18
|
|
19
19
|
@brand-primary: #428bca;
|
@@ -25,7 +25,7 @@
|
|
25
25
|
|
26
26
|
//== Scaffolding
|
27
27
|
//
|
28
|
-
|
28
|
+
//## Settings for some of the most global styles.
|
29
29
|
|
30
30
|
//** Background color for `<body>`.
|
31
31
|
@body-bg: #fff;
|
@@ -71,14 +71,18 @@
|
|
71
71
|
@headings-color: inherit;
|
72
72
|
|
73
73
|
|
74
|
-
|
74
|
+
//== Iconography
|
75
75
|
//
|
76
|
-
//## Specify custom
|
76
|
+
//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
|
77
77
|
|
78
|
+
//** Load fonts from this directory.
|
78
79
|
@icon-font-path: "twitter/bootstrap/";
|
80
|
+
//** File name for all font files.
|
79
81
|
@icon-font-name: "glyphicons-halflings-regular";
|
82
|
+
//** Element ID within SVG icon file.
|
80
83
|
@icon-font-svg-id: "glyphicons_halflingsregular";
|
81
84
|
|
85
|
+
|
82
86
|
//== Components
|
83
87
|
//
|
84
88
|
//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
|
@@ -235,7 +239,7 @@
|
|
235
239
|
//** Text color for headers within dropdown menus.
|
236
240
|
@dropdown-header-color: @gray-light;
|
237
241
|
|
238
|
-
|
242
|
+
//** Deprecated `@dropdown-caret-color` as of v3.1.0
|
239
243
|
@dropdown-caret-color: #000;
|
240
244
|
|
241
245
|
|
@@ -248,8 +252,8 @@
|
|
248
252
|
|
249
253
|
@zindex-navbar: 1000;
|
250
254
|
@zindex-dropdown: 1000;
|
251
|
-
@zindex-popover:
|
252
|
-
@zindex-tooltip:
|
255
|
+
@zindex-popover: 1060;
|
256
|
+
@zindex-tooltip: 1070;
|
253
257
|
@zindex-navbar-fixed: 1030;
|
254
258
|
@zindex-modal-background: 1040;
|
255
259
|
@zindex-modal: 1050;
|
@@ -260,27 +264,32 @@
|
|
260
264
|
//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
|
261
265
|
|
262
266
|
// Extra small screen / phone
|
263
|
-
|
267
|
+
//** Deprecated `@screen-xs` as of v3.0.1
|
264
268
|
@screen-xs: 480px;
|
269
|
+
//** Deprecated `@screen-xs-min` as of v3.2.0
|
265
270
|
@screen-xs-min: @screen-xs;
|
271
|
+
//** Deprecated `@screen-phone` as of v3.0.1
|
266
272
|
@screen-phone: @screen-xs-min;
|
267
273
|
|
268
274
|
// Small screen / tablet
|
269
|
-
|
275
|
+
//** Deprecated `@screen-sm` as of v3.0.1
|
270
276
|
@screen-sm: 768px;
|
271
277
|
@screen-sm-min: @screen-sm;
|
278
|
+
//** Deprecated `@screen-tablet` as of v3.0.1
|
272
279
|
@screen-tablet: @screen-sm-min;
|
273
280
|
|
274
281
|
// Medium screen / desktop
|
275
|
-
|
282
|
+
//** Deprecated `@screen-md` as of v3.0.1
|
276
283
|
@screen-md: 992px;
|
277
284
|
@screen-md-min: @screen-md;
|
285
|
+
//** Deprecated `@screen-desktop` as of v3.0.1
|
278
286
|
@screen-desktop: @screen-md-min;
|
279
287
|
|
280
288
|
// Large screen / wide desktop
|
281
|
-
|
289
|
+
//** Deprecated `@screen-lg` as of v3.0.1
|
282
290
|
@screen-lg: 1200px;
|
283
291
|
@screen-lg-min: @screen-lg;
|
292
|
+
//** Deprecated `@screen-lg-desktop` as of v3.0.1
|
284
293
|
@screen-lg-desktop: @screen-lg-min;
|
285
294
|
|
286
295
|
// So media queries don't overlap when required, provide a maximum
|
@@ -561,7 +570,7 @@
|
|
561
570
|
//##
|
562
571
|
|
563
572
|
//** Padding applied to the modal body
|
564
|
-
@modal-inner-padding:
|
573
|
+
@modal-inner-padding: 15px;
|
565
574
|
|
566
575
|
//** Padding applied to the modal title
|
567
576
|
@modal-title-padding: 15px;
|
@@ -646,17 +655,26 @@
|
|
646
655
|
//** List group border radius
|
647
656
|
@list-group-border-radius: @border-radius-base;
|
648
657
|
|
649
|
-
//** Background color of single list
|
658
|
+
//** Background color of single list items on hover
|
650
659
|
@list-group-hover-bg: #f5f5f5;
|
651
|
-
//** Text color of active list
|
660
|
+
//** Text color of active list items
|
652
661
|
@list-group-active-color: @component-active-color;
|
653
|
-
//** Background color of active list
|
662
|
+
//** Background color of active list items
|
654
663
|
@list-group-active-bg: @component-active-bg;
|
655
664
|
//** Border color of active list elements
|
656
665
|
@list-group-active-border: @list-group-active-bg;
|
666
|
+
//** Text color for content within active list items
|
657
667
|
@list-group-active-text-color: lighten(@list-group-active-bg, 40%);
|
658
668
|
|
669
|
+
//** Text color of disabled list items
|
670
|
+
@list-group-disabled-color: @gray-light;
|
671
|
+
//** Background color of disabled list items
|
672
|
+
@list-group-disabled-bg: @gray-lighter;
|
673
|
+
//** Text color for content within disabled list items
|
674
|
+
@list-group-disabled-text-color: @list-group-disabled-color;
|
675
|
+
|
659
676
|
@list-group-link-color: #555;
|
677
|
+
@list-group-link-hover-color: @list-group-link-color;
|
660
678
|
@list-group-link-heading-color: #333;
|
661
679
|
|
662
680
|
|
@@ -666,6 +684,8 @@
|
|
666
684
|
|
667
685
|
@panel-bg: #fff;
|
668
686
|
@panel-body-padding: 15px;
|
687
|
+
@panel-heading-padding: 10px 15px;
|
688
|
+
@panel-footer-padding: @panel-heading-padding;
|
669
689
|
@panel-border-radius: @border-radius-base;
|
670
690
|
|
671
691
|
//** Border color for elements within panels
|
@@ -805,6 +825,8 @@
|
|
805
825
|
//
|
806
826
|
//##
|
807
827
|
|
828
|
+
//** Horizontal offset for forms and lists.
|
829
|
+
@component-offset-horizontal: 180px;
|
808
830
|
//** Text muted color
|
809
831
|
@text-muted: @gray-light;
|
810
832
|
//** Abbreviations and acronyms border color
|
@@ -819,14 +841,9 @@
|
|
819
841
|
@blockquote-border-color: @gray-lighter;
|
820
842
|
//** Page header border color
|
821
843
|
@page-header-border-color: @gray-lighter;
|
822
|
-
|
823
|
-
|
824
|
-
//== Miscellaneous
|
825
|
-
//
|
826
|
-
//##
|
827
|
-
|
844
|
+
//** Width of horizontal description list titles
|
845
|
+
@dl-horizontal-offset: @component-offset-horizontal;
|
828
846
|
//** Horizontal line color.
|
829
847
|
@hr-border: @gray-lighter;
|
830
848
|
|
831
|
-
|
832
|
-
@component-offset-horizontal: 180px;
|
849
|
+
|
@@ -33,12 +33,13 @@
|
|
33
33
|
}
|
34
34
|
}
|
35
35
|
|
36
|
-
//
|
36
|
+
// Dismissible alerts
|
37
37
|
//
|
38
38
|
// Expand the right padding and account for the close button's positioning.
|
39
39
|
|
40
|
-
.alert-dismissable
|
41
|
-
|
40
|
+
.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.
|
41
|
+
.alert-dismissible {
|
42
|
+
padding-right: (@alert-padding + 20);
|
42
43
|
|
43
44
|
// Adjust close link position
|
44
45
|
.close {
|
@@ -3,7 +3,7 @@
|
|
3
3
|
// --------------------------------------------------
|
4
4
|
|
5
5
|
|
6
|
-
// Base
|
6
|
+
// Base class
|
7
7
|
.badge {
|
8
8
|
display: inline-block;
|
9
9
|
min-width: 10px;
|
@@ -32,24 +32,24 @@
|
|
32
32
|
top: 0;
|
33
33
|
padding: 1px 5px;
|
34
34
|
}
|
35
|
-
}
|
36
35
|
|
37
|
-
// Hover state, but only for links
|
38
|
-
a
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
36
|
+
// Hover state, but only for links
|
37
|
+
a& {
|
38
|
+
&:hover,
|
39
|
+
&:focus {
|
40
|
+
color: @badge-link-hover-color;
|
41
|
+
text-decoration: none;
|
42
|
+
cursor: pointer;
|
43
|
+
}
|
44
44
|
}
|
45
|
-
}
|
46
45
|
|
47
|
-
// Account for
|
48
|
-
a.list-group-item.active >
|
49
|
-
.nav-pills > .active > a >
|
50
|
-
|
51
|
-
|
52
|
-
}
|
53
|
-
.nav-pills > li > a >
|
54
|
-
|
46
|
+
// Account for badges in navs
|
47
|
+
a.list-group-item.active > &,
|
48
|
+
.nav-pills > .active > a > & {
|
49
|
+
color: @badge-active-color;
|
50
|
+
background-color: @badge-active-bg;
|
51
|
+
}
|
52
|
+
.nav-pills > li > a > & {
|
53
|
+
margin-left: 3px;
|
54
|
+
}
|
55
55
|
}
|
@@ -2,9 +2,10 @@
|
|
2
2
|
@import "variables.less";
|
3
3
|
@import "mixins.less";
|
4
4
|
|
5
|
-
// Reset
|
5
|
+
// Reset and dependencies
|
6
6
|
@import "normalize.less";
|
7
7
|
@import "print.less";
|
8
|
+
@import "glyphicons.less";
|
8
9
|
|
9
10
|
// Core CSS
|
10
11
|
@import "scaffolding.less";
|
@@ -17,7 +18,6 @@
|
|
17
18
|
|
18
19
|
// Components
|
19
20
|
@import "component-animations.less";
|
20
|
-
@import "glyphicons.less";
|
21
21
|
@import "dropdowns.less";
|
22
22
|
@import "button-groups.less";
|
23
23
|
@import "input-groups.less";
|
@@ -35,6 +35,7 @@
|
|
35
35
|
@import "media.less";
|
36
36
|
@import "list-group.less";
|
37
37
|
@import "panels.less";
|
38
|
+
@import "responsive-embed.less";
|
38
39
|
@import "wells.less";
|
39
40
|
@import "close.less";
|
40
41
|
|
@@ -20,7 +20,7 @@
|
|
20
20
|
}
|
21
21
|
&:focus {
|
22
22
|
// Remove focus outline when dropdown JS adds it after closing the menu
|
23
|
-
outline:
|
23
|
+
outline: 0;
|
24
24
|
}
|
25
25
|
}
|
26
26
|
}
|
@@ -216,11 +216,25 @@
|
|
216
216
|
> .btn-group .btn {
|
217
217
|
width: 100%;
|
218
218
|
}
|
219
|
+
|
220
|
+
> .btn-group .dropdown-menu {
|
221
|
+
left: auto;
|
222
|
+
}
|
219
223
|
}
|
220
224
|
|
221
225
|
|
222
226
|
// Checkbox and radio options
|
227
|
+
//
|
228
|
+
// In order to support the browser's form validation feedback, powered by the
|
229
|
+
// `required` attribute, we have to "hide" the inputs via `opacity`. We cannot
|
230
|
+
// use `display: none;` or `visibility: hidden;` as that also hides the popover.
|
231
|
+
// This way, we ensure a DOM element is visible to position the popover from.
|
232
|
+
//
|
233
|
+
// See https://github.com/twbs/bootstrap/pull/12794 for more.
|
234
|
+
|
223
235
|
[data-toggle="buttons"] > .btn > input[type="radio"],
|
224
236
|
[data-toggle="buttons"] > .btn > input[type="checkbox"] {
|
225
|
-
|
237
|
+
position: absolute;
|
238
|
+
z-index: -1;
|
239
|
+
.opacity(0);
|
226
240
|
}
|
@@ -28,7 +28,9 @@
|
|
28
28
|
|
29
29
|
> .active,
|
30
30
|
> .next,
|
31
|
-
> .prev {
|
31
|
+
> .prev {
|
32
|
+
display: block;
|
33
|
+
}
|
32
34
|
|
33
35
|
> .active {
|
34
36
|
left: 0;
|
@@ -91,7 +93,7 @@
|
|
91
93
|
// Hover/focus state
|
92
94
|
&:hover,
|
93
95
|
&:focus {
|
94
|
-
outline:
|
96
|
+
outline: 0;
|
95
97
|
color: @carousel-control-color;
|
96
98
|
text-decoration: none;
|
97
99
|
.opacity(.9);
|
@@ -110,20 +112,22 @@
|
|
110
112
|
.icon-prev,
|
111
113
|
.glyphicon-chevron-left {
|
112
114
|
left: 50%;
|
115
|
+
margin-left: -10px;
|
113
116
|
}
|
114
117
|
.icon-next,
|
115
118
|
.glyphicon-chevron-right {
|
116
119
|
right: 50%;
|
120
|
+
margin-right: -10px;
|
117
121
|
}
|
118
122
|
.icon-prev,
|
119
123
|
.icon-next {
|
120
124
|
width: 20px;
|
121
125
|
height: 20px;
|
122
126
|
margin-top: -10px;
|
123
|
-
margin-left: -10px;
|
124
127
|
font-family: serif;
|
125
128
|
}
|
126
129
|
|
130
|
+
|
127
131
|
.icon-prev {
|
128
132
|
&:before {
|
129
133
|
content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
|
@@ -213,9 +217,16 @@
|
|
213
217
|
width: 30px;
|
214
218
|
height: 30px;
|
215
219
|
margin-top: -15px;
|
216
|
-
margin-left: -15px;
|
217
220
|
font-size: 30px;
|
218
221
|
}
|
222
|
+
.glyphicon-chevron-left,
|
223
|
+
.icon-prev {
|
224
|
+
margin-left: -15px;
|
225
|
+
}
|
226
|
+
.glyphicon-chevron-right,
|
227
|
+
.icon-next {
|
228
|
+
margin-right: -15px;
|
229
|
+
}
|
219
230
|
}
|
220
231
|
|
221
232
|
// Show and left align the captions
|
@@ -17,7 +17,6 @@ code {
|
|
17
17
|
font-size: 90%;
|
18
18
|
color: @code-color;
|
19
19
|
background-color: @code-bg;
|
20
|
-
white-space: nowrap;
|
21
20
|
border-radius: @border-radius-base;
|
22
21
|
}
|
23
22
|
|
@@ -29,6 +28,12 @@ kbd {
|
|
29
28
|
background-color: @kbd-bg;
|
30
29
|
border-radius: @border-radius-small;
|
31
30
|
box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
|
31
|
+
|
32
|
+
kbd {
|
33
|
+
padding: 0;
|
34
|
+
font-size: 100%;
|
35
|
+
box-shadow: none;
|
36
|
+
}
|
32
37
|
}
|
33
38
|
|
34
39
|
// Blocks of code
|
@@ -5,7 +5,7 @@
|
|
5
5
|
// Heads up!
|
6
6
|
//
|
7
7
|
// We don't use the `.opacity()` mixin here since it causes a bug with text
|
8
|
-
// fields in IE7-8. Source: https://github.com/
|
8
|
+
// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.
|
9
9
|
|
10
10
|
.fade {
|
11
11
|
opacity: 0;
|
@@ -17,10 +17,12 @@
|
|
17
17
|
|
18
18
|
.collapse {
|
19
19
|
display: none;
|
20
|
-
|
21
|
-
|
22
|
-
}
|
20
|
+
|
21
|
+
&.in { display: block; }
|
22
|
+
tr&.in { display: table-row; }
|
23
|
+
tbody&.in { display: table-row-group; }
|
23
24
|
}
|
25
|
+
|
24
26
|
.collapsing {
|
25
27
|
position: relative;
|
26
28
|
height: 0;
|
@@ -38,6 +38,7 @@
|
|
38
38
|
margin: 2px 0 0; // override default ul
|
39
39
|
list-style: none;
|
40
40
|
font-size: @font-size-base;
|
41
|
+
text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
|
41
42
|
background-color: @dropdown-bg;
|
42
43
|
border: 1px solid @dropdown-fallback-border; // IE8 fallback
|
43
44
|
border: 1px solid @dropdown-border;
|
@@ -154,6 +155,7 @@
|
|
154
155
|
font-size: @font-size-small;
|
155
156
|
line-height: @line-height-base;
|
156
157
|
color: @dropdown-header-color;
|
158
|
+
white-space: nowrap; // as with > li > a
|
157
159
|
}
|
158
160
|
|
159
161
|
// Backdrop to catch body clicks on mobile, etc.
|
@@ -11,7 +11,7 @@ fieldset {
|
|
11
11
|
padding: 0;
|
12
12
|
margin: 0;
|
13
13
|
border: 0;
|
14
|
-
// Chrome and Firefox set a `min-width:
|
14
|
+
// Chrome and Firefox set a `min-width: min-content;` on fieldsets,
|
15
15
|
// so we reset that to ensure it behaves more like a standard block element.
|
16
16
|
// See https://github.com/twbs/bootstrap/issues/12359.
|
17
17
|
min-width: 0;
|
@@ -31,6 +31,7 @@ legend {
|
|
31
31
|
|
32
32
|
label {
|
33
33
|
display: inline-block;
|
34
|
+
max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)
|
34
35
|
margin-bottom: 5px;
|
35
36
|
font-weight: bold;
|
36
37
|
}
|
@@ -51,7 +52,7 @@ input[type="search"] {
|
|
51
52
|
input[type="radio"],
|
52
53
|
input[type="checkbox"] {
|
53
54
|
margin: 4px 0 0;
|
54
|
-
margin-top: 1px \9;
|
55
|
+
margin-top: 1px \9; // IE8-9
|
55
56
|
line-height: normal;
|
56
57
|
}
|
57
58
|
|
@@ -164,13 +165,28 @@ input[type="search"] {
|
|
164
165
|
}
|
165
166
|
|
166
167
|
|
167
|
-
// Special styles for iOS
|
168
|
+
// Special styles for iOS temporal inputs
|
168
169
|
//
|
169
|
-
// In Mobile Safari,
|
170
|
-
//
|
171
|
-
|
172
|
-
input
|
170
|
+
// In Mobile Safari, setting `display: block` on temporal inputs causes the
|
171
|
+
// text within the input to become vertically misaligned.
|
172
|
+
// As a workaround, we set a pixel line-height that matches the
|
173
|
+
// given height of the input. Since this fucks up everything else, we have to
|
174
|
+
// appropriately reset it for Internet Explorer and the size variations.
|
175
|
+
|
176
|
+
input[type="date"],
|
177
|
+
input[type="time"],
|
178
|
+
input[type="datetime-local"],
|
179
|
+
input[type="month"] {
|
173
180
|
line-height: @input-height-base;
|
181
|
+
// IE8+ misaligns the text within date inputs, so we reset
|
182
|
+
line-height: @line-height-base ~"\0";
|
183
|
+
|
184
|
+
&.input-sm {
|
185
|
+
line-height: @input-height-small;
|
186
|
+
}
|
187
|
+
&.input-lg {
|
188
|
+
line-height: @input-height-large;
|
189
|
+
}
|
174
190
|
}
|
175
191
|
|
176
192
|
|
@@ -190,13 +206,15 @@ input[type="date"] {
|
|
190
206
|
|
191
207
|
.radio,
|
192
208
|
.checkbox {
|
209
|
+
position: relative;
|
193
210
|
display: block;
|
194
211
|
min-height: @line-height-computed; // clear the floating input if there is no label text
|
195
212
|
margin-top: 10px;
|
196
213
|
margin-bottom: 10px;
|
197
|
-
|
214
|
+
|
198
215
|
label {
|
199
|
-
|
216
|
+
padding-left: 20px;
|
217
|
+
margin-bottom: 0;
|
200
218
|
font-weight: normal;
|
201
219
|
cursor: pointer;
|
202
220
|
}
|
@@ -205,9 +223,11 @@ input[type="date"] {
|
|
205
223
|
.radio-inline input[type="radio"],
|
206
224
|
.checkbox input[type="checkbox"],
|
207
225
|
.checkbox-inline input[type="checkbox"] {
|
208
|
-
|
226
|
+
position: absolute;
|
209
227
|
margin-left: -20px;
|
228
|
+
margin-top: 4px \9;
|
210
229
|
}
|
230
|
+
|
211
231
|
.radio + .radio,
|
212
232
|
.checkbox + .checkbox {
|
213
233
|
margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing
|
@@ -230,19 +250,55 @@ input[type="date"] {
|
|
230
250
|
}
|
231
251
|
|
232
252
|
// Apply same disabled cursor tweak as for inputs
|
253
|
+
// Some special care is needed because <label>s don't inherit their parent's `cursor`.
|
233
254
|
//
|
234
255
|
// Note: Neither radios nor checkboxes can be readonly.
|
235
256
|
input[type="radio"],
|
236
|
-
input[type="checkbox"]
|
237
|
-
|
257
|
+
input[type="checkbox"] {
|
258
|
+
&[disabled],
|
259
|
+
&.disabled,
|
260
|
+
fieldset[disabled] & {
|
261
|
+
cursor: not-allowed;
|
262
|
+
}
|
263
|
+
}
|
264
|
+
// These classes are used directly on <label>s
|
238
265
|
.radio-inline,
|
239
|
-
.checkbox,
|
240
266
|
.checkbox-inline {
|
241
|
-
|
267
|
+
&.disabled,
|
242
268
|
fieldset[disabled] & {
|
243
269
|
cursor: not-allowed;
|
244
270
|
}
|
245
271
|
}
|
272
|
+
// These classes are used on elements with <label> descendants
|
273
|
+
.radio,
|
274
|
+
.checkbox {
|
275
|
+
&.disabled,
|
276
|
+
fieldset[disabled] & {
|
277
|
+
label {
|
278
|
+
cursor: not-allowed;
|
279
|
+
}
|
280
|
+
}
|
281
|
+
}
|
282
|
+
|
283
|
+
|
284
|
+
// Static form control text
|
285
|
+
//
|
286
|
+
// Apply class to a `p` element to make any string of text align with labels in
|
287
|
+
// a horizontal form layout.
|
288
|
+
|
289
|
+
.form-control-static {
|
290
|
+
// Size it appropriately next to real form controls
|
291
|
+
padding-top: (@padding-base-vertical + 1);
|
292
|
+
padding-bottom: (@padding-base-vertical + 1);
|
293
|
+
// Remove default margin from `p`
|
294
|
+
margin-bottom: 0;
|
295
|
+
|
296
|
+
&.input-lg,
|
297
|
+
&.input-sm {
|
298
|
+
padding-left: 0;
|
299
|
+
padding-right: 0;
|
300
|
+
}
|
301
|
+
}
|
246
302
|
|
247
303
|
|
248
304
|
// Form control sizing
|
@@ -271,18 +327,28 @@ input[type="checkbox"],
|
|
271
327
|
.form-control {
|
272
328
|
padding-right: (@input-height-base * 1.25);
|
273
329
|
}
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
330
|
+
}
|
331
|
+
// Feedback icon (requires .glyphicon classes)
|
332
|
+
.form-control-feedback {
|
333
|
+
position: absolute;
|
334
|
+
top: (@line-height-computed + 5); // Height of the `label` and its margin
|
335
|
+
right: 0;
|
336
|
+
z-index: 2; // Ensure icon is above input groups
|
337
|
+
display: block;
|
338
|
+
width: @input-height-base;
|
339
|
+
height: @input-height-base;
|
340
|
+
line-height: @input-height-base;
|
341
|
+
text-align: center;
|
342
|
+
}
|
343
|
+
.input-lg + .form-control-feedback {
|
344
|
+
width: @input-height-large;
|
345
|
+
height: @input-height-large;
|
346
|
+
line-height: @input-height-large;
|
347
|
+
}
|
348
|
+
.input-sm + .form-control-feedback {
|
349
|
+
width: @input-height-small;
|
350
|
+
height: @input-height-small;
|
351
|
+
line-height: @input-height-small;
|
286
352
|
}
|
287
353
|
|
288
354
|
// Feedback states
|
@@ -297,13 +363,9 @@ input[type="checkbox"],
|
|
297
363
|
}
|
298
364
|
|
299
365
|
|
300
|
-
//
|
301
|
-
|
302
|
-
|
303
|
-
// a horizontal form layout.
|
304
|
-
|
305
|
-
.form-control-static {
|
306
|
-
margin-bottom: 0; // Remove default margin from `p`
|
366
|
+
// Reposition feedback icon if label is hidden with "screenreader only" state
|
367
|
+
.has-feedback label.sr-only ~ .form-control-feedback {
|
368
|
+
top: 0;
|
307
369
|
}
|
308
370
|
|
309
371
|
|
@@ -349,6 +411,18 @@ input[type="checkbox"],
|
|
349
411
|
width: auto; // Prevent labels from stacking above inputs in `.form-group`
|
350
412
|
vertical-align: middle;
|
351
413
|
}
|
414
|
+
|
415
|
+
.input-group {
|
416
|
+
display: inline-table;
|
417
|
+
vertical-align: middle;
|
418
|
+
|
419
|
+
.input-group-addon,
|
420
|
+
.input-group-btn,
|
421
|
+
.form-control {
|
422
|
+
width: auto;
|
423
|
+
}
|
424
|
+
}
|
425
|
+
|
352
426
|
// Input groups need that 100% width though
|
353
427
|
.input-group > .form-control {
|
354
428
|
width: 100%;
|
@@ -367,12 +441,15 @@ input[type="checkbox"],
|
|
367
441
|
display: inline-block;
|
368
442
|
margin-top: 0;
|
369
443
|
margin-bottom: 0;
|
370
|
-
padding-left: 0;
|
371
444
|
vertical-align: middle;
|
445
|
+
|
446
|
+
label {
|
447
|
+
padding-left: 0;
|
448
|
+
}
|
372
449
|
}
|
373
450
|
.radio input[type="radio"],
|
374
451
|
.checkbox input[type="checkbox"] {
|
375
|
-
|
452
|
+
position: relative;
|
376
453
|
margin-left: 0;
|
377
454
|
}
|
378
455
|
|
@@ -394,8 +471,9 @@ input[type="checkbox"],
|
|
394
471
|
|
395
472
|
.form-horizontal {
|
396
473
|
|
397
|
-
// Consistent vertical alignment of
|
398
|
-
|
474
|
+
// Consistent vertical alignment of radios and checkboxes
|
475
|
+
//
|
476
|
+
// Labels also get some reset styles, but that is scoped to a media query below.
|
399
477
|
.radio,
|
400
478
|
.checkbox,
|
401
479
|
.radio-inline,
|
@@ -416,14 +494,13 @@ input[type="checkbox"],
|
|
416
494
|
.make-row();
|
417
495
|
}
|
418
496
|
|
419
|
-
|
420
|
-
|
421
|
-
}
|
422
|
-
|
423
|
-
// Only right align form labels here when the columns stop stacking
|
497
|
+
// Reset spacing and right align labels, but scope to media queries so that
|
498
|
+
// labels on narrow viewports stack the same as a default form example.
|
424
499
|
@media (min-width: @screen-sm-min) {
|
425
500
|
.control-label {
|
426
501
|
text-align: right;
|
502
|
+
margin-bottom: 0;
|
503
|
+
padding-top: (@padding-base-vertical + 1); // Default padding plus a border
|
427
504
|
}
|
428
505
|
}
|
429
506
|
|
@@ -435,4 +512,29 @@ input[type="checkbox"],
|
|
435
512
|
top: 0;
|
436
513
|
right: (@grid-gutter-width / 2);
|
437
514
|
}
|
515
|
+
|
516
|
+
// Form group sizes
|
517
|
+
//
|
518
|
+
// Quick utility class for applying `.input-lg` and `.input-sm` styles to the
|
519
|
+
// inputs and labels within a `.form-group`.
|
520
|
+
.form-group-lg {
|
521
|
+
@media (min-width: @screen-sm-min) {
|
522
|
+
.control-label {
|
523
|
+
padding-top: ((@padding-large-vertical * @line-height-large) + 1);
|
524
|
+
}
|
525
|
+
}
|
526
|
+
.form-control {
|
527
|
+
&:extend(.input-lg);
|
528
|
+
}
|
529
|
+
}
|
530
|
+
.form-group-sm {
|
531
|
+
@media (min-width: @screen-sm-min) {
|
532
|
+
.control-label {
|
533
|
+
padding-top: (@padding-small-vertical + 1);
|
534
|
+
}
|
535
|
+
}
|
536
|
+
.form-control {
|
537
|
+
&:extend(.input-sm);
|
538
|
+
}
|
539
|
+
}
|
438
540
|
}
|