bootstrap-generators 2.0.4 → 2.1.1

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 (104) hide show
  1. data/README.md +211 -63
  2. data/lib/bootstrap/generators/version.rb +1 -1
  3. data/lib/generators/bootstrap/install/templates/assets/stylesheets/bootstrap-variables.css.scss +102 -28
  4. data/lib/generators/bootstrap/install/templates/assets/stylesheets/bootstrap-variables.less +104 -31
  5. data/vendor/assets/images/glyphicons-halflings.png +0 -0
  6. data/vendor/assets/javascripts/bootstrap-affix.js +104 -0
  7. data/vendor/assets/javascripts/bootstrap-alert.js +1 -1
  8. data/vendor/assets/javascripts/bootstrap-button.js +2 -2
  9. data/vendor/assets/javascripts/bootstrap-carousel.js +12 -5
  10. data/vendor/assets/javascripts/bootstrap-collapse.js +4 -3
  11. data/vendor/assets/javascripts/bootstrap-dropdown.js +66 -16
  12. data/vendor/assets/javascripts/bootstrap-modal.js +95 -74
  13. data/vendor/assets/javascripts/bootstrap-popover.js +9 -4
  14. data/vendor/assets/javascripts/bootstrap-scrollspy.js +9 -9
  15. data/vendor/assets/javascripts/bootstrap-tab.js +2 -2
  16. data/vendor/assets/javascripts/bootstrap-tooltip.js +15 -15
  17. data/vendor/assets/javascripts/bootstrap-transition.js +2 -3
  18. data/vendor/assets/javascripts/bootstrap-typeahead.js +51 -36
  19. data/vendor/assets/javascripts/bootstrap.js +1 -1
  20. data/vendor/assets/stylesheets/bootstrap-responsive.css +1058 -0
  21. data/vendor/assets/stylesheets/bootstrap-responsive.min.css +9 -0
  22. data/vendor/assets/stylesheets/bootstrap.css +5774 -0
  23. data/vendor/assets/stylesheets/bootstrap.min.css +9 -0
  24. data/vendor/twitter/bootstrap/less/accordion.less +3 -2
  25. data/vendor/twitter/bootstrap/less/alerts.less +16 -9
  26. data/vendor/twitter/bootstrap/less/bootstrap.less +1 -1
  27. data/vendor/twitter/bootstrap/less/breadcrumbs.less +10 -10
  28. data/vendor/twitter/bootstrap/less/button-groups.less +79 -25
  29. data/vendor/twitter/bootstrap/less/buttons.less +107 -67
  30. data/vendor/twitter/bootstrap/less/carousel.less +13 -3
  31. data/vendor/twitter/bootstrap/less/close.less +4 -2
  32. data/vendor/twitter/bootstrap/less/code.less +6 -5
  33. data/vendor/twitter/bootstrap/less/component-animations.less +4 -2
  34. data/vendor/twitter/bootstrap/less/dropdowns.less +82 -15
  35. data/vendor/twitter/bootstrap/less/forms.less +124 -57
  36. data/vendor/twitter/bootstrap/less/grid.less +17 -1
  37. data/vendor/twitter/bootstrap/less/hero-unit.less +4 -2
  38. data/vendor/twitter/bootstrap/less/labels-badges.less +19 -2
  39. data/vendor/twitter/bootstrap/less/layouts.less +1 -2
  40. data/vendor/twitter/bootstrap/less/mixins.less +112 -77
  41. data/vendor/twitter/bootstrap/less/modals.less +12 -4
  42. data/vendor/twitter/bootstrap/less/navbar.less +245 -128
  43. data/vendor/twitter/bootstrap/less/navs.less +38 -17
  44. data/vendor/twitter/bootstrap/less/pager.less +11 -7
  45. data/vendor/twitter/bootstrap/less/pagination.less +23 -15
  46. data/vendor/twitter/bootstrap/less/popovers.less +101 -33
  47. data/vendor/twitter/bootstrap/less/progress-bars.less +18 -13
  48. data/vendor/twitter/bootstrap/less/reset.less +10 -4
  49. data/vendor/twitter/bootstrap/less/responsive-1200px-min.less +9 -7
  50. data/vendor/twitter/bootstrap/less/responsive-767px-max.less +95 -70
  51. data/vendor/twitter/bootstrap/less/responsive-768px-979px.less +7 -5
  52. data/vendor/twitter/bootstrap/less/responsive-navbar.less +30 -6
  53. data/vendor/twitter/bootstrap/less/responsive-utilities.less +17 -15
  54. data/vendor/twitter/bootstrap/less/responsive.less +5 -5
  55. data/vendor/twitter/bootstrap/less/scaffolding.less +27 -4
  56. data/vendor/twitter/bootstrap/less/sprites.less +21 -19
  57. data/vendor/twitter/bootstrap/less/tables.less +81 -12
  58. data/vendor/twitter/bootstrap/less/thumbnails.less +9 -4
  59. data/vendor/twitter/bootstrap/less/tooltip.less +47 -12
  60. data/vendor/twitter/bootstrap/less/type.less +75 -86
  61. data/vendor/twitter/bootstrap/less/utilities.less +9 -2
  62. data/vendor/twitter/bootstrap/less/variables.less +104 -31
  63. data/vendor/twitter/bootstrap/less/wells.less +7 -5
  64. data/vendor/twitter/bootstrap/sass/_accordion.scss +3 -2
  65. data/vendor/twitter/bootstrap/sass/_alerts.scss +15 -8
  66. data/vendor/twitter/bootstrap/sass/_breadcrumbs.scss +10 -10
  67. data/vendor/twitter/bootstrap/sass/_button-groups.scss +77 -23
  68. data/vendor/twitter/bootstrap/sass/_buttons.scss +106 -66
  69. data/vendor/twitter/bootstrap/sass/_carousel.scss +13 -3
  70. data/vendor/twitter/bootstrap/sass/_close.scss +5 -3
  71. data/vendor/twitter/bootstrap/sass/_code.scss +7 -6
  72. data/vendor/twitter/bootstrap/sass/_component-animations.scss +5 -3
  73. data/vendor/twitter/bootstrap/sass/_dropdowns.scss +85 -18
  74. data/vendor/twitter/bootstrap/sass/_forms.scss +121 -53
  75. data/vendor/twitter/bootstrap/sass/_grid.scss +17 -1
  76. data/vendor/twitter/bootstrap/sass/_hero-unit.scss +4 -2
  77. data/vendor/twitter/bootstrap/sass/_labels-badges.scss +29 -12
  78. data/vendor/twitter/bootstrap/sass/_layouts.scss +2 -3
  79. data/vendor/twitter/bootstrap/sass/_mixins.scss +163 -127
  80. data/vendor/twitter/bootstrap/sass/_modals.scss +12 -4
  81. data/vendor/twitter/bootstrap/sass/_navbar.scss +243 -127
  82. data/vendor/twitter/bootstrap/sass/_navs.scss +36 -15
  83. data/vendor/twitter/bootstrap/sass/_pager.scss +12 -8
  84. data/vendor/twitter/bootstrap/sass/_pagination.scss +23 -15
  85. data/vendor/twitter/bootstrap/sass/_popovers.scss +101 -33
  86. data/vendor/twitter/bootstrap/sass/_progress-bars.scss +18 -13
  87. data/vendor/twitter/bootstrap/sass/_reset.scss +8 -3
  88. data/vendor/twitter/bootstrap/sass/_responsive-1200px-min.scss +9 -7
  89. data/vendor/twitter/bootstrap/sass/_responsive-767px-max.scss +95 -70
  90. data/vendor/twitter/bootstrap/sass/_responsive-768px-979px.scss +8 -6
  91. data/vendor/twitter/bootstrap/sass/_responsive-navbar.scss +29 -5
  92. data/vendor/twitter/bootstrap/sass/_responsive-utilities.scss +32 -15
  93. data/vendor/twitter/bootstrap/sass/_scaffolding.scss +29 -4
  94. data/vendor/twitter/bootstrap/sass/_sprites.scss +21 -19
  95. data/vendor/twitter/bootstrap/sass/_tables.scss +79 -11
  96. data/vendor/twitter/bootstrap/sass/_thumbnails.scss +9 -4
  97. data/vendor/twitter/bootstrap/sass/_tooltip.scss +47 -12
  98. data/vendor/twitter/bootstrap/sass/_type.scss +74 -85
  99. data/vendor/twitter/bootstrap/sass/_utilities.scss +24 -2
  100. data/vendor/twitter/bootstrap/sass/_variables.scss +102 -28
  101. data/vendor/twitter/bootstrap/sass/_wells.scss +7 -5
  102. data/vendor/twitter/bootstrap/sass/bootstrap.scss +1 -1
  103. data/vendor/twitter/bootstrap/sass/responsive.scss +5 -5
  104. metadata +15 -10
