twitter-bootstrap-rails 2.2.8 → 3.2.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of twitter-bootstrap-rails might be problematic. Click here for more details.

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
@@ -6,109 +6,142 @@
6
6
  // Base styles
7
7
  // --------------------------------------------------
8
8
 
9
- // Core
10
9
  .btn {
11
10
  display: inline-block;
12
- .ie7-inline-block();
13
- padding: 4px 12px;
14
11
  margin-bottom: 0; // For input.btn
15
- font-size: @baseFontSize;
16
- line-height: @baseLineHeight;
12
+ font-weight: @btn-font-weight;
17
13
  text-align: center;
18
14
  vertical-align: middle;
15
+ touch-action: manipulation;
19
16
  cursor: pointer;
20
- .buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75));
21
- border: 1px solid @btnBorder;
22
- *border: 0; // Remove the border to prevent IE7's black border on input:focus
23
- border-bottom-color: darken(@btnBorder, 10%);
24
- .border-radius(@baseBorderRadius);
25
- .ie7-restore-left-whitespace(); // Give IE7 some love
26
- .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
27
-
28
- // Hover/focus state
29
- &:hover,
30
- &:focus {
31
- color: @grayDark;
32
- text-decoration: none;
33
- background-position: 0 -15px;
34
-
35
- // transition is only when going to hover/focus, otherwise the background
36
- // behind the gradient (there for IE<=9 fallback) gets mismatched
37
- .transition(background-position .1s linear);
17
+ background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
18
+ border: 1px solid transparent;
19
+ white-space: nowrap;
20
+ .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base);
21
+ .user-select(none);
22
+
23
+ &,
24
+ &:active,
25
+ &.active {
26
+ &:focus,
27
+ &.focus {
28
+ .tab-focus();
29
+ }
38
30
  }
39
31
 
40
- // Focus state for keyboard and accessibility
41
- &:focus {
42
- .tab-focus();
32
+ &:hover,
33
+ &:focus,
34
+ &.focus {
35
+ color: @btn-default-color;
36
+ text-decoration: none;
43
37
  }
44
38
 
45
- // Active state
46
- &.active,
47
- &:active {
48
- background-image: none;
39
+ &:active,
40
+ &.active {
49
41
  outline: 0;
50
- .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
42
+ background-image: none;
43
+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
51
44
  }
52
45
 
53
- // Disabled state
54
46
  &.disabled,
55
- &[disabled] {
56
- cursor: default;
57
- background-image: none;
58
- .opacity(65);
47
+ &[disabled],
48
+ fieldset[disabled] & {
49
+ cursor: not-allowed;
50
+ pointer-events: none; // Future-proof disabling of clicks
51
+ .opacity(.65);
59
52
  .box-shadow(none);
60
53
  }
61
-
62
54
  }
63
55
 
64
56
 
65
-
66
- // Button Sizes
57
+ // Alternate buttons
67
58
  // --------------------------------------------------
68
59
 
69
- // Large
70
- .btn-large {
71
- padding: @paddingLarge;
72
- font-size: @fontSizeLarge;
73
- .border-radius(@borderRadiusLarge);
60
+ .btn-default {
61
+ .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);
74
62
  }
75
- .btn-large [class^="icon-"],
76
- .btn-large [class*=" icon-"] {
77
- margin-top: 4px;
63
+ .btn-primary {
64
+ .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);
78
65
  }
79
-
80
- // Small
81
- .btn-small {
82
- padding: @paddingSmall;
83
- font-size: @fontSizeSmall;
84
- .border-radius(@borderRadiusSmall);
66
+ // Success appears as green
67
+ .btn-success {
68
+ .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);
69
+ }
70
+ // Info appears as blue-green
71
+ .btn-info {
72
+ .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);
85
73
  }
86
- .btn-small [class^="icon-"],
87
- .btn-small [class*=" icon-"] {
88
- margin-top: 0;
74
+ // Warning appears as orange
75
+ .btn-warning {
76
+ .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);
77
+ }
78
+ // Danger and error appear as red
79
+ .btn-danger {
80
+ .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);
89
81
  }
