rbootstrap 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. data/README.md +282 -0
  2. data/Rakefile +14 -0
  3. data/app/helpers/bootstrap_flash_helper.rb +17 -0
  4. data/app/helpers/flash_block_helper.rb +17 -0
  5. data/app/helpers/glyph_helper.rb +12 -0
  6. data/app/helpers/modal_helper.rb +42 -0
  7. data/app/helpers/twitter_breadcrumbs_helper.rb +5 -0
  8. data/app/views/twitter-bootstrap/_breadcrumbs.html.erb +14 -0
  9. data/lib/generators/bootstrap/install/install_generator.rb +57 -0
  10. data/lib/generators/bootstrap/install/templates/application.css +7 -0
  11. data/lib/generators/bootstrap/install/templates/application.js +10 -0
  12. data/lib/generators/bootstrap/install/templates/bootstrap.coffee +4 -0
  13. data/lib/generators/bootstrap/install/templates/bootstrap.js +5 -0
  14. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +31 -0
  15. data/lib/generators/bootstrap/layout/layout_generator.rb +23 -0
  16. data/lib/generators/bootstrap/layout/templates/layout.html.erb +108 -0
  17. data/lib/generators/bootstrap/layout/templates/layout.html.haml +68 -0
  18. data/lib/generators/bootstrap/layout/templates/layout.html.slim +68 -0
  19. data/lib/generators/bootstrap/partial/partial_generator.rb +20 -0
  20. data/lib/generators/bootstrap/partial/templates/_login.html.erb +29 -0
  21. data/lib/generators/bootstrap/partial/templates/_navbar.html.erb +13 -0
  22. data/lib/generators/bootstrap/themed/templates/_form.html.erb +16 -0
  23. data/lib/generators/bootstrap/themed/templates/_form.html.haml +10 -0
  24. data/lib/generators/bootstrap/themed/templates/_form.html.slim +11 -0
  25. data/lib/generators/bootstrap/themed/templates/edit.html.erb +6 -0
  26. data/lib/generators/bootstrap/themed/templates/edit.html.haml +4 -0
  27. data/lib/generators/bootstrap/themed/templates/edit.html.slim +4 -0
  28. data/lib/generators/bootstrap/themed/templates/index.html.erb +40 -0
  29. data/lib/generators/bootstrap/themed/templates/index.html.haml +25 -0
  30. data/lib/generators/bootstrap/themed/templates/index.html.slim +27 -0
  31. data/lib/generators/bootstrap/themed/templates/new.html.erb +6 -0
  32. data/lib/generators/bootstrap/themed/templates/new.html.haml +4 -0
  33. data/lib/generators/bootstrap/themed/templates/new.html.slim +4 -0
  34. data/lib/generators/bootstrap/themed/templates/show.html.erb +23 -0
  35. data/lib/generators/bootstrap/themed/templates/show.html.haml +15 -0
  36. data/lib/generators/bootstrap/themed/templates/show.html.slim +17 -0
  37. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.erb +14 -0
  38. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.haml +11 -0
  39. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.slim +12 -0
  40. data/lib/generators/bootstrap/themed/themed_generator.rb +110 -0
  41. data/lib/twitter-bootstrap-rails.rb +10 -0
  42. data/lib/twitter/bootstrap/rails/bootstrap.rb +2 -0
  43. data/lib/twitter/bootstrap/rails/engine.rb +29 -0
  44. data/lib/twitter/bootstrap/rails/twitter-bootstrap-breadcrumbs.rb +30 -0
  45. data/lib/twitter/bootstrap/rails/version.rb +7 -0
  46. data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
  47. data/vendor/assets/fonts/fontawesome-webfont.svg +255 -0
  48. data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
  49. data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
  50. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
  51. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  52. data/vendor/assets/javascripts/twitter/bootstrap.js +13 -0
  53. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-affix.js +106 -0
  54. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +88 -0
  55. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +94 -0
  56. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +176 -0
  57. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +156 -0
  58. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +148 -0
  59. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +234 -0
  60. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +103 -0
  61. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +151 -0
  62. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +133 -0
  63. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +276 -0
  64. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +60 -0
  65. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +311 -0
  66. data/vendor/assets/javascripts/twitter/bootstrap_ujs.js +11 -0
  67. data/vendor/toolkit/font-awesome-ie7.less +245 -0
  68. data/vendor/toolkit/fontawesome.less +328 -0
  69. data/vendor/toolkit/twitter/bootstrap/accordion.less +34 -0
  70. data/vendor/toolkit/twitter/bootstrap/alerts.less +65 -0
  71. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +63 -0
  72. data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +24 -0
  73. data/vendor/toolkit/twitter/bootstrap/button-groups.less +242 -0
  74. data/vendor/toolkit/twitter/bootstrap/buttons.less +232 -0
  75. data/vendor/toolkit/twitter/bootstrap/carousel.less +131 -0
  76. data/vendor/toolkit/twitter/bootstrap/close.less +31 -0
  77. data/vendor/toolkit/twitter/bootstrap/code.less +59 -0
  78. data/vendor/toolkit/twitter/bootstrap/component-animations.less +22 -0
  79. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +237 -0
  80. data/vendor/toolkit/twitter/bootstrap/forms.less +683 -0
  81. data/vendor/toolkit/twitter/bootstrap/grid.less +21 -0
  82. data/vendor/toolkit/twitter/bootstrap/hero-unit.less +25 -0
  83. data/vendor/toolkit/twitter/bootstrap/labels-badges.less +74 -0
  84. data/vendor/toolkit/twitter/bootstrap/layouts.less +16 -0
  85. data/vendor/toolkit/twitter/bootstrap/media.less +55 -0
  86. data/vendor/toolkit/twitter/bootstrap/mixins.less +686 -0
  87. data/vendor/toolkit/twitter/bootstrap/modals.less +94 -0
  88. data/vendor/toolkit/twitter/bootstrap/navbar.less +472 -0
  89. data/vendor/toolkit/twitter/bootstrap/navs.less +385 -0
  90. data/vendor/toolkit/twitter/bootstrap/pager.less +41 -0
  91. data/vendor/toolkit/twitter/bootstrap/pagination.less +121 -0
  92. data/vendor/toolkit/twitter/bootstrap/popovers.less +117 -0
  93. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +122 -0
  94. data/vendor/toolkit/twitter/bootstrap/reset.less +138 -0
  95. data/vendor/toolkit/twitter/bootstrap/responsive-1200px-min.less +28 -0
  96. data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +193 -0
  97. data/vendor/toolkit/twitter/bootstrap/responsive-768px-979px.less +19 -0
  98. data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +185 -0
  99. data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +43 -0
  100. data/vendor/toolkit/twitter/bootstrap/responsive.less +48 -0
  101. data/vendor/toolkit/twitter/bootstrap/scaffolding.less +52 -0
  102. data/vendor/toolkit/twitter/bootstrap/sprites.less +193 -0
  103. data/vendor/toolkit/twitter/bootstrap/tables.less +236 -0
  104. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +52 -0
  105. data/vendor/toolkit/twitter/bootstrap/tooltip.less +70 -0
  106. data/vendor/toolkit/twitter/bootstrap/type.less +230 -0
  107. data/vendor/toolkit/twitter/bootstrap/utilities.less +30 -0
  108. data/vendor/toolkit/twitter/bootstrap/variables.less +301 -0
  109. data/vendor/toolkit/twitter/bootstrap/wells.less +29 -0
  110. data/vendor/toolkit/twitter/bootstrap_base.less +2 -0
  111. metadata +224 -0
