rails_admin 0.6.5 → 0.6.6

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

Potentially problematic release.


This version of rails_admin might be problematic. Click here for more details.

Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-affix.js +99 -74
  3. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-alert.js +48 -55
  4. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-button.js +70 -65
  5. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-carousel.js +163 -147
  6. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-collapse.js +117 -114
  7. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-dropdown.js +89 -107
  8. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-modal.js +208 -175
  9. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-popover.js +77 -78
  10. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-scrollspy.js +137 -129
  11. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-tab.js +85 -101
  12. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-tooltip.js +364 -268
  13. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-transition.js +51 -52
  14. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-typeahead.js +1782 -335
  15. data/app/assets/javascripts/rails_admin/ra.filter-box.js +1 -1
  16. data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +3 -3
  17. data/app/assets/javascripts/rails_admin/ra.filtering-select.js +1 -1
  18. data/app/assets/javascripts/rails_admin/ra.remote-form.js +6 -2
  19. data/app/assets/stylesheets/rails_admin/base/theming.scss +34 -14
  20. data/app/assets/stylesheets/rails_admin/bootstrap/_alerts.scss +47 -58
  21. data/app/assets/stylesheets/rails_admin/bootstrap/_badges.scss +57 -0
  22. data/app/assets/stylesheets/rails_admin/bootstrap/_breadcrumbs.scss +12 -10
  23. data/app/assets/stylesheets/rails_admin/bootstrap/_button-groups.scss +163 -152
  24. data/app/assets/stylesheets/rails_admin/bootstrap/_buttons.scss +98 -169
  25. data/app/assets/stylesheets/rails_admin/bootstrap/_carousel.scss +151 -66
  26. data/app/assets/stylesheets/rails_admin/bootstrap/_close.scss +11 -8
  27. data/app/assets/stylesheets/rails_admin/bootstrap/_code.scss +36 -29
  28. data/app/assets/stylesheets/rails_admin/bootstrap/_component-animations.scss +16 -3
  29. data/app/assets/stylesheets/rails_admin/bootstrap/_dropdowns.scss +115 -148
  30. data/app/assets/stylesheets/rails_admin/bootstrap/_forms.scss +396 -547
  31. data/app/assets/stylesheets/rails_admin/bootstrap/_glyphicons.scss +237 -0
  32. data/app/assets/stylesheets/rails_admin/bootstrap/_grid.scss +74 -11
  33. data/app/assets/stylesheets/rails_admin/bootstrap/_input-groups.scss +166 -0
  34. data/app/assets/stylesheets/rails_admin/bootstrap/_jumbotron.scss +48 -0
  35. data/app/assets/stylesheets/rails_admin/bootstrap/_labels.scss +66 -0
  36. data/app/assets/stylesheets/rails_admin/bootstrap/_list-group.scss +131 -0
  37. data/app/assets/stylesheets/rails_admin/bootstrap/_media.scss +8 -7
  38. data/app/assets/stylesheets/rails_admin/bootstrap/_mixins.scss +36 -693
  39. data/app/assets/stylesheets/rails_admin/bootstrap/_modals.scss +108 -53
  40. data/app/assets/stylesheets/rails_admin/bootstrap/_navbar.scss +545 -383
  41. data/app/assets/stylesheets/rails_admin/bootstrap/_navs.scss +191 -358
  42. data/app/assets/stylesheets/rails_admin/bootstrap/_normalize.scss +425 -0
  43. data/app/assets/stylesheets/rails_admin/bootstrap/_pager.scss +45 -33
  44. data/app/assets/stylesheets/rails_admin/bootstrap/_pagination.scss +70 -105
  45. data/app/assets/stylesheets/rails_admin/bootstrap/_panels.scss +243 -0
  46. data/app/assets/stylesheets/rails_admin/bootstrap/_popovers.scss +61 -61
  47. data/app/assets/stylesheets/rails_admin/bootstrap/_print.scss +101 -0
  48. data/app/assets/stylesheets/rails_admin/bootstrap/_progress-bars.scss +56 -73
  49. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-embed.scss +34 -0
  50. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-utilities.scss +150 -50
  51. data/app/assets/stylesheets/rails_admin/bootstrap/_scaffolding.scss +120 -23
  52. data/app/assets/stylesheets/rails_admin/bootstrap/_tables.scss +168 -170
  53. data/app/assets/stylesheets/rails_admin/bootstrap/_theme.scss +258 -0
  54. data/app/assets/stylesheets/rails_admin/bootstrap/_thumbnails.scss +27 -42
  55. data/app/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss +49 -24
  56. data/app/assets/stylesheets/rails_admin/bootstrap/_type.scss +200 -143
  57. data/app/assets/stylesheets/rails_admin/bootstrap/_utilities.scss +33 -21
  58. data/app/assets/stylesheets/rails_admin/bootstrap/_variables.scss +764 -215
  59. data/app/assets/stylesheets/rails_admin/bootstrap/_wells.scss +7 -7
  60. data/app/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss +47 -60
  61. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_alerts.scss +14 -0
  62. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_background-variant.scss +11 -0
  63. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss +18 -0
  64. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss +50 -0
  65. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_center-block.scss +7 -0
  66. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss +22 -0
  67. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss +84 -0
  68. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss +58 -0
  69. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_grid-framework.scss +81 -0
  70. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss +122 -0
  71. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_hide-text.scss +21 -0
  72. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss +34 -0
  73. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_labels.scss +12 -0
  74. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss +31 -0
  75. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-divider.scss +10 -0
  76. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  77. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_opacity.scss +8 -0
  78. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss +23 -0
  79. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_panels.scss +24 -0
  80. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_progress-bar.scss +10 -0
  81. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-filter.scss +8 -0
  82. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss +6 -0
  83. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_responsive-visibility.scss +21 -0
  84. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_size.scss +10 -0
  85. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_tab-focus.scss +9 -0
  86. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_table-row.scss +28 -0
  87. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_text-emphasis.scss +11 -0
  88. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_text-overflow.scss +8 -0
  89. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_vendor-prefixes.scss +219 -0
  90. data/app/assets/stylesheets/rails_admin/ra.calendar-additions.scss +17 -0
  91. data/app/assets/stylesheets/rails_admin/rails_admin.scss.erb +9 -5
  92. data/app/helpers/rails_admin/application_helper.rb +20 -19
  93. data/app/helpers/rails_admin/form_builder.rb +14 -11
  94. data/app/views/kaminari/twitter-bootstrap/_paginator.html.haml +8 -9
  95. data/app/views/layouts/rails_admin/_navigation.html.haml +5 -5
  96. data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +1 -1
  97. data/app/views/layouts/rails_admin/application.html.haml +9 -8
  98. data/app/views/layouts/rails_admin/pjax.html.haml +4 -3
  99. data/app/views/rails_admin/main/_form_datetime.html.haml +2 -1
  100. data/app/views/rails_admin/main/_form_field.html.haml +1 -1
  101. data/app/views/rails_admin/main/_form_text.html.haml +1 -1
  102. data/app/views/rails_admin/main/_submit_buttons.html.haml +1 -0
  103. data/app/views/rails_admin/main/dashboard.html.haml +1 -1
  104. data/app/views/rails_admin/main/export.html.haml +19 -16
  105. data/app/views/rails_admin/main/index.html.haml +11 -7
  106. data/app/views/rails_admin/main/show.html.haml +1 -1
  107. data/lib/rails_admin/adapters/active_record.rb +2 -2
  108. data/lib/rails_admin/adapters/mongoid/property.rb +1 -1
  109. data/lib/rails_admin/config/actions/bulk_delete.rb +0 -1
  110. data/lib/rails_admin/config/actions/edit.rb +0 -2
  111. data/lib/rails_admin/config/actions/export.rb +0 -2
  112. data/lib/rails_admin/config/actions/index.rb +0 -3
  113. data/lib/rails_admin/config/actions/new.rb +0 -2
  114. data/lib/rails_admin/config/configurable.rb +1 -1
  115. data/lib/rails_admin/config/fields/base.rb +9 -0
  116. data/lib/rails_admin/config/fields/factories/enum.rb +2 -3
  117. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +4 -0
  118. data/lib/rails_admin/config/model.rb +2 -1
  119. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +2 -2
  120. data/lib/rails_admin/support/csv_converter.rb +22 -42
  121. data/lib/rails_admin/version.rb +1 -1
  122. metadata +59 -18
  123. data/app/assets/stylesheets/rails_admin/bootstrap/_accordion.scss +0 -34
  124. data/app/assets/stylesheets/rails_admin/bootstrap/_hero-unit.scss +0 -25
  125. data/app/assets/stylesheets/rails_admin/bootstrap/_labels-badges.scss +0 -83
  126. data/app/assets/stylesheets/rails_admin/bootstrap/_layouts.scss +0 -16
  127. data/app/assets/stylesheets/rails_admin/bootstrap/_reset.scss +0 -216
  128. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-1200px-min.scss +0 -28
  129. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-767px-max.scss +0 -193
  130. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-768px-979px.scss +0 -19
  131. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-navbar.scss +0 -189
  132. data/app/assets/stylesheets/rails_admin/bootstrap/_sprites.scss +0 -197
  133. data/app/assets/stylesheets/rails_admin/bootstrap/responsive.scss +0 -48
