rails_admin 0.6.5 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
  }