90
- .btn-mini [class^="icon-"],
91
- .btn-mini [class*=" icon-"] {
92
- margin-top: -1px;
82
+
83
+
84
+ // Link buttons
85
+ // -------------------------
86
+
87
+ // Make a button look and behave like a link
88
+ .btn-link {
89
+ color: @link-color;
90
+ font-weight: normal;
91
+ border-radius: 0;
92
+
93
+ &,
94
+ &:active,
95
+ &[disabled],
96
+ fieldset[disabled] & {
97
+ background-color: transparent;
98
+ .box-shadow(none);
99
+ }
100
+ &,
101
+ &:hover,
102
+ &:focus,
103
+ &:active {
104
+ border-color: transparent;
105
+ }
106
+ &:hover,
107
+ &:focus {
108
+ color: @link-hover-color;
109
+ text-decoration: underline;
110
+ background-color: transparent;
111
+ }
112
+ &[disabled],
113
+ fieldset[disabled] & {
114
+ &:hover,
115
+ &:focus {
116
+ color: @btn-link-disabled-color;
117
+ text-decoration: none;
118
+ }
119
+ }
93
120
  }
94
121
 
95
- // Mini
96
- .btn-mini {
97
- padding: @paddingMini;
98
- font-size: @fontSizeMini;
99
- .border-radius(@borderRadiusSmall);
122
+
123
+ // Button Sizes
124
+ // --------------------------------------------------
125
+
126
+ .btn-lg {
127
+ // line-height: ensure even-numbered height of button next to large input
128
+ .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
129
+ }
130
+ .btn-sm {
131
+ // line-height: ensure proper height of button next to small input
132
+ .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
133
+ }
134
+ .btn-xs {
135
+ .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small);
100
136
  }
101
137
 
102
138
 
103
139
  // Block button
104
- // -------------------------
140
+ // --------------------------------------------------
105
141
 
106
142
  .btn-block {
107
143
  display: block;
108
144
  width: 100%;
109
- padding-left: 0;
110
- padding-right: 0;
111
- .box-sizing(border-box);
112
145
  }
113
146
 
114
147
  // Vertically space out multiple block buttons
@@ -124,105 +157,3 @@ input[type="button"] {
124
157
  width: 100%;
125
158
  }
126
159
  }
127
-
128
-
129
-
130
- // Alternate buttons
131
- // --------------------------------------------------
132
-
133
- // Provide *some* extra contrast for those who can get it
134
- .btn-primary.active,
135
- .btn-warning.active,
136
- .btn-danger.active,
137
- .btn-success.active,
138
- .btn-info.active,
139
- .btn-inverse.active {
140
- color: rgba(255,255,255,.75);
141
- }
142
-
143
- // Set the backgrounds
144
- // -------------------------
145
- .btn-primary {
146
- .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight);
147
- }
148
- // Warning appears are orange
149
- .btn-warning {
150
- .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight);
151
- }
152
- // Danger and error appear as red
153
- .btn-danger {
154
- .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight);
155
- }
156
- // Success appears as green
157
- .btn-success {
158
- .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight);
159
- }
160
- // Info appears as a neutral blue
161
- .btn-info {
162
- .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight);
163
- }
164
- // Inverse appears as dark gray
165
- .btn-inverse {
166
- .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight);
167
- }
168
-
169
-
170
- // Cross-browser Jank
171
- // --------------------------------------------------
172
-
173
- button.btn,
174
- input[type="submit"].btn {
175
-
176
- // Firefox 3.6 only I believe
177
- &::-moz-focus-inner {
178
- padding: 0;
179
- border: 0;
180
- }
181
-
182
- // IE7 has some default padding on button controls
183
- *padding-top: 3px;
184
- *padding-bottom: 3px;
185
-
186
- &.btn-large {
187
- *padding-top: 7px;
188
- *padding-bottom: 7px;
189
- }
190
- &.btn-small {
191
- *padding-top: 3px;
192
- *padding-bottom: 3px;
193
- }
194
- &.btn-mini {
195
- *padding-top: 1px;
196
- *padding-bottom: 1px;
197
- }
198
- }
199
-
200
-
201
- // Link buttons
202
- // --------------------------------------------------
203
-
204
- // Make a button look and behave like a link
205
- .btn-link,
206
- .btn-link:active,
207
- .btn-link[disabled] {
208
- background-color: transparent;
209
- background-image: none;
210
- .box-shadow(none);
211
- }
212
- .btn-link {
213
- border-color: transparent;
214
- cursor: pointer;
215
- color: @linkColor;
216
- .border-radius(0);
217
- }
218
- .btn-link:hover,
219
- .btn-link:focus {
220
- color: @linkColorHover;
221
- text-decoration: underline;
222
- background-color: transparent;
223
- }
224
- .btn-link[disabled]:hover,
225
- .btn-link[disabled]:focus {
226
- color: @grayDark;
227
- text-decoration: none;
228
- }
@@ -3,19 +3,15 @@
3
3
  // --------------------------------------------------
4
4
 
5
5
 