@@ -2,81 +2,108 @@
2
2
  // Modals
3
3
  // --------------------------------------------------
4
4
 
5
- // Background
6
- .modal-backdrop {
5
+ // .modal-open - body class for killing the scroll
6
+ // .modal - container to scroll within
7
+ // .modal-dialog - positioning shell for the actual modal
8
+ // .modal-content - actual modal w/ bg and corners and shit
9
+
10
+ // Kill the scroll on the body
11
+ .modal-open {
12
+ overflow: hidden;
13
+ }
14
+
15
+ // Container that the modal scrolls within
16
+ .modal {
17
+ display: none;
18
+ overflow: hidden;
7
19
  position: fixed;
8
20
  top: 0;
9
21
  right: 0;
10
22
  bottom: 0;
11
23
  left: 0;
12
- z-index: $zindexModalBackdrop;
13
- background-color: $black;
14
- // Fade for backdrop
15
- &.fade { opacity: 0; }
24
+ z-index: $zindex-modal;
25
+ -webkit-overflow-scrolling: touch;
26
+
27
+ // Prevent Chrome on Windows from adding a focus outline. For details, see
28
+ // https://github.com/twbs/bootstrap/pull/10951.
29
+ outline: 0;
30
+
31
+ // When fading in the modal, animate it to slide down
32
+ &.fade .modal-dialog {
33
+ @include translate3d(0, -25%, 0);
34
+ @include transition-transform(0.3s ease-out);
35
+ }
36
+ &.in .modal-dialog { @include translate3d(0, 0, 0) }
37
+ }
38
+ .modal-open .modal {
39
+ overflow-x: hidden;
40
+ overflow-y: auto;
16
41
  }
17
42
 
18
- .modal-backdrop,
19
- .modal-backdrop.fade.in {
20
- @include opacity(80);
43
+ // Shell div to position the modal with bottom padding
44
+ .modal-dialog {
45
+ position: relative;
46
+ width: auto;
47
+ margin: 10px;
21
48
  }
22
49
 
23
- // Base modal
24
- .modal {
25
- position: fixed;
26
- top: 10%;
27
- left: 50%;
28
- z-index: $zindexModal;
29
- width: 560px;
30
- margin-left: -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
- @include border-radius(6px);
36
- @include box-shadow(0 3px 7px rgba(0,0,0,0.3));
37
- @include background-clip(padding-box);
50
+ // Actual modal
51
+ .modal-content {
52
+ position: relative;
53
+ background-color: $modal-content-bg;
54
+ border: 1px solid $modal-content-fallback-border-color; //old browsers fallback (ie8 etc)
55
+ border: 1px solid $modal-content-border-color;
56
+ border-radius: $border-radius-large;
57
+ @include box-shadow(0 3px 9px rgba(0,0,0,.5));
58
+ background-clip: padding-box;
38
59
  // Remove focus outline from opened modal
39
- outline: none;
60
+ outline: 0;
61
+ }
40
62
 
41
- &.fade {
42
- @include transition(opacity .3s linear, top .3s ease-out);
43
- top: -25%;
44
- }
45
- &.fade.in { top: 10%; }
63
+ // Modal background
64
+ .modal-backdrop {
65
+ position: fixed;
66
+ top: 0;
67
+ right: 0;
68
+ bottom: 0;
69
+ left: 0;
70
+ z-index: $zindex-modal-background;
71
+ background-color: $modal-backdrop-bg;
72
+ // Fade for backdrop
73
+ &.fade { @include opacity(0); }
74
+ &.in { @include opacity($modal-backdrop-opacity); }
46
75
  }
76
+
77
+ // Modal header
78
+ // Top section of the modal w/ title and dismiss
47
79
  .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
- }
80
+ padding: $modal-title-padding;
81
+ border-bottom: 1px solid $modal-header-border-color;
82
+ min-height: ($modal-title-padding + $modal-title-line-height);
83
+ }
84
+ // Close icon
85
+ .modal-header .close {
86
+ margin-top: -2px;
57
87
  }
58
88
 
59
- // Body (where all modal content resides)
89
+ // Title text within header
90
+ .modal-title {
91
+ margin: 0;
92
+ line-height: $modal-title-line-height;
93
+ }
94
+
95
+ // Modal body
96
+ // Where all modal content resides (sibling of .modal-header and .modal-footer)
60
97
  .modal-body {
61
98
  position: relative;
62
- overflow-y: auto;
63
- max-height: 400px;
64
- padding: 15px;
65
- }
66
- // Remove bottom margin if need be
67
- .modal-form {
68
- margin-bottom: 0;
99
+ padding: $modal-inner-padding;
69
100
  }
70
101
 
71
102
  // Footer (for actions)
72
103
  .modal-footer {
73
- padding: 14px 15px 15px;
74
- margin-bottom: 0;
104
+ padding: $modal-inner-padding;
75
105
  text-align: right; // right align buttons
76
- background-color: #f5f5f5;
77
- border-top: 1px solid #ddd;
78
- @include border-radius(0 0 6px 6px);
79
- @include box-shadow(inset 0 1px 0 $white);
106
+ border-top: 1px solid $modal-footer-border-color;
80
107
  @include clearfix(); // clear it in case folks use .pull-* classes on buttons
81
108
 
82
109
  // Properly space out buttons
@@ -93,3 +120,31 @@
93
120
  margin-left: 0;
94
121
  }
95
122
  }
