padrino-admin 0.12.2 → 0.12.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/lib/padrino-admin.rb +9 -17
  3. data/lib/padrino-admin/access_control.rb +1 -0
  4. data/lib/padrino-admin/bootstrap-less/alerts.less +1 -1
  5. data/lib/padrino-admin/bootstrap-less/badges.less +10 -6
  6. data/lib/padrino-admin/bootstrap-less/bootstrap.less +0 -10
  7. data/lib/padrino-admin/bootstrap-less/breadcrumbs.less +6 -3
  8. data/lib/padrino-admin/bootstrap-less/button-groups.less +22 -44
  9. data/lib/padrino-admin/bootstrap-less/buttons.less +12 -17
  10. data/lib/padrino-admin/bootstrap-less/carousel.less +33 -10
  11. data/lib/padrino-admin/bootstrap-less/code.less +15 -8
  12. data/lib/padrino-admin/bootstrap-less/dropdowns.less +31 -11
  13. data/lib/padrino-admin/bootstrap-less/font-awesome/bordered-pulled.less +16 -0
  14. data/lib/padrino-admin/bootstrap-less/font-awesome/core.less +9 -126
  15. data/lib/padrino-admin/bootstrap-less/font-awesome/fixed-width.less +6 -0
  16. data/lib/padrino-admin/bootstrap-less/font-awesome/font-awesome.less +14 -30
  17. data/lib/padrino-admin/bootstrap-less/font-awesome/icons.less +409 -378
  18. data/lib/padrino-admin/bootstrap-less/font-awesome/larger.less +13 -0
  19. data/lib/padrino-admin/bootstrap-less/font-awesome/list.less +19 -0
  20. data/lib/padrino-admin/bootstrap-less/font-awesome/mixins.less +14 -42
  21. data/lib/padrino-admin/bootstrap-less/font-awesome/path.less +6 -6
  22. data/lib/padrino-admin/bootstrap-less/font-awesome/rotated-flipped.less +9 -0
  23. data/lib/padrino-admin/bootstrap-less/font-awesome/spinning.less +30 -0
  24. data/lib/padrino-admin/bootstrap-less/font-awesome/stacked.less +20 -0
  25. data/lib/padrino-admin/bootstrap-less/font-awesome/variables.less +377 -731
  26. data/lib/padrino-admin/bootstrap-less/forms.less +105 -39
  27. data/lib/padrino-admin/bootstrap-less/glyphicons.less +16 -15
  28. data/lib/padrino-admin/bootstrap-less/grid.less +59 -305
  29. data/lib/padrino-admin/bootstrap-less/input-groups.less +43 -13
  30. data/lib/padrino-admin/bootstrap-less/jumbotron.less +12 -8
  31. data/lib/padrino-admin/bootstrap-less/labels.less +6 -0
  32. data/lib/padrino-admin/bootstrap-less/list-group.less +37 -15
  33. data/lib/padrino-admin/bootstrap-less/mixins.less +283 -80
  34. data/lib/padrino-admin/bootstrap-less/modals.less +19 -22
  35. data/lib/padrino-admin/bootstrap-less/navbar.less +73 -78
  36. data/lib/padrino-admin/bootstrap-less/navs.less +45 -32
  37. data/lib/padrino-admin/bootstrap-less/normalize.less +148 -121
  38. data/lib/padrino-admin/bootstrap-less/padrino-admin.less +3 -1
  39. data/lib/padrino-admin/bootstrap-less/pager.less +5 -5
  40. data/lib/padrino-admin/bootstrap-less/pagination.less +8 -3
  41. data/lib/padrino-admin/bootstrap-less/panels.less +102 -20
  42. data/lib/padrino-admin/bootstrap-less/print.less +6 -5
  43. data/lib/padrino-admin/bootstrap-less/progress-bars.less +4 -19
  44. data/lib/padrino-admin/bootstrap-less/responsive-utilities.less +32 -159
  45. data/lib/padrino-admin/bootstrap-less/scaffolding.less +18 -14
  46. data/lib/padrino-admin/bootstrap-less/tables.less +47 -50
  47. data/lib/padrino-admin/bootstrap-less/theme.less +33 -18
  48. data/lib/padrino-admin/bootstrap-less/thumbnails.less +23 -18
  49. data/lib/padrino-admin/bootstrap-less/tooltip.less +9 -9
  50. data/lib/padrino-admin/bootstrap-less/type.less +139 -81
  51. data/lib/padrino-admin/bootstrap-less/utilities.less +15 -1
  52. data/lib/padrino-admin/bootstrap-less/variables.less +398 -191
  53. data/lib/padrino-admin/bootstrap-less/wells.less +1 -1
  54. data/lib/padrino-admin/generators/admin_app.rb +1 -1
  55. data/lib/padrino-admin/generators/templates/account/minirecord.rb.tt +1 -1
  56. data/lib/padrino-admin/generators/templates/assets/images/font/FontAwesome.otf +0 -0
  57. data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.eot +0 -0
  58. data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.svg +23 -8
  59. data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.ttf +0 -0
  60. data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.woff +0 -0
  61. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/affix.js +36 -25
  62. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/alert.js +7 -17
  63. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap.min.js +6 -6
  64. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/button.js +26 -28
  65. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/carousel.js +22 -34
  66. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/collapse.js +9 -18
  67. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/dropdown.js +25 -32
  68. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/modal.js +27 -30
  69. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/popover.js +16 -23
  70. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/scrollspy.js +19 -24
  71. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/tab.js +10 -20
  72. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/tooltip.js +54 -41
  73. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/transition.js +13 -21
  74. data/lib/padrino-admin/generators/templates/assets/javascripts/jquery-1.11.0.min.js +4 -0
  75. data/lib/padrino-admin/generators/templates/assets/stylesheets/bootstrap.css +4 -1238
  76. data/lib/padrino-admin/generators/templates/assets/stylesheets/fonts/FontAwesome.otf +0 -0
  77. data/lib/padrino-admin/generators/templates/assets/stylesheets/fonts/fontawesome-webfont.eot +0 -0
  78. data/lib/padrino-admin/generators/templates/assets/stylesheets/fonts/fontawesome-webfont.svg +414 -0
  79. data/lib/padrino-admin/generators/templates/assets/stylesheets/fonts/fontawesome-webfont.ttf +0 -0
  80. data/lib/padrino-admin/generators/templates/assets/stylesheets/fonts/fontawesome-webfont.woff +0 -0
  81. data/lib/padrino-admin/generators/templates/erb/app/base/index.erb.tt +5 -5
  82. data/lib/padrino-admin/generators/templates/erb/app/errors/403.erb.tt +1 -1
  83. data/lib/padrino-admin/generators/templates/erb/app/errors/404.erb.tt +1 -1
  84. data/lib/padrino-admin/generators/templates/erb/app/errors/500.erb.tt +1 -1
  85. data/lib/padrino-admin/generators/templates/erb/app/layouts/application.erb.tt +2 -2
  86. data/lib/padrino-admin/generators/templates/erb/app/sessions/new.erb.tt +1 -1
  87. data/lib/padrino-admin/generators/templates/erb/page/index.erb.tt +5 -5
  88. data/lib/padrino-admin/generators/templates/haml/app/base/index.haml.tt +5 -5
  89. data/lib/padrino-admin/generators/templates/haml/app/errors/403.haml.tt +1 -1
  90. data/lib/padrino-admin/generators/templates/haml/app/errors/404.haml.tt +1 -1
  91. data/lib/padrino-admin/generators/templates/haml/app/errors/500.haml.tt +1 -1
  92. data/lib/padrino-admin/generators/templates/haml/app/layouts/application.haml.tt +2 -2
  93. data/lib/padrino-admin/generators/templates/haml/app/sessions/new.haml.tt +2 -1
  94. data/lib/padrino-admin/generators/templates/haml/page/index.haml.tt +4 -4
  95. data/lib/padrino-admin/generators/templates/slim/app/base/index.slim.tt +5 -5
  96. data/lib/padrino-admin/generators/templates/slim/app/errors/403.slim.tt +1 -1
  97. data/lib/padrino-admin/generators/templates/slim/app/errors/404.slim.tt +1 -1
  98. data/lib/padrino-admin/generators/templates/slim/app/errors/500.slim.tt +1 -1
  99. data/lib/padrino-admin/generators/templates/slim/app/layouts/application.slim.tt +2 -2
  100. data/lib/padrino-admin/generators/templates/slim/app/sessions/new.slim.tt +1 -1
  101. data/lib/padrino-admin/generators/templates/slim/page/index.slim.tt +4 -4
  102. data/lib/padrino-admin/helpers/view_helpers.rb +1 -1
  103. data/lib/padrino-admin/locale/admin/zh_tw.yml +22 -22
  104. data/lib/padrino-admin/locale/orm/cs.yml +0 -25
  105. data/lib/padrino-admin/locale/orm/da.yml +0 -25
  106. data/lib/padrino-admin/locale/orm/de.yml +0 -25
  107. data/lib/padrino-admin/locale/orm/en.yml +0 -25
  108. data/lib/padrino-admin/locale/orm/es.yml +0 -25
  109. data/lib/padrino-admin/locale/orm/fr.yml +0 -25
  110. data/lib/padrino-admin/locale/orm/hu.yml +0 -25
  111. data/lib/padrino-admin/locale/orm/it.yml +0 -25
  112. data/lib/padrino-admin/locale/orm/ja.yml +0 -25
  113. data/lib/padrino-admin/locale/orm/lv.yml +0 -25
  114. data/lib/padrino-admin/locale/orm/nl.yml +0 -25
  115. data/lib/padrino-admin/locale/orm/no.yml +1 -26
  116. data/lib/padrino-admin/locale/orm/pt_br.yml +0 -25
  117. data/lib/padrino-admin/locale/orm/ro.yml +0 -25
  118. data/lib/padrino-admin/locale/orm/ru.yml +0 -25
  119. data/lib/padrino-admin/locale/orm/sv.yml +0 -25
  120. data/lib/padrino-admin/locale/orm/tr.yml +0 -25
  121. data/lib/padrino-admin/locale/orm/uk.yml +0 -25
  122. data/lib/padrino-admin/locale/orm/zh_cn.yml +0 -25
  123. data/lib/padrino-admin/locale/orm/zh_tw.yml +0 -25
  124. data/test/fixtures/data_mapper.rb +0 -41
  125. data/test/generators/test_admin_app_generator.rb +3 -6
  126. data/test/test_locale.rb +0 -33
  127. metadata +19 -14
  128. data/lib/padrino-admin/bootstrap-less/accordion.less +0 -31
  129. data/lib/padrino-admin/bootstrap-less/font-awesome-ie7.less +0 -1953
  130. data/lib/padrino-admin/bootstrap-less/font-awesome.less +0 -33
  131. data/lib/padrino-admin/bootstrap-less/font-awesome/bootstrap.less +0 -84
  132. data/lib/padrino-admin/bootstrap-less/font-awesome/extras.less +0 -93
  133. data/lib/padrino-admin/bootstrap-less/font-awesome/font-awesome-ie7.less +0 -1953
  134. data/lib/padrino-admin/generators/templates/assets/javascripts/jquery-1.9.0.min.js +0 -4
  135. data/lib/padrino-admin/utils/crypt.rb +0 -41