@@ -1,5 +1,6 @@
1
- // BUTTON STYLES
2
- // -------------
1
+ //
2
+ // Buttons
3
+ // --------------------------------------------------
3
4
 
4
5
 
5
6
  // Base styles
@@ -9,64 +10,64 @@
9
10
  .btn {
10
11
  display: inline-block;
11
12
  @include ie7-inline-block();
12
- padding: 4px 10px 4px;
13
+ padding: 4px 14px;
13
14
  margin-bottom: 0; // For input.btn
14
15
  font-size: $baseFontSize;
15
16
  line-height: $baseLineHeight;
16
- *line-height: 20px;
17
- color: $grayDark;
17
+ *line-height: $baseLineHeight;
18
18
  text-align: center;
19
- text-shadow: 0 1px 1px rgba(255,255,255,.75);
20
19
  vertical-align: middle;
21
20
  cursor: pointer;
22
- @include buttonBackground($btnBackground, $btnBackgroundHighlight);
21
+ @include buttonBackground($btnBackground, $btnBackgroundHighlight, $grayDark, 0 1px 1px rgba(255,255,255,.75));
23
22
  border: 1px solid $btnBorder;
24
23
  *border: 0; // Remove the border to prevent IE7's black border on input:focus
25
24
  border-bottom-color: darken($btnBorder, 10%);
26
25
  @include border-radius(4px);
27
26
  @include ie7-restore-left-whitespace(); // Give IE7 some love
28
27
  @include box-shadow(#{inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)});
29
- }
30
28
 
31
- // Hover state
32
- .btn:hover {
33
- color: $grayDark;
34
- text-decoration: none;
35
- background-color: darken($white, 10%);
36
- *background-color: darken($white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */
37
- background-position: 0 -15px;
29
+ // Hover state
30
+ &:hover {
31
+ color: $grayDark;
32
+ text-decoration: none;
33
+ background-color: darken($white, 10%);
34
+ *background-color: darken($white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */
35
+ background-position: 0 -15px;
36
+
37
+ // transition is only when going to hover, otherwise the background
38
+ // behind the gradient (there for IE<=9 fallback) gets mismatched
39
+ @include transition(background-position .1s linear);
40
+ }
38
41
 
39
- // transition is only when going to hover, otherwise the background
40
- // behind the gradient (there for IE<=9 fallback) gets mismatched
41
- @include transition(background-position .1s linear);
42
- }
42
+ // Focus state for keyboard and accessibility
43
+ &:focus {
44
+ @include tab-focus();
45
+ }
43
46
 
44
- // Focus state for keyboard and accessibility
45
- .btn:focus {
46
- @include tab-focus();
47
- }
47
+ // Active state
48
+ &.active,
49
+ &:active {
50
+ background-color: darken($white, 10%);
51
+ background-color: darken($white, 15%) \9;
52
+ background-image: none;
53
+ outline: 0;
54
+ @include box-shadow(#{inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)});
55
+ }
48
56
 
49
- // Active state
50
- .btn.active,
51
- .btn:active {
52
- background-color: darken($white, 10%);
53
- background-color: darken($white, 15%) \9;
54
- background-image: none;
55
- outline: 0;
56
- @include box-shadow(#{inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)});
57
- }
57
+ // Disabled state
58
+ &.disabled,
59
+ &[disabled] {
60
+ cursor: default;
61
+ background-color: darken($white, 10%);
62
+ background-image: none;
63
+ @include opacity(65);
64
+ @include box-shadow(none);
65
+ }
58
66
 
59
- // Disabled state
60
- .btn.disabled,
61
- .btn[disabled] {
62
- cursor: default;
63
- background-color: darken($white, 10%);
64
- background-image: none;
65
- @include opacity(65);
66
- @include box-shadow(none);
67
67
  }
68
68
 
69
69
 
70
+
70
71
  // Button Sizes
71
72
  // --------------------------------------------------
72
73
 
@@ -78,47 +79,57 @@
78
79
  @include border-radius(5px);
79
80
  }
80
81
  .btn-large [class^="icon-"] {
81
- margin-top: 1px;
82
+ margin-top: 2px;
82
83
  }
83
84
 
84
85
  // Small
85
86
  .btn-small {
86
- padding: 5px 9px;
87
+ padding: 3px 9px;
87
88
  font-size: $baseFontSize - 2px;
88
89
  line-height: $baseLineHeight - 2px;
89
90
  }
90
91
  .btn-small [class^="icon-"] {
91
- margin-top: -1px;
92
+ margin-top: 0px;
92
93
  }
93
94
 
94
95
  // Mini
95
96
  .btn-mini {
96
97
  padding: 2px 6px;
97
- font-size: $baseFontSize - 2px;
98
- line-height: $baseLineHeight - 4px;
98
+ font-size: $baseFontSize - 3px;
99
+ line-height: $baseLineHeight - 3px;
100
+ }
101
+
102
+
103
+ // Block button
104
+ // -------------------------
105
+
106
+ .btn-block {
107
+ display: block;
108
+ width: 100%;
109
+ padding-left: 0;
110
+ padding-right: 0;
111
+ @include box-sizing(border-box);
99
112
  }
100
113
 
114
+ // Vertically space out multiple block buttons
115
+ .btn-block + .btn-block {
116
+ margin-top: 5px;
117
+ }
118
+
119
+ // Specificity overrides
120
+ input[type="submit"],
121
+ input[type="reset"],
122
+ input[type="button"] {
123
+ &.btn-block {
124
+ width: 100%;
125
+ }
126
+ }
127
+
128
+
101
129
 
102
130
  // Alternate buttons
103
131
  // --------------------------------------------------
104
132
 
105
- // Set text color
106
- // -------------------------
107
- .btn-primary,
108
- .btn-primary:hover,
109
- .btn-warning,
110
- .btn-warning:hover,
111
- .btn-danger,
112
- .btn-danger:hover,
113
- .btn-success,
114
- .btn-success:hover,
115
- .btn-info,
116
- .btn-info:hover,
117
- .btn-inverse,
118
- .btn-inverse:hover {
119
- color: $white;
120
- text-shadow: 0 -1px 0 rgba(0,0,0,.25);
121
- }
122
133
  // Provide *some* extra contrast for those who can get it
123
134
  .btn-primary.active,
124
135
  .btn-warning.active,
@@ -133,8 +144,8 @@
133
144
  // -------------------------
134
145
  .btn {
135
146
  // reset here as of 2.0.3 due to Recess property order
136
- border-color: #ccc;
137
- border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);
147
+ border-color: #c5c5c5;
148
+ border-color: rgba(0,0,0,.15) rgba(0,0,0,.15) rgba(0,0,0,.25);
138
149
  }
139
150
  .btn-primary {
140
151
  @include buttonBackground($btnPrimaryBackground, $btnPrimaryBackgroundHighlight);
@@ -174,8 +185,9 @@ input[type="submit"].btn {
174
185
  }
175
186
 
176
187
  // IE7 has some default padding on button controls
177
- *padding-top: 2px;
178
- *padding-bottom: 2px;
188
+ *padding-top: 3px;
189
+ *padding-bottom: 3px;
190
+
179
191
  &.btn-large {
180
192
  *padding-top: 7px;
181
193
  *padding-bottom: 7px;
@@ -189,3 +201,31 @@ input[type="submit"].btn {
189
201
  *padding-bottom: 1px;
190
202
  }
191
203
  }
204
+
205
+
206
+ // Link buttons
207
+ // --------------------------------------------------
208
+
209
+ // Make a button look and behave like a link
210
+ .btn-link,
211
+ .btn-link:active,
212
+ .btn-link[disabled] {
213
+ background-color: transparent;
214
+ background-image: none;
215
+ @include box-shadow(none);
216
+ }
217
+ .btn-link {
218
+ border-color: transparent;
219
+ cursor: pointer;
220
+ color: $linkColor;
221
+ @include border-radius(0);
222
+ }
223
+ .btn-link:hover {
224
+ color: $linkColorHover;
225
+ text-decoration: underline;
226
+ background-color: transparent;
227
+ }
228
+ .btn-link[disabled]:hover {
229
+ color: $grayDark;
230
+ text-decoration: none;
231
+ }
@@ -1,5 +1,7 @@
1
- // CAROUSEL
2
- // --------
1
+ //
2
+ // Carousel
3
+ // --------------------------------------------------
4
+
3
5
 
4
6
  .carousel {
5
7
  position: relative;
@@ -103,6 +105,7 @@
103
105
  }
104
106
  }
105
107
 
108
+
106
109
  // Caption for text below images
107
110
  // -----------------------------
108
111
 
@@ -111,11 +114,18 @@
111
114
  left: 0;
112
115
  right: 0;
113
116
  bottom: 0;
114
- padding: 10px 15px 5px;
117
+ padding: 15px;
115
118
  background: $grayDark;
116
119
  background: rgba(0,0,0,.75);
117
120
  }
118
121
  .carousel-caption h4,
119
122
  .carousel-caption p {
120
123
  color: $white;
124
+ line-height: $baseLineHeight;
125
+ }
126
+ .carousel-caption h4 {
127
+ margin: 0 0 5px;
128
+ }
129
+ .carousel-caption p {
130
+ margin-bottom: 0;
121
131
  }
@@ -1,5 +1,7 @@
1
- // CLOSE ICONS
2
- // -----------
1
+ //
2
+ // Close icons
3
+ // --------------------------------------------------
4
+
3
5
 
4
6
  .close {
5
7
  float: right;
@@ -26,4 +28,4 @@ button.close {
26
28
  background: transparent;
27
29
  border: 0;
28
30
  -webkit-appearance: none;
29
- }
31
+ }
@@ -1,13 +1,14 @@
1
- // Code
2
- // Code typography styles for the <code> and <pre> elements
3
- // --------------------------------------------------------
1
+ //
2
+ // Code (inline and blocK)
3
+ // --------------------------------------------------
4
+
4
5
 
5
6
  // Inline and block code styles
6
7
  code,
7
8
  pre {
8
9
  padding: 0 3px 2px;
9
10
  @include font-family-monospace;
10
- font-size: $baseFontSize - 1;
11
+ font-size: $baseFontSize - 2;
11
12
  color: $grayDark;
12
13
  @include border-radius(3px);
13
14
  }
@@ -25,7 +26,7 @@ pre {
25
26
  display: block;
26
27
  padding: ($baseLineHeight - 1) / 2;
27
28
  margin: 0 0 $baseLineHeight / 2;
28
- font-size: $baseFontSize * .925; // 13px to 12px
29
+ font-size: $baseFontSize - 1; // 14px to 13px
29
30
  line-height: $baseLineHeight;
30
31
  word-break: break-all;
31
32
  word-wrap: break-word;
@@ -54,4 +55,4 @@ pre {
54
55
  .pre-scrollable {
55
56
  max-height: 340px;
56
57
  overflow-y: scroll;
57
- }
58
+ }
@@ -1,5 +1,7 @@
1
- // COMPONENT ANIMATIONS
2
- // --------------------
1
+ //
2
+ // Component animations
3
+ // --------------------------------------------------
4
+
3
5
 
4
6
  .fade {
5
7
  @include opacity(0);
@@ -17,4 +19,4 @@
17
19
  &.in {
18
20
  height: auto;
19
21
  }
20
- }
22
+ }
@@ -1,5 +1,7 @@
1
- // DROPDOWN MENUS
2
- // --------------
1
+ //
2
+ // Dropdown menus
3
+ // --------------------------------------------------
4
+
3
5
 
4
6
  // Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
5
7
  .dropup,
@@ -26,7 +28,6 @@
26
28
  border-right: 4px solid transparent;
27
29
  border-left: 4px solid transparent;
28
30
  content: "";
29
- @include opacity(30);
30
31
  }
31
32
 
32
33
  // Place the caret
@@ -34,10 +35,6 @@
34
35
  margin-top: 8px;
35
36
  margin-left: 2px;
36
37
  }
