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.
Files changed (189) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +160 -228
  3. data/Rakefile +4 -6
  4. data/app/assets/fonts/fontawesome-webfont.eot +0 -0
  5. data/app/assets/fonts/fontawesome-webfont.svg +279 -38
  6. data/app/assets/fonts/fontawesome-webfont.ttf +0 -0
  7. data/app/assets/fonts/fontawesome-webfont.woff +0 -0
  8. data/app/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  9. data/app/assets/fonts/glyphicons-halflings-regular.svg +229 -0
  10. data/app/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  11. data/app/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  12. data/app/assets/javascripts/twitter/bootstrap/affix.js +142 -0
  13. data/app/assets/javascripts/twitter/bootstrap/alert.js +92 -0
  14. data/app/assets/javascripts/twitter/bootstrap/button.js +110 -0
  15. data/app/assets/javascripts/twitter/bootstrap/carousel.js +223 -0
  16. data/app/assets/javascripts/twitter/bootstrap/collapse.js +170 -0
  17. data/app/assets/javascripts/twitter/bootstrap/dropdown.js +151 -0
  18. data/app/assets/javascripts/twitter/bootstrap/modal.js +280 -0
  19. data/app/assets/javascripts/twitter/bootstrap/popover.js +113 -0
  20. data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +170 -0
  21. data/app/assets/javascripts/twitter/bootstrap/tab.js +128 -0
  22. data/app/assets/javascripts/twitter/bootstrap/tooltip.js +457 -0
  23. data/app/assets/javascripts/twitter/bootstrap/transition.js +59 -0
  24. data/app/assets/javascripts/twitter/bootstrap.js +12 -13
  25. data/app/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +1 -890
  26. data/app/assets/stylesheets/twitter-bootstrap-static/fontawesome.css.erb +2026 -787
  27. data/app/assets/stylesheets/twitter-bootstrap-static/sprites.css.erb +1 -146
  28. data/app/helpers/bootstrap_flash_helper.rb +14 -7
  29. data/app/helpers/form_errors_helper.rb +22 -0
  30. data/app/helpers/glyph_helper.rb +8 -5
  31. data/app/helpers/modal_helper.rb +26 -22
  32. data/app/helpers/navbar_helper.rb +47 -32
  33. data/app/helpers/twitter_breadcrumbs_helper.rb +6 -2
  34. data/app/views/twitter-bootstrap/_breadcrumbs.html.erb +8 -8
  35. data/lib/generators/bootstrap/install/install_generator.rb +3 -2
  36. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +13 -11
  37. data/lib/generators/bootstrap/install/templates/en.bootstrap.yml +5 -0
  38. data/lib/generators/bootstrap/layout/layout_generator.rb +1 -4
  39. data/lib/generators/bootstrap/layout/templates/layout.html.erb +27 -48
  40. data/lib/generators/bootstrap/layout/templates/layout.html.haml +19 -34
  41. data/lib/generators/bootstrap/layout/templates/layout.html.slim +13 -30
  42. data/lib/generators/bootstrap/partial/templates/_login.html.erb +2 -3
  43. data/lib/generators/bootstrap/themed/templates/_form.html.erb +30 -10
  44. data/lib/generators/bootstrap/themed/templates/_form.html.haml +10 -8
  45. data/lib/generators/bootstrap/themed/templates/_form.html.slim +11 -9
  46. data/lib/generators/bootstrap/themed/templates/edit.html.slim +1 -1
  47. data/lib/generators/bootstrap/themed/templates/index.html.erb +2 -2
  48. data/lib/generators/bootstrap/themed/templates/index.html.haml +2 -2
  49. data/lib/generators/bootstrap/themed/templates/index.html.slim +4 -5
  50. data/lib/generators/bootstrap/themed/templates/new.html.slim +1 -1
  51. data/lib/generators/bootstrap/themed/templates/show.html.erb +5 -7
  52. data/lib/generators/bootstrap/themed/templates/show.html.haml +4 -4
  53. data/lib/generators/bootstrap/themed/templates/show.html.slim +6 -7
  54. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.erb +5 -5
  55. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.haml +3 -3
  56. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.slim +4 -4
  57. data/lib/generators/bootstrap/themed/themed_generator.rb +2 -2
  58. data/lib/twitter/bootstrap/rails/breadcrumbs.rb +69 -0
  59. data/lib/twitter/bootstrap/rails/engine.rb +17 -10
  60. data/lib/twitter/bootstrap/rails/version.rb +2 -2
  61. data/spec/lib/breadcrumbs_spec.rb +99 -0
  62. data/spec/lib/twitter_bootstrap_rails/badge_label_helper_spec.rb +12 -4
  63. data/spec/lib/twitter_bootstrap_rails/bootstrap_flash_helper_spec.rb +128 -0
  64. data/spec/lib/twitter_bootstrap_rails/form_errors_helper_spec.rb +148 -0
  65. data/spec/lib/twitter_bootstrap_rails/glyph_helper_spec.rb +24 -0
  66. data/spec/lib/twitter_bootstrap_rails/modal_helper_spec.rb +15 -15
  67. data/spec/lib/twitter_bootstrap_rails/navbar_helper_spec.rb +207 -173
  68. data/spec/lib/twitter_bootstrap_rails/uri_state_spec.rb +18 -16
  69. data/spec/spec_helper.rb +11 -1
  70. data/vendor/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +5796 -1
  71. data/vendor/static-source/bootstrap.less +0 -1
  72. data/vendor/static-source/fontawesome.less +0 -1
  73. data/vendor/static-source/sprites.less +1 -1
  74. data/vendor/toolkit/fontawesome/bordered-pulled.less +16 -0
  75. data/vendor/toolkit/fontawesome/core.less +8 -126
  76. data/vendor/toolkit/fontawesome/fixed-width.less +6 -0
  77. data/vendor/toolkit/fontawesome/font-awesome.less +9 -25
  78. data/vendor/toolkit/fontawesome/icons.less +549 -378
  79. data/vendor/toolkit/fontawesome/larger.less +13 -0
  80. data/vendor/toolkit/fontawesome/list.less +19 -0
  81. data/vendor/toolkit/fontawesome/mixins.less +16 -39
  82. data/vendor/toolkit/fontawesome/path.less +5 -5
  83. data/vendor/toolkit/fontawesome/rotated-flipped.less +20 -0
  84. data/vendor/toolkit/fontawesome/spinning.less +29 -0
  85. data/vendor/toolkit/fontawesome/stacked.less +20 -0
  86. data/vendor/toolkit/fontawesome/variables.less +557 -731
  87. data/vendor/toolkit/twitter/bootstrap/alerts.less +47 -58
  88. data/vendor/toolkit/twitter/bootstrap/badges.less +55 -0
  89. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +26 -39
  90. data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +11 -9
  91. data/vendor/toolkit/twitter/bootstrap/button-groups.less +168 -152
  92. data/vendor/toolkit/twitter/bootstrap/buttons.less +101 -170
  93. data/vendor/toolkit/twitter/bootstrap/carousel.less +150 -65
  94. data/vendor/toolkit/twitter/bootstrap/close.less +20 -19
  95. data/vendor/toolkit/twitter/bootstrap/code.less +38 -30
  96. data/vendor/toolkit/twitter/bootstrap/component-animations.less +12 -3
  97. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +115 -148
  98. data/vendor/toolkit/twitter/bootstrap/forms.less +401 -547
  99. data/vendor/toolkit/twitter/bootstrap/glyphicons.less +234 -0
  100. data/vendor/toolkit/twitter/bootstrap/grid.less +74 -11
  101. data/vendor/toolkit/twitter/bootstrap/input-groups.less +166 -0
  102. data/vendor/toolkit/twitter/bootstrap/jumbotron.less +48 -0
  103. data/vendor/toolkit/twitter/bootstrap/labels.less +64 -0
  104. data/vendor/toolkit/twitter/bootstrap/list-group.less +132 -0
  105. data/vendor/toolkit/twitter/bootstrap/media.less +8 -7
  106. data/vendor/toolkit/twitter/bootstrap/mixins/alerts.less +14 -0
  107. data/vendor/toolkit/twitter/bootstrap/mixins/background-variant.less +8 -0
  108. data/vendor/toolkit/twitter/bootstrap/mixins/border-radius.less +18 -0
  109. data/vendor/toolkit/twitter/bootstrap/mixins/buttons.less +52 -0
  110. data/vendor/toolkit/twitter/bootstrap/mixins/center-block.less +7 -0
  111. data/vendor/toolkit/twitter/bootstrap/mixins/clearfix.less +22 -0
  112. data/vendor/toolkit/twitter/bootstrap/mixins/forms.less +85 -0
  113. data/vendor/toolkit/twitter/bootstrap/mixins/gradients.less +59 -0
  114. data/vendor/toolkit/twitter/bootstrap/mixins/grid-framework.less +91 -0
  115. data/vendor/toolkit/twitter/bootstrap/mixins/grid.less +122 -0
  116. data/vendor/toolkit/twitter/bootstrap/mixins/hide-text.less +21 -0
  117. data/vendor/toolkit/twitter/bootstrap/mixins/image.less +33 -0
  118. data/vendor/toolkit/twitter/bootstrap/mixins/labels.less +12 -0
  119. data/vendor/toolkit/twitter/bootstrap/mixins/list-group.less +29 -0
  120. data/vendor/toolkit/twitter/bootstrap/mixins/nav-divider.less +10 -0
  121. data/vendor/toolkit/twitter/bootstrap/mixins/nav-vertical-align.less +9 -0
  122. data/vendor/toolkit/twitter/bootstrap/mixins/opacity.less +8 -0
  123. data/vendor/toolkit/twitter/bootstrap/mixins/pagination.less +23 -0
  124. data/vendor/toolkit/twitter/bootstrap/mixins/panels.less +24 -0
  125. data/vendor/toolkit/twitter/bootstrap/mixins/progress-bar.less +10 -0
  126. data/vendor/toolkit/twitter/bootstrap/mixins/reset-filter.less +8 -0
  127. data/vendor/toolkit/twitter/bootstrap/mixins/resize.less +6 -0
  128. data/vendor/toolkit/twitter/bootstrap/mixins/responsive-visibility.less +15 -0
  129. data/vendor/toolkit/twitter/bootstrap/mixins/size.less +10 -0
  130. data/vendor/toolkit/twitter/bootstrap/mixins/tab-focus.less +9 -0
  131. data/vendor/toolkit/twitter/bootstrap/mixins/table-row.less +28 -0
  132. data/vendor/toolkit/twitter/bootstrap/mixins/text-emphasis.less +8 -0
  133. data/vendor/toolkit/twitter/bootstrap/mixins/text-overflow.less +8 -0
  134. data/vendor/toolkit/twitter/bootstrap/mixins/vendor-prefixes.less +224 -0
  135. data/vendor/toolkit/twitter/bootstrap/mixins.less +36 -699
  136. data/vendor/toolkit/twitter/bootstrap/modals.less +109 -54
  137. data/vendor/toolkit/twitter/bootstrap/navbar.less +542 -384
  138. data/vendor/toolkit/twitter/bootstrap/navs.less +192 -359
  139. data/vendor/toolkit/twitter/bootstrap/normalize.less +425 -0
  140. data/vendor/toolkit/twitter/bootstrap/pager.less +46 -34
  141. data/vendor/toolkit/twitter/bootstrap/pagination.less +70 -105
  142. data/vendor/toolkit/twitter/bootstrap/panels.less +248 -0
  143. data/vendor/toolkit/twitter/bootstrap/popovers.less +61 -61
  144. data/vendor/toolkit/twitter/bootstrap/print.less +101 -0
  145. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +51 -73
  146. data/vendor/toolkit/twitter/bootstrap/responsive-embed.less +34 -0
  147. data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +177 -42
  148. data/vendor/toolkit/twitter/bootstrap/scaffolding.less +120 -23
  149. data/vendor/toolkit/twitter/bootstrap/tables.less +171 -182
  150. data/vendor/toolkit/twitter/bootstrap/theme.less +260 -0
  151. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +26 -43
  152. data/vendor/toolkit/twitter/bootstrap/tooltip.less +49 -24
  153. data/vendor/toolkit/twitter/bootstrap/type.less +208 -147
  154. data/vendor/toolkit/twitter/bootstrap/utilities.less +33 -7
  155. data/vendor/toolkit/twitter/bootstrap/variables.less +761 -215
  156. data/vendor/toolkit/twitter/bootstrap/wells.less +7 -7
  157. metadata +156 -130
  158. data/app/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
  159. data/app/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  160. data/app/assets/javascripts/twitter/bootstrap/bootstrap-affix.js +0 -117
  161. data/app/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +0 -99
  162. data/app/assets/javascripts/twitter/bootstrap/bootstrap-button.js +0 -105
  163. data/app/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +0 -207
  164. data/app/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +0 -167
  165. data/app/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +0 -169
  166. data/app/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +0 -247
  167. data/app/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +0 -114
  168. data/app/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +0 -162
  169. data/app/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +0 -144
  170. data/app/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +0 -361
  171. data/app/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +0 -60
  172. data/app/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +0 -335
  173. data/lib/twitter/bootstrap/rails/twitter-bootstrap-breadcrumbs.rb +0 -42
  174. data/test/lib/breadcrumbs_test.rb +0 -75
  175. data/test/test_helper.rb +0 -11
  176. data/vendor/toolkit/fontawesome/bootstrap.less +0 -84
  177. data/vendor/toolkit/fontawesome/extras.less +0 -93
  178. data/vendor/toolkit/fontawesome/font-awesome-ie7.less +0 -1953
  179. data/vendor/toolkit/twitter/bootstrap/accordion.less +0 -34
  180. data/vendor/toolkit/twitter/bootstrap/hero-unit.less +0 -25
  181. data/vendor/toolkit/twitter/bootstrap/labels-badges.less +0 -84
  182. data/vendor/toolkit/twitter/bootstrap/layouts.less +0 -16
  183. data/vendor/toolkit/twitter/bootstrap/reset.less +0 -216
  184. data/vendor/toolkit/twitter/bootstrap/responsive-1200px-min.less +0 -28
  185. data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +0 -193
  186. data/vendor/toolkit/twitter/bootstrap/responsive-768px-979px.less +0 -19
  187. data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +0 -189
  188. data/vendor/toolkit/twitter/bootstrap/responsive.less +0 -48
  189. 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
