padrino-admin 0.11.2 → 0.11.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/padrino-admin/bootstrap-less/accordion.less +6 -9
- data/lib/padrino-admin/bootstrap-less/alerts.less +46 -51
- data/lib/padrino-admin/bootstrap-less/badges.less +2 -7
- data/lib/padrino-admin/bootstrap-less/bootstrap.less +0 -1
- data/lib/padrino-admin/bootstrap-less/breadcrumbs.less +3 -3
- data/lib/padrino-admin/bootstrap-less/button-groups.less +37 -37
- data/lib/padrino-admin/bootstrap-less/buttons.less +52 -67
- data/lib/padrino-admin/bootstrap-less/carousel.less +24 -35
- data/lib/padrino-admin/bootstrap-less/close.less +14 -13
- data/lib/padrino-admin/bootstrap-less/code.less +4 -7
- data/lib/padrino-admin/bootstrap-less/component-animations.less +2 -11
- data/lib/padrino-admin/bootstrap-less/dropdowns.less +26 -82
- data/lib/padrino-admin/bootstrap-less/font-awesome-ie7.less +1895 -292
- data/lib/padrino-admin/bootstrap-less/font-awesome.less +26 -530
- data/lib/padrino-admin/bootstrap-less/font-awesome/bootstrap.less +84 -0
- data/lib/padrino-admin/bootstrap-less/font-awesome/core.less +129 -0
- data/lib/padrino-admin/bootstrap-less/font-awesome/extras.less +93 -0
- data/lib/padrino-admin/bootstrap-less/font-awesome/font-awesome-ie7.less +1953 -0
- data/lib/padrino-admin/bootstrap-less/font-awesome/font-awesome.less +33 -0
- data/lib/padrino-admin/bootstrap-less/font-awesome/icons.less +381 -0
- data/lib/padrino-admin/bootstrap-less/font-awesome/mixins.less +48 -0
- data/lib/padrino-admin/bootstrap-less/font-awesome/path.less +14 -0
- data/lib/padrino-admin/bootstrap-less/font-awesome/variables.less +735 -0
- data/lib/padrino-admin/bootstrap-less/forms.less +123 -227
- data/lib/padrino-admin/bootstrap-less/grid.less +174 -19
- data/lib/padrino-admin/bootstrap-less/jumbotron.less +4 -4
- data/lib/padrino-admin/bootstrap-less/labels.less +52 -28
- data/lib/padrino-admin/bootstrap-less/list-group.less +37 -44
- data/lib/padrino-admin/bootstrap-less/media.less +1 -1
- data/lib/padrino-admin/bootstrap-less/mixins.less +97 -120
- data/lib/padrino-admin/bootstrap-less/modals.less +5 -4
- data/lib/padrino-admin/bootstrap-less/navbar.less +148 -174
- data/lib/padrino-admin/bootstrap-less/navs.less +145 -164
- data/lib/padrino-admin/bootstrap-less/padrino-admin.less +2 -2
- data/lib/padrino-admin/bootstrap-less/pager.less +45 -33
- data/lib/padrino-admin/bootstrap-less/pagination.less +11 -23
- data/lib/padrino-admin/bootstrap-less/panels.less +11 -1
- data/lib/padrino-admin/bootstrap-less/popovers.less +6 -6
- data/lib/padrino-admin/bootstrap-less/print.less +13 -2
- data/lib/padrino-admin/bootstrap-less/progress-bars.less +3 -3
- data/lib/padrino-admin/bootstrap-less/responsive-utilities.less +92 -32
- data/lib/padrino-admin/bootstrap-less/scaffolding.less +9 -18
- data/lib/padrino-admin/bootstrap-less/tables.less +70 -67
- data/lib/padrino-admin/bootstrap-less/thumbnails.less +6 -6
- data/lib/padrino-admin/bootstrap-less/tooltip.less +25 -1
- data/lib/padrino-admin/bootstrap-less/type.less +39 -46
- data/lib/padrino-admin/bootstrap-less/variables.less +135 -63
- data/lib/padrino-admin/generators/admin_app.rb +9 -0
- data/lib/padrino-admin/generators/admin_page.rb +9 -0
- data/lib/padrino-admin/generators/orm.rb +1 -10
- data/lib/padrino-admin/generators/templates/account/activerecord.rb.tt +1 -1
- data/lib/padrino-admin/generators/templates/account/datamapper.rb.tt +1 -1
- data/lib/padrino-admin/generators/templates/account/minirecord.rb.tt +1 -1
- data/lib/padrino-admin/generators/templates/account/mongoid.rb.tt +1 -1
- data/lib/padrino-admin/generators/templates/account/mongomapper.rb.tt +1 -1
- data/lib/padrino-admin/generators/templates/account/sequel.rb.tt +1 -1
- data/lib/padrino-admin/generators/templates/assets/images/font/FontAwesome.otf +0 -0
- data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.eot +0 -0
- data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.svg +153 -38
- data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.ttf +0 -0
- data/lib/padrino-admin/generators/templates/assets/images/font/fontawesome-webfont.woff +0 -0
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/affix.js +120 -0
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/{bootstrap-alert.js → alert.js} +32 -35
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap.min.js +1 -1
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/{bootstrap-button.js → button.js} +37 -37
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/carousel.js +210 -0
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/collapse.js +156 -0
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/dropdown.js +155 -0
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/modal.js +243 -0
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/popover.js +111 -0
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/scrollspy.js +156 -0
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/tab.js +133 -0
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/tooltip.js +356 -0
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/transition.js +47 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/bootstrap.css +406 -452
- data/lib/padrino-admin/generators/templates/erb/app/layouts/application.erb.tt +3 -3
- data/lib/padrino-admin/generators/templates/erb/app/sessions/new.erb.tt +1 -1
- data/lib/padrino-admin/generators/templates/haml/app/layouts/application.haml.tt +3 -3
- data/lib/padrino-admin/generators/templates/haml/app/sessions/new.haml.tt +1 -1
- data/lib/padrino-admin/generators/templates/page/controller.rb.tt +1 -1
- data/lib/padrino-admin/generators/templates/slim/app/layouts/application.slim.tt +3 -3
- data/lib/padrino-admin/generators/templates/slim/app/sessions/new.slim.tt +1 -1
- data/lib/padrino-admin/helpers/view_helpers.rb +1 -1
- data/test/generators/test_admin_app_generator.rb +9 -0
- data/test/generators/test_admin_page_generator.rb +11 -0
- metadata +27 -23
- data/lib/padrino-admin/bootstrap-less/glyphicons.less +0 -200
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-affix.js +0 -117
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-carousel.js +0 -207
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-collapse.js +0 -167
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-dropdown.js +0 -165
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-modal.js +0 -251
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-popover.js +0 -114
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-scrollspy.js +0 -162
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-tab.js +0 -144
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-tooltip.js +0 -361
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-transition.js +0 -60
- data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-typeahead.js +0 -335
@@ -71,7 +71,7 @@
|
|
71
71
|
// CSS image replacement
|
72
72
|
// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
|
73
73
|
.hide-text() {
|
74
|
-
font: 0/0 a;
|
74
|
+
font: ~"0/0" a;
|
75
75
|
color: transparent;
|
76
76
|
text-shadow: none;
|
77
77
|
background-color: transparent;
|
@@ -155,7 +155,6 @@
|
|
155
155
|
-ms-transform: skewX(@x) skewY(@y); // See https://github.com/twitter/bootstrap/issues/4885
|
156
156
|
-o-transform: skew(@x, @y);
|
157
157
|
transform: skew(@x, @y);
|
158
|
-
-webkit-backface-visibility: hidden; // See https://github.com/twitter/bootstrap/issues/5319
|
159
158
|
}
|
160
159
|
.translate3d(@x, @y, @z) {
|
161
160
|
-webkit-transform: translate3d(@x, @y, @z);
|
@@ -242,66 +241,71 @@
|
|
242
241
|
|
243
242
|
|
244
243
|
|
245
|
-
//
|
244
|
+
// GRADIENTS
|
246
245
|
// --------------------------------------------------
|
247
246
|
|
248
|
-
// Gradients
|
249
247
|
#gradient {
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
background-
|
248
|
+
|
249
|
+
// Horizontal gradient, from left to right
|
250
|
+
//
|
251
|
+
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
252
|
+
// Color stops are not available in IE9 and below.
|
253
|
+
.horizontal(@start-color: #555; @start-percent: 0%; @end-color: #333; @end-percent: 100%) {
|
254
|
+
background-color: @end-color;
|
255
|
+
background-image: -webkit-gradient(linear, @start-percent top, @end-percent top, from(@start-color), to(@end-color)); // Safari 4+, Chrome 2+
|
256
|
+
background-image: -webkit-linear-gradient(left, color-stop(@start-color @start-percent), color-stop(@end-color @end-percent)); // Safari 5.1+, Chrome 10+
|
257
|
+
background-image: -moz-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // FF 3.6+
|
258
|
+
background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10
|
257
259
|
background-repeat: repeat-x;
|
258
|
-
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@
|
260
|
+
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down
|
259
261
|
}
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
background-
|
262
|
+
|
263
|
+
// Vertical gradient, from top to bottom
|
264
|
+
//
|
265
|
+
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
266
|
+
// Color stops are not available in IE9 and below.
|
267
|
+
.vertical(@start-color: #555; @start-percent: 0%; @end-color: #333; @end-percent: 100%) {
|
268
|
+
background-color: @end-color;
|
269
|
+
background-image: -webkit-gradient(linear, left @start-percent, left @end-percent, from(@start-color), to(@end-color)); // Safari 4+, Chrome 2+
|
270
|
+
background-image: -webkit-linear-gradient(top, @start-color, @start-percent, @end-color, @end-percent); // Safari 5.1+, Chrome 10+
|
271
|
+
background-image: -moz-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // FF 3.6+
|
272
|
+
background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10
|
267
273
|
background-repeat: repeat-x;
|
268
|
-
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@
|
274
|
+
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down
|
269
275
|
}
|
270
|
-
|
271
|
-
|
276
|
+
|
277
|
+
.directional(@start-color: #555, @end-color: #333, @deg: 45deg) {
|
278
|
+
background-color: @end-color;
|
272
279
|
background-repeat: repeat-x;
|
273
|
-
background-image: -
|
274
|
-
background-image: -
|
275
|
-
background-image:
|
276
|
-
background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10
|
280
|
+
background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1+, Chrome 10+
|
281
|
+
background-image: -moz-linear-gradient(@deg, @start-color, @end-color); // FF 3.6+
|
282
|
+
background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10
|
277
283
|
}
|
278
|
-
.horizontal-three-colors(@
|
279
|
-
background-color: mix(@
|
280
|
-
background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from(@
|
281
|
-
background-image: -webkit-linear-gradient(left, @
|
282
|
-
background-image: -moz-linear-gradient(left, @
|
283
|
-
background-image:
|
284
|
-
background-image: linear-gradient(to right, @startColor, @midColor @colorStop, @endColor);
|
284
|
+
.horizontal-three-colors(@start-color: #00b3ee, @mid-color: #7a43b6, @color-stop: 50%, @end-color: #c3325f) {
|
285
|
+
background-color: mix(@mid-color, @end-color, 80%);
|
286
|
+
background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from(@start-color), color-stop(@color-stop, @mid-color), to(@end-color));
|
287
|
+
background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
|
288
|
+
background-image: -moz-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
|
289
|
+
background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);
|
285
290
|
background-repeat: no-repeat;
|
286
|
-
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@
|
291
|
+
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
|
287
292
|
}
|
288
293
|
|
289
|
-
.vertical-three-colors(@
|
290
|
-
background-color: mix(@
|
291
|
-
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@
|
292
|
-
background-image: -webkit-linear-gradient(@
|
293
|
-
background-image: -moz-linear-gradient(top, @
|
294
|
-
background-image:
|
295
|
-
background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
|
294
|
+
.vertical-three-colors(@start-color: #00b3ee, @mid-color: #7a43b6, @color-stop: 50%, @end-color: #c3325f) {
|
295
|
+
background-color: mix(@mid-color, @end-color, 80%);
|
296
|
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@start-color), color-stop(@color-stop, @mid-color), to(@end-color));
|
297
|
+
background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);
|
298
|
+
background-image: -moz-linear-gradient(top, @start-color, @mid-color @color-stop, @end-color);
|
299
|
+
background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);
|
296
300
|
background-repeat: no-repeat;
|
297
|
-
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@
|
301
|
+
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
|
298
302
|
}
|
299
|
-
.radial(@
|
300
|
-
background-color: @
|
301
|
-
background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@
|
302
|
-
background-image: -webkit-radial-gradient(circle, @
|
303
|
-
background-image: -moz-radial-gradient(circle, @
|
304
|
-
background-image:
|
303
|
+
.radial(@inner-color: #555, @outer-color: #333) {
|
304
|
+
background-color: @outer-color;
|
305
|
+
background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@inner-color), to(@outer-color));
|
306
|
+
background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);
|
307
|
+
background-image: -moz-radial-gradient(circle, @inner-color, @outer-color);
|
308
|
+
background-image: radial-gradient(circle, @inner-color, @outer-color);
|
305
309
|
background-repeat: no-repeat;
|
306
310
|
}
|
307
311
|
.striped(@color: #555, @angle: 45deg) {
|
@@ -309,16 +313,20 @@
|
|
309
313
|
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
|
310
314
|
background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
311
315
|
background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
312
|
-
background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
313
316
|
background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
314
317
|
}
|
315
318
|
}
|
319
|
+
|
316
320
|
// Reset filters for IE
|
321
|
+
//
|
322
|
+
// When you need to remove a gradient background, don't forget to use this to reset
|
323
|
+
// the IE filter for IE9 and below.
|
317
324
|
.reset-filter() {
|
318
325
|
filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
|
319
326
|
}
|
320
327
|
|
321
328
|
|
329
|
+
|
322
330
|
// RETINA IMAGE SUPPORT
|
323
331
|
// --------------------------------------------------
|
324
332
|
|
@@ -347,7 +355,7 @@
|
|
347
355
|
// Dividers (basically an hr) within dropdowns and nav lists
|
348
356
|
.nav-divider(@top: #e5e5e5, @bottom: #fff) {
|
349
357
|
height: 2px; // 1px for background, one for border
|
350
|
-
margin: ((@line-height-
|
358
|
+
margin: ((@line-height-computed / 2) - 1) 0;
|
351
359
|
overflow: hidden;
|
352
360
|
background-color: @top;
|
353
361
|
border-bottom: 1px solid @bottom;
|
@@ -357,7 +365,8 @@
|
|
357
365
|
// -------------------------
|
358
366
|
// Easily pump out default styles, as well as :hover, :focus, :active,
|
359
367
|
// and disabled options for all buttons
|
360
|
-
.btn-pseudo-states(@background, @border) {
|
368
|
+
.btn-pseudo-states(@color, @background, @border) {
|
369
|
+
color: @color;
|
361
370
|
background-color: @background;
|
362
371
|
border-color: @border;
|
363
372
|
|
@@ -372,6 +381,7 @@
|
|
372
381
|
&.disabled,
|
373
382
|
&[disabled],
|
374
383
|
fieldset[disabled] & {
|
384
|
+
&,
|
375
385
|
&:hover,
|
376
386
|
&:focus,
|
377
387
|
&:active,
|
@@ -391,7 +401,22 @@
|
|
391
401
|
margin-bottom: ((@navbar-height - @element-height) / 2);
|
392
402
|
}
|
393
403
|
|
404
|
+
// Responsive utilities
|
405
|
+
// -------------------------
|
406
|
+
// More easily include all the states for responsive-utilities.less.
|
407
|
+
.responsive-visibility() {
|
408
|
+
display: block !important;
|
409
|
+
tr& { display: table-row !important; }
|
410
|
+
th&,
|
411
|
+
td& { display: table-cell !important; }
|
412
|
+
}
|
394
413
|
|
414
|
+
.responsive-invisibility() {
|
415
|
+
display: none !important;
|
416
|
+
tr& { display: none !important; }
|
417
|
+
th&,
|
418
|
+
td& { display: none !important; }
|
419
|
+
}
|
395
420
|
|
396
421
|
// Grid System
|
397
422
|
// -----------
|
@@ -410,6 +435,11 @@
|
|
410
435
|
// Then clear the floated columns
|
411
436
|
.clearfix();
|
412
437
|
|
438
|
+
@media (min-width: @screen-small) {
|
439
|
+
margin-left: (@grid-gutter-width / -2);
|
440
|
+
margin-right: (@grid-gutter-width / -2);
|
441
|
+
}
|
442
|
+
|
413
443
|
// Negative margin nested rows out to align the content of columns
|
414
444
|
.row {
|
415
445
|
margin-left: (@grid-gutter-width / -2);
|
@@ -418,16 +448,18 @@
|
|
418
448
|
}
|
419
449
|
// Generate the columns
|
420
450
|
.make-column(@columns) {
|
421
|
-
|
422
|
-
float: left;
|
423
|
-
// Calculate width based on number of columns available
|
424
|
-
width: percentage(@columns / @grid-columns);
|
425
|
-
}
|
451
|
+
position: relative;
|
426
452
|
// Prevent columns from collapsing when empty
|
427
453
|
min-height: 1px;
|
428
|
-
//
|
454
|
+
// Inner gutter via padding
|
429
455
|
padding-left: (@grid-gutter-width / 2);
|
430
456
|
padding-right: (@grid-gutter-width / 2);
|
457
|
+
|
458
|
+
// Calculate width based on number of columns available
|
459
|
+
@media (min-width: @grid-float-breakpoint) {
|
460
|
+
float: left;
|
461
|
+
width: percentage((@columns / @grid-columns));
|
462
|
+
}
|
431
463
|
}
|
432
464
|
// Generate the column offsets
|
433
465
|
.make-column-offset(@columns) {
|
@@ -448,74 +480,13 @@
|
|
448
480
|
|
449
481
|
|
450
482
|
|
451
|
-
// The Grid
|
452
|
-
.generate-grid-columns(@grid-columns) {
|
453
|
-
|
454
|
-
// Default columns
|
455
|
-
.col-span-X (@index) when (@index > 0) {
|
456
|
-
.col-span-@{index} { .col-span-(@index); }
|
457
|
-
.col-span-X((@index - 1));
|
458
|
-
}
|
459
|
-
.col-span-X(0) {}
|
460
|
-
|
461
|
-
// Offsets (gaps between columns)
|
462
|
-
.col-offset-X (@index) when (@index > 0) {
|
463
|
-
.col-offset-@{index} { .col-offset-(@index); }
|
464
|
-
.col-offset-X((@index - 1));
|
465
|
-
}
|
466
|
-
.col-offset-X (0) {}
|
467
|
-
|
468
|
-
// Source ordering
|
469
|
-
.col-push-X (@index) when (@index > 0) {
|
470
|
-
.col-push-@{index} { .col-push-(@index); }
|
471
|
-
.col-push-X((@index - 1));
|
472
|
-
}
|
473
|
-
.col-push-X (0) {}
|
474
|
-
|
475
|
-
// Source ordering
|
476
|
-
.col-pull-X (@index) when (@index > 0) {
|
477
|
-
.col-pull-@{index} { .col-pull-(@index); }
|
478
|
-
.col-pull-X((@index - 1));
|
479
|
-
}
|
480
|
-
.col-pull-X (0) {}
|
481
|
-
|
482
|
-
// Apply the styles
|
483
|
-
.col-span-(@columns) {
|
484
|
-
width: percentage((@columns / @grid-columns));
|
485
|
-
}
|
486
|
-
.col-offset-(@columns) {
|
487
|
-
margin-left: percentage((@columns / @grid-columns));
|
488
|
-
}
|
489
|
-
.col-push-(@columns) {
|
490
|
-
left: percentage((@columns / @grid-columns));
|
491
|
-
}
|
492
|
-
.col-pull-(@columns) {
|
493
|
-
right: percentage((@columns / @grid-columns));
|
494
|
-
}
|
495
|
-
|
496
|
-
// Generate .spanX and .offsetX
|
497
|
-
.col-span-X(@grid-columns);
|
498
|
-
.col-offset-X(@grid-columns);
|
499
|
-
.col-push-X(@grid-columns);
|
500
|
-
.col-pull-X(@grid-columns);
|
501
|
-
}
|
502
|
-
|
503
|
-
|
504
|
-
|
505
483
|
// Framework mixins
|
506
484
|
// --------------------------------------------------
|
507
485
|
|
508
|
-
// Generate rem font-sizes with pixel fallbacks
|
509
|
-
// By default uses `@font-size-base` with an initial value of 14 (1.4rem or 14px)
|
510
|
-
.font-size(@font-size: @font-size-base) {
|
511
|
-
@rem-size: (@font-size / 10);
|
512
|
-
font-size: ~"@{font-size}px";
|
513
|
-
font-size: ~"@{rem-size}rem";
|
514
|
-
}
|
515
|
-
|
516
486
|
// Generate form validation states
|
517
|
-
.
|
487
|
+
.form-field-validation(@text-color: #555, @border-color: #ccc, @background-color: #f5f5f5) {
|
518
488
|
// Color the label text
|
489
|
+
.help-block,
|
519
490
|
.control-label {
|
520
491
|
color: @text-color;
|
521
492
|
}
|
@@ -530,4 +501,10 @@
|
|
530
501
|
.box-shadow(@shadow);
|
531
502
|
}
|
532
503
|
}
|
504
|
+
// Set validation states also for addons
|
505
|
+
.input-group-addon {
|
506
|
+
color: @text-color;
|
507
|
+
border-color: @border-color;
|
508
|
+
background-color: @background-color;
|
509
|
+
}
|
533
510
|
}
|
@@ -74,18 +74,19 @@
|
|
74
74
|
// Modal header
|
75
75
|
// Top section of the modal w/ title and dismiss
|
76
76
|
.modal-header {
|
77
|
-
padding:
|
77
|
+
padding: @modal-title-padding;
|
78
78
|
border-bottom: 1px solid #e5e5e5;
|
79
|
+
min-height: (@modal-title-padding + @modal-title-line-height);
|
79
80
|
}
|
80
81
|
// Close icon
|
81
82
|
.modal-header .close {
|
82
|
-
margin-top: 2px;
|
83
|
+
margin-top: -2px;
|
83
84
|
}
|
84
85
|
|
85
86
|
// Title text within header
|
86
87
|
.modal-title {
|
87
88
|
margin: 0;
|
88
|
-
line-height:
|
89
|
+
line-height: @modal-title-line-height;
|
89
90
|
}
|
90
91
|
|
91
92
|
// Modal body
|
@@ -119,7 +120,7 @@
|
|
119
120
|
}
|
120
121
|
|
121
122
|
// Scale up the modal
|
122
|
-
@media screen and (min-width:
|
123
|
+
@media screen and (min-width: @screen-tablet) {
|
123
124
|
|
124
125
|
.modal-dialog {
|
125
126
|
left: 50%;
|
@@ -5,9 +5,12 @@
|
|
5
5
|
// Wrapper and base class
|
6
6
|
.navbar {
|
7
7
|
position: relative;
|
8
|
-
|
8
|
+
margin-bottom: 20px;
|
9
|
+
padding-left: @navbar-padding;
|
10
|
+
padding-right: @navbar-padding;
|
9
11
|
background-color: @navbar-bg;
|
10
12
|
border-radius: @border-radius-base;
|
13
|
+
|
11
14
|
// Prevent floats from breaking the navbar
|
12
15
|
.clearfix();
|
13
16
|
}
|
@@ -15,34 +18,42 @@
|
|
15
18
|
// Navbar nav links
|
16
19
|
// -------------------------
|
17
20
|
|
18
|
-
.navbar {
|
19
|
-
.
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
padding-
|
21
|
+
.navbar-nav {
|
22
|
+
// Space out from .navbar .brand and .btn-navbar when stacked in mobile views
|
23
|
+
// and outdent nav links so text lines up with logo.
|
24
|
+
margin-top: 10px;
|
25
|
+
margin-bottom: 15px;
|
26
|
+
|
27
|
+
> li > a {
|
28
|
+
padding-top: ((@navbar-height - @line-height-computed) / 2);
|
29
|
+
padding-bottom: ((@navbar-height - @line-height-computed) / 2);
|
26
30
|
color: @navbar-link-color;
|
27
31
|
line-height: 20px;
|
32
|
+
border-radius: @border-radius-base;
|
28
33
|
}
|
29
|
-
|
30
|
-
|
34
|
+
> li > a:hover,
|
35
|
+
> li > a:focus {
|
31
36
|
color: @navbar-link-hover-color;
|
32
37
|
background-color: @navbar-link-hover-bg;
|
33
38
|
}
|
34
|
-
|
35
|
-
|
36
|
-
|
39
|
+
> .active > a,
|
40
|
+
> .active > a:hover,
|
41
|
+
> .active > a:focus {
|
37
42
|
color: @navbar-link-active-color;
|
38
43
|
background-color: @navbar-link-active-bg;
|
39
44
|
}
|
40
|
-
|
41
|
-
|
42
|
-
|
45
|
+
> .disabled > a,
|
46
|
+
> .disabled > a:hover,
|
47
|
+
> .disabled > a:focus {
|
43
48
|
color: @navbar-link-disabled-color;
|
44
49
|
background-color: @navbar-link-disabled-bg;
|
45
50
|
}
|
51
|
+
|
52
|
+
// Right aligned contents
|
53
|
+
// Make them full width first so that they align properly on mobile
|
54
|
+
&.pull-right {
|
55
|
+
width: 100%;
|
56
|
+
}
|
46
57
|
}
|
47
58
|
|
48
59
|
|
@@ -65,8 +76,13 @@
|
|
65
76
|
z-index: @zindex-navbar-fixed;
|
66
77
|
border-radius: 0;
|
67
78
|
}
|
68
|
-
.navbar-fixed-top
|
69
|
-
|
79
|
+
.navbar-fixed-top {
|
80
|
+
top: 0;
|
81
|
+
}
|
82
|
+
.navbar-fixed-bottom {
|
83
|
+
bottom: 0;
|
84
|
+
margin-bottom: 0; // override .navbar defaults
|
85
|
+
}
|
70
86
|
|
71
87
|
|
72
88
|
|
@@ -80,10 +96,10 @@
|
|
80
96
|
max-width: 200px;
|
81
97
|
margin-left: auto;
|
82
98
|
margin-right: auto;
|
83
|
-
padding:
|
84
|
-
font-size:
|
99
|
+
padding: @navbar-padding;
|
100
|
+
font-size: @font-size-large;
|
85
101
|
font-weight: 500;
|
86
|
-
line-height: @line-height-
|
102
|
+
line-height: @line-height-computed;
|
87
103
|
color: @navbar-brand-color;
|
88
104
|
text-align: center;
|
89
105
|
&:hover,
|
@@ -122,61 +138,57 @@
|
|
122
138
|
}
|
123
139
|
}
|
124
140
|
|
125
|
-
// Dividers in navbar
|
126
|
-
.navbar .nav > .divider {
|
127
|
-
.nav-divider(darken(@navbar-bg, 5%), lighten(@navbar-bg, 5%));
|
128
|
-
}
|
129
|
-
|
130
141
|
// Navbar form
|
131
142
|
.navbar-form {
|
132
|
-
.
|
143
|
+
.form-inline();
|
144
|
+
.navbar-vertical-align(@input-height-base); // Vertically center in navbar
|
133
145
|
}
|
134
146
|
|
135
147
|
// Dropdown menus
|
136
148
|
|
137
149
|
// Menu position and menu carets
|
138
|
-
.navbar
|
150
|
+
.navbar-nav > li > .dropdown-menu {
|
139
151
|
margin-top: 0;
|
140
152
|
border-top-left-radius: 0;
|
141
153
|
border-top-right-radius: 0;
|
142
154
|
}
|
143
155
|
// Menu position and menu caret support for dropups via extra dropup class
|
144
|
-
.navbar-fixed-bottom .nav > li > .dropdown-menu {
|
156
|
+
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
|
145
157
|
border-bottom-left-radius: 0;
|
146
158
|
border-bottom-right-radius: 0;
|
147
159
|
}
|
148
160
|
|
149
161
|
// Dropdown menu items and carets
|
150
|
-
.navbar
|
162
|
+
.navbar-nav {
|
151
163
|
// Caret should match text color on hover
|
152
|
-
|
153
|
-
|
164
|
+
> .dropdown > a:hover .caret,
|
165
|
+
> .dropdown > a:focus .caret {
|
154
166
|
border-top-color: @navbar-link-hover-color;
|
155
167
|
border-bottom-color: @navbar-link-hover-color;
|
156
168
|
}
|
157
169
|
|
158
170
|
// Remove background color from open dropdown
|
159
|
-
|
160
|
-
|
161
|
-
|
171
|
+
> .open > a,
|
172
|
+
> .open > a:hover,
|
173
|
+
> .open > a:focus {
|
162
174
|
background-color: @navbar-link-active-bg;
|
163
175
|
color: @navbar-link-active-color;
|
164
176
|
}
|
165
|
-
|
177
|
+
> .dropdown > a .caret {
|
166
178
|
border-top-color: @navbar-link-color;
|
167
179
|
border-bottom-color: @navbar-link-color;
|
168
180
|
}
|
169
|
-
|
170
|
-
|
171
|
-
|
181
|
+
> .open > a .caret,
|
182
|
+
> .open > a:hover .caret,
|
183
|
+
> .open > a:focus .caret {
|
172
184
|
border-top-color: @navbar-link-active-color;
|
173
185
|
border-bottom-color: @navbar-link-active-color;
|
174
186
|
}
|
175
187
|
}
|
176
188
|
|
177
189
|
// Right aligned menus need alt position
|
178
|
-
.navbar
|
179
|
-
.navbar
|
190
|
+
.navbar-nav.pull-right > li > .dropdown-menu,
|
191
|
+
.navbar-nav > li > .dropdown-menu.pull-right {
|
180
192
|
left: auto;
|
181
193
|
right: 0;
|
182
194
|
}
|
@@ -193,34 +205,36 @@
|
|
193
205
|
color: @navbar-inverse-brand-color;
|
194
206
|
&:hover,
|
195
207
|
&:focus {
|
196
|
-
color: @navbar-inverse-brand-color
|
197
|
-
background-color: @navbar-inverse-brand-bg
|
208
|
+
color: @navbar-inverse-brand-hover-color;
|
209
|
+
background-color: @navbar-inverse-brand-hover-bg;
|
198
210
|
}
|
199
211
|
}
|
200
212
|
|
201
213
|
.navbar-text {
|
202
|
-
color: @navbar-inverse-
|
214
|
+
color: @navbar-inverse-color;
|
203
215
|
}
|
204
216
|
|
205
|
-
.nav
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
217
|
+
.navbar-nav {
|
218
|
+
> li > a {
|
219
|
+
color: @navbar-inverse-link-color;
|
220
|
+
}
|
221
|
+
> li > a:hover,
|
222
|
+
> li > a:focus {
|
223
|
+
color: @navbar-inverse-link-hover-color;
|
224
|
+
background-color: @navbar-inverse-link-hover-bg;
|
225
|
+
}
|
226
|
+
> .active > a,
|
227
|
+
> .active > a:hover,
|
228
|
+
> .active > a:focus {
|
229
|
+
color: @navbar-inverse-link-active-color;
|
230
|
+
background-color: @navbar-inverse-link-active-bg;
|
231
|
+
}
|
232
|
+
> .disabled > a,
|
233
|
+
> .disabled > a:hover,
|
234
|
+
> .disabled > a:focus {
|
235
|
+
color: @navbar-inverse-link-disabled-color;
|
236
|
+
background-color: @navbar-inverse-link-disabled-bg;
|
237
|
+
}
|
224
238
|
}
|
225
239
|
|
226
240
|
// Darken the responsive nav toggle
|
@@ -235,87 +249,62 @@
|
|
235
249
|
}
|
236
250
|
}
|
237
251
|
|
238
|
-
// Darken dividers
|
239
|
-
.nav > .divider {
|
240
|
-
background-color: darken(@navbar-inverse-bg, 5%);
|
241
|
-
border-bottom-color: lighten(@navbar-inverse-bg, 5%);
|
242
|
-
}
|
243
|
-
|
244
252
|
// Dropdowns
|
245
|
-
.nav
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
253
|
+
.navbar-nav {
|
254
|
+
> .open > a,
|
255
|
+
> .open > a:hover,
|
256
|
+
> .open > a:focus {
|
257
|
+
background-color: @navbar-inverse-link-active-bg;
|
258
|
+
color: @navbar-inverse-link-active-color;
|
259
|
+
}
|
260
|
+
> .dropdown > a:hover .caret {
|
261
|
+
border-top-color: @navbar-inverse-link-hover-color;
|
262
|
+
border-bottom-color: @navbar-inverse-link-hover-color;
|
263
|
+
}
|
264
|
+
> .dropdown > a .caret {
|
265
|
+
border-top-color: @navbar-inverse-link-color;
|
266
|
+
border-bottom-color: @navbar-inverse-link-color;
|
267
|
+
}
|
268
|
+
> .open > a .caret,
|
269
|
+
> .open > a:hover .caret,
|
270
|
+
> .open > a:focus .caret {
|
271
|
+
border-top-color: @navbar-inverse-link-active-color;
|
272
|
+
border-bottom-color: @navbar-inverse-link-active-color;
|
273
|
+
}
|
274
|
+
|
264
275
|
}
|
265
276
|
}
|
266
277
|
|
267
278
|
|
268
279
|
|
269
|
-
//
|
280
|
+
// Responsive navbar
|
270
281
|
// --------------------------------------------------
|
271
282
|
|
272
|
-
@media screen and (min-width:
|
273
|
-
|
274
|
-
padding-top: 0;
|
275
|
-
padding-bottom: 0;
|
276
|
-
}
|
283
|
+
@media screen and (min-width: @grid-float-breakpoint) {
|
284
|
+
|
277
285
|
.navbar-brand {
|
278
286
|
float: left;
|
279
|
-
|
280
|
-
|
281
|
-
margin-left: -10px;
|
287
|
+
margin-left: -(@navbar-padding);
|
288
|
+
margin-right: 5px;
|
282
289
|
}
|
283
|
-
.navbar
|
290
|
+
.navbar-nav {
|
284
291
|
float: left;
|
285
|
-
|
286
|
-
|
292
|
+
// undo margin to make nav extend full height of navbar
|
293
|
+
margin-top: 0;
|
294
|
+
margin-bottom: 0;
|
295
|
+
|
296
|
+
> li {
|
297
|
+
float: left;
|
298
|
+
> a {
|
299
|
+
border-radius: 0;
|
300
|
+
}
|
301
|
+
}
|
287
302
|
|
288
303
|
&.pull-right {
|
289
304
|
float: right;
|
305
|
+
width: auto;
|
290
306
|
}
|
291
307
|
}
|
292
|
-
.navbar .nav > li {
|
293
|
-
float: left;
|
294
|
-
}
|
295
|
-
|
296
|
-
// Dividers go vertical
|
297
|
-
// Change the height and height, disable bottom border, then add right border
|
298
|
-
.navbar .nav > .divider {
|
299
|
-
width: 1px;
|
300
|
-
height: (@navbar-height * .6);
|
301
|
-
margin: (@navbar-height * .2) 9px;
|
302
|
-
border-bottom: 0;
|
303
|
-
border-right: 1px solid lighten(@navbar-bg, 5%);
|
304
|
-
}
|
305
|
-
// Since we override the border, we need to specify it again for inverted navbars
|
306
|
-
.navbar-inverse .nav > .divider {
|
307
|
-
border-right-color: lighten(@navbar-inverse-bg, 5%);
|
308
|
-
}
|
309
|
-
|
310
|
-
.navbar-fixed-left {
|
311
|
-
padding-left: 0;
|
312
|
-
padding-right: 0;
|
313
|
-
}
|
314
|
-
.navbar-fixed-left .navbar-brand,
|
315
|
-
.navbar-fixed-left .nav,
|
316
|
-
.navbar-fixed-left .nav > li {
|
317
|
-
float: none;
|
318
|
-
}
|
319
308
|
|
320
309
|
// Required to make the collapsing navbar work on regular desktops
|
321
310
|
.navbar-toggle {
|
@@ -331,10 +320,33 @@
|
|
331
320
|
|
332
321
|
}
|
333
322
|
|
334
|
-
/*
|
335
323
|
|
336
|
-
|
337
|
-
//
|
324
|
+
|
325
|
+
// Buttons in navbars
|
326
|
+
//
|
327
|
+
// Vertically center a button within a navbar (when *not* in a form).
|
328
|
+
|
329
|
+
.navbar-btn {
|
330
|
+
margin-top: ((@navbar-height - @input-height-base) / 2);
|
331
|
+
}
|
332
|
+
|
333
|
+
|
334
|
+
|
335
|
+
// Text in navbars
|
336
|
+
//
|
337
|
+
// Add a class to make any element properly align itself vertically within the navbars.
|
338
|
+
|
339
|
+
.navbar-text {
|
340
|
+
.navbar-vertical-align(@line-height-computed);
|
341
|
+
}
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
// Links in navbars
|
346
|
+
//
|
347
|
+
// Add a class to ensure links outside the navbar nav are colored correctly.
|
348
|
+
|
349
|
+
// Default navbar variables
|
338
350
|
.navbar-link {
|
339
351
|
color: @navbar-link-color;
|
340
352
|
&:hover {
|
@@ -342,48 +354,10 @@
|
|
342
354
|
}
|
343
355
|
}
|
344
356
|
|
345
|
-
//
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
}
|
351
|
-
.navbar .btn-group .btn,
|
352
|
-
.navbar .input-prepend .btn,
|
353
|
-
.navbar .input-append .btn {
|
354
|
-
margin-top: 0; // then undo the margin here so we don't accidentally double it
|
355
|
-
}
|
356
|
-
|
357
|
-
// Navbar forms
|
358
|
-
// -------------------------
|
359
|
-
.navbar-form {
|
360
|
-
margin-bottom: 0; // remove default bottom margin
|
361
|
-
.clearfix();
|
362
|
-
input,
|
363
|
-
select,
|
364
|
-
.radio,
|
365
|
-
.checkbox {
|
366
|
-
.navbarVerticalAlign(30px); // Vertically center in navbar
|
367
|
-
}
|
368
|
-
input,
|
369
|
-
select,
|
370
|
-
.btn {
|
371
|
-
display: inline-block;
|
372
|
-
margin-bottom: 0;
|
373
|
-
}
|
374
|
-
input[type="image"],
|
375
|
-
input[type="checkbox"],
|
376
|
-
input[type="radio"] {
|
377
|
-
margin-top: 3px;
|
378
|
-
}
|
379
|
-
.input-append,
|
380
|
-
.input-prepend {
|
381
|
-
margin-top: 5px;
|
382
|
-
white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left
|
383
|
-
input {
|
384
|
-
margin-top: 0; // remove the margin on top since it's on the parent
|
385
|
-
}
|
357
|
+
// Use the inverse navbar variables
|
358
|
+
.navbar-inverse .navbar-link {
|
359
|
+
color: @navbar-inverse-link-color;
|
360
|
+
&:hover {
|
361
|
+
color: @navbar-inverse-link-hover-color;
|
386
362
|
}
|
387
363
|
}
|
388
|
-
|
389
|
-
*/
|