37
- .dropdown:hover .caret,
38
- .open .caret {
39
- @include opacity(100);
40
- }
41
38
 
42
39
  // The dropdown menu (ul)
43
40
  // ----------------------
@@ -49,15 +46,15 @@
49
46
  display: none; // none by default, but block on "open" of the menu
50
47
  float: left;
51
48
  min-width: 160px;
52
- padding: 4px 0;
53
- margin: 1px 0 0; // override default ul
49
+ padding: 5px 0;
50
+ margin: 2px 0 0; // override default ul
54
51
  list-style: none;
55
52
  background-color: $dropdownBackground;
56
- border: 1px solid #ccc;
57
- border: 1px solid rgba(0,0,0,.2);
53
+ border: 1px solid #ccc; // Fallback for IE7-8
54
+ border: 1px solid $dropdownBorder;
58
55
  *border-right-width: 2px;
59
56
  *border-bottom-width: 2px;
60
- @include border-radius(5px);
57
+ @include border-radius(6px);
61
58
  @include box-shadow(0 5px 10px rgba(0,0,0,.2));
62
59
  -webkit-background-clip: padding-box;
63
60
  -moz-background-clip: padding;
@@ -71,13 +68,13 @@
71
68
 
72
69
  // Dividers (basically an hr) within the dropdown
