twitter-bootstrap-rails 2.2.3 → 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 (204) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +460 -185
  3. data/Rakefile +7 -1
  4. data/app/assets/fonts/fontawesome-webfont.eot +0 -0
  5. data/app/assets/fonts/fontawesome-webfont.svg +640 -0
  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.js +12 -0
  13. data/app/assets/javascripts/twitter/bootstrap/affix.js +142 -0
  14. data/app/assets/javascripts/twitter/bootstrap/alert.js +92 -0
  15. data/app/assets/javascripts/twitter/bootstrap/button.js +110 -0
  16. data/app/assets/javascripts/twitter/bootstrap/carousel.js +223 -0
  17. data/app/assets/javascripts/twitter/bootstrap/collapse.js +170 -0
  18. data/app/assets/javascripts/twitter/bootstrap/dropdown.js +151 -0
  19. data/app/assets/javascripts/twitter/bootstrap/modal.js +280 -0
  20. data/app/assets/javascripts/twitter/bootstrap/popover.js +113 -0
  21. data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +170 -0
  22. data/app/assets/javascripts/twitter/bootstrap/tab.js +128 -0
  23. data/app/assets/javascripts/twitter/bootstrap/tooltip.js +457 -0
  24. data/app/assets/javascripts/twitter/bootstrap/transition.js +59 -0
  25. data/{vendor → app}/assets/javascripts/twitter/bootstrap_ujs.js +0 -0
  26. data/app/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +1 -0
  27. data/app/assets/stylesheets/twitter-bootstrap-static/fontawesome.css.erb +2026 -0
  28. data/app/assets/stylesheets/twitter-bootstrap-static/sprites.css.erb +1 -0
  29. data/app/helpers/badge_label_helper.rb +16 -0
  30. data/app/helpers/bootstrap_flash_helper.rb +20 -6
  31. data/app/helpers/form_errors_helper.rb +22 -0
  32. data/app/helpers/glyph_helper.rb +13 -5
  33. data/app/helpers/modal_helper.rb +37 -20
  34. data/app/helpers/navbar_helper.rb +209 -0
  35. data/app/helpers/twitter_breadcrumbs_helper.rb +11 -2
  36. data/app/views/twitter-bootstrap/_breadcrumbs.html.erb +9 -9
  37. data/lib/generators/bootstrap/install/install_generator.rb +13 -8
  38. data/lib/generators/bootstrap/install/templates/bootstrap.coffee +2 -3
  39. data/lib/generators/bootstrap/install/templates/bootstrap.js +2 -3
  40. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +14 -13
  41. data/lib/generators/bootstrap/install/templates/en.bootstrap.yml +11 -5
  42. data/lib/generators/bootstrap/layout/layout_generator.rb +1 -4
  43. data/lib/generators/bootstrap/layout/templates/layout.html.erb +34 -58
  44. data/lib/generators/bootstrap/layout/templates/layout.html.haml +25 -44
  45. data/lib/generators/bootstrap/layout/templates/layout.html.slim +20 -39
  46. data/lib/generators/bootstrap/partial/templates/_login.html.erb +2 -3
  47. data/lib/generators/bootstrap/themed/templates/_form.html.erb +30 -10
  48. data/lib/generators/bootstrap/themed/templates/_form.html.haml +10 -8
  49. data/lib/generators/bootstrap/themed/templates/_form.html.slim +11 -9
  50. data/lib/generators/bootstrap/themed/templates/edit.html.erb +1 -2
  51. data/lib/generators/bootstrap/themed/templates/edit.html.haml +1 -1
  52. data/lib/generators/bootstrap/themed/templates/edit.html.slim +2 -2
  53. data/lib/generators/bootstrap/themed/templates/index.html.erb +3 -3
  54. data/lib/generators/bootstrap/themed/templates/index.html.haml +3 -3
  55. data/lib/generators/bootstrap/themed/templates/index.html.slim +5 -6
  56. data/lib/generators/bootstrap/themed/templates/new.html.erb +1 -2
  57. data/lib/generators/bootstrap/themed/templates/new.html.haml +1 -1
  58. data/lib/generators/bootstrap/themed/templates/new.html.slim +2 -2
  59. data/lib/generators/bootstrap/themed/templates/show.html.erb +6 -8
  60. data/lib/generators/bootstrap/themed/templates/show.html.haml +5 -5
  61. data/lib/generators/bootstrap/themed/templates/show.html.slim +7 -8
  62. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.erb +5 -5
  63. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.haml +3 -3
  64. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.slim +4 -4
  65. data/lib/generators/bootstrap/themed/themed_generator.rb +4 -4
  66. data/lib/twitter-bootstrap-rails.rb +4 -4
  67. data/lib/twitter/bootstrap/rails/breadcrumbs.rb +69 -0
  68. data/lib/twitter/bootstrap/rails/engine.rb +17 -7
  69. data/lib/twitter/bootstrap/rails/version.rb +1 -1
  70. data/spec/lib/breadcrumbs_spec.rb +99 -0
  71. data/spec/lib/twitter_bootstrap_rails/badge_label_helper_spec.rb +30 -0
  72. data/spec/lib/twitter_bootstrap_rails/bootstrap_flash_helper_spec.rb +128 -0
  73. data/spec/lib/twitter_bootstrap_rails/form_errors_helper_spec.rb +148 -0
  74. data/spec/lib/twitter_bootstrap_rails/glyph_helper_spec.rb +24 -0
  75. data/spec/lib/twitter_bootstrap_rails/modal_helper_spec.rb +62 -0
  76. data/spec/lib/twitter_bootstrap_rails/navbar_helper_spec.rb +396 -0
  77. data/spec/lib/twitter_bootstrap_rails/uri_state_spec.rb +49 -0
  78. data/spec/spec_helper.rb +21 -0
  79. data/vendor/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +5990 -195
  80. data/vendor/static-source/bootstrap.less +0 -1
  81. data/vendor/static-source/fontawesome.less +7 -6
  82. data/vendor/static-source/sprites.less +3 -3
  83. data/vendor/toolkit/fontawesome/bordered-pulled.less +16 -0
  84. data/vendor/toolkit/fontawesome/core.less +11 -0
  85. data/vendor/toolkit/fontawesome/fixed-width.less +6 -0
  86. data/vendor/toolkit/fontawesome/font-awesome.less +17 -0
  87. data/vendor/toolkit/fontawesome/icons.less +552 -0
  88. data/vendor/toolkit/fontawesome/larger.less +13 -0
  89. data/vendor/toolkit/fontawesome/list.less +19 -0
  90. data/vendor/toolkit/fontawesome/mixins.less +25 -0
  91. data/vendor/toolkit/fontawesome/path.less +14 -0
  92. data/vendor/toolkit/fontawesome/rotated-flipped.less +20 -0
  93. data/vendor/toolkit/fontawesome/spinning.less +29 -0
  94. data/vendor/toolkit/fontawesome/stacked.less +20 -0
  95. data/vendor/toolkit/fontawesome/variables.less +561 -0
  96. data/vendor/toolkit/twitter/bootstrap/alerts.less +47 -58
  97. data/vendor/toolkit/twitter/bootstrap/badges.less +55 -0
  98. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +26 -39
  99. data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +11 -9
  100. data/vendor/toolkit/twitter/bootstrap/button-groups.less +168 -152
  101. data/vendor/toolkit/twitter/bootstrap/buttons.less +101 -170
  102. data/vendor/toolkit/twitter/bootstrap/carousel.less +150 -65
  103. data/vendor/toolkit/twitter/bootstrap/close.less +20 -19
  104. data/vendor/toolkit/twitter/bootstrap/code.less +38 -30
  105. data/vendor/toolkit/twitter/bootstrap/component-animations.less +12 -3
  106. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +124 -146
  107. data/vendor/toolkit/twitter/bootstrap/forms.less +401 -547
  108. data/vendor/toolkit/twitter/bootstrap/glyphicons.less +234 -0
  109. data/vendor/toolkit/twitter/bootstrap/grid.less +74 -11
  110. data/vendor/toolkit/twitter/bootstrap/input-groups.less +166 -0
  111. data/vendor/toolkit/twitter/bootstrap/jumbotron.less +48 -0
  112. data/vendor/toolkit/twitter/bootstrap/labels.less +64 -0
  113. data/vendor/toolkit/twitter/bootstrap/list-group.less +132 -0
  114. data/vendor/toolkit/twitter/bootstrap/media.less +8 -7
  115. data/vendor/toolkit/twitter/bootstrap/mixins.less +36 -699
  116. data/vendor/toolkit/twitter/bootstrap/mixins/alerts.less +14 -0
  117. data/vendor/toolkit/twitter/bootstrap/mixins/background-variant.less +8 -0
  118. data/vendor/toolkit/twitter/bootstrap/mixins/border-radius.less +18 -0
  119. data/vendor/toolkit/twitter/bootstrap/mixins/buttons.less +52 -0
  120. data/vendor/toolkit/twitter/bootstrap/mixins/center-block.less +7 -0
  121. data/vendor/toolkit/twitter/bootstrap/mixins/clearfix.less +22 -0
  122. data/vendor/toolkit/twitter/bootstrap/mixins/forms.less +85 -0
  123. data/vendor/toolkit/twitter/bootstrap/mixins/gradients.less +59 -0
  124. data/vendor/toolkit/twitter/bootstrap/mixins/grid-framework.less +91 -0
  125. data/vendor/toolkit/twitter/bootstrap/mixins/grid.less +122 -0
  126. data/vendor/toolkit/twitter/bootstrap/mixins/hide-text.less +21 -0
  127. data/vendor/toolkit/twitter/bootstrap/mixins/image.less +33 -0
  128. data/vendor/toolkit/twitter/bootstrap/mixins/labels.less +12 -0
  129. data/vendor/toolkit/twitter/bootstrap/mixins/list-group.less +29 -0
  130. data/vendor/toolkit/twitter/bootstrap/mixins/nav-divider.less +10 -0
  131. data/vendor/toolkit/twitter/bootstrap/mixins/nav-vertical-align.less +9 -0
  132. data/vendor/toolkit/twitter/bootstrap/mixins/opacity.less +8 -0
  133. data/vendor/toolkit/twitter/bootstrap/mixins/pagination.less +23 -0
  134. data/vendor/toolkit/twitter/bootstrap/mixins/panels.less +24 -0
  135. data/vendor/toolkit/twitter/bootstrap/mixins/progress-bar.less +10 -0
  136. data/vendor/toolkit/twitter/bootstrap/mixins/reset-filter.less +8 -0
  137. data/vendor/toolkit/twitter/bootstrap/mixins/resize.less +6 -0
  138. data/vendor/toolkit/twitter/bootstrap/mixins/responsive-visibility.less +15 -0
  139. data/vendor/toolkit/twitter/bootstrap/mixins/size.less +10 -0
  140. data/vendor/toolkit/twitter/bootstrap/mixins/tab-focus.less +9 -0
  141. data/vendor/toolkit/twitter/bootstrap/mixins/table-row.less +28 -0
  142. data/vendor/toolkit/twitter/bootstrap/mixins/text-emphasis.less +8 -0
  143. data/vendor/toolkit/twitter/bootstrap/mixins/text-overflow.less +8 -0
  144. data/vendor/toolkit/twitter/bootstrap/mixins/vendor-prefixes.less +224 -0
  145. data/vendor/toolkit/twitter/bootstrap/modals.less +109 -54
  146. data/vendor/toolkit/twitter/bootstrap/navbar.less +542 -384
  147. data/vendor/toolkit/twitter/bootstrap/navs.less +192 -359
  148. data/vendor/toolkit/twitter/bootstrap/normalize.less +425 -0
  149. data/vendor/toolkit/twitter/bootstrap/pager.less +46 -34
  150. data/vendor/toolkit/twitter/bootstrap/pagination.less +70 -105
  151. data/vendor/toolkit/twitter/bootstrap/panels.less +248 -0
  152. data/vendor/toolkit/twitter/bootstrap/popovers.less +61 -61
  153. data/vendor/toolkit/twitter/bootstrap/print.less +101 -0
  154. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +51 -73
  155. data/vendor/toolkit/twitter/bootstrap/responsive-embed.less +34 -0
  156. data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +177 -42
  157. data/vendor/toolkit/twitter/bootstrap/scaffolding.less +120 -23
  158. data/vendor/toolkit/twitter/bootstrap/tables.less +171 -182
  159. data/vendor/toolkit/twitter/bootstrap/theme.less +260 -0
  160. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +26 -43
  161. data/vendor/toolkit/twitter/bootstrap/tooltip.less +49 -24
  162. data/vendor/toolkit/twitter/bootstrap/type.less +208 -147
  163. data/vendor/toolkit/twitter/bootstrap/utilities.less +33 -7
  164. data/vendor/toolkit/twitter/bootstrap/variables.less +761 -215
  165. data/vendor/toolkit/twitter/bootstrap/wells.less +7 -7
  166. metadata +199 -92
  167. data/lib/generators/bootstrap/partial/templates/_navbar.html.erb +0 -13
  168. data/lib/twitter/bootstrap/rails/twitter-bootstrap-breadcrumbs.rb +0 -42
  169. data/test/lib/breadcrumbs_test.rb +0 -75
  170. data/test/test_helper.rb +0 -8
  171. data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
  172. data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
  173. data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
  174. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
  175. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  176. data/vendor/assets/javascripts/twitter/bootstrap.js +0 -13
  177. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-affix.js +0 -117
  178. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +0 -99
  179. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +0 -105
  180. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +0 -207
  181. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +0 -167
  182. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +0 -165
  183. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +0 -247
  184. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +0 -114
  185. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +0 -162
  186. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +0 -144
  187. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +0 -353
  188. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +0 -60
  189. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +0 -335
  190. data/vendor/assets/stylesheets/twitter-bootstrap-static/fontawesome.css.erb +0 -531
  191. data/vendor/assets/stylesheets/twitter-bootstrap-static/sprites.css.erb +0 -146
  192. data/vendor/toolkit/fontawesome-ie7.less +0 -350
  193. data/vendor/toolkit/fontawesome.less +0 -532
  194. data/vendor/toolkit/twitter/bootstrap/accordion.less +0 -34
  195. data/vendor/toolkit/twitter/bootstrap/hero-unit.less +0 -25
  196. data/vendor/toolkit/twitter/bootstrap/labels-badges.less +0 -84
  197. data/vendor/toolkit/twitter/bootstrap/layouts.less +0 -16
  198. data/vendor/toolkit/twitter/bootstrap/reset.less +0 -216
  199. data/vendor/toolkit/twitter/bootstrap/responsive-1200px-min.less +0 -28
  200. data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +0 -193
  201. data/vendor/toolkit/twitter/bootstrap/responsive-768px-979px.less +0 -19
  202. data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +0 -189
  203. data/vendor/toolkit/twitter/bootstrap/responsive.less +0 -48
  204. 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
  }