- max-width: 100%;
11
- background-color: @tableBackground;
12
- border-collapse: collapse;
13
- border-spacing: 0;
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
- // BASELINE STYLES
17
- // ---------------
19
+
20
+ // Baseline styles
18
21
 
19
22
  .table {
20
23
  width: 100%;
21
- margin-bottom: @baseLineHeight;
24
+ max-width: 100%;
25
+ margin-bottom: @line-height-computed;
22
26
  // Cells
23
- th,
24
- td {
25
- padding: 8px;
26
- line-height: @baseLineHeight;
27
- text-align: left;
28
- vertical-align: top;
29
- border-top: 1px solid @tableBorder;
30
- }
31
- th {
32
- font-weight: bold;
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 tr:first-child th,
40
- caption + thead tr:first-child td,
41
- colgroup + thead tr:first-child th,
42
- colgroup + thead tr:first-child td,
43
- thead:first-child tr:first-child th,
44
- thead:first-child tr:first-child td {
45
- border-top: 0;
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 @tableBorder;
57
+ > tbody + tbody {
58
+ border-top: 2px solid @table-border-color;
50
59
  }
51
60
 
52
61
  // Nesting
53
62
  .table {
54
- background-color: @bodyBackground;
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
- th,
65
- td {
66
- padding: 4px 5px;
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
- // BORDERED VERSION
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 @tableBorder;
76
- border-collapse: separate; // Done so we can round those corners!
77
- *border-collapse: collapse; // IE7 can't round corners anyway
78
- border-left: 0;
79
- .border-radius(@baseBorderRadius);
80
- th,
81
- td {
82
- border-left: 1px solid @tableBorder;
83
- }
84
- // Prevent a double border
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
- caption + thead tr:first-child th:last-child,
141
- caption + tbody tr:first-child td:last-child,
142
- colgroup + thead tr:first-child th:last-child,
143
- colgroup + tbody tr:first-child td:last-child {
144
- .border-top-right-radius(@baseBorderRadius);
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
- > tr:nth-child(odd) > td,
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
- // HOVER EFFECT
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
- tr:hover > td,
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
- // TABLE CELL SIZING
180
- // -----------------
131
+ // Table cell sizing
132
+ //
133
+ // Reset default table behavior
181
134
 
182
- // Reset default grid behavior
183
- table td[class*="span"],
184
- table th[class*="span"],
185
- .row-fluid table td[class*="span"],
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
- // Change the column widths to account for td/th padding
193
- .table td,
194
- .table th {
195
- &.span1 { .tableColumns(1); }
196
- &.span2 { .tableColumns(2); }
197
- &.span3 { .tableColumns(3); }
198
- &.span4 { .tableColumns(4); }
199
- &.span5 { .tableColumns(5); }
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
- // TABLE BACKGROUNDS
212
- // -----------------
213
- // Exact selectors below required to override .table-striped
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
- // Hover states for .table-hover
231
- .table-hover tbody tr {
232
- &.success:hover > td {
233
- background-color: darken(@successBackground, 5%);
234
- }
235
- &.error:hover > td {
236
- background-color: darken(@errorBackground, 5%);
237
- }
238
- &.warning:hover > td {
239
- background-color: darken(@warningBackground, 5%);
240
- }
241
- &.info:hover > td {
242
- background-color: darken(@infoBackground, 5%);
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
+ }