@@ -10,14 +10,6 @@
10
10
  // Kill the scroll on the body
11
11
  .modal-open {
12
12
  overflow: hidden;
13
-
14
-
15
- // Account for hiding of scrollbar
16
- body&,
17
- .navbar-fixed-top,
18
- .navbar-fixed-bottom {
19
- margin-right: 15px
20
- }
21
13
  }
22
14
 
23
15
  // Container that the modal scrolls within
@@ -30,7 +22,12 @@
30
22
  right: 0;
31
23
  bottom: 0;
32
24
  left: 0;
33
- z-index: @zindex-modal-background;
25
+ z-index: @zindex-modal;
26
+ -webkit-overflow-scrolling: touch;
27
+
28
+ // Prevent Chrome on Windows from adding a focus outline. For details, see
29
+ // https://github.com/twbs/bootstrap/pull/10951.
30
+ outline: 0;
34
31
 
35
32
  // When fading in the modal, animate it to slide down
36
33
  &.fade .modal-dialog {
@@ -42,11 +39,9 @@
42
39
 
43
40
  // Shell div to position the modal with bottom padding
44
41
  .modal-dialog {
45
- margin-left: auto;
46
- margin-right: auto;
42
+ position: relative;
47
43
  width: auto;
48
- padding: 10px;
49
- z-index: (@zindex-modal-background + 10);
44
+ margin: 10px;
50
45
  }
51
46
 
52
47
  // Actual modal
@@ -69,11 +64,11 @@
69
64
  right: 0;
70
65
  bottom: 0;
71
66
  left: 0;
72
- z-index: (@zindex-modal-background - 10);
67
+ z-index: @zindex-modal-background;
73
68
  background-color: @modal-backdrop-bg;
74
69
  // Fade for backdrop
75
70
  &.fade { .opacity(0); }
76
- &.in { .opacity(.5); }
71
+ &.in { .opacity(@modal-backdrop-opacity); }
77
72
  }