6
+ // Wrapper for the slide container and indicators
6
7
  .carousel {
7
8
  position: relative;
8
- margin-bottom: @baseLineHeight;
9
- line-height: 1;
10
9
  }
11
10
 
12
11
  .carousel-inner {
12
+ position: relative;
13
13
  overflow: hidden;
14
14
  width: 100%;
15
- position: relative;
16
- }
17
-
18
- .carousel-inner {
19
15
 
20
16
  > .item {
21
17
  display: none;
@@ -25,14 +21,16 @@
25
21
  // Account for jankitude on images
26
22
  > img,
27
23
  > a > img {
28
- display: block;
24
+ &:extend(.img-responsive);
29
25
  line-height: 1;
30
26
  }
31
27
  }
32
28
 
33
29
  > .active,
34
30
  > .next,
35
- > .prev { display: block; }
31
+ > .prev {
32
+ display: block;
33
+ }
36
34
 
37
35
  > .active {
38
36
  left: 0;
@@ -70,89 +68,176 @@
70
68
 
71
69
  .carousel-control {
72
70
  position: absolute;
73
- top: 40%;
74
- left: 15px;
75
- width: 40px;
76
- height: 40px;
77
- margin-top: -20px;
78
- font-size: 60px;
79
- font-weight: 100;
80
- line-height: 30px;
81
- color: @white;
71
+ top: 0;
72
+ left: 0;
73
+ bottom: 0;
74
+ width: @carousel-control-width;
75
+ .opacity(@carousel-control-opacity);
76
+ font-size: @carousel-control-font-size;
77
+ color: @carousel-control-color;
82
78
  text-align: center;
83
- background: @grayDarker;
84
- border: 3px solid @white;
85
- .border-radius(23px);
86
- .opacity(50);
87
-
88
- // we can't have this transition here
89
- // because webkit cancels the carousel
90
- // animation if you trip this while
91
- // in the middle of another animation
92
- // ;_;
93
- // .transition(opacity .2s linear);
94
-
95
- // Reposition the right one
79
+ text-shadow: @carousel-text-shadow;
80
+ // We can't have this transition here because WebKit cancels the carousel
81
+ // animation if you trip this while in the middle of another animation.
82
+
83
+ // Set gradients for backgrounds
84
+ &.left {
85
+ #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));
86
+ }
96
87
  &.right {
97
88
  left: auto;
98
- right: 15px;
89
+ right: 0;
90
+ #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));
99
91
  }
100
92
 
101
93
  // Hover/focus state
102
94
  &:hover,
103
95
  &:focus {
104
- color: @white;
96
+ outline: 0;
97
+ color: @carousel-control-color;
105
98
  text-decoration: none;
106
- .opacity(90);
99
+ .opacity(.9);
100
+ }
101
+
102
+ // Toggles
103
+ .icon-prev,
104
+ .icon-next,
105
+ .glyphicon-chevron-left,
106
+ .glyphicon-chevron-right {
107
+ position: absolute;
108
+ top: 50%;
109
+ z-index: 5;
110
+ display: inline-block;
111
+ }
112
+ .icon-prev,
113
+ .glyphicon-chevron-left {
114
+ left: 50%;
115
+ margin-left: -10px;
116
+ }
117
+ .icon-next,
118
+ .glyphicon-chevron-right {
119
+ right: 50%;
120
+ margin-right: -10px;
121
+ }
122
+ .icon-prev,
123
+ .icon-next {
124
+ width: 20px;
125
+ height: 20px;
126
+ margin-top: -10px;
127
+ font-family: serif;
128
+ }
129
+
130
+
131
+ .icon-prev {
132
+ &:before {
133
+ content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
134
+ }
135
+ }
136
+ .icon-next {
137
+ &:before {
138
+ content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
139
+ }
107
140
  }
108
141
  }
109
142
 
110
- // Carousel indicator pips
111
- // -----------------------------
143
+ // Optional indicator pips
144
+ //
145
+ // Add an unordered list with the following class and add a list item for each
146
+ // slide your carousel holds.
147
+
112
148
  .carousel-indicators {
113
149
  position: absolute;
114
- top: 15px;
115
- right: 15px;
116
- z-index: 5;
117
- margin: 0;
150
+ bottom: 10px;
151
+ left: 50%;
152
+ z-index: 15;
153
+ width: 60%;
154
+ margin-left: -30%;
155
+ padding-left: 0;
118
156
  list-style: none;
157
+ text-align: center;
119
158
 
120
159
  li {
121
- display: block;
122
- float: left;
123
- width: 10px;
160
+ display: inline-block;
161
+ width: 10px;
124
162
  height: 10px;
125
- margin-left: 5px;
163
+ margin: 1px;
126
164
  text-indent: -999px;
127
- background-color: #ccc;
128
- background-color: rgba(255,255,255,.25);
129
- border-radius: 5px;
165
+ border: 1px solid @carousel-indicator-border-color;
166
+ border-radius: 10px;
167
+ cursor: pointer;
168
+
169
+ // IE8-9 hack for event handling
170
+ //
171
+ // Internet Explorer 8-9 does not support clicks on elements without a set
172
+ // `background-color`. We cannot use `filter` since that's not viewed as a
173
+ // background color by the browser. Thus, a hack is needed.
174
+ //
175
+ // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
176
+ // set alpha transparency for the best results possible.
177
+ background-color: #000 \9; // IE8
178
+ background-color: rgba(0,0,0,0); // IE9
130
179
  }
131
180
  .active {
132
- background-color: #fff;
181
+ margin: 0;
182
+ width: 12px;
183
+ height: 12px;
184
+ background-color: @carousel-indicator-active-bg;
133
185
  }
134
186
  }
135
187
 
136
- // Caption for text below images
188
+ // Optional captions
137
189
  // -----------------------------
138
-
190
+ // Hidden by default for smaller viewports
139
191
  .carousel-caption {
140
192
  position: absolute;
141
- left: 0;
142
- right: 0;
143
- bottom: 0;
144
- padding: 15px;
145
- background: @grayDark;
146
- background: rgba(0,0,0,.75);
147
- }
148
- .carousel-caption h4,
149
- .carousel-caption p {
150
- color: @white;
151
- line-height: @baseLineHeight;
152
- }
153
- .carousel-caption h4 {
154
- margin: 0 0 5px;
193
+ left: 15%;
194
+ right: 15%;
195
+ bottom: 20px;
196
+ z-index: 10;
197
+ padding-top: 20px;
198
+ padding-bottom: 20px;
199
+ color: @carousel-caption-color;
200
+ text-align: center;
201
+ text-shadow: @carousel-text-shadow;
202
+ & .btn {
203
+ text-shadow: none; // No shadow for button elements in carousel-caption
204
+ }
155
205
  }
156
- .carousel-caption p {
157
- margin-bottom: 0;
206
+
207
+
208
+ // Scale up controls for tablets and up
209
+ @media screen and (min-width: @screen-sm-min) {
210
+
211
+ // Scale up the controls a smidge
212
+ .carousel-control {
213
+ .glyphicon-chevron-left,
214
+ .glyphicon-chevron-right,
215
+ .icon-prev,
216
+ .icon-next {
217
+ width: 30px;
218
+ height: 30px;
219
+ margin-top: -15px;
220
+ font-size: 30px;
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
+ }
230
+ }
231
+
232
+ // Show and left align the captions
233
+ .carousel-caption {
234
+ left: 20%;
235
+ right: 20%;
236
+ padding-bottom: 30px;
237
+ }
238
+
239
+ // Move up the indicators
240
+ .carousel-indicators {
241
+ bottom: 20px;
242
+ }
158
243
  }
@@ -5,28 +5,29 @@
5
5
 
6
6
  .close {
7
7
  float: right;
8
- font-size: 20px;
9
- font-weight: bold;
10
- line-height: @baseLineHeight;
11
- color: @black;
12
- text-shadow: 0 1px 0 rgba(255,255,255,1);
13
- .opacity(20);
8
+ font-size: (@font-size-base * 1.5);
9
+ font-weight: @close-font-weight;
10
+ line-height: 1;
11
+ color: @close-color;
12
+ text-shadow: @close-text-shadow;
13
+ .opacity(.2);
14
+
14
15
  &:hover,
15
16
  &:focus {
16
- color: @black;
17
+ color: @close-color;
17
18
  text-decoration: none;
18
19
  cursor: pointer;
19
- .opacity(40);
20
+ .opacity(.5);
20
21
  }
21
- }
22
22
 
23
- // Additional properties for button version
24
- // iOS requires the button element instead of an anchor tag.
25
- // If you want the anchor version, it requires `href="#"`.
26
- button.close {
27
- padding: 0;
28
- cursor: pointer;
29
- background: transparent;
30
- border: 0;
31
- -webkit-appearance: none;
32
- }
23
+ // Additional properties for button version
24
+ // iOS requires the button element instead of an anchor tag.
25
+ // If you want the anchor version, it requires `href="#"`.
26
+ button& {
27
+ padding: 0;
28
+ cursor: pointer;
29
+ background: transparent;
30
+ border: 0;
31
+ -webkit-appearance: none;
32
+ }
33
+ }