73
70
  .divider {
74
- @include nav-divider();
71
+ @include nav-divider($dropdownDividerTop, $dropdownDividerBottom);
75
72
  }
76
73
 
77
74
  // Links within the dropdown menu
78
75
  a {
79
76
  display: block;
80
- padding: 3px 15px;
77
+ padding: 3px 20px;
81
78
  clear: both;
82
79
  font-weight: normal;
83
80
  line-height: $baseLineHeight;
@@ -89,11 +86,37 @@
89
86
  // Hover state
90
87
  // -----------
91
88
  .dropdown-menu li > a:hover,
89
+ .dropdown-menu li > a:focus,
90
+ .dropdown-submenu:hover > a {
91
+ text-decoration: none;
92
+ color: $dropdownLinkColorHover;
93
+ background-color: $dropdownLinkBackgroundHover;
94
+ @include gradient-vertical($dropdownLinkBackgroundHover, darken($dropdownLinkBackgroundHover, 5%));
95
+ }
96
+
97
+ // Active state
98
+ // ------------
92
99
  .dropdown-menu .active > a,
93
100
  .dropdown-menu .active > a:hover {
94
101
  color: $dropdownLinkColorHover;
95
102
  text-decoration: none;
96
- background-color: $dropdownLinkBackgroundHover;
103
+ outline: 0;
104
+ background-color: $dropdownLinkBackgroundActive;
105
+ @include gradient-vertical($dropdownLinkBackgroundActive, darken($dropdownLinkBackgroundActive, 5%));
106
+ }
107
+
108
+ // Disabled state
109
+ // --------------
110
+ // Gray out text and ensure the hover state remains gray
111
+ .dropdown-menu .disabled > a,
112
+ .dropdown-menu .disabled > a:hover {
113
+ color: $grayLight;
114
+ }
115
+ // Nuke hover effects
116
+ .dropdown-menu .disabled > a:hover {
117
+ text-decoration: none;
118
+ background-color: transparent;
119
+ cursor: default;
97
120
  }
98
121
 
99
122
  // Open state for the dropdown
@@ -103,14 +126,14 @@
103
126
  // make the menu appear below buttons that appeared later on the page
104
127
  *z-index: $zindexDropdown;
105
128
 
106
- .dropdown-menu {
129
+ & > .dropdown-menu {
107
130
  display: block;
108
131
  }
109
132
  }
110
133
 
111
134
  // Right aligned dropdowns
112
135
  // ---------------------------
113
- .pull-right .dropdown-menu {
136
+ .pull-right > .dropdown-menu {
114
137
  right: 0;
115
138
  left: auto;
116
139
  }
@@ -125,7 +148,7 @@
125
148
  .caret {
126
149
  border-top: 0;
127
150
  border-bottom: 4px solid $black;
128
- content: "\2191";
151
+ content: "";
129
152
  }
130
153
  // Different positioning for bottom up menu
131
154
  .dropdown-menu {
@@ -135,6 +158,50 @@
135
158
  }
136
159
  }
137
160
 
161
+ // Sub menus
162
+ // ---------------------------
163
+ .dropdown-submenu {
164
+ position: relative;
165
+ }
166
+ .dropdown-submenu > .dropdown-menu {
167
+ top: 0;
168
+ left: 100%;
169
+ margin-top: -6px;
170
+ margin-left: -1px;
171
+ -webkit-border-radius: 0 6px 6px 6px;
172
+ -moz-border-radius: 0 6px 6px 6px;
173
+ border-radius: 0 6px 6px 6px;
174
+ }
175
+ .dropdown-submenu:hover > .dropdown-menu {
176
+ display: block;
177
+ }
178
+
179
+ .dropdown-submenu > a:after {
180
+ display: block;
181
+ content: " ";
182
+ float: right;
183
+ width: 0;
184
+ height: 0;
185
+ border-color: transparent;
186
+ border-style: solid;
187
+ border-width: 5px 0 5px 5px;
188
+ border-left-color: darken($dropdownBackground, 20%);
189
+ margin-top: 5px;
190
+ margin-right: -10px;
191
+ }
192
+ .dropdown-submenu:hover > a:after {
193
+ border-left-color: $dropdownLinkColorHover;
194
+ }
195
+
196
+
197
+ // Tweak nav headers
198
+ // -----------------
199
+ // Increase padding from 15px to 20px on sides
200
+ .dropdown .dropdown-menu .nav-header {
201
+ padding-left: 20px;
202
+ padding-right: 20px;
203
+ }
204
+
138
205
  // Typeahead
139
206
  // ---------
140
207
  .typeahead {