123
+
124
+ // Measure scrollbar width for padding body during modal show/hide
125
+ .modal-scrollbar-measure {
126
+ position: absolute;
127
+ top: -9999px;
128
+ width: 50px;
129
+ height: 50px;
130
+ overflow: scroll;
131
+ }
132
+
133
+ // Scale up the modal
134
+ @media (min-width: $screen-sm-min) {
135
+ // Automatically set modal's width for larger viewports
136
+ .modal-dialog {
137
+ width: $modal-md;
138
+ margin: 30px auto;
139
+ }
140
+ .modal-content {
141
+ @include box-shadow(0 5px 15px rgba(0,0,0,.5));
142
+ }
143
+
144
+ // Modal sizes
145
+ .modal-sm { width: $modal-sm; }
146
+ }
147
+
148
+ @media (min-width: $screen-md-min) {
149
+ .modal-lg { width: $modal-lg; }
150
+ }
@@ -1,497 +1,659 @@
1
1
  //
2
- // Navbars (Redux)
2
+ // Navbars
3
3
  // --------------------------------------------------
4
4
 
5
5
 
6
- // COMMON STYLES
7
- // -------------
6
+ // Wrapper and base class
7
+ //
8
+ // Provide a static navbar from which we expand to create full-width, fixed, and
9
+ // other navbar variations.
8
10
 
9
- // Base class and wrapper
10
11
  .navbar {
11
- overflow: visible;
12
- margin-bottom: $baseLineHeight;
13
-
14
- // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar
15
- *position: relative;
16
- *z-index: 2;
17
- }
18
-
19
- // Inner for background effects
20
- // Gradient is applied to its own element because overflow visible is not honored by IE when filter is present
21
- .navbar-inner {
22
- min-height: $navbarHeight;
23
- padding-left: 20px;
24
- padding-right: 20px;
25
- @include gradient-vertical($navbarBackgroundHighlight, $navbarBackground);
26
- border: 1px solid $navbarBorder;
27
- @include border-radius($baseBorderRadius);
28
- @include box-shadow(0 1px 4px rgba(0,0,0,.065));
12
+ position: relative;
13
+ min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
14
+ margin-bottom: $navbar-margin-bottom;
15
+ border: 1px solid transparent;
29
16
 
30
17
  // Prevent floats from breaking the navbar
31
18
  @include clearfix();
32
- }
33
19
 
34
- // Set width to auto for default container
35
- // We then reset it for fixed navbars in the #gridSystem mixin
36
- .navbar .container {
37
- width: auto;
20
+ @media (min-width: $grid-float-breakpoint) {
21
+ border-radius: $navbar-border-radius;
22
+ }
38
23
  }
39
24
 
40
- // Override the default collapsed state
41
- .nav-collapse.collapse {
42
- height: auto;
43
- overflow: visible;
44
- }
45
25
 
26
+ // Navbar heading
27
+ //
28
+ // Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy
29
+ // styling of responsive aspects.
46
30
 
