toronto 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.travis.yml +8 -0
  4. data/Gemfile +28 -0
  5. data/MIT-LICENSE +20 -0
  6. data/README.md +179 -0
  7. data/Rakefile +147 -0
  8. data/lib/generators/toronto/install/install_generator.rb +68 -0
  9. data/lib/generators/toronto/install/templates/assets/stylesheets/bootstrap-variables.less +861 -0
  10. data/lib/generators/toronto/install/templates/assets/stylesheets/bootstrap-variables.scss +866 -0
  11. data/lib/generators/toronto/install/templates/assets/stylesheets/starter.css +22 -0
  12. data/lib/generators/toronto/install/templates/assets/stylesheets/starter.less +23 -0
  13. data/lib/generators/toronto/install/templates/assets/stylesheets/starter.scss +23 -0
  14. data/lib/generators/toronto/install/templates/config/initializers/locales.rb +4 -0
  15. data/lib/generators/toronto/install/templates/form_builders/form_builder/_form.html.erb +39 -0
  16. data/lib/generators/toronto/install/templates/form_builders/form_builder/_form.html.haml +26 -0
  17. data/lib/generators/toronto/install/templates/form_builders/form_builder/_form.html.slim +21 -0
  18. data/lib/generators/toronto/install/templates/helpers/menu_helper.rb +7 -0
  19. data/lib/generators/toronto/install/templates/layouts/starter.html.erb +57 -0
  20. data/lib/generators/toronto/install/templates/layouts/starter.html.haml +48 -0
  21. data/lib/generators/toronto/install/templates/layouts/starter.html.slim +53 -0
  22. data/lib/generators/toronto/install/templates/lib/rails/generators/haml/scaffold/scaffold_generator.rb +51 -0
  23. data/lib/generators/toronto/install/templates/lib/templates/erb/controller/view.html.erb +4 -0
  24. data/lib/generators/toronto/install/templates/lib/templates/erb/scaffold/edit.html.erb +13 -0
  25. data/lib/generators/toronto/install/templates/lib/templates/erb/scaffold/index.html.erb +33 -0
  26. data/lib/generators/toronto/install/templates/lib/templates/erb/scaffold/new.html.erb +9 -0
  27. data/lib/generators/toronto/install/templates/lib/templates/erb/scaffold/show.html.erb +19 -0
  28. data/lib/generators/toronto/install/templates/lib/templates/haml/controller/view.html.haml +3 -0
  29. data/lib/generators/toronto/install/templates/lib/templates/haml/scaffold/edit.html.haml +10 -0
  30. data/lib/generators/toronto/install/templates/lib/templates/haml/scaffold/en.yml +23 -0
  31. data/lib/generators/toronto/install/templates/lib/templates/haml/scaffold/fr.yml +23 -0
  32. data/lib/generators/toronto/install/templates/lib/templates/haml/scaffold/index.html.haml +30 -0
  33. data/lib/generators/toronto/install/templates/lib/templates/haml/scaffold/new.html.haml +7 -0
  34. data/lib/generators/toronto/install/templates/lib/templates/haml/scaffold/show.html.haml +18 -0
  35. data/lib/generators/toronto/install/templates/lib/templates/slim/controller/view.html.slim +5 -0
  36. data/lib/generators/toronto/install/templates/lib/templates/slim/scaffold/edit.html.slim +12 -0
  37. data/lib/generators/toronto/install/templates/lib/templates/slim/scaffold/index.html.slim +31 -0
  38. data/lib/generators/toronto/install/templates/lib/templates/slim/scaffold/new.html.slim +9 -0
  39. data/lib/generators/toronto/install/templates/lib/templates/slim/scaffold/show.html.slim +16 -0
  40. data/lib/toronto/version.rb +3 -0
  41. data/lib/toronto.rb +22 -0
  42. data/readme-template.md.erb +163 -0
  43. data/test/dummy/Rakefile +7 -0
  44. data/test/dummy/app/assets/javascripts/application.js +13 -0
  45. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  46. data/test/dummy/config/application.rb +68 -0
  47. data/test/dummy/config/boot.rb +6 -0
  48. data/test/dummy/config/environment.rb +5 -0
  49. data/test/dummy/config/environments/test.rb +39 -0
  50. data/test/dummy/config.ru +4 -0
  51. data/test/generators/bootstrap/install_generator_test.rb +104 -0
  52. data/test/test_helper.rb +7 -0
  53. data/toronto.gemspec +30 -0
  54. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  55. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +288 -0
  56. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  57. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  58. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  59. data/vendor/assets/javascripts/bootstrap/affix.js +162 -0
  60. data/vendor/assets/javascripts/bootstrap/alert.js +94 -0
  61. data/vendor/assets/javascripts/bootstrap/button.js +116 -0
  62. data/vendor/assets/javascripts/bootstrap/carousel.js +237 -0
  63. data/vendor/assets/javascripts/bootstrap/collapse.js +211 -0
  64. data/vendor/assets/javascripts/bootstrap/dropdown.js +161 -0
  65. data/vendor/assets/javascripts/bootstrap/modal.js +339 -0
  66. data/vendor/assets/javascripts/bootstrap/popover.js +108 -0
  67. data/vendor/assets/javascripts/bootstrap/scrollspy.js +172 -0
  68. data/vendor/assets/javascripts/bootstrap/tab.js +153 -0
  69. data/vendor/assets/javascripts/bootstrap/tooltip.js +476 -0
  70. data/vendor/assets/javascripts/bootstrap/transition.js +59 -0
  71. data/vendor/assets/javascripts/bootstrap.js +12 -0
  72. data/vendor/assets/stylesheets/bootstrap.css.erb +6584 -0
  73. data/vendor/assets/stylesheets/bootstrap.css.map +1 -0
  74. data/vendor/twitter/bootstrap/less/alerts.less +73 -0
  75. data/vendor/twitter/bootstrap/less/badges.less +66 -0
  76. data/vendor/twitter/bootstrap/less/bootstrap.less +50 -0
  77. data/vendor/twitter/bootstrap/less/breadcrumbs.less +26 -0
  78. data/vendor/twitter/bootstrap/less/button-groups.less +243 -0
  79. data/vendor/twitter/bootstrap/less/buttons.less +160 -0
  80. data/vendor/twitter/bootstrap/less/carousel.less +269 -0
  81. data/vendor/twitter/bootstrap/less/close.less +34 -0
  82. data/vendor/twitter/bootstrap/less/code.less +69 -0
  83. data/vendor/twitter/bootstrap/less/component-animations.less +33 -0
  84. data/vendor/twitter/bootstrap/less/dropdowns.less +214 -0
  85. data/vendor/twitter/bootstrap/less/forms.less +574 -0
  86. data/vendor/twitter/bootstrap/less/glyphicons.less +305 -0
  87. data/vendor/twitter/bootstrap/less/grid.less +84 -0
  88. data/vendor/twitter/bootstrap/less/input-groups.less +166 -0
  89. data/vendor/twitter/bootstrap/less/jumbotron.less +50 -0
  90. data/vendor/twitter/bootstrap/less/labels.less +64 -0
  91. data/vendor/twitter/bootstrap/less/list-group.less +124 -0
  92. data/vendor/twitter/bootstrap/less/media.less +61 -0
  93. data/vendor/twitter/bootstrap/less/mixins/alerts.less +14 -0
  94. data/vendor/twitter/bootstrap/less/mixins/background-variant.less +8 -0
  95. data/vendor/twitter/bootstrap/less/mixins/border-radius.less +18 -0
  96. data/vendor/twitter/bootstrap/less/mixins/buttons.less +52 -0
  97. data/vendor/twitter/bootstrap/less/mixins/center-block.less +7 -0
  98. data/vendor/twitter/bootstrap/less/mixins/clearfix.less +22 -0
  99. data/vendor/twitter/bootstrap/less/mixins/forms.less +85 -0
  100. data/vendor/twitter/bootstrap/less/mixins/gradients.less +59 -0
  101. data/vendor/twitter/bootstrap/less/mixins/grid-framework.less +91 -0
  102. data/vendor/twitter/bootstrap/less/mixins/grid.less +122 -0
  103. data/vendor/twitter/bootstrap/less/mixins/hide-text.less +21 -0
  104. data/vendor/twitter/bootstrap/less/mixins/image.less +33 -0
  105. data/vendor/twitter/bootstrap/less/mixins/labels.less +12 -0
  106. data/vendor/twitter/bootstrap/less/mixins/list-group.less +29 -0
  107. data/vendor/twitter/bootstrap/less/mixins/nav-divider.less +10 -0
  108. data/vendor/twitter/bootstrap/less/mixins/nav-vertical-align.less +9 -0
  109. data/vendor/twitter/bootstrap/less/mixins/opacity.less +8 -0
  110. data/vendor/twitter/bootstrap/less/mixins/pagination.less +23 -0
  111. data/vendor/twitter/bootstrap/less/mixins/panels.less +24 -0
  112. data/vendor/twitter/bootstrap/less/mixins/progress-bar.less +10 -0
  113. data/vendor/twitter/bootstrap/less/mixins/reset-filter.less +8 -0
  114. data/vendor/twitter/bootstrap/less/mixins/resize.less +6 -0
  115. data/vendor/twitter/bootstrap/less/mixins/responsive-visibility.less +15 -0
  116. data/vendor/twitter/bootstrap/less/mixins/size.less +10 -0
  117. data/vendor/twitter/bootstrap/less/mixins/tab-focus.less +9 -0
  118. data/vendor/twitter/bootstrap/less/mixins/table-row.less +28 -0
  119. data/vendor/twitter/bootstrap/less/mixins/text-emphasis.less +8 -0
  120. data/vendor/twitter/bootstrap/less/mixins/text-overflow.less +8 -0
  121. data/vendor/twitter/bootstrap/less/mixins/vendor-prefixes.less +227 -0
  122. data/vendor/twitter/bootstrap/less/mixins.less +39 -0
  123. data/vendor/twitter/bootstrap/less/modals.less +150 -0
  124. data/vendor/twitter/bootstrap/less/navbar.less +660 -0
  125. data/vendor/twitter/bootstrap/less/navs.less +242 -0
  126. data/vendor/twitter/bootstrap/less/normalize.less +427 -0
  127. data/vendor/twitter/bootstrap/less/pager.less +54 -0
  128. data/vendor/twitter/bootstrap/less/pagination.less +88 -0
  129. data/vendor/twitter/bootstrap/less/panels.less +265 -0
  130. data/vendor/twitter/bootstrap/less/popovers.less +135 -0
  131. data/vendor/twitter/bootstrap/less/print.less +107 -0
  132. data/vendor/twitter/bootstrap/less/progress-bars.less +87 -0
  133. data/vendor/twitter/bootstrap/less/responsive-embed.less +35 -0
  134. data/vendor/twitter/bootstrap/less/responsive-utilities.less +194 -0
  135. data/vendor/twitter/bootstrap/less/scaffolding.less +162 -0
  136. data/vendor/twitter/bootstrap/less/tables.less +234 -0
  137. data/vendor/twitter/bootstrap/less/theme.less +273 -0
  138. data/vendor/twitter/bootstrap/less/thumbnails.less +36 -0
  139. data/vendor/twitter/bootstrap/less/tooltip.less +102 -0
  140. data/vendor/twitter/bootstrap/less/type.less +302 -0
  141. data/vendor/twitter/bootstrap/less/utilities.less +55 -0
  142. data/vendor/twitter/bootstrap/less/variables.less +861 -0
  143. data/vendor/twitter/bootstrap/less/wells.less +29 -0
  144. data/vendor/twitter/bootstrap/sass/_bootstrap-compass.scss +9 -0
  145. data/vendor/twitter/bootstrap/sass/_bootstrap-mincer.scss +19 -0
  146. data/vendor/twitter/bootstrap/sass/_bootstrap-sprockets.scss +9 -0
  147. data/vendor/twitter/bootstrap/sass/_bootstrap.scss +50 -0
  148. data/vendor/twitter/bootstrap/sass/bootstrap/_alerts.scss +73 -0
  149. data/vendor/twitter/bootstrap/sass/bootstrap/_badges.scss +68 -0
  150. data/vendor/twitter/bootstrap/sass/bootstrap/_breadcrumbs.scss +26 -0
  151. data/vendor/twitter/bootstrap/sass/bootstrap/_button-groups.scss +243 -0
  152. data/vendor/twitter/bootstrap/sass/bootstrap/_buttons.scss +160 -0
  153. data/vendor/twitter/bootstrap/sass/bootstrap/_carousel.scss +269 -0
  154. data/vendor/twitter/bootstrap/sass/bootstrap/_close.scss +36 -0
  155. data/vendor/twitter/bootstrap/sass/bootstrap/_code.scss +69 -0
  156. data/vendor/twitter/bootstrap/sass/bootstrap/_component-animations.scss +37 -0
  157. data/vendor/twitter/bootstrap/sass/bootstrap/_dropdowns.scss +214 -0
  158. data/vendor/twitter/bootstrap/sass/bootstrap/_forms.scss +578 -0
  159. data/vendor/twitter/bootstrap/sass/bootstrap/_glyphicons.scss +305 -0
  160. data/vendor/twitter/bootstrap/sass/bootstrap/_grid.scss +84 -0
  161. data/vendor/twitter/bootstrap/sass/bootstrap/_input-groups.scss +166 -0
  162. data/vendor/twitter/bootstrap/sass/bootstrap/_jumbotron.scss +50 -0
  163. data/vendor/twitter/bootstrap/sass/bootstrap/_labels.scss +66 -0
  164. data/vendor/twitter/bootstrap/sass/bootstrap/_list-group.scss +124 -0
  165. data/vendor/twitter/bootstrap/sass/bootstrap/_media.scss +61 -0
  166. data/vendor/twitter/bootstrap/sass/bootstrap/_mixins.scss +39 -0
  167. data/vendor/twitter/bootstrap/sass/bootstrap/_modals.scss +150 -0
  168. data/vendor/twitter/bootstrap/sass/bootstrap/_navbar.scss +662 -0
  169. data/vendor/twitter/bootstrap/sass/bootstrap/_navs.scss +242 -0
  170. data/vendor/twitter/bootstrap/sass/bootstrap/_normalize.scss +427 -0
  171. data/vendor/twitter/bootstrap/sass/bootstrap/_pager.scss +54 -0
  172. data/vendor/twitter/bootstrap/sass/bootstrap/_pagination.scss +88 -0
  173. data/vendor/twitter/bootstrap/sass/bootstrap/_panels.scss +265 -0
  174. data/vendor/twitter/bootstrap/sass/bootstrap/_popovers.scss +135 -0
  175. data/vendor/twitter/bootstrap/sass/bootstrap/_print.scss +107 -0
  176. data/vendor/twitter/bootstrap/sass/bootstrap/_progress-bars.scss +87 -0
  177. data/vendor/twitter/bootstrap/sass/bootstrap/_responsive-embed.scss +35 -0
  178. data/vendor/twitter/bootstrap/sass/bootstrap/_responsive-utilities.scss +177 -0
  179. data/vendor/twitter/bootstrap/sass/bootstrap/_scaffolding.scss +162 -0
  180. data/vendor/twitter/bootstrap/sass/bootstrap/_tables.scss +234 -0
  181. data/vendor/twitter/bootstrap/sass/bootstrap/_theme.scss +273 -0
  182. data/vendor/twitter/bootstrap/sass/bootstrap/_thumbnails.scss +38 -0
  183. data/vendor/twitter/bootstrap/sass/bootstrap/_tooltip.scss +102 -0
  184. data/vendor/twitter/bootstrap/sass/bootstrap/_type.scss +298 -0
  185. data/vendor/twitter/bootstrap/sass/bootstrap/_utilities.scss +55 -0
  186. data/vendor/twitter/bootstrap/sass/bootstrap/_variables.scss +866 -0
  187. data/vendor/twitter/bootstrap/sass/bootstrap/_wells.scss +29 -0
  188. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_alerts.scss +14 -0
  189. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_background-variant.scss +11 -0
  190. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_border-radius.scss +18 -0
  191. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_buttons.scss +52 -0
  192. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_center-block.scss +7 -0
  193. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_clearfix.scss +22 -0
  194. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_forms.scss +88 -0
  195. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_gradients.scss +58 -0
  196. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_grid-framework.scss +81 -0
  197. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_grid.scss +122 -0
  198. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_hide-text.scss +21 -0
  199. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_image.scss +33 -0
  200. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_labels.scss +12 -0
  201. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_list-group.scss +31 -0
  202. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_nav-divider.scss +10 -0
  203. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  204. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_opacity.scss +8 -0
  205. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_pagination.scss +23 -0
  206. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_panels.scss +24 -0
  207. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_progress-bar.scss +10 -0
  208. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_reset-filter.scss +8 -0
  209. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_resize.scss +6 -0
  210. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_responsive-visibility.scss +21 -0
  211. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_size.scss +10 -0
  212. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_tab-focus.scss +9 -0
  213. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_table-row.scss +28 -0
  214. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_text-emphasis.scss +11 -0
  215. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_text-overflow.scss +8 -0
  216. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_vendor-prefixes.scss +222 -0
  217. metadata +312 -0