@@ -0,0 +1,94 @@
1
+ //
2
+ // Modals
3
+ // --------------------------------------------------
4
+
5
+ // Background
6
+ .modal-backdrop {
7
+ position: fixed;
8
+ top: 0;
9
+ right: 0;
10
+ bottom: 0;
11
+ left: 0;
12
+ z-index: @zindexModalBackdrop;
13
+ background-color: @black;
14
+ // Fade for backdrop
15
+ &.fade { opacity: 0; }
16
+ }
17
+
18
+ .modal-backdrop,
19
+ .modal-backdrop.fade.in {
20
+ .opacity(80);
21
+ }
22
+
23
+ // Base modal
24
+ .modal {
25
+ position: fixed;
26
+ top: 50%;
27
+ left: 50%;
28
+ z-index: @zindexModal;
29
+ width: 560px;
30
+ margin: -250px 0 0 -280px;
31
+ background-color: @white;
32
+ border: 1px solid #999;
33
+ border: 1px solid rgba(0,0,0,.3);
34
+ *border: 1px solid #999; /* IE6-7 */
35
+ .border-radius(6px);
36
+ .box-shadow(0 3px 7px rgba(0,0,0,0.3));
37
+ .background-clip(padding-box);
38
+ // Remove focus outline from opened modal
39
+ outline: none;
40
+
41
+ &.fade {
42
+ .transition(e('opacity .3s linear, top .3s ease-out'));
43
+ top: -25%;
44
+ }
45
+ &.fade.in { top: 50%; }
46
+ }
47
+ .modal-header {
48
+ padding: 9px 15px;
49
+ border-bottom: 1px solid #eee;
50
+ // Close icon
51
+ .close { margin-top: 2px; }
52
+ // Heading
53
+ h3 {
54
+ margin: 0;
55
+ line-height: 30px;
56
+ }
57
+ }
58
+
59
+ // Body (where all modal content resides)
60
+ .modal-body {
61
+ overflow-y: auto;
62
+ max-height: 400px;
63
+ padding: 15px;
64
+ }
65
+ // Remove bottom margin if need be
66
+ .modal-form {
67
+ margin-bottom: 0;
68
+ }
69
+
70
+ // Footer (for actions)
71
+ .modal-footer {
72
+ padding: 14px 15px 15px;
73
+ margin-bottom: 0;
74
+ text-align: right; // right align buttons
75
+ background-color: #f5f5f5;
76
+ border-top: 1px solid #ddd;
77
+ .border-radius(0 0 6px 6px);
78
+ .box-shadow(inset 0 1px 0 @white);
79
+ .clearfix(); // clear it in case folks use .pull-* classes on buttons
80
+
81
+ // Properly space out buttons
82
+ .btn + .btn {
83
+ margin-left: 5px;
84
+ margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
85
+ }
86
+ // but override that for button groups
87
+ .btn-group .btn + .btn {
88
+ margin-left: -1px;
89
+ }
90
+ // and override it for block buttons as well
91
+ .btn-block + .btn-block {
92
+ margin-left: 0;
93
+ }
94
+ }
@@ -0,0 +1,472 @@
1
+ //
2
+ // Navbars (Redux)
3
+ // --------------------------------------------------
4
+
5
+
6
+ // COMMON STYLES
7
+ // -------------
8
+
9
+ // Base class and wrapper
10
+ .navbar {
11
+ overflow: visible;
12
+ margin-bottom: @baseLineHeight;
13
+ color: @navbarText;
14
+
15
+ // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar
16
+ *position: relative;
17
+ *z-index: 2;
18
+ }
19
+
20
+ // Inner for background effects
21
+ // Gradient is applied to its own element because overflow visible is not honored by IE when filter is present
22
+ .navbar-inner {
23
+ min-height: @navbarHeight;
24
+ padding-left: 20px;
25
+ padding-right: 20px;
26
+ #gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground);
27
+ border: 1px solid @navbarBorder;
28
+ .border-radius(@baseBorderRadius);
29
+ .box-shadow(0 1px 4px rgba(0,0,0,.065));
30
+
31
+ // Prevent floats from breaking the navbar
32
+ .clearfix();
33
+ }
34
+
35
+ // Set width to auto for default container
36
+ // We then reset it for fixed navbars in the #gridSystem mixin
37
+ .navbar .container {
38
+ width: auto;
39
+ }
40
+
41
+ // Override the default collapsed state
42
+ .nav-collapse.collapse {
43
+ height: auto;
44
+ overflow: visible;
45
+ }
46
+
47
+
48
+ // Brand: website or project name
49
+ // -------------------------
50
+ .navbar .brand {
51
+ float: right;
52
+ display: block;
53
+ // Vertically center the text given @navbarHeight
54
+ padding: ((@navbarHeight - @baseLineHeight) / 2) 20px ((@navbarHeight - @baseLineHeight) / 2);
55
+ margin-right: -20px; // negative indent to right-align the text down the page
56
+ font-size: 20px;
57
+ font-weight: 200;
58
+ color: @navbarBrandColor;
59
+ text-shadow: 0 1px 0 @navbarBackgroundHighlight;
60
+ &:hover {
61
+ text-decoration: none;
62
+ }
63
+ }
64
+
65
+ // Plain text in topbar
66
+ // -------------------------
67
+ .navbar-text {
68
+ margin-bottom: 0;
69
+ line-height: @navbarHeight;
70
+ }
71
+
72
+ // Janky solution for now to account for links outside the .nav
73
+ // -------------------------
74
+ .navbar-link {
75
+ color: @navbarLinkColor;
76
+ &:hover {
77
+ color: @navbarLinkColorHover;
78
+ }
79
+ }
80
+
81
+ // Dividers in navbar
82
+ // -------------------------
83
+ .navbar .divider-vertical {
84
+ height: @navbarHeight;
85
+ margin: 0 9px;
86
+ border-right: 1px solid @navbarBackground;
87
+ border-left: 1px solid @navbarBackgroundHighlight;
88
+ }
89
+
90
+ // Buttons in navbar
91
+ // -------------------------
92
+ .navbar .btn,
93
+ .navbar .btn-group {
94
+ .navbarVerticalAlign(30px); // Vertically center in navbar
95
+ }
96
+ .navbar .btn-group .btn,
97
+ .navbar .input-prepend .btn,
98
+ .navbar .input-append .btn {
99
+ margin-top: 0; // then undo the margin here so we don't accidentally double it
100
+ }
101
+
102
+ // Navbar forms
103
+ // -------------------------
104
+ .navbar-form {
105
+ margin-bottom: 0; // remove default bottom margin
106
+ .clearfix();
107
+ input,
108
+ select,
109
+ .radio,
110
+ .checkbox {
111
+ .navbarVerticalAlign(30px); // Vertically center in navbar
112
+ }
113
+ input,
114
+ select,
115
+ .btn {
116
+ display: inline-block;
117
+ margin-bottom: 0;
118
+ }
119
+ input[type="image"],
120
+ input[type="checkbox"],
121
+ input[type="radio"] {
122
+ margin-top: 3px;
123
+ }
124
+ .input-append,
125
+ .input-prepend {
126
+ margin-top: 6px;
127
+ white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left
128
+ input {
129
+ margin-top: 0; // remove the margin on top since it's on the parent
130
+ }
131
+ }
132
+ }
133
+
134
+ // Navbar search
135
+ // -------------------------
136
+ .navbar-search {
137
+ position: relative;
138
+ float: right;
139
+ .navbarVerticalAlign(30px); // Vertically center in navbar
140
+ margin-bottom: 0;
141
+ .search-query {
142
+ margin-bottom: 0;
143
+ padding: 4px 14px;
144
+ #font > .sans-serif(13px, normal, 1);
145
+ .border-radius(15px); // redeclare because of specificity of the type attribute
146
+ }
147
+ }
148
+
149
+
150
+
151
+ // Static navbar
152
+ // -------------------------
153
+
154
+ .navbar-static-top {
155
+ position: static;
156
+ margin-bottom: 0; // remove 18px margin for default navbar
157
+ .navbar-inner {
158
+ .border-radius(0);
159
+ }
160
+ }
161
+
162
+
163
+
164
+ // Fixed navbar
165
+ // -------------------------
166
+
167
+ // Shared (top/bottom) styles
168
+ .navbar-fixed-top,
169
+ .navbar-fixed-bottom {
170
+ position: fixed;
171
+ right: 0;
172
+ left: 0;
173
+ z-index: @zindexFixedNavbar;
174
+ margin-bottom: 0; // remove 18px margin for default navbar
175
+ }
176
+ .navbar-fixed-top .navbar-inner,
177
+ .navbar-static-top .navbar-inner {
178
+ border-width: 0 0 1px;
179
+ }
180
+ .navbar-fixed-bottom .navbar-inner {
181
+ border-width: 1px 0 0;
182
+ }
183
+ .navbar-fixed-top .navbar-inner,
184
+ .navbar-fixed-bottom .navbar-inner {
185
+ padding-left: 0;
186
+ padding-right: 0;
187
+ .border-radius(0);
188
+ }
189
+
190
+ // Reset container width
191
+ // Required here as we reset the width earlier on and the grid mixins don't override early enough
192
+ .navbar-static-top .container,
193
+ .navbar-fixed-top .container,
194
+ .navbar-fixed-bottom .container {
195
+ #grid > .core > .span(@gridColumns);
196
+ }
197
+
198
+ // Fixed to top
199
+ .navbar-fixed-top {
200
+ top: 0;
201
+ }
202
+ .navbar-fixed-top,
203
+ .navbar-static-top {
204
+ .navbar-inner {
205
+ .box-shadow(~"0 1px 10px rgba(0,0,0,.1)");
206
+ }
207
+ }
208
+
209
+ // Fixed to bottom
210
+ .navbar-fixed-bottom {
211
+ bottom: 0;
212
+ .navbar-inner {
213
+ .box-shadow(~"0 -1px 10px rgba(0,0,0,.1)");
214
+ }
215
+ }
216
+
217
+
218
+
219
+ // NAVIGATION
220
+ // ----------
221
+
222
+ .navbar .nav {
223
+ position: relative;
224
+ right: 0;
225
+ display: block;
226
+ float: right;
227
+ margin: 0 0 0 10px;
228
+ }
229
+ .navbar .nav.pull-left {
230
+ float: left; // redeclare due to specificity
231
+ margin-left: 0; // remove margin on float left nav
232
+ }
233
+ .navbar .nav > li {
234
+ float: right;
235
+ }
236
+
237
+ // Links
238
+ .navbar .nav > li > a {
239
+ float: none;
240
+ // Vertically center the text given @navbarHeight
241
+ padding: ((@navbarHeight - @baseLineHeight) / 2) 15px ((@navbarHeight - @baseLineHeight) / 2);
242
+ color: @navbarLinkColor;
243
+ text-decoration: none;
244
+ text-shadow: 0 1px 0 @navbarBackgroundHighlight;
245
+ }
246
+ .navbar .nav .dropdown-toggle .caret {
247
+ margin-top: 8px;
248
+ }
249
+
250
+ // Hover
251
+ .navbar .nav > li > a:focus,
252
+ .navbar .nav > li > a:hover {
253
+ background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active
254
+ color: @navbarLinkColorHover;
255
+ text-decoration: none;
256
+ }
257
+
258
+ // Active nav items
259
+ .navbar .nav > .active > a,
260
+ .navbar .nav > .active > a:hover,
261
+ .navbar .nav > .active > a:focus {
262
+ color: @navbarLinkColorActive;
263
+ text-decoration: none;
264
+ background-color: @navbarLinkBackgroundActive;
265
+ .box-shadow(inset 0 3px 8px rgba(0,0,0,.125));
266
+ }
267
+
268
+ // Navbar button for toggling navbar items in responsive layouts
269
+ // These definitions need to come after '.navbar .btn'
270
+ .navbar .btn-navbar {
271
+ display: none;
272
+ float: left;
273
+ padding: 7px 10px;
274
+ margin-left: 5px;
275
+ margin-right: 5px;
276
+ .buttonBackground(darken(@navbarBackgroundHighlight, 5%), darken(@navbarBackground, 5%));
277
+ .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)");
278
+ }
279
+ .navbar .btn-navbar .icon-bar {
280
+ display: block;
281
+ width: 18px;
282
+ height: 2px;
283
+ background-color: #f5f5f5;
284
+ .border-radius(1px);
285
+ .box-shadow(0 1px 0 rgba(0,0,0,.25));
286
+ }
287
+ .btn-navbar .icon-bar + .icon-bar {
288
+ margin-top: 3px;
289
+ }
290
+
291
+
292
+
293
+ // Dropdown menus
294
+ // --------------
295
+
296
+ // Menu position and menu carets
297
+ .navbar .nav > li > .dropdown-menu {
298
+ &:before {
299
+ content: '';
300
+ display: inline-block;
301
+ border-left: 7px solid transparent;
302
+ border-right: 7px solid transparent;
303
+ border-bottom: 7px solid #ccc;
304
+ border-bottom-color: @dropdownBorder;
305
+ position: absolute;
306
+ top: -7px;
307
+ right: 9px;
308
+ }
309
+ &:after {
310
+ content: '';
311
+ display: inline-block;
312
+ border-left: 6px solid transparent;
313
+ border-right: 6px solid transparent;
314
+ border-bottom: 6px solid @dropdownBackground;
315
+ position: absolute;
316
+ top: -6px;
317
+ right: 10px;
318
+ }
319
+ }
320
+ // Menu position and menu caret support for dropups via extra dropup class
321
+ .navbar-fixed-bottom .nav > li > .dropdown-menu {
322
+ &:before {
323
+ border-top: 7px solid #ccc;
324
+ border-top-color: @dropdownBorder;
325
+ border-bottom: 0;
326
+ bottom: -7px;
327
+ top: auto;
328
+ }
329
+ &:after {
330
+ border-top: 6px solid @dropdownBackground;
331
+ border-bottom: 0;
332
+ bottom: -6px;
333
+ top: auto;
334
+ }
335
+ }
336
+
337
+ // Remove background color from open dropdown
338
+ .navbar .nav li.dropdown.open > .dropdown-toggle,
339
+ .navbar .nav li.dropdown.active > .dropdown-toggle,
340
+ .navbar .nav li.dropdown.open.active > .dropdown-toggle {
341
+ background-color: @navbarLinkBackgroundActive;
342
+ color: @navbarLinkColorActive;
343
+ }
344
+ .navbar .nav li.dropdown > .dropdown-toggle .caret {
345
+ border-top-color: @navbarLinkColor;
346
+ border-bottom-color: @navbarLinkColor;
347
+ }
348
+ .navbar .nav li.dropdown.open > .dropdown-toggle .caret,
349
+ .navbar .nav li.dropdown.active > .dropdown-toggle .caret,
350
+ .navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
351
+ border-top-color: @navbarLinkColorActive;
352
+ border-bottom-color: @navbarLinkColorActive;
353
+ }
354
+
355
+ // Left aligned menus need alt position
356
+ .navbar .pull-left > li > .dropdown-menu,
357
+ .navbar .nav > li > .dropdown-menu.pull-left {
358
+ right: auto;
359
+ left: 0;
360
+ &:before {
361
+ right: auto;
362
+ left: 12px;
363
+ }
364
+ &:after {
365
+ right: auto;
366
+ left: 13px;
367
+ }
368
+ .dropdown-menu {
369
+ right: auto;
370
+ left: 100%;
371
+ margin-right: 0;
372
+ margin-left: -1px;
373
+ .border-radius(6px 6px 6px 0);
374
+ }
375
+ }
376
+
377
+
378
+ // Inverted navbar
379
+ // -------------------------
380
+
381
+ .navbar-inverse {
382
+ color: @navbarInverseText;
383
+
384
+ .navbar-inner {
385
+ #gradient > .vertical(@navbarInverseBackgroundHighlight, @navbarInverseBackground);
386
+ border-color: @navbarInverseBorder;
387
+ }
388
+
389
+ .brand,
390
+ .nav > li > a {
391
+ color: @navbarInverseLinkColor;
392
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
393
+ &:hover {
394
+ color: @navbarInverseLinkColorHover;
395
+ }
396
+ }
397
+
398
+ .nav > li > a:focus,
399
+ .nav > li > a:hover {
400
+ background-color: @navbarInverseLinkBackgroundHover;
401
+ color: @navbarInverseLinkColorHover;
402
+ }
403
+
404
+ .nav .active > a,
405
+ .nav .active > a:hover,
406
+ .nav .active > a:focus {
407
+ color: @navbarInverseLinkColorActive;
408
+ background-color: @navbarInverseLinkBackgroundActive;
409
+ }
410
+
411
+ // Inline text links
412
+ .navbar-link {
413
+ color: @navbarInverseLinkColor;
414
+ &:hover {
415
+ color: @navbarInverseLinkColorHover;
416
+ }
417
+ }
418
+
419
+ // Dividers in navbar
420
+ .divider-vertical {
421
+ border-right-color: @navbarInverseBackground;
422
+ border-left-color: @navbarInverseBackgroundHighlight;
423
+ }
424
+
425
+ // Dropdowns
426
+ .nav li.dropdown.open > .dropdown-toggle,
427
+ .nav li.dropdown.active > .dropdown-toggle,
428
+ .nav li.dropdown.open.active > .dropdown-toggle {
429
+ background-color: @navbarInverseLinkBackgroundActive;
430
+ color: @navbarInverseLinkColorActive;
431
+ }
432
+ .nav li.dropdown > .dropdown-toggle .caret {
433
+ border-top-color: @navbarInverseLinkColor;
434
+ border-bottom-color: @navbarInverseLinkColor;
435
+ }
436
+ .nav li.dropdown.open > .dropdown-toggle .caret,
437
+ .nav li.dropdown.active > .dropdown-toggle .caret,
438
+ .nav li.dropdown.open.active > .dropdown-toggle .caret {
439
+ border-top-color: @navbarInverseLinkColorActive;
440
+ border-bottom-color: @navbarInverseLinkColorActive;
441
+ }
442
+
443
+ // Navbar search
444
+ .navbar-search {
445
+ .search-query {
446
+ color: @white;
447
+ background-color: @navbarInverseSearchBackground;
448
+ border-color: @navbarInverseSearchBorder;
449
+ .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)");
450
+ .transition(none);
451
+ .placeholder(@navbarInverseSearchPlaceholderColor);
452
+
453
+ // Focus states (we use .focused since IE7-8 and down doesn't support :focus)
454
+ &:focus,
455
+ &.focused {
456
+ padding: 5px 15px;
457
+ color: @grayDark;
458
+ text-shadow: 0 1px 0 @white;
459
+ background-color: @navbarInverseSearchBackgroundFocus;
460
+ border: 0;
461
+ .box-shadow(0 0 3px rgba(0,0,0,.15));
462
+ outline: 0;
463
+ }
464
+ }
465
+ }
466
+
467
+ // Navbar collapse button
468
+ .btn-navbar {
469
+ .buttonBackground(darken(@navbarInverseBackgroundHighlight, 5%), darken(@navbarInverseBackground, 5%));
470
+ }
471
+
472
+ }