47
- // Brand: website or project name
48
- // -------------------------
49
- .navbar .brand {
50
- float: left;
51
- display: block;
52
- // Vertically center the text given $navbarHeight
53
- padding: (($navbarHeight - $baseLineHeight) / 2) 20px (($navbarHeight - $baseLineHeight) / 2);
54
- margin-left: -20px; // negative indent to left-align the text down the page
55
- font-size: 20px;
56
- font-weight: 200;
57
- color: $navbarBrandColor;
58
- text-shadow: 0 1px 0 $navbarBackgroundHighlight;
59
- &:hover,
60
- &:focus {
61
- text-decoration: none;
31
+ .navbar-header {
32
+ @include clearfix();
33
+
34
+ @media (min-width: $grid-float-breakpoint) {
35
+ float: left;
62
36
  }
63
37
  }
64
38
 
65
- // Plain text in topbar
66
- // -------------------------
67
- .navbar-text {
68
- margin-bottom: 0;
69
- line-height: $navbarHeight;
70
- color: $navbarText;
71
- }
72
39
 
73
- // Janky solution for now to account for links outside the .nav
74
- // -------------------------
75
- .navbar-link {
76
- color: $navbarLinkColor;
77
- &:hover,
78
- &:focus {
79
- color: $navbarLinkColorHover;
40
+ // Navbar collapse (body)
41
+ //
42
+ // Group your navbar content into this for easy collapsing and expanding across
43
+ // various device sizes. By default, this content is collapsed when <768px, but
44
+ // will expand past that for a horizontal display.
45
+ //
46
+ // To start (on mobile devices) the navbar links, forms, and buttons are stacked
47
+ // vertically and include a `max-height` to overflow in case you have too much
48
+ // content for the user's viewport.
49
+
50
+ .navbar-collapse {
51
+ overflow-x: visible;
52
+ padding-right: $navbar-padding-horizontal;
53
+ padding-left: $navbar-padding-horizontal;
54
+ border-top: 1px solid transparent;
55
+ box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
56
+ @include clearfix();
57
+ -webkit-overflow-scrolling: touch;
58
+
59
+ &.in {
60
+ overflow-y: auto;
80
61
  }
81
- }
82
62
 
83
- // Dividers in navbar
84
- // -------------------------
85
- .navbar .divider-vertical {
86
- height: $navbarHeight;
87
- margin: 0 9px;
88
- border-left: 1px solid $navbarBackground;
89
- border-right: 1px solid $navbarBackgroundHighlight;
90
- }
63
+ @media (min-width: $grid-float-breakpoint) {
64
+ width: auto;
65
+ border-top: 0;
66
+ box-shadow: none;
91
67
 
92
- // Buttons in navbar
93
- // -------------------------
94
- .navbar .btn,
95
- .navbar .btn-group {
96
- @include navbarVerticalAlign(30px); // Vertically center in navbar
97
- }
98
- .navbar .btn-group .btn,
99
- .navbar .input-prepend .btn,
100
- .navbar .input-append .btn,
101
- .navbar .input-prepend .btn-group,
102
- .navbar .input-append .btn-group {
103
- margin-top: 0; // then undo the margin here so we don't accidentally double it
104
- }
68
+ &.collapse {
69
+ display: block !important;
70
+ height: auto !important;
71
+ padding-bottom: 0; // Override default setting
72
+ overflow: visible !important;
73
+ }
105
74
 
106
- // Navbar forms
107
- // -------------------------
108
- .navbar-form {
109
- margin-bottom: 0; // remove default bottom margin
110
- @include clearfix();
111
- input,
112
- select,
113
- .radio,
114
- .checkbox {
115
- @include navbarVerticalAlign(30px); // Vertically center in navbar
116
- }
117
- input,
118
- select,
119
- .btn {
120
- display: inline-block;
121
- margin-bottom: 0;
122
- }
123
- input[type="image"],
124
- input[type="checkbox"],
125
- input[type="radio"] {
126
- margin-top: 3px;
127
- }
128
- .input-append,
129
- .input-prepend {
130
- margin-top: 5px;
131
- white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left
132
- input {
133
- margin-top: 0; // remove the margin on top since it's on the parent
75
+ &.in {
76
+ overflow-y: visible;
134
77
  }
135
- }
136
- }
137
78
 
138
- // Navbar search
139
- // -------------------------
140
- .navbar-search {
141
- position: relative;
142
- float: left;
143
- @include navbarVerticalAlign(30px); // Vertically center in navbar
144
- margin-bottom: 0;
145
- .search-query {
146
- margin-bottom: 0;
147
- padding: 4px 14px;
148
- @include font-sans-serif(13px, normal, 1);
149
- @include border-radius(15px); // redeclare because of specificity of the type attribute
79
+ // Undo the collapse side padding for navbars with containers to ensure
80
+ // alignment of right-aligned contents.
81
+ .navbar-fixed-top &,
82
+ .navbar-static-top &,
83
+ .navbar-fixed-bottom & {
84
+ padding-left: 0;
85
+ padding-right: 0;
86
+ }
150
87
  }
151
88
  }
152
89
 
90
+ .navbar-fixed-top,
91
+ .navbar-fixed-bottom {
92
+ .navbar-collapse {
93
+ max-height: $navbar-collapse-max-height;
153
94
 
95
+ @media (max-width: $screen-xs-min) and (orientation: landscape) {
96
+ max-height: 200px;
97
+ }
98
+ }
99
+ }
154
100
 
155
- // Static navbar
156
- // -------------------------
157
101
 
158
- .navbar-static-top {
159
- position: static;
160
- margin-bottom: 0; // remove 18px margin for default navbar
161
- .navbar-inner {
162
- @include border-radius(0);
102
+ // Both navbar header and collapse
103
+ //
104
+ // When a container is present, change the behavior of the header and collapse.
105
+
106
+ .container,
107
+ .container-fluid {
108
+ > .navbar-header,
109
+ > .navbar-collapse {
110
+ margin-right: -$navbar-padding-horizontal;
111
+ margin-left: -$navbar-padding-horizontal;
112
+
113
+ @media (min-width: $grid-float-breakpoint) {
114
+ margin-right: 0;
115
+ margin-left: 0;
116
+ }
163
117
  }
164
118
  }
165
119
 
166
120
 
121
+ //
122
+ // Navbar alignment options
123
+ //
124
+ // Display the navbar across the entirety of the page or fixed it to the top or
125
+ // bottom of the page.
167
126
 
168
- // Fixed navbar
169
- // -------------------------
127
+ // Static top (unfixed, but 100% wide) navbar
128
+ .navbar-static-top {
129
+ z-index: $zindex-navbar;
130
+ border-width: 0 0 1px;
170
131
 
171
- // Shared (top/bottom) styles
132
+ @media (min-width: $grid-float-breakpoint) {
133
+ border-radius: 0;
134
+ }
135
+ }
136
+
137
+ // Fix the top/bottom navbars when screen real estate supports it
172
138
  .navbar-fixed-top,
173
139
  .navbar-fixed-bottom {
174
140
  position: fixed;
175
141
  right: 0;
176
142
  left: 0;
177
- z-index: $zindexFixedNavbar;
178
- margin-bottom: 0; // remove 18px margin for default navbar
143
+ z-index: $zindex-navbar-fixed;
144
+ @include translate3d(0, 0, 0);
145
+
146
+ // Undo the rounded corners
147
+ @media (min-width: $grid-float-breakpoint) {
148
+ border-radius: 0;
149
+ }
179
150
  }
180
- .navbar-fixed-top .navbar-inner,
181
- .navbar-static-top .navbar-inner {
151
+ .navbar-fixed-top {
152
+ top: 0;
182
153
  border-width: 0 0 1px;
183
154
  }
184
- .navbar-fixed-bottom .navbar-inner {
155
+ .navbar-fixed-bottom {
156
+ bottom: 0;
157
+ margin-bottom: 0; // override .navbar defaults
185
158
  border-width: 1px 0 0;
186
159
  }
187
- .navbar-fixed-top .navbar-inner,
188
- .navbar-fixed-bottom .navbar-inner {
189
- padding-left: 0;
190
- padding-right: 0;
191
- @include border-radius(0);
192
- }
193
160
 
194
- // Reset container width
195
- // Required here as we reset the width earlier on and the grid mixins don't override early enough
196
- .navbar-static-top .container,
197
- .navbar-fixed-top .container,
198
- .navbar-fixed-bottom .container {
199
- @include grid-core-span($gridColumns, $gridColumnWidth, $gridGutterWidth);
200
- }
201
161
 
202
- // Fixed to top
203
- .navbar-fixed-top {
204
- top: 0;
205
- }
206
- .navbar-fixed-top,
207
- .navbar-static-top {
208
- .navbar-inner {
209
- @include box-shadow(0 1px 10px rgba(0,0,0,.1));
162
+ // Brand/project name
163
+
164
+ .navbar-brand {
165
+ float: left;
166
+ padding: $navbar-padding-vertical $navbar-padding-horizontal;
167
+ font-size: $font-size-large;
168
+ line-height: $line-height-computed;
169
+ height: $navbar-height;
170
+
171
+ &:hover,
172
+ &:focus {
173
+ text-decoration: none;
210
174
  }
211
- }
212
175
 
213
- // Fixed to bottom
214
- .navbar-fixed-bottom {
215
- bottom: 0;
216
- .navbar-inner {
217
- @include box-shadow(0 -1px 10px rgba(0,0,0,.1));
176
+ @media (min-width: $grid-float-breakpoint) {
177
+ .navbar > .container &,
178
+ .navbar > .container-fluid & {
179
+ margin-left: -$navbar-padding-horizontal;
180
+ }
218
181
  }
219
182
  }
220
183
 
221
184
 
185
+ // Navbar toggle
186
+ //
187
+ // Custom button for toggling the `.navbar-collapse`, powered by the collapse
188
+ // JavaScript plugin.
222
189
 
223
- // NAVIGATION
224
- // ----------
225
-
226
- .navbar .nav {
190
+ .navbar-toggle {
227
191
  position: relative;
228
- left: 0;
229
- display: block;
230
- float: left;
231
- margin: 0 10px 0 0;
232
- }
233
- .navbar .nav.pull-right {
234
- float: right; // redeclare due to specificity
235
- margin-right: 0; // remove margin on float right nav
236
- }
237
- .navbar .nav > li {
238
- float: left;
239
- }
192
+ float: right;
193
+ margin-right: $navbar-padding-horizontal;
194
+ padding: 9px 10px;
195
+ @include navbar-vertical-align(34px);
196
+ background-color: transparent;
197
+ background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
198
+ border: 1px solid transparent;
199
+ border-radius: $border-radius-base;
200
+
201
+ // We remove the `outline` here, but later compensate by attaching `:hover`
202
+ // styles to `:focus`.
203
+ &:focus {
204
+ outline: 0;
205
+ }
240
206
 
241
- // Links
242
- .navbar .nav > li > a {
243
- float: none;
244
- // Vertically center the text given $navbarHeight
245
- padding: (($navbarHeight - $baseLineHeight) / 2) 15px (($navbarHeight - $baseLineHeight) / 2);
246
- color: $navbarLinkColor;
247
- text-decoration: none;
248
- text-shadow: 0 1px 0 $navbarBackgroundHighlight;
249
- }
250
- .navbar .nav .dropdown-toggle .caret {
251
- margin-top: 8px;
252
- }
207
+ // Bars
208
+ .icon-bar {
209
+ display: block;
210
+ width: 22px;
211
+ height: 2px;
212
+ border-radius: 1px;
213
+ }
214
+ .icon-bar + .icon-bar {
215
+ margin-top: 4px;
216
+ }
253
217
 
254
- // Hover/focus
255
- .navbar .nav > li > a:focus,
256
- .navbar .nav > li > a:hover {
257
- background-color: $navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover/:focus from .active
258
- color: $navbarLinkColorHover;
259
- text-decoration: none;
218
+ @media (min-width: $grid-float-breakpoint) {
219
+ display: none;
220
+ }
260
221
  }
261
222
 
262
- // Active nav items
263
- .navbar .nav > .active > a,
264
- .navbar .nav > .active > a:hover,
265
- .navbar .nav > .active > a:focus {
266
- color: $navbarLinkColorActive;
267
- text-decoration: none;
268
- background-color: $navbarLinkBackgroundActive;
269
- @include box-shadow(inset 0 3px 8px rgba(0,0,0,.125));
270
- }
271
223
 
272
- // Navbar button for toggling navbar items in responsive layouts
273
- // These definitions need to come after '.navbar .btn'
274
- .navbar .btn-navbar {
275
- display: none;
276
- float: right;
277
- padding: 7px 10px;
278
- margin-left: 5px;
279
- margin-right: 5px;
280
- @include buttonBackground(darken($navbarBackgroundHighlight, 5%), darken($navbarBackground, 5%));
281
- @include box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075));
282
- }
283
- .navbar .btn-navbar .icon-bar {
284
- display: block;
285
- width: 18px;
286
- height: 2px;
287
- background-color: #f5f5f5;
288
- @include border-radius(1px);
289
- @include box-shadow(0 1px 0 rgba(0,0,0,.25));
224
+ // Navbar nav links
225
+ //
226
+ // Builds on top of the `.nav` components with its own modifier class to make
227
+ // the nav the full height of the horizontal nav (above 768px).
228
+
229
+ .navbar-nav {
230
+ margin: ($navbar-padding-vertical / 2) (-$navbar-padding-horizontal);
231
+
232
+ > li > a {
233
+ padding-top: 10px;
234
+ padding-bottom: 10px;
235
+ line-height: $line-height-computed;
236
+ }
237
+
238
+ @media (max-width: $grid-float-breakpoint-max) {
239
+ // Dropdowns get custom display when collapsed
240
+ .open .dropdown-menu {
241
+ position: static;
242
+ float: none;
243
+ width: auto;
244
+ margin-top: 0;
245
+ background-color: transparent;
246
+ border: 0;
247
+ box-shadow: none;
248
+ > li > a,
249
+ .dropdown-header {
250
+ padding: 5px 15px 5px 25px;
251
+ }
252
+ > li > a {
253
+ line-height: $line-height-computed;
254
+ &:hover,
255
+ &:focus {
256
+ background-image: none;
257
+ }
258
+ }
259
+ }
260
+ }
261
+
262
+ // Uncollapse the nav
263
+ @media (min-width: $grid-float-breakpoint) {
264
+ float: left;
265
+ margin: 0;
266
+
267
+ > li {
268
+ float: left;
269
+ > a {
270
+ padding-top: $navbar-padding-vertical;
271
+ padding-bottom: $navbar-padding-vertical;
272
+ }
273
+ }
274
+
275
+ &.navbar-right:last-child {
276
+ margin-right: -$navbar-padding-horizontal;
277
+ }
278
+ }
290
279
  }
291
- .btn-navbar .icon-bar + .icon-bar {
292
- margin-top: 3px;
280
+
281
+
282
+ // Component alignment
283
+ //
284
+ // Repurpose the pull utilities as their own navbar utilities to avoid specificity
285
+ // issues with parents and chaining. Only do this when the navbar is uncollapsed
286
+ // though so that navbar contents properly stack and align in mobile.
287
+
288
+ @media (min-width: $grid-float-breakpoint) {
289
+ .navbar-left {
290
+ float: left !important;
291
+ }
292
+ .navbar-right {
293
+ float: right !important;
294
+ }
293
295
  }
294
296
 
295
297
 
298
+ // Navbar form
299
+ //
300
+ // Extension of the `.form-inline` with some extra flavor for optimum display in
301
+ // our navbars.
302
+
303
+ .navbar-form {
304
+ margin-left: -$navbar-padding-horizontal;
305
+ margin-right: -$navbar-padding-horizontal;
306
+ padding: 10px $navbar-padding-horizontal;
307
+ border-top: 1px solid transparent;
308
+ border-bottom: 1px solid transparent;
309
+ $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
310
+ @include box-shadow($shadow);
311
+
312
+ // Mixin behavior for optimum display
313
+ @extend .form-inline;
314
+
315
+ .form-group {
316
+ @media (max-width: $grid-float-breakpoint-max) {
317
+ margin-bottom: 5px;
318
+ }
319
+ }
320
+
321
+ // Vertically center in expanded, horizontal navbar
322
+ @include navbar-vertical-align($input-height-base);
323
+
324
+ // Undo 100% width for pull classes
325
+ @media (min-width: $grid-float-breakpoint) {
326
+ width: auto;
327
+ border: 0;
328
+ margin-left: 0;
329
+ margin-right: 0;
330
+ padding-top: 0;
331
+ padding-bottom: 0;
332
+ @include box-shadow(none);
333
+
334
+ // Outdent the form if last child to line up with content down the page
335
+ &.navbar-right:last-child {
336
+ margin-right: -$navbar-padding-horizontal;
337
+ }
338
+ }
339
+ }
340
+
296
341
 
297
342
  // Dropdown menus
298
- // --------------
299
343
 
300
344
  // Menu position and menu carets
301
- .navbar .nav > li > .dropdown-menu {
302
- &:before {
303
- content: '';
304
- display: inline-block;
305
- border-left: 7px solid transparent;
306
- border-right: 7px solid transparent;
307
- border-bottom: 7px solid #ccc;
308
- border-bottom-color: $dropdownBorder;
309
- position: absolute;
310
- top: -7px;
311
- left: 9px;
312
- }
313
- &:after {
314
- content: '';
315
- display: inline-block;
316
- border-left: 6px solid transparent;
317
- border-right: 6px solid transparent;
318
- border-bottom: 6px solid $dropdownBackground;
319
- position: absolute;
320
- top: -6px;
321
- left: 10px;
322
- }
345
+ .navbar-nav > li > .dropdown-menu {
346
+ margin-top: 0;
347
+ @include border-top-radius(0);
323
348
  }
324
349
  // Menu position and menu caret support for dropups via extra dropup class
325
- .navbar-fixed-bottom .nav > li > .dropdown-menu {
326
- &:before {
327
- border-top: 7px solid #ccc;
328
- border-top-color: $dropdownBorder;
329
- border-bottom: 0;
330
- bottom: -7px;
331
- top: auto;
332
- }
333
- &:after {
334
- border-top: 6px solid $dropdownBackground;
335
- border-bottom: 0;
336
- bottom: -6px;
337
- top: auto;
338
- }
350
+ .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
351
+ @include border-bottom-radius(0);
339
352
  }
340
353
 
341
- // Caret should match text color on hover/focus
342
- .navbar .nav li.dropdown > a:hover .caret,
343
- .navbar .nav li.dropdown > a:focus .caret {
344
- border-top-color: $navbarLinkColorActive;
345
- border-bottom-color: $navbarLinkColorActive;
346
- }
347
354
 
348
- // Remove background color from open dropdown
349
- .navbar .nav li.dropdown.open > .dropdown-toggle,
350
- .navbar .nav li.dropdown.active > .dropdown-toggle,
351
- .navbar .nav li.dropdown.open.active > .dropdown-toggle {
352
- background-color: $navbarLinkBackgroundActive;
353
- color: $navbarLinkColorActive;
354
- }
355
- .navbar .nav li.dropdown > .dropdown-toggle .caret {
356
- border-top-color: $navbarLinkColor;
357
- border-bottom-color: $navbarLinkColor;
355
+ // Buttons in navbars
356
+ //
357
+ // Vertically center a button within a navbar (when *not* in a form).
358
+
359
+ .navbar-btn {
360
+ @include navbar-vertical-align($input-height-base);
361
+
362
+ &.btn-sm {
363
+ @include navbar-vertical-align($input-height-small);
364
+ }
365
+ &.btn-xs {
366
+ @include navbar-vertical-align(22);
367
+ }
358
368
  }
359
- .navbar .nav li.dropdown.open > .dropdown-toggle .caret,
360
- .navbar .nav li.dropdown.active > .dropdown-toggle .caret,
361
- .navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
362
- border-top-color: $navbarLinkColorActive;
363
- border-bottom-color: $navbarLinkColorActive;
369
+
370
+
371
+ // Text in navbars
372
+ //
373
+ // Add a class to make any element properly align itself vertically within the navbars.
374
+
375
+ .navbar-text {
376
+ @include navbar-vertical-align($line-height-computed);
377
+
378
+ @media (min-width: $grid-float-breakpoint) {
379
+ float: left;
380
+ margin-left: $navbar-padding-horizontal;
381
+ margin-right: $navbar-padding-horizontal;
382
+
383
+ // Outdent the form if last child to line up with content down the page
384
+ &.navbar-right:last-child {
385
+ margin-right: 0;
386
+ }
387
+ }
364
388
  }
365
389
 
366
- // Right aligned menus need alt position
367
- .navbar .pull-right > li > .dropdown-menu,
368
- .navbar .nav > li > .dropdown-menu.pull-right {
369
- left: auto;
370
- right: 0;
371
- &:before {
372
- left: auto;
373
- right: 12px;
390
+ // Alternate navbars
391
+ // --------------------------------------------------
392
+
393
+ // Default navbar
394
+ .navbar-default {
395
+ background-color: $navbar-default-bg;
396
+ border-color: $navbar-default-border;
397
+
398
+ .navbar-brand {
399
+ color: $navbar-default-brand-color;
400
+ &:hover,
401
+ &:focus {
402
+ color: $navbar-default-brand-hover-color;
403
+ background-color: $navbar-default-brand-hover-bg;
404
+ }
374
405
  }
375
- &:after {
376
- left: auto;
377
- right: 13px;
406
+
407
+ .navbar-text {
408
+ color: $navbar-default-color;
378
409
  }
379
- .dropdown-menu {
380
- left: auto;
381
- right: 100%;
382
- margin-left: 0;
383
- margin-right: -1px;
384
- @include border-radius(6px 0 6px 6px);
410
+
411
+ .navbar-nav {
412
+ > li > a {
413
+ color: $navbar-default-link-color;
414
+
415
+ &:hover,
416
+ &:focus {
417
+ color: $navbar-default-link-hover-color;
418
+ background-color: $navbar-default-link-hover-bg;
419
+ }
420
+ }
421
+ > .active > a {
422
+ &,
423
+ &:hover,
424
+ &:focus {
425
+ color: $navbar-default-link-active-color;
426
+ background-color: $navbar-default-link-active-bg;
427
+ }
428
+ }
429
+ > .disabled > a {
430
+ &,
431
+ &:hover,
432
+ &:focus {
433
+ color: $navbar-default-link-disabled-color;
434
+ background-color: $navbar-default-link-disabled-bg;
435
+ }
436
+ }
385
437
  }
386
- }
387
438
 
439
+ .navbar-toggle {
440
+ border-color: $navbar-default-toggle-border-color;
441
+ &:hover,
442
+ &:focus {
443
+ background-color: $navbar-default-toggle-hover-bg;
444
+ }
445
+ .icon-bar {
446
+ background-color: $navbar-default-toggle-icon-bar-bg;
447
+ }
448
+ }
388
449
 
389
- // Inverted navbar
390
- // -------------------------
450
+ .navbar-collapse,
451
+ .navbar-form {
452
+ border-color: $navbar-default-border;
453
+ }
391
454
 
392
- .navbar-inverse {
455
+ // Dropdown menu items
456
+ .navbar-nav {
457
+ // Remove background color from open dropdown
458
+ > .open > a {
459
+ &,
460
+ &:hover,
461
+ &:focus {
462
+ background-color: $navbar-default-link-active-bg;
463
+ color: $navbar-default-link-active-color;
464
+ }
465
+ }
393
466
 
394
- .navbar-inner {
395
- @include gradient-vertical($navbarInverseBackgroundHighlight, $navbarInverseBackground);
396
- border-color: $navbarInverseBorder;
467
+ @media (max-width: $grid-float-breakpoint-max) {
468
+ // Dropdowns get custom display when collapsed
469
+ .open .dropdown-menu {
470
+ > li > a {
471
+ color: $navbar-default-link-color;
472
+ &:hover,
473
+ &:focus {
474
+ color: $navbar-default-link-hover-color;
475
+ background-color: $navbar-default-link-hover-bg;
476
+ }
477
+ }
478
+ > .active > a {
479
+ &,
480
+ &:hover,
481
+ &:focus {
482
+ color: $navbar-default-link-active-color;
483
+ background-color: $navbar-default-link-active-bg;
484
+ }
485
+ }
486
+ > .disabled > a {
487
+ &,
488
+ &:hover,
489
+ &:focus {
490
+ color: $navbar-default-link-disabled-color;
491
+ background-color: $navbar-default-link-disabled-bg;
492
+ }
493
+ }
494
+ }
495
+ }
397
496
  }
398
497
 
399
- .brand,
400
- .nav > li > a {
401
- color: $navbarInverseLinkColor;
402
- text-shadow: 0 -1px 0 rgba(0,0,0,.25);
498
+
499
+ // Links in navbars
500
+ //
501
+ // Add a class to ensure links outside the navbar nav are colored correctly.
502
+
503
+ .navbar-link {
504
+ color: $navbar-default-link-color;
505
+ &:hover {
506
+ color: $navbar-default-link-hover-color;
507
+ }
508
+ }
509
+
510
+ .btn-link {
511
+ color: $navbar-default-link-color;
403
512
  &:hover,
404
513
  &:focus {
405
- color: $navbarInverseLinkColorHover;
514
+ color: $navbar-default-link-hover-color;
515
+ }
516
+ &[disabled],
517
+ fieldset[disabled] & {
518
+ &:hover,
519
+ &:focus {
520
+ color: $navbar-default-link-disabled-color;
521
+ }
406
522
  }
407
523
  }
524
+ }
408
525
 
409
- .brand {
410
- color: $navbarInverseBrandColor;
526
+ // Inverse navbar
527
+
528
+ .navbar-inverse {
529
+ background-color: $navbar-inverse-bg;
530
+ border-color: $navbar-inverse-border;
531
+
532
+ .navbar-brand {
533
+ color: $navbar-inverse-brand-color;
534
+ &:hover,
535
+ &:focus {
536
+ color: $navbar-inverse-brand-hover-color;
537
+ background-color: $navbar-inverse-brand-hover-bg;
538
+ }
411
539
  }
412
540
 
413
541
  .navbar-text {
414
- color: $navbarInverseText;
542
+ color: $navbar-inverse-color;
415
543
  }
416
544
 
417
- .nav > li > a:focus,
418
- .nav > li > a:hover {
419
- background-color: $navbarInverseLinkBackgroundHover;
420
- color: $navbarInverseLinkColorHover;
421
- }
545
+ .navbar-nav {
546
+ > li > a {
547
+ color: $navbar-inverse-link-color;
422
548
 
423
- .nav .active > a,
424
- .nav .active > a:hover,
425
- .nav .active > a:focus {
426
- color: $navbarInverseLinkColorActive;
427
- background-color: $navbarInverseLinkBackgroundActive;
549
+ &:hover,
550
+ &:focus {
551
+ color: $navbar-inverse-link-hover-color;
552
+ background-color: $navbar-inverse-link-hover-bg;
553
+ }
554
+ }
555
+ > .active > a {
556
+ &,
557
+ &:hover,
558
+ &:focus {
559
+ color: $navbar-inverse-link-active-color;
560
+ background-color: $navbar-inverse-link-active-bg;
561
+ }
562
+ }
563
+ > .disabled > a {
564
+ &,
565
+ &:hover,
566
+ &:focus {
567
+ color: $navbar-inverse-link-disabled-color;
568
+ background-color: $navbar-inverse-link-disabled-bg;
569
+ }
570
+ }
428
571
  }
429
572
 
430
- // Inline text links
431
- .navbar-link {
432
- color: $navbarInverseLinkColor;
573
+ // Darken the responsive nav toggle
574
+ .navbar-toggle {
575
+ border-color: $navbar-inverse-toggle-border-color;
433
576
  &:hover,
434
577
  &:focus {
435
- color: $navbarInverseLinkColorHover;
578
+ background-color: $navbar-inverse-toggle-hover-bg;
579
+ }
580
+ .icon-bar {
581
+ background-color: $navbar-inverse-toggle-icon-bar-bg;
436
582
  }
437
583
  }
438
584
 
439
- // Dividers in navbar
440
- .divider-vertical {
441
- border-left-color: $navbarInverseBackground;
442
- border-right-color: $navbarInverseBackgroundHighlight;
585
+ .navbar-collapse,
586
+ .navbar-form {
587
+ border-color: darken($navbar-inverse-bg, 7%);
443
588
  }
444
589
 
445
590
  // Dropdowns
446
- .nav li.dropdown.open > .dropdown-toggle,
447
- .nav li.dropdown.active > .dropdown-toggle,
448
- .nav li.dropdown.open.active > .dropdown-toggle {
449
- background-color: $navbarInverseLinkBackgroundActive;
450
- color: $navbarInverseLinkColorActive;
451
- }
452
- .nav li.dropdown > a:hover .caret,
453
- .nav li.dropdown > a:focus .caret {
454
- border-top-color: $navbarInverseLinkColorActive;
455
- color: $navbarInverseLinkColorActive;
456
- }
457
- .nav li.dropdown > .dropdown-toggle .caret {
458
- border-top-color: $navbarInverseLinkColor;
459
- border-bottom-color: $navbarInverseLinkColor;
460
- }
461
- .nav li.dropdown.open > .dropdown-toggle .caret,
462
- .nav li.dropdown.active > .dropdown-toggle .caret,
463
- .nav li.dropdown.open.active > .dropdown-toggle .caret {
464
- border-top-color: $navbarInverseLinkColorActive;
465
- border-bottom-color: $navbarInverseLinkColorActive;
466
- }
467
-
468
- // Navbar search
469
- .navbar-search {
470
- .search-query {
471
- color: $white;
472
- background-color: $navbarInverseSearchBackground;
473
- border-color: $navbarInverseSearchBorder;
474
- @include box-shadow(inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15));
475
- @include transition(none);
476
- @include placeholder($navbarInverseSearchPlaceholderColor);
477
-
478
- // Focus states (we use .focused since IE7-8 and down doesn't support :focus)
479
- &:focus,
480
- &.focused {
481
- padding: 5px 15px;
482
- color: $grayDark;
483
- text-shadow: 0 1px 0 $white;
484
- background-color: $navbarInverseSearchBackgroundFocus;
485
- border: 0;
486
- @include box-shadow(0 0 3px rgba(0,0,0,.15));
487
- outline: 0;
591
+ .navbar-nav {
592
+ > .open > a {
593
+ &,
594
+ &:hover,
595
+ &:focus {
596
+ background-color: $navbar-inverse-link-active-bg;
597
+ color: $navbar-inverse-link-active-color;
598
+ }
599
+ }
600
+
601
+ @media (max-width: $grid-float-breakpoint-max) {
602
+ // Dropdowns get custom display
603
+ .open .dropdown-menu {
604
+ > .dropdown-header {
605
+ border-color: $navbar-inverse-border;
606
+ }
607
+ .divider {
608
+ background-color: $navbar-inverse-border;
609
+ }
610
+ > li > a {
611
+ color: $navbar-inverse-link-color;
612
+ &:hover,
613
+ &:focus {
614
+ color: $navbar-inverse-link-hover-color;
615
+ background-color: $navbar-inverse-link-hover-bg;
616
+ }
617
+ }
618
+ > .active > a {
619
+ &,
620
+ &:hover,
621
+ &:focus {
622
+ color: $navbar-inverse-link-active-color;
623
+ background-color: $navbar-inverse-link-active-bg;
624
+ }
625
+ }
626
+ > .disabled > a {
627
+ &,
628
+ &:hover,
629
+ &:focus {
630
+ color: $navbar-inverse-link-disabled-color;
631
+ background-color: $navbar-inverse-link-disabled-bg;
632
+ }
633
+ }
488
634
  }
489
635
  }
490
636
  }
491
637
 
492
- // Navbar collapse button
493
- .btn-navbar {
494
- @include buttonBackground(darken($navbarInverseBackgroundHighlight, 5%), darken($navbarInverseBackground, 5%));
638
+ .navbar-link {
639
+ color: $navbar-inverse-link-color;
640
+ &:hover {
641
+ color: $navbar-inverse-link-hover-color;
642
+ }
495
643
  }
496
644
 
645
+ .btn-link {
646
+ color: $navbar-inverse-link-color;
647
+ &:hover,
648
+ &:focus {
649
+ color: $navbar-inverse-link-hover-color;
650
+ }
651
+ &[disabled],
652
+ fieldset[disabled] & {
653
+ &:hover,
654
+ &:focus {
655
+ color: $navbar-inverse-link-disabled-color;
656
+ }
657
+ }
658
+ }
497
659
  }