twitter-bootstrap-rails 2.2.8 → 3.2.2
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 +7 -0
- data/README.md +160 -228
- data/Rakefile +4 -6
- data/app/assets/fonts/fontawesome-webfont.eot +0 -0
- data/app/assets/fonts/fontawesome-webfont.svg +279 -38
- data/app/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/app/assets/fonts/fontawesome-webfont.woff +0 -0
- data/app/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/app/assets/fonts/glyphicons-halflings-regular.svg +229 -0
- data/app/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/app/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/app/assets/javascripts/twitter/bootstrap/affix.js +142 -0
- data/app/assets/javascripts/twitter/bootstrap/alert.js +92 -0
- data/app/assets/javascripts/twitter/bootstrap/button.js +110 -0
- data/app/assets/javascripts/twitter/bootstrap/carousel.js +223 -0
- data/app/assets/javascripts/twitter/bootstrap/collapse.js +170 -0
- data/app/assets/javascripts/twitter/bootstrap/dropdown.js +151 -0
- data/app/assets/javascripts/twitter/bootstrap/modal.js +280 -0
- data/app/assets/javascripts/twitter/bootstrap/popover.js +113 -0
- data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +170 -0
- data/app/assets/javascripts/twitter/bootstrap/tab.js +128 -0
- data/app/assets/javascripts/twitter/bootstrap/tooltip.js +457 -0
- data/app/assets/javascripts/twitter/bootstrap/transition.js +59 -0
- data/app/assets/javascripts/twitter/bootstrap.js +12 -13
- data/app/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +1 -890
- data/app/assets/stylesheets/twitter-bootstrap-static/fontawesome.css.erb +2026 -787
- data/app/assets/stylesheets/twitter-bootstrap-static/sprites.css.erb +1 -146
- data/app/helpers/bootstrap_flash_helper.rb +14 -7
- data/app/helpers/form_errors_helper.rb +22 -0
- data/app/helpers/glyph_helper.rb +8 -5
- data/app/helpers/modal_helper.rb +26 -22
- data/app/helpers/navbar_helper.rb +47 -32
- data/app/helpers/twitter_breadcrumbs_helper.rb +6 -2
- data/app/views/twitter-bootstrap/_breadcrumbs.html.erb +8 -8
- data/lib/generators/bootstrap/install/install_generator.rb +3 -2
- data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +13 -11
- data/lib/generators/bootstrap/install/templates/en.bootstrap.yml +5 -0
- data/lib/generators/bootstrap/layout/layout_generator.rb +1 -4
- data/lib/generators/bootstrap/layout/templates/layout.html.erb +27 -48
- data/lib/generators/bootstrap/layout/templates/layout.html.haml +19 -34
- data/lib/generators/bootstrap/layout/templates/layout.html.slim +13 -30
- data/lib/generators/bootstrap/partial/templates/_login.html.erb +2 -3
- data/lib/generators/bootstrap/themed/templates/_form.html.erb +30 -10
- data/lib/generators/bootstrap/themed/templates/_form.html.haml +10 -8
- data/lib/generators/bootstrap/themed/templates/_form.html.slim +11 -9
- data/lib/generators/bootstrap/themed/templates/edit.html.slim +1 -1
- data/lib/generators/bootstrap/themed/templates/index.html.erb +2 -2
- data/lib/generators/bootstrap/themed/templates/index.html.haml +2 -2
- data/lib/generators/bootstrap/themed/templates/index.html.slim +4 -5
- data/lib/generators/bootstrap/themed/templates/new.html.slim +1 -1
- data/lib/generators/bootstrap/themed/templates/show.html.erb +5 -7
- data/lib/generators/bootstrap/themed/templates/show.html.haml +4 -4
- data/lib/generators/bootstrap/themed/templates/show.html.slim +6 -7
- data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.erb +5 -5
- data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.haml +3 -3
- data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.slim +4 -4
- data/lib/generators/bootstrap/themed/themed_generator.rb +2 -2
- data/lib/twitter/bootstrap/rails/breadcrumbs.rb +69 -0
- data/lib/twitter/bootstrap/rails/engine.rb +17 -10
- data/lib/twitter/bootstrap/rails/version.rb +2 -2
- data/spec/lib/breadcrumbs_spec.rb +99 -0
- data/spec/lib/twitter_bootstrap_rails/badge_label_helper_spec.rb +12 -4
- data/spec/lib/twitter_bootstrap_rails/bootstrap_flash_helper_spec.rb +128 -0
- data/spec/lib/twitter_bootstrap_rails/form_errors_helper_spec.rb +148 -0
- data/spec/lib/twitter_bootstrap_rails/glyph_helper_spec.rb +24 -0
- data/spec/lib/twitter_bootstrap_rails/modal_helper_spec.rb +15 -15
- data/spec/lib/twitter_bootstrap_rails/navbar_helper_spec.rb +207 -173
- data/spec/lib/twitter_bootstrap_rails/uri_state_spec.rb +18 -16
- data/spec/spec_helper.rb +11 -1
- data/vendor/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +5796 -1
- data/vendor/static-source/bootstrap.less +0 -1
- data/vendor/static-source/fontawesome.less +0 -1
- data/vendor/static-source/sprites.less +1 -1
- data/vendor/toolkit/fontawesome/bordered-pulled.less +16 -0
- data/vendor/toolkit/fontawesome/core.less +8 -126
- data/vendor/toolkit/fontawesome/fixed-width.less +6 -0
- data/vendor/toolkit/fontawesome/font-awesome.less +9 -25
- data/vendor/toolkit/fontawesome/icons.less +549 -378
- data/vendor/toolkit/fontawesome/larger.less +13 -0
- data/vendor/toolkit/fontawesome/list.less +19 -0
- data/vendor/toolkit/fontawesome/mixins.less +16 -39
- data/vendor/toolkit/fontawesome/path.less +5 -5
- data/vendor/toolkit/fontawesome/rotated-flipped.less +20 -0
- data/vendor/toolkit/fontawesome/spinning.less +29 -0
- data/vendor/toolkit/fontawesome/stacked.less +20 -0
- data/vendor/toolkit/fontawesome/variables.less +557 -731
- data/vendor/toolkit/twitter/bootstrap/alerts.less +47 -58
- data/vendor/toolkit/twitter/bootstrap/badges.less +55 -0
- data/vendor/toolkit/twitter/bootstrap/bootstrap.less +26 -39
- data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +11 -9
- data/vendor/toolkit/twitter/bootstrap/button-groups.less +168 -152
- data/vendor/toolkit/twitter/bootstrap/buttons.less +101 -170
- data/vendor/toolkit/twitter/bootstrap/carousel.less +150 -65
- data/vendor/toolkit/twitter/bootstrap/close.less +20 -19
- data/vendor/toolkit/twitter/bootstrap/code.less +38 -30
- data/vendor/toolkit/twitter/bootstrap/component-animations.less +12 -3
- data/vendor/toolkit/twitter/bootstrap/dropdowns.less +115 -148
- data/vendor/toolkit/twitter/bootstrap/forms.less +401 -547
- data/vendor/toolkit/twitter/bootstrap/glyphicons.less +234 -0
- data/vendor/toolkit/twitter/bootstrap/grid.less +74 -11
- data/vendor/toolkit/twitter/bootstrap/input-groups.less +166 -0
- data/vendor/toolkit/twitter/bootstrap/jumbotron.less +48 -0
- data/vendor/toolkit/twitter/bootstrap/labels.less +64 -0
- data/vendor/toolkit/twitter/bootstrap/list-group.less +132 -0
- data/vendor/toolkit/twitter/bootstrap/media.less +8 -7
- 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 +52 -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 +85 -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 +33 -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/mixins.less +36 -699
- data/vendor/toolkit/twitter/bootstrap/modals.less +109 -54
- data/vendor/toolkit/twitter/bootstrap/navbar.less +542 -384
- data/vendor/toolkit/twitter/bootstrap/navs.less +192 -359
- data/vendor/toolkit/twitter/bootstrap/normalize.less +425 -0
- data/vendor/toolkit/twitter/bootstrap/pager.less +46 -34
- data/vendor/toolkit/twitter/bootstrap/pagination.less +70 -105
- data/vendor/toolkit/twitter/bootstrap/panels.less +248 -0
- data/vendor/toolkit/twitter/bootstrap/popovers.less +61 -61
- data/vendor/toolkit/twitter/bootstrap/print.less +101 -0
- data/vendor/toolkit/twitter/bootstrap/progress-bars.less +51 -73
- data/vendor/toolkit/twitter/bootstrap/responsive-embed.less +34 -0
- data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +177 -42
- data/vendor/toolkit/twitter/bootstrap/scaffolding.less +120 -23
- data/vendor/toolkit/twitter/bootstrap/tables.less +171 -182
- data/vendor/toolkit/twitter/bootstrap/theme.less +260 -0
- data/vendor/toolkit/twitter/bootstrap/thumbnails.less +26 -43
- data/vendor/toolkit/twitter/bootstrap/tooltip.less +49 -24
- data/vendor/toolkit/twitter/bootstrap/type.less +208 -147
- data/vendor/toolkit/twitter/bootstrap/utilities.less +33 -7
- data/vendor/toolkit/twitter/bootstrap/variables.less +761 -215
- data/vendor/toolkit/twitter/bootstrap/wells.less +7 -7
- metadata +156 -130
- data/app/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
- data/app/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-affix.js +0 -117
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +0 -99
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-button.js +0 -105
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +0 -207
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +0 -167
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +0 -169
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +0 -247
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +0 -114
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +0 -162
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +0 -144
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +0 -361
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +0 -60
- data/app/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +0 -335
- data/lib/twitter/bootstrap/rails/twitter-bootstrap-breadcrumbs.rb +0 -42
- data/test/lib/breadcrumbs_test.rb +0 -75
- data/test/test_helper.rb +0 -11
- data/vendor/toolkit/fontawesome/bootstrap.less +0 -84
- data/vendor/toolkit/fontawesome/extras.less +0 -93
- data/vendor/toolkit/fontawesome/font-awesome-ie7.less +0 -1953
- data/vendor/toolkit/twitter/bootstrap/accordion.less +0 -34
- data/vendor/toolkit/twitter/bootstrap/hero-unit.less +0 -25
- data/vendor/toolkit/twitter/bootstrap/labels-badges.less +0 -84
- data/vendor/toolkit/twitter/bootstrap/layouts.less +0 -16
- data/vendor/toolkit/twitter/bootstrap/reset.less +0 -216
- data/vendor/toolkit/twitter/bootstrap/responsive-1200px-min.less +0 -28
- data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +0 -193
- data/vendor/toolkit/twitter/bootstrap/responsive-768px-979px.less +0 -19
- data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +0 -189
- data/vendor/toolkit/twitter/bootstrap/responsive.less +0 -48
- data/vendor/toolkit/twitter/bootstrap/sprites.less +0 -197
|
@@ -3,242 +3,231 @@
|
|
|
3
3
|
// --------------------------------------------------
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
// BASE TABLES
|
|
7
|
-
// -----------------
|
|
8
|
-
|
|
9
6
|
table {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
background-color: @table-bg;
|
|
8
|
+
}
|
|
9
|
+
caption {
|
|
10
|
+
padding-top: @table-cell-padding;
|
|
11
|
+
padding-bottom: @table-cell-padding;
|
|
12
|
+
color: @text-muted;
|
|
13
|
+
text-align: left;
|
|
14
|
+
}
|
|
15
|
+
th {
|
|
16
|
+
text-align: left;
|
|
14
17
|
}
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
//
|
|
19
|
+
|
|
20
|
+
// Baseline styles
|
|
18
21
|
|
|
19
22
|
.table {
|
|
20
23
|
width: 100%;
|
|
21
|
-
|
|
24
|
+
max-width: 100%;
|
|
25
|
+
margin-bottom: @line-height-computed;
|
|
22
26
|
// Cells
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
> thead,
|
|
28
|
+
> tbody,
|
|
29
|
+
> tfoot {
|
|
30
|
+
> tr {
|
|
31
|
+
> th,
|
|
32
|
+
> td {
|
|
33
|
+
padding: @table-cell-padding;
|
|
34
|
+
line-height: @line-height-base;
|
|
35
|
+
vertical-align: top;
|
|
36
|
+
border-top: 1px solid @table-border-color;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
33
39
|
}
|
|
34
40
|
// Bottom align for column headings
|
|
35
|
-
thead th {
|
|
41
|
+
> thead > tr > th {
|
|
36
42
|
vertical-align: bottom;
|
|
43
|
+
border-bottom: 2px solid @table-border-color;
|
|
37
44
|
}
|
|
38
45
|
// Remove top border from thead by default
|
|
39
|
-
caption + thead
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
> caption + thead,
|
|
47
|
+
> colgroup + thead,
|
|
48
|
+
> thead:first-child {
|
|
49
|
+
> tr:first-child {
|
|
50
|
+
> th,
|
|
51
|
+
> td {
|
|
52
|
+
border-top: 0;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
46
55
|
}
|
|
47
56
|
// Account for multiple tbody instances
|
|
48
|
-
tbody + tbody {
|
|
49
|
-
border-top: 2px solid @
|
|
57
|
+
> tbody + tbody {
|
|
58
|
+
border-top: 2px solid @table-border-color;
|
|
50
59
|
}
|
|
51
60
|
|
|
52
61
|
// Nesting
|
|
53
62
|
.table {
|
|
54
|
-
background-color: @
|
|
63
|
+
background-color: @body-bg;
|
|
55
64
|
}
|
|
56
65
|
}
|
|
57
66
|
|
|
58
67
|
|
|
59
|
-
|
|
60
|
-
// CONDENSED TABLE W/ HALF PADDING
|
|
61
|
-
// -------------------------------
|
|
68
|
+
// Condensed table w/ half padding
|
|
62
69
|
|
|
63
70
|
.table-condensed {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
71
|
+
> thead,
|
|
72
|
+
> tbody,
|
|
73
|
+
> tfoot {
|
|
74
|
+
> tr {
|
|
75
|
+
> th,
|
|
76
|
+
> td {
|
|
77
|
+
padding: @table-condensed-cell-padding;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
67
80
|
}
|
|
68
81
|
}
|
|
69
82
|
|
|
70
83
|
|
|
71
|
-
//
|
|
72
|
-
//
|
|
84
|
+
// Bordered version
|
|
85
|
+
//
|
|
86
|
+
// Add borders all around the table and between all the columns.
|
|
73
87
|
|
|
74
88
|
.table-bordered {
|
|
75
|
-
border: 1px solid @
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
caption + thead tr:first-child th,
|
|
86
|
-
caption + tbody tr:first-child th,
|
|
87
|
-
caption + tbody tr:first-child td,
|
|
88
|
-
colgroup + thead tr:first-child th,
|
|
89
|
-
colgroup + tbody tr:first-child th,
|
|
90
|
-
colgroup + tbody tr:first-child td,
|
|
91
|
-
thead:first-child tr:first-child th,
|
|
92
|
-
tbody:first-child tr:first-child th,
|
|
93
|
-
tbody:first-child tr:first-child td {
|
|
94
|
-
border-top: 0;
|
|
95
|
-
}
|
|
96
|
-
// For first th/td in the first row in the first thead or tbody
|
|
97
|
-
thead:first-child tr:first-child > th:first-child,
|
|
98
|
-
tbody:first-child tr:first-child > td:first-child,
|
|
99
|
-
tbody:first-child tr:first-child > th:first-child {
|
|
100
|
-
.border-top-left-radius(@baseBorderRadius);
|
|
101
|
-
}
|
|
102
|
-
// For last th/td in the first row in the first thead or tbody
|
|
103
|
-
thead:first-child tr:first-child > th:last-child,
|
|
104
|
-
tbody:first-child tr:first-child > td:last-child,
|
|
105
|
-
tbody:first-child tr:first-child > th:last-child {
|
|
106
|
-
.border-top-right-radius(@baseBorderRadius);
|
|
107
|
-
}
|
|
108
|
-
// For first th/td (can be either) in the last row in the last thead, tbody, and tfoot
|
|
109
|
-
thead:last-child tr:last-child > th:first-child,
|
|
110
|
-
tbody:last-child tr:last-child > td:first-child,
|
|
111
|
-
tbody:last-child tr:last-child > th:first-child,
|
|
112
|
-
tfoot:last-child tr:last-child > td:first-child,
|
|
113
|
-
tfoot:last-child tr:last-child > th:first-child {
|
|
114
|
-
.border-bottom-left-radius(@baseBorderRadius);
|
|
115
|
-
}
|
|
116
|
-
// For last th/td (can be either) in the last row in the last thead, tbody, and tfoot
|
|
117
|
-
thead:last-child tr:last-child > th:last-child,
|
|
118
|
-
tbody:last-child tr:last-child > td:last-child,
|
|
119
|
-
tbody:last-child tr:last-child > th:last-child,
|
|
120
|
-
tfoot:last-child tr:last-child > td:last-child,
|
|
121
|
-
tfoot:last-child tr:last-child > th:last-child {
|
|
122
|
-
.border-bottom-right-radius(@baseBorderRadius);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
// Clear border-radius for first and last td in the last row in the last tbody for table with tfoot
|
|
126
|
-
tfoot + tbody:last-child tr:last-child td:first-child {
|
|
127
|
-
.border-bottom-left-radius(0);
|
|
128
|
-
}
|
|
129
|
-
tfoot + tbody:last-child tr:last-child td:last-child {
|
|
130
|
-
.border-bottom-right-radius(0);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
// Special fixes to round the left border on the first td/th
|
|
134
|
-
caption + thead tr:first-child th:first-child,
|
|
135
|
-
caption + tbody tr:first-child td:first-child,
|
|
136
|
-
colgroup + thead tr:first-child th:first-child,
|
|
137
|
-
colgroup + tbody tr:first-child td:first-child {
|
|
138
|
-
.border-top-left-radius(@baseBorderRadius);
|
|
89
|
+
border: 1px solid @table-border-color;
|
|
90
|
+
> thead,
|
|
91
|
+
> tbody,
|
|
92
|
+
> tfoot {
|
|
93
|
+
> tr {
|
|
94
|
+
> th,
|
|
95
|
+
> td {
|
|
96
|
+
border: 1px solid @table-border-color;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
139
99
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
100
|
+
> thead > tr {
|
|
101
|
+
> th,
|
|
102
|
+
> td {
|
|
103
|
+
border-bottom-width: 2px;
|
|
104
|
+
}
|
|
145
105
|
}
|
|
146
|
-
|
|
147
106
|
}
|
|
148
107
|
|
|
149
108
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
// ZEBRA-STRIPING
|
|
153
|
-
// --------------
|
|
154
|
-
|
|
109
|
+
// Zebra-striping
|
|
110
|
+
//
|
|
155
111
|
// Default zebra-stripe styles (alternating gray and transparent backgrounds)
|
|
112
|
+
|
|
156
113
|
.table-striped {
|
|
157
|
-
tbody {
|
|
158
|
-
|
|
159
|
-
> tr:nth-child(odd) > th {
|
|
160
|
-
background-color: @tableBackgroundAccent;
|
|
161
|
-
}
|
|
114
|
+
> tbody > tr:nth-child(odd) {
|
|
115
|
+
background-color: @table-bg-accent;
|
|
162
116
|
}
|
|
163
117
|
}
|
|
164
118
|
|
|
165
119
|
|
|
166
|
-
//
|
|
167
|
-
//
|
|
120
|
+
// Hover effect
|
|
121
|
+
//
|
|
168
122
|
// Placed here since it has to come after the potential zebra striping
|
|
123
|
+
|
|
169
124
|
.table-hover {
|
|
170
|
-
tbody {
|
|
171
|
-
|
|
172
|
-
tr:hover > th {
|
|
173
|
-
background-color: @tableBackgroundHover;
|
|
174
|
-
}
|
|
125
|
+
> tbody > tr:hover {
|
|
126
|
+
background-color: @table-bg-hover;
|
|
175
127
|
}
|
|
176
128
|
}
|
|
177
129
|
|
|
178
130
|
|
|
179
|
-
//
|
|
180
|
-
//
|
|
131
|
+
// Table cell sizing
|
|
132
|
+
//
|
|
133
|
+
// Reset default table behavior
|
|
181
134
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
.row-fluid table th[class*="span"] {
|
|
187
|
-
display: table-cell;
|
|
188
|
-
float: none; // undo default grid column styles
|
|
189
|
-
margin-left: 0; // undo default grid column styles
|
|
135
|
+
table col[class*="col-"] {
|
|
136
|
+
position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
|
|
137
|
+
float: none;
|
|
138
|
+
display: table-column;
|
|
190
139
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
&.span6 { .tableColumns(6); }
|
|
201
|
-
&.span7 { .tableColumns(7); }
|
|
202
|
-
&.span8 { .tableColumns(8); }
|
|
203
|
-
&.span9 { .tableColumns(9); }
|
|
204
|
-
&.span10 { .tableColumns(10); }
|
|
205
|
-
&.span11 { .tableColumns(11); }
|
|
206
|
-
&.span12 { .tableColumns(12); }
|
|
140
|
+
table {
|
|
141
|
+
td,
|
|
142
|
+
th {
|
|
143
|
+
&[class*="col-"] {
|
|
144
|
+
position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
|
|
145
|
+
float: none;
|
|
146
|
+
display: table-cell;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
207
149
|
}
|
|
208
150
|
|
|
209
151
|
|
|
152
|
+
// Table backgrounds
|
|
153
|
+
//
|
|
154
|
+
// Exact selectors below required to override `.table-striped` and prevent
|
|
155
|
+
// inheritance to nested tables.
|
|
210
156
|
|
|
211
|
-
//
|
|
212
|
-
|
|
213
|
-
|
|
157
|
+
// Generate the contextual variants
|
|
158
|
+
.table-row-variant(active; @table-bg-active);
|
|
159
|
+
.table-row-variant(success; @state-success-bg);
|
|
160
|
+
.table-row-variant(info; @state-info-bg);
|
|
161
|
+
.table-row-variant(warning; @state-warning-bg);
|
|
162
|
+
.table-row-variant(danger; @state-danger-bg);
|
|
214
163
|
|
|
215
|
-
.table tbody tr {
|
|
216
|
-
&.success > td {
|
|
217
|
-
background-color: @successBackground;
|
|
218
|
-
}
|
|
219
|
-
&.error > td {
|
|
220
|
-
background-color: @errorBackground;
|
|
221
|
-
}
|
|
222
|
-
&.warning > td {
|
|
223
|
-
background-color: @warningBackground;
|
|
224
|
-
}
|
|
225
|
-
&.info > td {
|
|
226
|
-
background-color: @infoBackground;
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
164
|
|
|
230
|
-
//
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
165
|
+
// Responsive tables
|
|
166
|
+
//
|
|
167
|
+
// Wrap your tables in `.table-responsive` and we'll make them mobile friendly
|
|
168
|
+
// by enabling horizontal scrolling. Only applies <768px. Everything above that
|
|
169
|
+
// will display normally.
|
|
170
|
+
|
|
171
|
+
.table-responsive {
|
|
172
|
+
@media screen and (max-width: @screen-xs-max) {
|
|
173
|
+
width: 100%;
|
|
174
|
+
margin-bottom: (@line-height-computed * 0.75);
|
|
175
|
+
overflow-y: hidden;
|
|
176
|
+
overflow-x: auto;
|
|
177
|
+
-ms-overflow-style: -ms-autohiding-scrollbar;
|
|
178
|
+
border: 1px solid @table-border-color;
|
|
179
|
+
-webkit-overflow-scrolling: touch;
|
|
180
|
+
|
|
181
|
+
// Tighten up spacing
|
|
182
|
+
> .table {
|
|
183
|
+
margin-bottom: 0;
|
|
184
|
+
|
|
185
|
+
// Ensure the content doesn't wrap
|
|
186
|
+
> thead,
|
|
187
|
+
> tbody,
|
|
188
|
+
> tfoot {
|
|
189
|
+
> tr {
|
|
190
|
+
> th,
|
|
191
|
+
> td {
|
|
192
|
+
white-space: nowrap;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// Special overrides for the bordered tables
|
|
199
|
+
> .table-bordered {
|
|
200
|
+
border: 0;
|
|
201
|
+
|
|
202
|
+
// Nuke the appropriate borders so that the parent can handle them
|
|
203
|
+
> thead,
|
|
204
|
+
> tbody,
|
|
205
|
+
> tfoot {
|
|
206
|
+
> tr {
|
|
207
|
+
> th:first-child,
|
|
208
|
+
> td:first-child {
|
|
209
|
+
border-left: 0;
|
|
210
|
+
}
|
|
211
|
+
> th:last-child,
|
|
212
|
+
> td:last-child {
|
|
213
|
+
border-right: 0;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// Only nuke the last row's bottom-border in `tbody` and `tfoot` since
|
|
219
|
+
// chances are there will be only one `tr` in a `thead` and that would
|
|
220
|
+
// remove the border altogether.
|
|
221
|
+
> tbody,
|
|
222
|
+
> tfoot {
|
|
223
|
+
> tr:last-child {
|
|
224
|
+
> th,
|
|
225
|
+
> td {
|
|
226
|
+
border-bottom: 0;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
}
|
|
243
232
|
}
|
|
244
233
|
}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
|
|
2
|
+
//
|
|
3
|
+
// Load core variables and mixins
|
|
4
|
+
// --------------------------------------------------
|
|
5
|
+
|
|
6
|
+
@import "variables.less";
|
|
7
|
+
@import "mixins.less";
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
//
|
|
12
|
+
// Buttons
|
|
13
|
+
// --------------------------------------------------
|
|
14
|
+
|
|
15
|
+
// Common styles
|
|
16
|
+
.btn-default,
|
|
17
|
+
.btn-primary,
|
|
18
|
+
.btn-success,
|
|
19
|
+
.btn-info,
|
|
20
|
+
.btn-warning,
|
|
21
|
+
.btn-danger {
|
|
22
|
+
text-shadow: 0 -1px 0 rgba(0,0,0,.2);
|
|
23
|
+
@shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
|
|
24
|
+
.box-shadow(@shadow);
|
|
25
|
+
|
|
26
|
+
// Reset the shadow
|
|
27
|
+
&:active,
|
|
28
|
+
&.active {
|
|
29
|
+
.box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Mixin for generating new styles
|
|
34
|
+
.btn-styles(@btn-color: #555) {
|
|
35
|
+
#gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));
|
|
36
|
+
.reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners
|
|
37
|
+
background-repeat: repeat-x;
|
|
38
|
+
border-color: darken(@btn-color, 14%);
|
|
39
|
+
|
|
40
|
+
&:hover,
|
|
41
|
+
&:focus {
|
|
42
|
+
background-color: darken(@btn-color, 12%);
|
|
43
|
+
background-position: 0 -15px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&:active,
|
|
47
|
+
&.active {
|
|
48
|
+
background-color: darken(@btn-color, 12%);
|
|
49
|
+
border-color: darken(@btn-color, 14%);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&:disabled,
|
|
53
|
+
&[disabled] {
|
|
54
|
+
background-color: darken(@btn-color, 12%);
|
|
55
|
+
background-image: none;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Common styles
|
|
60
|
+
.btn {
|
|
61
|
+
// Remove the gradient for the pressed/active state
|
|
62
|
+
&:active,
|
|
63
|
+
&.active {
|
|
64
|
+
background-image: none;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Apply the mixin to the buttons
|
|
69
|
+
.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
|
|
70
|
+
.btn-primary { .btn-styles(@btn-primary-bg); }
|
|
71
|
+
.btn-success { .btn-styles(@btn-success-bg); }
|
|
72
|
+
.btn-info { .btn-styles(@btn-info-bg); }
|
|
73
|
+
.btn-warning { .btn-styles(@btn-warning-bg); }
|
|
74
|
+
.btn-danger { .btn-styles(@btn-danger-bg); }
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
//
|
|
79
|
+
// Images
|
|
80
|
+
// --------------------------------------------------
|
|
81
|
+
|
|
82
|
+
.thumbnail,
|
|
83
|
+
.img-thumbnail {
|
|
84
|
+
.box-shadow(0 1px 2px rgba(0,0,0,.075));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
//
|
|
90
|
+
// Dropdowns
|
|
91
|
+
// --------------------------------------------------
|
|
92
|
+
|
|
93
|
+
.dropdown-menu > li > a:hover,
|
|
94
|
+
.dropdown-menu > li > a:focus {
|
|
95
|
+
#gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));
|
|
96
|
+
background-color: darken(@dropdown-link-hover-bg, 5%);
|
|
97
|
+
}
|
|
98
|
+
.dropdown-menu > .active > a,
|
|
99
|
+
.dropdown-menu > .active > a:hover,
|
|
100
|
+
.dropdown-menu > .active > a:focus {
|
|
101
|
+
#gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));
|
|
102
|
+
background-color: darken(@dropdown-link-active-bg, 5%);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
//
|
|
108
|
+
// Navbar
|
|
109
|
+
// --------------------------------------------------
|
|
110
|
+
|
|
111
|
+
// Default navbar
|
|
112
|
+
.navbar-default {
|
|
113
|
+
#gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);
|
|
114
|
+
.reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
|
|
115
|
+
border-radius: @navbar-border-radius;
|
|
116
|
+
@shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
|
|
117
|
+
.box-shadow(@shadow);
|
|
118
|
+
|
|
119
|
+
.navbar-nav > .open > a,
|
|
120
|
+
.navbar-nav > .active > a {
|
|
121
|
+
#gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%));
|
|
122
|
+
.box-shadow(inset 0 3px 9px rgba(0,0,0,.075));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
.navbar-brand,
|
|
126
|
+
.navbar-nav > li > a {
|
|
127
|
+
text-shadow: 0 1px 0 rgba(255,255,255,.25);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Inverted navbar
|
|
131
|
+
.navbar-inverse {
|
|
132
|
+
#gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);
|
|
133
|
+
.reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
|
|
134
|
+
|
|
135
|
+
.navbar-nav > .open > a,
|
|
136
|
+
.navbar-nav > .active > a {
|
|
137
|
+
#gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%));
|
|
138
|
+
.box-shadow(inset 0 3px 9px rgba(0,0,0,.25));
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.navbar-brand,
|
|
142
|
+
.navbar-nav > li > a {
|
|
143
|
+
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Undo rounded corners in static and fixed navbars
|
|
148
|
+
.navbar-static-top,
|
|
149
|
+
.navbar-fixed-top,
|
|
150
|
+
.navbar-fixed-bottom {
|
|
151
|
+
border-radius: 0;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
//
|
|
157
|
+
// Alerts
|
|
158
|
+
// --------------------------------------------------
|
|
159
|
+
|
|
160
|
+
// Common styles
|
|
161
|
+
.alert {
|
|
162
|
+
text-shadow: 0 1px 0 rgba(255,255,255,.2);
|
|
163
|
+
@shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);
|
|
164
|
+
.box-shadow(@shadow);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// Mixin for generating new styles
|
|
168
|
+
.alert-styles(@color) {
|
|
169
|
+
#gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));
|
|
170
|
+
border-color: darken(@color, 15%);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// Apply the mixin to the alerts
|
|
174
|
+
.alert-success { .alert-styles(@alert-success-bg); }
|
|
175
|
+
.alert-info { .alert-styles(@alert-info-bg); }
|
|
176
|
+
.alert-warning { .alert-styles(@alert-warning-bg); }
|
|
177
|
+
.alert-danger { .alert-styles(@alert-danger-bg); }
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
//
|
|
182
|
+
// Progress bars
|
|
183
|
+
// --------------------------------------------------
|
|
184
|
+
|
|
185
|
+
// Give the progress background some depth
|
|
186
|
+
.progress {
|
|
187
|
+
#gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// Mixin for generating new styles
|
|
191
|
+
.progress-bar-styles(@color) {
|
|
192
|
+
#gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// Apply the mixin to the progress bars
|
|
196
|
+
.progress-bar { .progress-bar-styles(@progress-bar-bg); }
|
|
197
|
+
.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }
|
|
198
|
+
.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }
|
|
199
|
+
.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }
|
|
200
|
+
.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }
|
|
201
|
+
|
|
202
|
+
// Reset the striped class because our mixins don't do multiple gradients and
|
|
203
|
+
// the above custom styles override the new `.progress-bar-striped` in v3.2.0.
|
|
204
|
+
.progress-bar-striped {
|
|
205
|
+
#gradient > .striped();
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
//
|
|
210
|
+
// List groups
|
|
211
|
+
// --------------------------------------------------
|
|
212
|
+
|
|
213
|
+
.list-group {
|
|
214
|
+
border-radius: @border-radius-base;
|
|
215
|
+
.box-shadow(0 1px 2px rgba(0,0,0,.075));
|
|
216
|
+
}
|
|
217
|
+
.list-group-item.active,
|
|
218
|
+
.list-group-item.active:hover,
|
|
219
|
+
.list-group-item.active:focus {
|
|
220
|
+
text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);
|
|
221
|
+
#gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));
|
|
222
|
+
border-color: darken(@list-group-active-border, 7.5%);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
//
|
|
228
|
+
// Panels
|
|
229
|
+
// --------------------------------------------------
|
|
230
|
+
|
|
231
|
+
// Common styles
|
|
232
|
+
.panel {
|
|
233
|
+
.box-shadow(0 1px 2px rgba(0,0,0,.05));
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// Mixin for generating new styles
|
|
237
|
+
.panel-heading-styles(@color) {
|
|
238
|
+
#gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// Apply the mixin to the panel headings only
|
|
242
|
+
.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }
|
|
243
|
+
.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }
|
|
244
|
+
.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }
|
|
245
|
+
.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }
|
|
246
|
+
.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }
|
|
247
|
+
.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
//
|
|
252
|
+
// Wells
|
|
253
|
+
// --------------------------------------------------
|
|
254
|
+
|
|
255
|
+
.well {
|
|
256
|
+
#gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);
|
|
257
|
+
border-color: darken(@well-bg, 10%);
|
|
258
|
+
@shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
|
|
259
|
+
.box-shadow(@shadow);
|
|
260
|
+
}
|