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.

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
@@ -5,19 +5,22 @@
5
5
 
6
6
  .close {
7
7
  float: right;
8
- font-size: 20px;
9
- font-weight: bold;
10
- line-height: $baseLineHeight;
11
- color: $black;
12
- text-shadow: 0 1px 0 rgba(255,255,255,1);
13
- @include opacity(20);
8
+ font-size: ($font-size-base * 1.5);
9
+ font-weight: $close-font-weight;
10
+ line-height: 1;
11
+ color: $close-color;
12
+ text-shadow: $close-text-shadow;
13
+ @include opacity(.2);
14
+
14
15
  &:hover,
15
16
  &:focus {
16
- color: $black;
17
+ color: $close-color;
17
18
  text-decoration: none;
18
19
  cursor: pointer;
19
- @include opacity(40);
20
+ @include opacity(.5);
20
21
  }
22
+
23
+ // [converter] extracted button& to button.close
21
24
  }
22
25
 
23
26
  // Additional properties for button version
@@ -1,61 +1,68 @@
1
1
  //
2
- // Code (inline and blocK)
2
+ // Code (inline and block)
3
3
  // --------------------------------------------------
4
4
 
5
5
 
6
6
  // Inline and block code styles
7
7
  code,
8
- pre {
9
- padding: 0 3px 2px;
10
- @include font-family-monospace;
11
- font-size: $baseFontSize - 2;
12
- color: $grayDark;
13
- @include border-radius(3px);
8
+ kbd,
9
+ pre,
10
+ samp {
11
+ font-family: $font-family-monospace;
14
12
  }
15
13
 
16
14
  // Inline code
17
15
  code {
18
16
  padding: 2px 4px;
19
- color: #d14;
20
- background-color: #f7f7f9;
21
- border: 1px solid #e1e1e8;
22
- white-space: nowrap;
17
+ font-size: 90%;
18
+ color: $code-color;
19
+ background-color: $code-bg;
20
+ border-radius: $border-radius-base;
21
+ }
22
+
23
+ // User input typically entered via keyboard
24
+ kbd {
25
+ padding: 2px 4px;
26
+ font-size: 90%;
27
+ color: $kbd-color;
28
+ background-color: $kbd-bg;
29
+ border-radius: $border-radius-small;
30
+ box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
31
+
32
+ kbd {
33
+ padding: 0;
34
+ font-size: 100%;
35
+ box-shadow: none;
36
+ }
23
37
  }
24
38
 
25
39
  // Blocks of code
26
40
  pre {
27
41
  display: block;
28
- padding: ($baseLineHeight - 1) / 2;
29
- margin: 0 0 $baseLineHeight / 2;
30
- font-size: $baseFontSize - 1; // 14px to 13px
31
- line-height: $baseLineHeight;
42
+ padding: (($line-height-computed - 1) / 2);
43
+ margin: 0 0 ($line-height-computed / 2);
44
+ font-size: ($font-size-base - 1); // 14px to 13px
45
+ line-height: $line-height-base;
32
46
  word-break: break-all;
33
47
  word-wrap: break-word;
34
- white-space: pre;
35
- white-space: pre-wrap;
36
- background-color: #f5f5f5;
37
- border: 1px solid #ccc; // fallback for IE7-8
38
- border: 1px solid rgba(0,0,0,.15);
39
- @include border-radius($baseBorderRadius);
40
-
41
- // Make prettyprint styles more spaced out for readability
42
- &.prettyprint {
43
- margin-bottom: $baseLineHeight;
44
- }
48
+ color: $pre-color;
49
+ background-color: $pre-bg;
50
+ border: 1px solid $pre-border-color;
51
+ border-radius: $border-radius-base;
45
52
 
46
53
  // Account for some code outputs that place code tags in pre tags
47
54
  code {
48
55
  padding: 0;
56
+ font-size: inherit;
49
57
  color: inherit;
50
- white-space: pre;
51
58
  white-space: pre-wrap;
52
59
  background-color: transparent;
53
- border: 0;
60
+ border-radius: 0;
54
61
  }
55
62
  }
56
63
 
57
64
  // Enable scrollable blocks of code
58
65
  .pre-scrollable {
59
- max-height: 340px;
66
+ max-height: $pre-scrollable-max-height;
60
67
  overflow-y: scroll;
61
68
  }
@@ -2,6 +2,10 @@
2
2
  // Component animations
3
3
  // --------------------------------------------------
4
4
 
5
+ // Heads up!
6
+ //
7
+ // We don't use the `.opacity()` mixin here since it causes a bug with text
8
+ // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.
5
9
 
6
10
  .fade {
7
11
  opacity: 0;
@@ -12,11 +16,20 @@
12
16
  }
13
17
 
14
18
  .collapse {
19
+ display: none;
20
+
21
+ &.in { display: block; }
22
+ // [converter] extracted tr&.in to tr.collapse.in
23
+ // [converter] extracted tbody&.in to tbody.collapse.in
24
+ }
25
+
26
+ tr.collapse.in { display: table-row; }
27
+
28
+ tbody.collapse.in { display: table-row-group; }
29
+
30
+ .collapsing {
15
31
  position: relative;
16
32
  height: 0;
17
33
  overflow: hidden;
18
34
  @include transition(height .35s ease);
19
- &.in {
20
- height: auto;
21
- }
22
35
  }
@@ -3,64 +3,52 @@
3
3
  // --------------------------------------------------
4
4
 
5
5
 
6
- // Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
7
- .dropup,
8
- .dropdown {
9
- position: relative;
10
- }
11
- .dropdown-toggle {
12
- // The caret makes the toggle a bit too tall in IE7
13
- *margin-bottom: -3px;
14
- }
15
- .dropdown-toggle:active,
16
- .open .dropdown-toggle {
17
- outline: 0;
18
- }
19
-
20
6
  // Dropdown arrow/caret
21
- // --------------------
22
7
  .caret {
23
8
  display: inline-block;
24
9
  width: 0;
25
10
  height: 0;
26
- vertical-align: top;
27
- border-top: 4px solid $black;
28
- border-right: 4px solid transparent;
29
- border-left: 4px solid transparent;
30
- content: "";
11
+ margin-left: 2px;
12
+ vertical-align: middle;
13
+ border-top: $caret-width-base solid;
14
+ border-right: $caret-width-base solid transparent;
15
+ border-left: $caret-width-base solid transparent;
31
16
  }
32
17
 
33
- // Place the caret
34
- .dropdown .caret {
35
- margin-top: 8px;
36
- margin-left: 2px;
18
+ // The dropdown wrapper (div)
19
+ .dropdown {
20
+ position: relative;
21
+ }
22
+
23
+ // Prevent the focus on the dropdown toggle when closing dropdowns
24
+ .dropdown-toggle:focus {
25
+ outline: 0;
37
26
  }
38
27
 
39
28
  // The dropdown menu (ul)
40
- // ----------------------
41
29
  .dropdown-menu {
42
30
  position: absolute;
43
31
  top: 100%;
44
32
  left: 0;
45
- z-index: $zindexDropdown;
33
+ z-index: $zindex-dropdown;
46
34
  display: none; // none by default, but block on "open" of the menu
47
35
  float: left;
48
36
  min-width: 160px;
49
37
  padding: 5px 0;
50
38
  margin: 2px 0 0; // override default ul
51
39
  list-style: none;
52
- background-color: $dropdownBackground;
53
- border: 1px solid #ccc; // Fallback for IE7-8
54
- border: 1px solid $dropdownBorder;
55
- *border-right-width: 2px;
56
- *border-bottom-width: 2px;
57
- @include border-radius(6px);
58
- @include box-shadow(0 5px 10px rgba(0,0,0,.2));
59
- -webkit-background-clip: padding-box;
60
- -moz-background-clip: padding;
61
- background-clip: padding-box;
40
+ font-size: $font-size-base;
41
+ text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
42
+ background-color: $dropdown-bg;
43
+ border: 1px solid $dropdown-fallback-border; // IE8 fallback
44
+ border: 1px solid $dropdown-border;
45
+ border-radius: $border-radius-base;
46
+ @include box-shadow(0 6px 12px rgba(0,0,0,.175));
47
+ background-clip: padding-box;
62
48
 
63
49
  // Aligns the dropdown menu to right
50
+ //
51
+ // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`
64
52
  &.pull-right {
65
53
  right: 0;
66
54
  left: auto;
@@ -68,7 +56,7 @@
68
56
 
69
57
  // Dividers (basically an hr) within the dropdown
70
58
  .divider {
71
- @include nav-divider($dropdownDividerTop, $dropdownDividerBottom);
59
+ @include nav-divider($dropdown-divider-bg);
72
60
  }
73
61
 
74
62
  // Links within the dropdown menu
@@ -77,92 +65,126 @@
77
65
  padding: 3px 20px;
78
66
  clear: both;
79
67
  font-weight: normal;
80
- line-height: $baseLineHeight;
81
- color: $dropdownLinkColor;
82
- white-space: nowrap;
68
+ line-height: $line-height-base;
69
+ color: $dropdown-link-color;
70
+ white-space: nowrap; // prevent links from randomly breaking onto new lines
83
71
  }
84
72
  }
85
73
 
86
74
  // Hover/Focus state
87
- // -----------
88
- .dropdown-menu > li > a:hover,
89
- .dropdown-menu > li > a:focus,
90
- .dropdown-submenu:hover > a,
91
- .dropdown-submenu:focus > a {
92
- text-decoration: none;
93
- color: $dropdownLinkColorHover;
94
- @include gradient-vertical($dropdownLinkBackgroundHover, darken($dropdownLinkBackgroundHover, 5%));
75
+ .dropdown-menu > li > a {
76
+ &:hover,
77
+ &:focus {
78
+ text-decoration: none;
79
+ color: $dropdown-link-hover-color;
80
+ background-color: $dropdown-link-hover-bg;
81
+ }
95
82
  }
96
83
 
97
84
  // Active state
98
- // ------------
99
- .dropdown-menu > .active > a,
100
- .dropdown-menu > .active > a:hover,
101
- .dropdown-menu > .active > a:focus {
102
- color: $dropdownLinkColorActive;
103
- text-decoration: none;
104
- outline: 0;
105
- @include gradient-vertical($dropdownLinkBackgroundActive, darken($dropdownLinkBackgroundActive, 5%));
85
+ .dropdown-menu > .active > a {
86
+ &,
87
+ &:hover,
88
+ &:focus {
89
+ color: $dropdown-link-active-color;
90
+ text-decoration: none;
91
+ outline: 0;
92
+ background-color: $dropdown-link-active-bg;
93
+ }
106
94
  }
107
95
 
108
96
  // Disabled state
109
- // --------------
97
+ //
110
98
  // Gray out text and ensure the hover/focus state remains gray
111
- .dropdown-menu > .disabled > a,
112
- .dropdown-menu > .disabled > a:hover,
113
- .dropdown-menu > .disabled > a:focus {
114
- color: $grayLight;
99
+
100
+ .dropdown-menu > .disabled > a {
101
+ &,
102
+ &:hover,
103
+ &:focus {
104
+ color: $dropdown-link-disabled-color;
105
+ }
115
106
  }
116
107
  // Nuke hover/focus effects
117
- .dropdown-menu > .disabled > a:hover,
118
- .dropdown-menu > .disabled > a:focus {
119
- text-decoration: none;
120
- background-color: transparent;
121
- background-image: none; // Remove CSS gradient
122
- @include reset-filter();
123
- cursor: default;
108
+ .dropdown-menu > .disabled > a {
109
+ &:hover,
110
+ &:focus {
111
+ text-decoration: none;
112
+ background-color: transparent;
113
+ background-image: none; // Remove CSS gradient
114
+ @include reset-filter();
115
+ cursor: not-allowed;
116
+ }
124
117
  }
125
118
 
126
119
  // Open state for the dropdown
127
- // ---------------------------
128
120
  .open {
129
- // IE7's z-index only goes to the nearest positioned ancestor, which would
130
- // make the menu appear below buttons that appeared later on the page
131
- *z-index: $zindexDropdown;
132
-
133
- & > .dropdown-menu {
121
+ // Show the menu
122
+ > .dropdown-menu {
134
123
  display: block;
135
124
  }
125
+
126
+ // Remove the outline when :focus is triggered
127
+ > a {
128
+ outline: 0;
129
+ }
130
+ }
131
+
132
+ // Menu positioning
133
+ //
134
+ // Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
135
+ // menu with the parent.
136
+ .dropdown-menu-right {
137
+ left: auto; // Reset the default from `.dropdown-menu`
138
+ right: 0;
139
+ }
140
+ // With v3, we enabled auto-flipping if you have a dropdown within a right
141
+ // aligned nav component. To enable the undoing of that, we provide an override
142
+ // to restore the default dropdown menu alignment.
143
+ //
144
+ // This is only for left-aligning a dropdown menu within a `.navbar-right` or
145
+ // `.pull-right` nav component.
146
+ .dropdown-menu-left {
147
+ left: 0;
148
+ right: auto;
149
+ }
150
+
151
+ // Dropdown section headers
152
+ .dropdown-header {
153
+ display: block;
154
+ padding: 3px 20px;
155
+ font-size: $font-size-small;
156
+ line-height: $line-height-base;
157
+ color: $dropdown-header-color;
158
+ white-space: nowrap; // as with > li > a
136
159
  }
137
160
 
138
161
  // Backdrop to catch body clicks on mobile, etc.
139
- // ---------------------------
140
162
  .dropdown-backdrop {
141
163
  position: fixed;
142
164
  left: 0;
143
165
  right: 0;
144
166
  bottom: 0;
145
167
  top: 0;
146
- z-index: $zindexDropdown - 10;
168
+ z-index: ($zindex-dropdown - 10);
147
169
  }
148
170
 
149
171
  // Right aligned dropdowns
150
- // ---------------------------
151
172
  .pull-right > .dropdown-menu {
152
173
  right: 0;
153
174
  left: auto;
154
175
  }
155
176
 
156
177
  // Allow for dropdowns to go bottom up (aka, dropup-menu)
157
- // ------------------------------------------------------
178
+ //
158
179
  // Just add .dropup after the standard .dropdown class and you're set, bro.
159
180
  // TODO: abstract this so that the navbar fixed styles are not placed here?
181
+
160
182
  .dropup,
161
183
  .navbar-fixed-bottom .dropdown {
162
184
  // Reverse the caret
163
185
  .caret {
164
186
  border-top: 0;
165
- border-bottom: 4px solid $black;
187
+ border-bottom: $caret-width-base solid;
166
188
  content: "";
167
189
  }
168
190
  // Different positioning for bottom up menu
@@ -173,76 +195,21 @@
173
195
  }
174
196
  }
175
197
 
176
- // Sub menus
177
- // ---------------------------
178
- .dropdown-submenu {
179
- position: relative;
180
- }
181
- // Default dropdowns
182
- .dropdown-submenu > .dropdown-menu {
183
- top: 0;
184
- left: 100%;
185
- margin-top: -6px;
186
- margin-left: -1px;
187
- @include border-radius(0 6px 6px 6px);
188
- }
189
- .dropdown-submenu:hover > .dropdown-menu {
190
- display: block;
191
- }
192
198
 
193
- // Dropups
194
- .dropup .dropdown-submenu > .dropdown-menu {
195
- top: auto;
196
- bottom: 0;
197
- margin-top: 0;
198
- margin-bottom: -2px;
199
- @include border-radius(5px 5px 5px 0);
200
- }
201
-
202
- // Caret to indicate there is a submenu
203
- .dropdown-submenu > a:after {
204
- display: block;
205
- content: " ";
206
- float: right;
207
- width: 0;
208
- height: 0;
209
- border-color: transparent;
210
- border-style: solid;
211
- border-width: 5px 0 5px 5px;
212
- border-left-color: darken($dropdownBackground, 20%);
213
- margin-top: 5px;
214
- margin-right: -10px;
215
- }
216
- .dropdown-submenu:hover > a:after {
217
- border-left-color: $dropdownLinkColorHover;
218
- }
219
-
220
- // Left aligned submenus
221
- .dropdown-submenu.pull-left {
222
- // Undo the float
223
- // Yes, this is awkward since .pull-left adds a float, but it sticks to our conventions elsewhere.
224
- float: none;
225
-
226
- // Positioning the submenu
227
- > .dropdown-menu {
228
- left: -100%;
229
- margin-left: 10px;
230
- @include border-radius(6px 0 6px 6px);
199
+ // Component alignment
200
+ //
201
+ // Reiterate per navbar.less and the modified component alignment there.
202
+
203
+ @media (min-width: $grid-float-breakpoint) {
204
+ .navbar-right {
205
+ .dropdown-menu {
206
+ right: 0; left: auto;
207
+ }
208
+ // Necessary for overrides of the default right aligned menu.
209
+ // Will remove come v4 in all likelihood.
210
+ .dropdown-menu-left {
211
+ left: 0; right: auto;
212
+ }
231
213
  }
232
214
  }
233
215
 
234
- // Tweak nav headers
235
- // -----------------
236
- // Increase padding from 15px to 20px on sides
237
- .dropdown .dropdown-menu .nav-header {
238
- padding-left: 20px;
239
- padding-right: 20px;
240
- }
241
-
242
- // Typeahead
243
- // ---------
244
- .typeahead {
245
- z-index: 1051;
246
- margin-top: 2px; // give it some space to breathe
247
- @include border-radius($baseBorderRadius);
248
- }