78
73
 
79
74
  // Modal header
@@ -107,7 +102,7 @@
107
102
  padding: (@modal-inner-padding - 1) @modal-inner-padding @modal-inner-padding;
108
103
  text-align: right; // right align buttons
109
104
  border-top: 1px solid @modal-footer-border-color;
110
- .clearfix(); // clear it in case folks use .pull-* classes on buttons
105
+ &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons
111
106
 
112
107
  // Properly space out buttons
113
108
  .btn + .btn {
@@ -125,17 +120,19 @@
125
120
  }
126
121
 
127
122
  // Scale up the modal
128
- @media screen and (min-width: @screen-tablet) {
123
+ @media (min-width: @screen-sm-min) {
129
124
 
125
+ // Automatically set modal's width for larger viewports
130
126
  .modal-dialog {
131
- left: 50%;
132
- right: auto;
133
- width: 600px;
134
- padding-top: 30px;
135
- padding-bottom: 30px;
127
+ width: @modal-md;
128
+ margin: 30px auto;
136
129
  }
137
130
  .modal-content {
138
131
  .box-shadow(0 5px 15px rgba(0,0,0,.5));
139
132
  }
140
133
 
134
+ // Modal sizes
135
+ .modal-sm { width: @modal-sm; }
136
+ .modal-lg { width: @modal-lg; }
137
+
141
138
  }
@@ -10,13 +10,12 @@
10
10
 
11
11
  .navbar {
12
12
  position: relative;
13
- z-index: @zindex-navbar;
14
13
  min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
15
14
  margin-bottom: @navbar-margin-bottom;
16
15
  border: 1px solid transparent;
17
16
 
18
17
  // Prevent floats from breaking the navbar
19
- .clearfix();
18
+ &:extend(.clearfix all);
20
19
 
21
20
  @media (min-width: @grid-float-breakpoint) {
22
21
  border-radius: @navbar-border-radius;
@@ -30,7 +29,7 @@
30
29
  // styling of responsive aspects.
31
30
 
32
31
  .navbar-header {
33
- .clearfix();
32
+ &:extend(.clearfix all);
34
33
 
35
34
  @media (min-width: @grid-float-breakpoint) {
36
35
  float: left;
@@ -49,13 +48,13 @@
49
48
  // content for the user's viewport.
50
49
 
51
50
  .navbar-collapse {
52
- max-height: 340px;
51
+ max-height: @navbar-collapse-max-height;
53
52
  overflow-x: visible;
54
53
  padding-right: @navbar-padding-horizontal;
55
54
  padding-left: @navbar-padding-horizontal;
56
55
  border-top: 1px solid transparent;
57
56
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
58
- .clearfix();
57
+ &:extend(.clearfix all);
59
58
  -webkit-overflow-scrolling: touch;
60
59
 
61
60
  &.in {
@@ -78,15 +77,13 @@
78
77
  overflow-y: visible;
79
78
  }
80
79
 
81
- // Account for first and last children spacing
82
- .navbar-nav.navbar-left:first-child {
83
- margin-left: -@navbar-padding-horizontal;
84
- }
85
- .navbar-nav.navbar-right:last-child {
86
- margin-right: -@navbar-padding-horizontal;
87
- }
88
- .navbar-text:last-child {
89
- margin-right: 0;
80
+ // Undo the collapse side padding for navbars with containers to ensure
81
+ // alignment of right-aligned contents.
82
+ .navbar-fixed-top &,
83
+ .navbar-static-top &,
84
+ .navbar-fixed-bottom & {
85
+ padding-left: 0;
86
+ padding-right: 0;
90
87
  }
91
88
  }
92
89
  }
@@ -96,14 +93,17 @@
96
93
  //
97
94
  // When a container is present, change the behavior of the header and collapse.
98
95
 
99
- .container > .navbar-header,
100
- .container > .navbar-collapse {
101
- margin-right: -@navbar-padding-horizontal;
102
- margin-left: -@navbar-padding-horizontal;
96
+ .container,
97
+ .container-fluid {
98
+ > .navbar-header,
99
+ > .navbar-collapse {
100
+ margin-right: -@navbar-padding-horizontal;
101
+ margin-left: -@navbar-padding-horizontal;
103
102
 
104
- @media (min-width: @grid-float-breakpoint) {
105
- margin-right: 0;
106
- margin-left: 0;
103
+ @media (min-width: @grid-float-breakpoint) {
104
+ margin-right: 0;
105
+ margin-left: 0;
106
+ }
107
107
  }
108
108
  }
109
109
 
@@ -111,12 +111,14 @@
111
111
  //
112
112
  // Navbar alignment options
113
113
  //
114
- // Display the navbar across the entirity of the page or fixed it to the top or
114
+ // Display the navbar across the entirety of the page or fixed it to the top or
115
115
  // bottom of the page.
116
116
 
117
117
  // Static top (unfixed, but 100% wide) navbar
118
118
  .navbar-static-top {
119
+ z-index: @zindex-navbar;
119
120
  border-width: 0 0 1px;
121
+
120
122
  @media (min-width: @grid-float-breakpoint) {
121
123
  border-radius: 0;
122
124
  }
@@ -128,7 +130,7 @@
128
130
  position: fixed;
129
131
  right: 0;
130
132
  left: 0;
131
- border-width: 0 0 1px;
133
+ z-index: @zindex-navbar-fixed;
132
134
 
133
135
  // Undo the rounded corners
134
136
  @media (min-width: @grid-float-breakpoint) {
@@ -136,12 +138,13 @@
136
138
  }
137
139
  }
138
140
  .navbar-fixed-top {
139
- z-index: @zindex-navbar-fixed;
140
141
  top: 0;
142
+ border-width: 0 0 1px;
141
143
  }
142
144
  .navbar-fixed-bottom {
143
145
  bottom: 0;
144
146
  margin-bottom: 0; // override .navbar defaults
147
+ border-width: 1px 0 0;
145
148
  }
146
149
 
147
150
 
@@ -152,13 +155,16 @@
152
155
  padding: @navbar-padding-vertical @navbar-padding-horizontal;
153
156
  font-size: @font-size-large;
154
157
  line-height: @line-height-computed;
158
+ height: @line-height-computed;
159
+
155
160
  &:hover,
156
161
  &:focus {
157
162
  text-decoration: none;
158
163
  }
159
164
 
160
165
  @media (min-width: @grid-float-breakpoint) {
161
- .navbar > .container & {
166
+ .navbar > .container &,
167
+ .navbar > .container-fluid & {
162
168
  margin-left: -@navbar-padding-horizontal;
163
169
  }
164
170
  }
@@ -177,9 +183,16 @@
177
183
  padding: 9px 10px;
178
184
  .navbar-vertical-align(34px);
179
185
  background-color: transparent;
186
+ background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
180
187
  border: 1px solid transparent;
181
188
  border-radius: @border-radius-base;
182
189
 
190
+ // We remove the `outline` here, but later compensate by attaching `:hover`
191
+ // styles to `:focus`.
192
+ &:focus {
193
+ outline: none;
194
+ }
195
+
183
196
  // Bars
184
197
  .icon-bar {
185
198
  display: block;
@@ -199,7 +212,7 @@
199
212
 
200
213
  // Navbar nav links
201
214
  //
202
- // Builds on top of the `.nav` components with it's own modifier class to make
215
+ // Builds on top of the `.nav` components with its own modifier class to make
203
216
  // the nav the full height of the horizontal nav (above 768px).
204
217
 
205
218
  .navbar-nav {
@@ -211,7 +224,7 @@
211
224
  line-height: @line-height-computed;
212
225
  }
213
226
 
214
- @media (max-width: @screen-xs-max) {
227
+ @media (max-width: @grid-float-breakpoint-max) {
215
228
  // Dropdowns get custom display when collapsed
216
229
  .open .dropdown-menu {
217
230
  position: static;
@@ -243,18 +256,21 @@
243
256
  > li {
244
257
  float: left;
245
258
  > a {
246
- padding-top: ((@navbar-height - @line-height-computed) / 2);
247
- padding-bottom: ((@navbar-height - @line-height-computed) / 2);
259
+ padding-top: @navbar-padding-vertical;
260
+ padding-bottom: @navbar-padding-vertical;
248
261
  }
249
262
  }
250
- }
251
263
 
264
+ &.navbar-right:last-child {
265
+ margin-right: -@navbar-padding-horizontal;
266
+ }
267
+ }
252
268
  }
253
269
 
254
270
 
255
271
  // Component alignment
256
272
  //
257
- // Repurpose the pull utilities as their own navbar utilities to avoid specifity
273
+ // Repurpose the pull utilities as their own navbar utilities to avoid specificity
258
274
  // issues with parents and chaining. Only do this when the navbar is uncollapsed
259
275
  // though so that navbar contents properly stack and align in mobile.
260
276
 
@@ -282,7 +298,7 @@
282
298
  .form-inline();
283
299
 
284
300
  .form-group {
285
- @media (max-width: @screen-xs-max) {
301
+ @media (max-width: @grid-float-breakpoint-max) {
286
302
  margin-bottom: 5px;
287
303
  }
288
304
  }
@@ -299,6 +315,11 @@
299
315
  padding-top: 0;
300
316
  padding-bottom: 0;
301
317
  .box-shadow(none);
318
+
319
+ // Outdent the form if last child to line up with content down the page
320
+ &.navbar-right:last-child {
321
+ margin-right: -@navbar-padding-horizontal;
322
+ }
302
323
  }
303
324
  }
304
325
 
@@ -315,13 +336,6 @@
315
336
  .border-bottom-radius(0);
316
337
  }
317
338
 
318
- // Right aligned menus need alt position
319
- .navbar-nav.pull-right > li > .dropdown-menu,
320
- .navbar-nav > li > .dropdown-menu.pull-right {
321
- left: auto;
322
- right: 0;
323
- }
324
-
325
339
 
326
340
  // Buttons in navbars
327
341
  //
@@ -329,6 +343,13 @@
329
343
 
330
344
  .navbar-btn {
331
345
  .navbar-vertical-align(@input-height-base);
346
+
347
+ &.btn-sm {
348
+ .navbar-vertical-align(@input-height-small);
349
+ }
350
+ &.btn-xs {
351
+ .navbar-vertical-align(22);
352
+ }
332
353
  }
333
354
 
334
355
 
@@ -337,12 +358,17 @@
337
358
  // Add a class to make any element properly align itself vertically within the navbars.
338
359
 
339
360
  .navbar-text {
340
- float: left;
341
361
  .navbar-vertical-align(@line-height-computed);
342
362
 
343
363
  @media (min-width: @grid-float-breakpoint) {
364
+ float: left;
344
365
  margin-left: @navbar-padding-horizontal;
345
366
  margin-right: @navbar-padding-horizontal;
367
+
368
+ // Outdent the form if last child to line up with content down the page
369
+ &.navbar-right:last-child {
370
+ margin-right: 0;
371
+ }
346
372
  }
347
373
  }
348
374
 
@@ -408,18 +434,11 @@
408
434
 
409
435
  .navbar-collapse,
410
436
  .navbar-form {
411
- border-color: darken(@navbar-default-bg, 7%);
437
+ border-color: @navbar-default-border;
412
438
  }
413
439
 
414
- // Dropdown menu items and carets
440
+ // Dropdown menu items
415
441
  .navbar-nav {
416
- // Caret should match text color on hover
417
- > .dropdown > a:hover .caret,
418
- > .dropdown > a:focus .caret {
419
- border-top-color: @navbar-default-link-hover-color;
420
- border-bottom-color: @navbar-default-link-hover-color;
421
- }
422
-
423
442
  // Remove background color from open dropdown
424
443
  > .open > a {
425
444
  &,
@@ -427,19 +446,10 @@
427
446
  &:focus {
428
447
  background-color: @navbar-default-link-active-bg;
429
448
  color: @navbar-default-link-active-color;
430
- .caret {
431
- border-top-color: @navbar-default-link-active-color;
432
- border-bottom-color: @navbar-default-link-active-color;
433
- }
434
449
  }
435
450
  }
436
- > .dropdown > a .caret {
437
- border-top-color: @navbar-default-link-color;
438
- border-bottom-color: @navbar-default-link-color;
439
- }
440
451
 
441
-
442
- @media (max-width: @screen-xs-max) {
452
+ @media (max-width: @grid-float-breakpoint-max) {
443
453
  // Dropdowns get custom display when collapsed
444
454
  .open .dropdown-menu {
445
455
  > li > a {
@@ -558,31 +568,16 @@
558
568
  color: @navbar-inverse-link-active-color;
559
569
  }
560
570
  }
561
- > .dropdown > a:hover .caret {
562
- border-top-color: @navbar-inverse-link-hover-color;
563
- border-bottom-color: @navbar-inverse-link-hover-color;
564
- }
565
- > .dropdown > a .caret {
566
- border-top-color: @navbar-inverse-link-color;
567
- border-bottom-color: @navbar-inverse-link-color;
568
- }
569
- > .open > a {
570
- &,
571
- &:hover,
572
- &:focus {
573
- .caret {
574
- border-top-color: @navbar-inverse-link-active-color;
575
- border-bottom-color: @navbar-inverse-link-active-color;
576
- }
577
- }
578
- }
579
571
 
580
- @media (max-width: @screen-xs-max) {
572
+ @media (max-width: @grid-float-breakpoint-max) {
581
573
  // Dropdowns get custom display
582
574
  .open .dropdown-menu {
583
575
  > .dropdown-header {
584
576
  border-color: @navbar-inverse-border;
585
577
  }
578
+ .divider {
579
+ background-color: @navbar-inverse-border;
580
+ }
586
581
  > li > a {
587
582
  color: @navbar-inverse-link-color;
588
583
  &:hover,
@@ -10,7 +10,7 @@
10
10
  margin-bottom: 0;
11
11
  padding-left: 0; // Override default ul/ol
12
12
  list-style: none;
13
- .clearfix();
13
+ &:extend(.clearfix all);
14
14
 
15
15
  > li {
16
16
  position: relative;
@@ -51,12 +51,17 @@
51
51
  }
52
52
  }
53
53
 
54
- // Dividers (basically an hr) within the dropdown
54
+ // Nav dividers (deprecated with v3.0.1)
55
+ //
56
+ // This should have been removed in v3 with the dropping of `.nav-list`, but
57
+ // we missed it. We don't currently support this anywhere, but in the interest
58
+ // of maintaining backward compatibility in case you use it, it's deprecated.
55
59
  .nav-divider {
56
60
  .nav-divider();
57
61
  }
58
62
 
59
63
  // Prevent IE8 from misplacing imgs
64
+ //
60
65
  // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
61
66
  > li > a > img {
62
67
  max-width: none;
@@ -86,7 +91,7 @@
86
91
  }
87
92
  }
88
93
 
89
- // Active state, and it's :hover to override normal :hover
94
+ // Active state, and its :hover to override normal :hover
90
95
  &.active > a {
91
96
  &,
92
97
  &:hover,
@@ -115,7 +120,7 @@
115
120
 
116
121
  // Links rendered as pills
117
122
  > a {
118
- border-radius: 5px;
123
+ border-radius: @nav-pills-border-radius;
119
124
  }
120
125
  + li {
121
126
  margin-left: 2px;
@@ -159,28 +164,54 @@
159
164
  float: none;
160
165
  > a {
161
166
  text-align: center;
167
+ margin-bottom: 5px;
162
168
  }
163
169
  }
164
170
 
165
- @media (min-width: @screen-sm) {
171
+ > .dropdown .dropdown-menu {
172
+ top: auto;
173
+ left: auto;
174
+ }
175
+
176
+ @media (min-width: @screen-sm-min) {
166
177
  > li {
167
178
  display: table-cell;
168
179
  width: 1%;
180
+ > a {
181
+ margin-bottom: 0;
182
+ }
169
183
  }
170
184
  }
171
185
  }
172
186
 
173
187
  // Move borders to anchors instead of bottom of list
188
+ //
189
+ // Mixin for adding on top the shared `.nav-justified` styles for our tabs
174
190
  .nav-tabs-justified {
175
191
  border-bottom: 0;
176
- > li > a {
177
- border-bottom: 1px solid @nav-tabs-justified-link-border-color;
178
192
 
193
+ > li > a {
179
194
  // Override margin from .nav-tabs
180
195
  margin-right: 0;
196
+ border-radius: @border-radius-base;
197
+ }
198
+
199
+ > .active > a,
200
+ > .active > a:hover,
201
+ > .active > a:focus {
202
+ border: 1px solid @nav-tabs-justified-link-border-color;
181
203
  }
182
- > .active > a {
183
- border-bottom-color: @nav-tabs-justified-active-link-border-color;
204
+
205
+ @media (min-width: @screen-sm-min) {
206
+ > li > a {
207
+ border-bottom: 1px solid @nav-tabs-justified-link-border-color;
208
+ border-radius: @border-radius-base @border-radius-base 0 0;
209
+ }
210
+ > .active > a,
211
+ > .active > a:hover,
212
+ > .active > a:focus {
213
+ border-bottom-color: @nav-tabs-justified-active-link-border-color;
214
+ }
184
215
  }
185
216
  }
186
217
 
@@ -188,38 +219,20 @@
188
219
  // Tabbable tabs
189
220
  // -------------------------
190
221
 
191
- // Clear any floats
192
- .tabbable {
193
- .clearfix();
194
- }
195
-
196
- // Show/hide tabbable areas
197
- .tab-content > .tab-pane,
198
- .pill-content > .pill-pane {
199
- display: none;
200
- }
201
- .tab-content,
202
- .pill-content {
222
+ // Hide tabbable panes to start, show them when `.active`
223
+ .tab-content {
224
+ > .tab-pane {
225
+ display: none;
226
+ }
203
227
  > .active {
204
228
  display: block;
205
229
  }
206
230
  }
207
231
 
208
232
 
209
-
210
233
  // Dropdowns
211
234
  // -------------------------
212
235
 
213
- // Make dropdown carets use link color in navs
214
- .nav .caret {
215
- border-top-color: @link-color;
216
- border-bottom-color: @link-color;
217
- }
218
- .nav a:hover .caret {
219
- border-top-color: @link-hover-color;
220
- border-bottom-color: @link-hover-color;
221
- }
222
-
223
236
  // Specific dropdowns
224
237
  .nav-tabs .dropdown-menu {
225
238
  // make dropdown border overlap tab border