@@ -0,0 +1,273 @@
1
+
2
+ //
3
+ // Load core variables and mixins
4
+ // --------------------------------------------------
5
+
6
+ @import "variables.less";
7
+ @import "mixins.less";
8
+
9
+
10
+ //
11
+ // Buttons
12
+ // --------------------------------------------------
13
+
14
+ // Common styles
15
+ .btn-default,
16
+ .btn-primary,
17
+ .btn-success,
18
+ .btn-info,
19
+ .btn-warning,
20
+ .btn-danger {
21
+ text-shadow: 0 -1px 0 rgba(0,0,0,.2);
22
+ @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
23
+ .box-shadow(@shadow);
24
+
25
+ // Reset the shadow
26
+ &:active,
27
+ &.active {
28
+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
29
+ }
30
+
31
+ .badge {
32
+ text-shadow: none;
33
+ }
34
+ }
35
+
36
+ // Mixin for generating new styles
37
+ .btn-styles(@btn-color: #555) {
38
+ #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));
39
+ .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620
40
+ background-repeat: repeat-x;
41
+ border-color: darken(@btn-color, 14%);
42
+
43
+ &:hover,
44
+ &:focus {
45
+ background-color: darken(@btn-color, 12%);
46
+ background-position: 0 -15px;
47
+ }
48
+
49
+ &:active,
50
+ &.active {
51
+ background-color: darken(@btn-color, 12%);
52
+ border-color: darken(@btn-color, 14%);
53
+ }
54
+
55
+ &.disabled,
56
+ &:disabled,
57
+ &[disabled] {
58
+ background-color: darken(@btn-color, 12%);
59
+ background-image: none;
60
+ }
61
+ }
62
+
63
+ // Common styles
64
+ .btn {
65
+ // Remove the gradient for the pressed/active state
66
+ &:active,
67
+ &.active {
68
+ background-image: none;
69
+ }
70
+ }
71
+
72
+ // Apply the mixin to the buttons
73
+ .btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
74
+ .btn-primary { .btn-styles(@btn-primary-bg); }
75
+ .btn-success { .btn-styles(@btn-success-bg); }
76
+ .btn-info { .btn-styles(@btn-info-bg); }
77
+ .btn-warning { .btn-styles(@btn-warning-bg); }
78
+ .btn-danger { .btn-styles(@btn-danger-bg); }
79
+
80
+
81
+ //
82
+ // Images
83
+ // --------------------------------------------------
84
+
85
+ .thumbnail,
86
+ .img-thumbnail {
87
+ .box-shadow(0 1px 2px rgba(0,0,0,.075));
88
+ }
89
+
90
+
91
+ //
92
+ // Dropdowns
93
+ // --------------------------------------------------
94
+
95
+ .dropdown-menu > li > a:hover,
96
+ .dropdown-menu > li > a:focus {
97
+ #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));
98
+ background-color: darken(@dropdown-link-hover-bg, 5%);
99
+ }
100
+ .dropdown-menu > .active > a,
101
+ .dropdown-menu > .active > a:hover,
102
+ .dropdown-menu > .active > a:focus {
103
+ #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));
104
+ background-color: darken(@dropdown-link-active-bg, 5%);
105
+ }
106
+
107
+
108
+ //
109
+ // Navbar
110
+ // --------------------------------------------------
111
+
112
+ // Default navbar
113
+ .navbar-default {
114
+ #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);
115
+ .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
116
+ border-radius: @navbar-border-radius;
117
+ @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
118
+ .box-shadow(@shadow);
119
+
120
+ .navbar-nav > .open > a,
121
+ .navbar-nav > .active > a {
122
+ #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));
123
+ .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));
124
+ }
125
+ }
126
+ .navbar-brand,
127
+ .navbar-nav > li > a {
128
+ text-shadow: 0 1px 0 rgba(255,255,255,.25);
129
+ }
130
+
131
+ // Inverted navbar
132
+ .navbar-inverse {
133
+ #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);
134
+ .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257
135
+
136
+ .navbar-nav > .open > a,
137
+ .navbar-nav > .active > a {
138
+ #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));
139
+ .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));
140
+ }
141
+
142
+ .navbar-brand,
143
+ .navbar-nav > li > a {
144
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
145
+ }
146
+ }
147
+
148
+ // Undo rounded corners in static and fixed navbars
149
+ .navbar-static-top,
150
+ .navbar-fixed-top,
151
+ .navbar-fixed-bottom {
152
+ border-radius: 0;
153
+ }
154
+
155
+ // Fix active state of dropdown items in collapsed mode
156
+ @media (max-width: @grid-float-breakpoint-max) {
157
+ .navbar .navbar-nav .open .dropdown-menu > .active > a {
158
+ &,
159
+ &:hover,
160
+ &:focus {
161
+ color: #fff;
162
+ #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));
163
+ }
164
+ }
165
+ }
166
+
167
+
168
+ //
169
+ // Alerts
170
+ // --------------------------------------------------
171
+
172
+ // Common styles
173
+ .alert {
174
+ text-shadow: 0 1px 0 rgba(255,255,255,.2);
175
+ @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);
176
+ .box-shadow(@shadow);
177
+ }
178
+
179
+ // Mixin for generating new styles
180
+ .alert-styles(@color) {
181
+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));
182
+ border-color: darken(@color, 15%);
183
+ }
184
+
185
+ // Apply the mixin to the alerts
186
+ .alert-success { .alert-styles(@alert-success-bg); }
187
+ .alert-info { .alert-styles(@alert-info-bg); }
188
+ .alert-warning { .alert-styles(@alert-warning-bg); }
189
+ .alert-danger { .alert-styles(@alert-danger-bg); }
190
+
191
+
192
+ //
193
+ // Progress bars
194
+ // --------------------------------------------------
195
+
196
+ // Give the progress background some depth
197
+ .progress {
198
+ #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)
199
+ }
200
+
201
+ // Mixin for generating new styles
202
+ .progress-bar-styles(@color) {
203
+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));
204
+ }
205
+
206
+ // Apply the mixin to the progress bars
207
+ .progress-bar { .progress-bar-styles(@progress-bar-bg); }
208
+ .progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }
209
+ .progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }
210
+ .progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }
211
+ .progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }
212
+
213
+ // Reset the striped class because our mixins don't do multiple gradients and
214
+ // the above custom styles override the new `.progress-bar-striped` in v3.2.0.
215
+ .progress-bar-striped {
216
+ #gradient > .striped();
217
+ }
218
+
219
+
220
+ //
221
+ // List groups
222
+ // --------------------------------------------------
223
+
224
+ .list-group {
225
+ border-radius: @border-radius-base;
226
+ .box-shadow(0 1px 2px rgba(0,0,0,.075));
227
+ }
228
+ .list-group-item.active,
229
+ .list-group-item.active:hover,
230
+ .list-group-item.active:focus {
231
+ text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);
232
+ #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));
233
+ border-color: darken(@list-group-active-border, 7.5%);
234
+
235
+ .badge {
236
+ text-shadow: none;
237
+ }
238
+ }
239
+
240
+
241
+ //
242
+ // Panels
243
+ // --------------------------------------------------
244
+
245
+ // Common styles
246
+ .panel {
247
+ .box-shadow(0 1px 2px rgba(0,0,0,.05));
248
+ }
249
+
250
+ // Mixin for generating new styles
251
+ .panel-heading-styles(@color) {
252
+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));
253
+ }
254
+
255
+ // Apply the mixin to the panel headings only
256
+ .panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }
257
+ .panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }
258
+ .panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }
259
+ .panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }
260
+ .panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }
261
+ .panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }
262
+
263
+
264
+ //
265
+ // Wells
266
+ // --------------------------------------------------
267
+
268
+ .well {
269
+ #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);
270
+ border-color: darken(@well-bg, 10%);
271
+ @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
272
+ .box-shadow(@shadow);
273
+ }
@@ -0,0 +1,36 @@
1
+ //
2
+ // Thumbnails
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Mixin and adjust the regular image class
7
+ .thumbnail {
8
+ display: block;
9
+ padding: @thumbnail-padding;
10
+ margin-bottom: @line-height-computed;
11
+ line-height: @line-height-base;
12
+ background-color: @thumbnail-bg;
13
+ border: 1px solid @thumbnail-border;
14
+ border-radius: @thumbnail-border-radius;
15
+ .transition(border .2s ease-in-out);
16
+
17
+ > img,
18
+ a > img {
19
+ &:extend(.img-responsive);
20
+ margin-left: auto;
21
+ margin-right: auto;
22
+ }
23
+
24
+ // Add a hover state for linked versions only
25
+ a&:hover,
26
+ a&:focus,
27
+ a&.active {
28
+ border-color: @link-color;
29
+ }
30
+
31
+ // Image captions
32
+ .caption {
33
+ padding: @thumbnail-caption-padding;
34
+ color: @thumbnail-caption-color;
35
+ }
36
+ }
@@ -0,0 +1,102 @@
1
+ //
2
+ // Tooltips
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Base class
7
+ .tooltip {
8
+ position: absolute;
9
+ z-index: @zindex-tooltip;
10
+ display: block;
11
+ // Reset font and text properties given new insertion method
12
+ font-family: @font-family-base;
13
+ font-size: @font-size-small;
14
+ font-weight: normal;
15
+ line-height: 1.4;
16
+ .opacity(0);
17
+
18
+ &.in { .opacity(@tooltip-opacity); }
19
+ &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }
20
+ &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }
21
+ &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }
22
+ &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }
23
+ }
24
+
25
+ // Wrapper for the tooltip content
26
+ .tooltip-inner {
27
+ max-width: @tooltip-max-width;
28
+ padding: 3px 8px;
29
+ color: @tooltip-color;
30
+ text-align: center;
31
+ text-decoration: none;
32
+ background-color: @tooltip-bg;
33
+ border-radius: @border-radius-base;
34
+ }
35
+
36
+ // Arrows
37
+ .tooltip-arrow {
38
+ position: absolute;
39
+ width: 0;
40
+ height: 0;
41
+ border-color: transparent;
42
+ border-style: solid;
43
+ }
44
+ // Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1
45
+ .tooltip {
46
+ &.top .tooltip-arrow {
47
+ bottom: 0;
48
+ left: 50%;
49
+ margin-left: -@tooltip-arrow-width;
50
+ border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
51
+ border-top-color: @tooltip-arrow-color;
52
+ }
53
+ &.top-left .tooltip-arrow {
54
+ bottom: 0;
55
+ right: @tooltip-arrow-width;
56
+ margin-bottom: -@tooltip-arrow-width;
57
+ border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
58
+ border-top-color: @tooltip-arrow-color;
59
+ }
60
+ &.top-right .tooltip-arrow {
61
+ bottom: 0;
62
+ left: @tooltip-arrow-width;
63
+ margin-bottom: -@tooltip-arrow-width;
64
+ border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
65
+ border-top-color: @tooltip-arrow-color;
66
+ }
67
+ &.right .tooltip-arrow {
68
+ top: 50%;
69
+ left: 0;
70
+ margin-top: -@tooltip-arrow-width;
71
+ border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;
72
+ border-right-color: @tooltip-arrow-color;
73
+ }
74
+ &.left .tooltip-arrow {
75
+ top: 50%;
76
+ right: 0;
77
+ margin-top: -@tooltip-arrow-width;
78
+ border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;
79
+ border-left-color: @tooltip-arrow-color;
80
+ }
81
+ &.bottom .tooltip-arrow {
82
+ top: 0;
83
+ left: 50%;
84
+ margin-left: -@tooltip-arrow-width;
85
+ border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
86
+ border-bottom-color: @tooltip-arrow-color;
87
+ }
88
+ &.bottom-left .tooltip-arrow {
89
+ top: 0;
90
+ right: @tooltip-arrow-width;
91
+ margin-top: -@tooltip-arrow-width;
92
+ border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
93
+ border-bottom-color: @tooltip-arrow-color;
94
+ }
95
+ &.bottom-right .tooltip-arrow {
96
+ top: 0;
97
+ left: @tooltip-arrow-width;
98
+ margin-top: -@tooltip-arrow-width;
99
+ border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
100
+ border-bottom-color: @tooltip-arrow-color;
101
+ }
102
+ }
@@ -0,0 +1,302 @@
1
+ //
2
+ // Typography
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Headings
7
+ // -------------------------
8
+
9
+ h1, h2, h3, h4, h5, h6,
10
+ .h1, .h2, .h3, .h4, .h5, .h6 {
11
+ font-family: @headings-font-family;
12
+ font-weight: @headings-font-weight;
13
+ line-height: @headings-line-height;
14
+ color: @headings-color;
15
+
16
+ small,
17
+ .small {
18
+ font-weight: normal;
19
+ line-height: 1;
20
+ color: @headings-small-color;
21
+ }
22
+ }
23
+
24
+ h1, .h1,
25
+ h2, .h2,
26
+ h3, .h3 {
27
+ margin-top: @line-height-computed;
28
+ margin-bottom: (@line-height-computed / 2);
29
+
30
+ small,
31
+ .small {
32
+ font-size: 65%;
33
+ }
34
+ }
35
+ h4, .h4,
36
+ h5, .h5,
37
+ h6, .h6 {
38
+ margin-top: (@line-height-computed / 2);
39
+ margin-bottom: (@line-height-computed / 2);
40
+
41
+ small,
42
+ .small {
43
+ font-size: 75%;
44
+ }
45
+ }
46
+
47
+ h1, .h1 { font-size: @font-size-h1; }
48
+ h2, .h2 { font-size: @font-size-h2; }
49
+ h3, .h3 { font-size: @font-size-h3; }
50
+ h4, .h4 { font-size: @font-size-h4; }
51
+ h5, .h5 { font-size: @font-size-h5; }
52
+ h6, .h6 { font-size: @font-size-h6; }
53
+
54
+
55
+ // Body text
56
+ // -------------------------
57
+
58
+ p {
59
+ margin: 0 0 (@line-height-computed / 2);
60
+ }
61
+
62
+ .lead {
63
+ margin-bottom: @line-height-computed;
64
+ font-size: floor((@font-size-base * 1.15));
65
+ font-weight: 300;
66
+ line-height: 1.4;
67
+
68
+ @media (min-width: @screen-sm-min) {
69
+ font-size: (@font-size-base * 1.5);
70
+ }
71
+ }
72
+
73
+
74
+ // Emphasis & misc
75
+ // -------------------------
76
+
77
+ // Ex: (12px small font / 14px base font) * 100% = about 85%
78
+ small,
79
+ .small {
80
+ font-size: floor((100% * @font-size-small / @font-size-base));
81
+ }
82
+
83
+ mark,
84
+ .mark {
85
+ background-color: @state-warning-bg;
86
+ padding: .2em;
87
+ }
88
+
89
+ // Alignment
90
+ .text-left { text-align: left; }
91
+ .text-right { text-align: right; }
92
+ .text-center { text-align: center; }
93
+ .text-justify { text-align: justify; }
94
+ .text-nowrap { white-space: nowrap; }
95
+
96
+ // Transformation
97
+ .text-lowercase { text-transform: lowercase; }
98
+ .text-uppercase { text-transform: uppercase; }
99
+ .text-capitalize { text-transform: capitalize; }
100
+
101
+ // Contextual colors
102
+ .text-muted {
103
+ color: @text-muted;
104
+ }
105
+ .text-primary {
106
+ .text-emphasis-variant(@brand-primary);
107
+ }
108
+ .text-success {
109
+ .text-emphasis-variant(@state-success-text);
110
+ }
111
+ .text-info {
112
+ .text-emphasis-variant(@state-info-text);
113
+ }
114
+ .text-warning {
115
+ .text-emphasis-variant(@state-warning-text);
116
+ }
117
+ .text-danger {
118
+ .text-emphasis-variant(@state-danger-text);
119
+ }
120
+
121
+ // Contextual backgrounds
122
+ // For now we'll leave these alongside the text classes until v4 when we can
123
+ // safely shift things around (per SemVer rules).
124
+ .bg-primary {
125
+ // Given the contrast here, this is the only class to have its color inverted
126
+ // automatically.
127
+ color: #fff;
128
+ .bg-variant(@brand-primary);
129
+ }
130
+ .bg-success {
131
+ .bg-variant(@state-success-bg);
132
+ }
133
+ .bg-info {
134
+ .bg-variant(@state-info-bg);
135
+ }
136
+ .bg-warning {
137
+ .bg-variant(@state-warning-bg);
138
+ }
139
+ .bg-danger {
140
+ .bg-variant(@state-danger-bg);
141
+ }
142
+
143
+
144
+ // Page header
145
+ // -------------------------
146
+
147
+ .page-header {
148
+ padding-bottom: ((@line-height-computed / 2) - 1);
149
+ margin: (@line-height-computed * 2) 0 @line-height-computed;
150
+ border-bottom: 1px solid @page-header-border-color;
151
+ }
152
+
153
+
154
+ // Lists
155
+ // -------------------------
156
+
157
+ // Unordered and Ordered lists
158
+ ul,
159
+ ol {
160
+ margin-top: 0;
161
+ margin-bottom: (@line-height-computed / 2);
162
+ ul,
163
+ ol {
164
+ margin-bottom: 0;
165
+ }
166
+ }
167
+
168
+ // List options
169
+
170
+ // Unstyled keeps list items block level, just removes default browser padding and list-style
171
+ .list-unstyled {
172
+ padding-left: 0;
173
+ list-style: none;
174
+ }
175
+
176
+ // Inline turns list items into inline-block
177
+ .list-inline {
178
+ .list-unstyled();
179
+ margin-left: -5px;
180
+
181
+ > li {
182
+ display: inline-block;
183
+ padding-left: 5px;
184
+ padding-right: 5px;
185
+ }
186
+ }
187
+
188
+ // Description Lists
189
+ dl {
190
+ margin-top: 0; // Remove browser default
191
+ margin-bottom: @line-height-computed;
192
+ }
193
+ dt,
194
+ dd {
195
+ line-height: @line-height-base;
196
+ }
197
+ dt {
198
+ font-weight: bold;
199
+ }
200
+ dd {
201
+ margin-left: 0; // Undo browser default
202
+ }
203
+
204
+ // Horizontal description lists
205
+ //
206
+ // Defaults to being stacked without any of the below styles applied, until the
207
+ // grid breakpoint is reached (default of ~768px).
208
+
209
+ .dl-horizontal {
210
+ dd {
211
+ &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present
212
+ }
213
+
214
+ @media (min-width: @grid-float-breakpoint) {
215
+ dt {
216
+ float: left;
217
+ width: (@dl-horizontal-offset - 20);
218
+ clear: left;
219
+ text-align: right;
220
+ .text-overflow();
221
+ }
222
+ dd {
223
+ margin-left: @dl-horizontal-offset;
224
+ }
225
+ }
226
+ }
227
+
228
+
229
+ // Misc
230
+ // -------------------------
231
+
232
+ // Abbreviations and acronyms
233
+ abbr[title],
234
+ // Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257
235
+ abbr[data-original-title] {
236
+ cursor: help;
237
+ border-bottom: 1px dotted @abbr-border-color;
238
+ }
239
+ .initialism {
240
+ font-size: 90%;
241
+ .text-uppercase();
242
+ }
243
+
244
+ // Blockquotes
245
+ blockquote {
246
+ padding: (@line-height-computed / 2) @line-height-computed;
247
+ margin: 0 0 @line-height-computed;
248
+ font-size: @blockquote-font-size;
249
+ border-left: 5px solid @blockquote-border-color;
250
+
251
+ p,
252
+ ul,
253
+ ol {
254
+ &:last-child {
255
+ margin-bottom: 0;
256
+ }
257
+ }
258
+
259
+ // Note: Deprecated small and .small as of v3.1.0
260
+ // Context: https://github.com/twbs/bootstrap/issues/11660
261
+ footer,
262
+ small,
263
+ .small {
264
+ display: block;
265
+ font-size: 80%; // back to default font-size
266
+ line-height: @line-height-base;
267
+ color: @blockquote-small-color;
268
+
269
+ &:before {
270
+ content: '\2014 \00A0'; // em dash, nbsp
271
+ }
272
+ }
273
+ }
274
+
275
+ // Opposite alignment of blockquote
276
+ //
277
+ // Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.
278
+ .blockquote-reverse,
279
+ blockquote.pull-right {
280
+ padding-right: 15px;
281
+ padding-left: 0;
282
+ border-right: 5px solid @blockquote-border-color;
283
+ border-left: 0;
284
+ text-align: right;
285
+
286
+ // Account for citation
287
+ footer,
288
+ small,
289
+ .small {
290
+ &:before { content: ''; }
291
+ &:after {
292
+ content: '\00A0 \2014'; // nbsp, em dash
293
+ }
294
+ }
295
+ }
296
+
297
+ // Addresses
298
+ address {
299
+ margin-bottom: @line-height-computed;
300
+ font-style: normal;
301
+ line-height: @line-height-base;
302
+ }