twitter-bootstrap-rails 2.2.3 → 3.2.2
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.
- checksums.yaml +7 -0
- data/README.md +460 -185
- data/Rakefile +7 -1
- data/app/assets/fonts/fontawesome-webfont.eot +0 -0
- data/app/assets/fonts/fontawesome-webfont.svg +640 -0
- data/app/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/app/assets/fonts/fontawesome-webfont.woff +0 -0
- data/app/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/app/assets/fonts/glyphicons-halflings-regular.svg +229 -0
- data/app/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/app/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/app/assets/javascripts/twitter/bootstrap.js +12 -0
- data/app/assets/javascripts/twitter/bootstrap/affix.js +142 -0
- data/app/assets/javascripts/twitter/bootstrap/alert.js +92 -0
- data/app/assets/javascripts/twitter/bootstrap/button.js +110 -0
- data/app/assets/javascripts/twitter/bootstrap/carousel.js +223 -0
- data/app/assets/javascripts/twitter/bootstrap/collapse.js +170 -0
- data/app/assets/javascripts/twitter/bootstrap/dropdown.js +151 -0
- data/app/assets/javascripts/twitter/bootstrap/modal.js +280 -0
- data/app/assets/javascripts/twitter/bootstrap/popover.js +113 -0
- data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +170 -0
- data/app/assets/javascripts/twitter/bootstrap/tab.js +128 -0
- data/app/assets/javascripts/twitter/bootstrap/tooltip.js +457 -0
- data/app/assets/javascripts/twitter/bootstrap/transition.js +59 -0
- data/{vendor → app}/assets/javascripts/twitter/bootstrap_ujs.js +0 -0
- data/app/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +1 -0
- data/app/assets/stylesheets/twitter-bootstrap-static/fontawesome.css.erb +2026 -0
- data/app/assets/stylesheets/twitter-bootstrap-static/sprites.css.erb +1 -0
- data/app/helpers/badge_label_helper.rb +16 -0
- data/app/helpers/bootstrap_flash_helper.rb +20 -6
- data/app/helpers/form_errors_helper.rb +22 -0
- data/app/helpers/glyph_helper.rb +13 -5
- data/app/helpers/modal_helper.rb +37 -20
- data/app/helpers/navbar_helper.rb +209 -0
- data/app/helpers/twitter_breadcrumbs_helper.rb +11 -2
- data/app/views/twitter-bootstrap/_breadcrumbs.html.erb +9 -9
- data/lib/generators/bootstrap/install/install_generator.rb +13 -8
- data/lib/generators/bootstrap/install/templates/bootstrap.coffee +2 -3
- data/lib/generators/bootstrap/install/templates/bootstrap.js +2 -3
- data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +14 -13
- data/lib/generators/bootstrap/install/templates/en.bootstrap.yml +11 -5
- data/lib/generators/bootstrap/layout/layout_generator.rb +1 -4
- data/lib/generators/bootstrap/layout/templates/layout.html.erb +34 -58
- data/lib/generators/bootstrap/layout/templates/layout.html.haml +25 -44
- data/lib/generators/bootstrap/layout/templates/layout.html.slim +20 -39
- data/lib/generators/bootstrap/partial/templates/_login.html.erb +2 -3
- data/lib/generators/bootstrap/themed/templates/_form.html.erb +30 -10
- data/lib/generators/bootstrap/themed/templates/_form.html.haml +10 -8
- data/lib/generators/bootstrap/themed/templates/_form.html.slim +11 -9
- data/lib/generators/bootstrap/themed/templates/edit.html.erb +1 -2
- data/lib/generators/bootstrap/themed/templates/edit.html.haml +1 -1
- data/lib/generators/bootstrap/themed/templates/edit.html.slim +2 -2
- data/lib/generators/bootstrap/themed/templates/index.html.erb +3 -3
- data/lib/generators/bootstrap/themed/templates/index.html.haml +3 -3
- data/lib/generators/bootstrap/themed/templates/index.html.slim +5 -6
- data/lib/generators/bootstrap/themed/templates/new.html.erb +1 -2
- data/lib/generators/bootstrap/themed/templates/new.html.haml +1 -1
- data/lib/generators/bootstrap/themed/templates/new.html.slim +2 -2
- data/lib/generators/bootstrap/themed/templates/show.html.erb +6 -8
- data/lib/generators/bootstrap/themed/templates/show.html.haml +5 -5
- data/lib/generators/bootstrap/themed/templates/show.html.slim +7 -8
- data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.erb +5 -5
- data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.haml +3 -3
- data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.slim +4 -4
- data/lib/generators/bootstrap/themed/themed_generator.rb +4 -4
- data/lib/twitter-bootstrap-rails.rb +4 -4
- data/lib/twitter/bootstrap/rails/breadcrumbs.rb +69 -0
- data/lib/twitter/bootstrap/rails/engine.rb +17 -7
- data/lib/twitter/bootstrap/rails/version.rb +1 -1
- data/spec/lib/breadcrumbs_spec.rb +99 -0
- data/spec/lib/twitter_bootstrap_rails/badge_label_helper_spec.rb +30 -0
- data/spec/lib/twitter_bootstrap_rails/bootstrap_flash_helper_spec.rb +128 -0
- data/spec/lib/twitter_bootstrap_rails/form_errors_helper_spec.rb +148 -0
- data/spec/lib/twitter_bootstrap_rails/glyph_helper_spec.rb +24 -0
- data/spec/lib/twitter_bootstrap_rails/modal_helper_spec.rb +62 -0
- data/spec/lib/twitter_bootstrap_rails/navbar_helper_spec.rb +396 -0
- data/spec/lib/twitter_bootstrap_rails/uri_state_spec.rb +49 -0
- data/spec/spec_helper.rb +21 -0
- data/vendor/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +5990 -195
- data/vendor/static-source/bootstrap.less +0 -1
- data/vendor/static-source/fontawesome.less +7 -6
- data/vendor/static-source/sprites.less +3 -3
- data/vendor/toolkit/fontawesome/bordered-pulled.less +16 -0
- data/vendor/toolkit/fontawesome/core.less +11 -0
- data/vendor/toolkit/fontawesome/fixed-width.less +6 -0
- data/vendor/toolkit/fontawesome/font-awesome.less +17 -0
- data/vendor/toolkit/fontawesome/icons.less +552 -0
- data/vendor/toolkit/fontawesome/larger.less +13 -0
- data/vendor/toolkit/fontawesome/list.less +19 -0
- data/vendor/toolkit/fontawesome/mixins.less +25 -0
- data/vendor/toolkit/fontawesome/path.less +14 -0
- data/vendor/toolkit/fontawesome/rotated-flipped.less +20 -0
- data/vendor/toolkit/fontawesome/spinning.less +29 -0
- data/vendor/toolkit/fontawesome/stacked.less +20 -0
- data/vendor/toolkit/fontawesome/variables.less +561 -0
- data/vendor/toolkit/twitter/bootstrap/alerts.less +47 -58
- data/vendor/toolkit/twitter/bootstrap/badges.less +55 -0
- data/vendor/toolkit/twitter/bootstrap/bootstrap.less +26 -39
- data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +11 -9
- data/vendor/toolkit/twitter/bootstrap/button-groups.less +168 -152
- data/vendor/toolkit/twitter/bootstrap/buttons.less +101 -170
- data/vendor/toolkit/twitter/bootstrap/carousel.less +150 -65
- data/vendor/toolkit/twitter/bootstrap/close.less +20 -19
- data/vendor/toolkit/twitter/bootstrap/code.less +38 -30
- data/vendor/toolkit/twitter/bootstrap/component-animations.less +12 -3
- data/vendor/toolkit/twitter/bootstrap/dropdowns.less +124 -146
- data/vendor/toolkit/twitter/bootstrap/forms.less +401 -547
- data/vendor/toolkit/twitter/bootstrap/glyphicons.less +234 -0
- data/vendor/toolkit/twitter/bootstrap/grid.less +74 -11
- data/vendor/toolkit/twitter/bootstrap/input-groups.less +166 -0
- data/vendor/toolkit/twitter/bootstrap/jumbotron.less +48 -0
- data/vendor/toolkit/twitter/bootstrap/labels.less +64 -0
- data/vendor/toolkit/twitter/bootstrap/list-group.less +132 -0
- data/vendor/toolkit/twitter/bootstrap/media.less +8 -7
- data/vendor/toolkit/twitter/bootstrap/mixins.less +36 -699
- data/vendor/toolkit/twitter/bootstrap/mixins/alerts.less +14 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/background-variant.less +8 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/border-radius.less +18 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/buttons.less +52 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/center-block.less +7 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/clearfix.less +22 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/forms.less +85 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/gradients.less +59 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/grid-framework.less +91 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/grid.less +122 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/hide-text.less +21 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/image.less +33 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/labels.less +12 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/list-group.less +29 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/nav-divider.less +10 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/nav-vertical-align.less +9 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/opacity.less +8 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/pagination.less +23 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/panels.less +24 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/progress-bar.less +10 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/reset-filter.less +8 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/resize.less +6 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/responsive-visibility.less +15 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/size.less +10 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/tab-focus.less +9 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/table-row.less +28 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/text-emphasis.less +8 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/text-overflow.less +8 -0
- data/vendor/toolkit/twitter/bootstrap/mixins/vendor-prefixes.less +224 -0
- data/vendor/toolkit/twitter/bootstrap/modals.less +109 -54
- data/vendor/toolkit/twitter/bootstrap/navbar.less +542 -384
- data/vendor/toolkit/twitter/bootstrap/navs.less +192 -359
- data/vendor/toolkit/twitter/bootstrap/normalize.less +425 -0
- data/vendor/toolkit/twitter/bootstrap/pager.less +46 -34
- data/vendor/toolkit/twitter/bootstrap/pagination.less +70 -105
- data/vendor/toolkit/twitter/bootstrap/panels.less +248 -0
- data/vendor/toolkit/twitter/bootstrap/popovers.less +61 -61
- data/vendor/toolkit/twitter/bootstrap/print.less +101 -0
- data/vendor/toolkit/twitter/bootstrap/progress-bars.less +51 -73
- data/vendor/toolkit/twitter/bootstrap/responsive-embed.less +34 -0
- data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +177 -42
- data/vendor/toolkit/twitter/bootstrap/scaffolding.less +120 -23
- data/vendor/toolkit/twitter/bootstrap/tables.less +171 -182
- data/vendor/toolkit/twitter/bootstrap/theme.less +260 -0
- data/vendor/toolkit/twitter/bootstrap/thumbnails.less +26 -43
- data/vendor/toolkit/twitter/bootstrap/tooltip.less +49 -24
- data/vendor/toolkit/twitter/bootstrap/type.less +208 -147
- data/vendor/toolkit/twitter/bootstrap/utilities.less +33 -7
- data/vendor/toolkit/twitter/bootstrap/variables.less +761 -215
- data/vendor/toolkit/twitter/bootstrap/wells.less +7 -7
- metadata +199 -92
- data/lib/generators/bootstrap/partial/templates/_navbar.html.erb +0 -13
- data/lib/twitter/bootstrap/rails/twitter-bootstrap-breadcrumbs.rb +0 -42
- data/test/lib/breadcrumbs_test.rb +0 -75
- data/test/test_helper.rb +0 -8
- data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
- data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
- data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
- data/vendor/assets/javascripts/twitter/bootstrap.js +0 -13
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-affix.js +0 -117
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +0 -99
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +0 -105
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +0 -207
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +0 -167
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +0 -165
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +0 -247
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +0 -114
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +0 -162
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +0 -144
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tooltip.js +0 -353
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +0 -60
- data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +0 -335
- data/vendor/assets/stylesheets/twitter-bootstrap-static/fontawesome.css.erb +0 -531
- data/vendor/assets/stylesheets/twitter-bootstrap-static/sprites.css.erb +0 -146
- data/vendor/toolkit/fontawesome-ie7.less +0 -350
- data/vendor/toolkit/fontawesome.less +0 -532
- data/vendor/toolkit/twitter/bootstrap/accordion.less +0 -34
- data/vendor/toolkit/twitter/bootstrap/hero-unit.less +0 -25
- data/vendor/toolkit/twitter/bootstrap/labels-badges.less +0 -84
- data/vendor/toolkit/twitter/bootstrap/layouts.less +0 -16
- data/vendor/toolkit/twitter/bootstrap/reset.less +0 -216
- data/vendor/toolkit/twitter/bootstrap/responsive-1200px-min.less +0 -28
- data/vendor/toolkit/twitter/bootstrap/responsive-767px-max.less +0 -193
- data/vendor/toolkit/twitter/bootstrap/responsive-768px-979px.less +0 -19
- data/vendor/toolkit/twitter/bootstrap/responsive-navbar.less +0 -189
- data/vendor/toolkit/twitter/bootstrap/responsive.less +0 -48
- data/vendor/toolkit/twitter/bootstrap/sprites.less +0 -197
|
@@ -2,82 +2,109 @@
|
|
|
2
2
|
// Modals
|
|
3
3
|
// --------------------------------------------------
|
|
4
4
|
|
|
5
|
-
//
|
|
6
|
-
.modal-
|
|
5
|
+
// .modal-open - body class for killing the scroll
|
|
6
|
+
// .modal - container to scroll within
|
|
7
|
+
// .modal-dialog - positioning shell for the actual modal
|
|
8
|
+
// .modal-content - actual modal w/ bg and corners and shit
|
|
9
|
+
|
|
10
|
+
// Kill the scroll on the body
|
|
11
|
+
.modal-open {
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Container that the modal scrolls within
|
|
16
|
+
.modal {
|
|
17
|
+
display: none;
|
|
18
|
+
overflow: hidden;
|
|
7
19
|
position: fixed;
|
|
8
20
|
top: 0;
|
|
9
21
|
right: 0;
|
|
10
22
|
bottom: 0;
|
|
11
23
|
left: 0;
|
|
12
|
-
z-index: @
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
24
|
+
z-index: @zindex-modal;
|
|
25
|
+
-webkit-overflow-scrolling: touch;
|
|
26
|
+
|
|
27
|
+
// Prevent Chrome on Windows from adding a focus outline. For details, see
|
|
28
|
+
// https://github.com/twbs/bootstrap/pull/10951.
|
|
29
|
+
outline: 0;
|
|
30
|
+
|
|
31
|
+
// When fading in the modal, animate it to slide down
|
|
32
|
+
&.fade .modal-dialog {
|
|
33
|
+
.translate3d(0, -25%, 0);
|
|
34
|
+
.transition-transform(~"0.3s ease-out");
|
|
35
|
+
}
|
|
36
|
+
&.in .modal-dialog { .translate3d(0, 0, 0) }
|
|
37
|
+
}
|
|
38
|
+
.modal-open .modal {
|
|
39
|
+
overflow-x: hidden;
|
|
40
|
+
overflow-y: auto;
|
|
16
41
|
}
|
|
17
42
|
|
|
18
|
-
|
|
19
|
-
.modal-
|
|
20
|
-
|
|
43
|
+
// Shell div to position the modal with bottom padding
|
|
44
|
+
.modal-dialog {
|
|
45
|
+
position: relative;
|
|
46
|
+
width: auto;
|
|
47
|
+
margin: 10px;
|
|
21
48
|
}
|
|
22
49
|
|
|
23
|
-
//
|
|
24
|
-
.modal {
|
|
25
|
-
position:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
background-
|
|
32
|
-
border: 1px solid #999;
|
|
33
|
-
border: 1px solid rgba(0,0,0,.3);
|
|
34
|
-
*border: 1px solid #999; /* IE6-7 */
|
|
35
|
-
.border-radius(6px);
|
|
36
|
-
.box-shadow(0 3px 7px rgba(0,0,0,0.3));
|
|
37
|
-
.background-clip(padding-box);
|
|
50
|
+
// Actual modal
|
|
51
|
+
.modal-content {
|
|
52
|
+
position: relative;
|
|
53
|
+
background-color: @modal-content-bg;
|
|
54
|
+
border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)
|
|
55
|
+
border: 1px solid @modal-content-border-color;
|
|
56
|
+
border-radius: @border-radius-large;
|
|
57
|
+
.box-shadow(0 3px 9px rgba(0,0,0,.5));
|
|
58
|
+
background-clip: padding-box;
|
|
38
59
|
// Remove focus outline from opened modal
|
|
39
|
-
outline:
|
|
60
|
+
outline: 0;
|
|
61
|
+
}
|
|
40
62
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
63
|
+
// Modal background
|
|
64
|
+
.modal-backdrop {
|
|
65
|
+
position: fixed;
|
|
66
|
+
top: 0;
|
|
67
|
+
right: 0;
|
|
68
|
+
bottom: 0;
|
|
69
|
+
left: 0;
|
|
70
|
+
z-index: @zindex-modal-background;
|
|
71
|
+
background-color: @modal-backdrop-bg;
|
|
72
|
+
// Fade for backdrop
|
|
73
|
+
&.fade { .opacity(0); }
|
|
74
|
+
&.in { .opacity(@modal-backdrop-opacity); }
|
|
46
75
|
}
|
|
76
|
+
|
|
77
|
+
// Modal header
|
|
78
|
+
// Top section of the modal w/ title and dismiss
|
|
47
79
|
.modal-header {
|
|
48
|
-
padding:
|
|
49
|
-
border-bottom: 1px solid
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
line-height: 30px;
|
|
56
|
-
}
|
|
80
|
+
padding: @modal-title-padding;
|
|
81
|
+
border-bottom: 1px solid @modal-header-border-color;
|
|
82
|
+
min-height: (@modal-title-padding + @modal-title-line-height);
|
|
83
|
+
}
|
|
84
|
+
// Close icon
|
|
85
|
+
.modal-header .close {
|
|
86
|
+
margin-top: -2px;
|
|
57
87
|
}
|
|
58
88
|
|
|
59
|
-
//
|
|
89
|
+
// Title text within header
|
|
90
|
+
.modal-title {
|
|
91
|
+
margin: 0;
|
|
92
|
+
line-height: @modal-title-line-height;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Modal body
|
|
96
|
+
// Where all modal content resides (sibling of .modal-header and .modal-footer)
|
|
60
97
|
.modal-body {
|
|
61
98
|
position: relative;
|
|
62
|
-
|
|
63
|
-
max-height: 400px;
|
|
64
|
-
padding: 15px;
|
|
65
|
-
}
|
|
66
|
-
// Remove bottom margin if need be
|
|
67
|
-
.modal-form {
|
|
68
|
-
margin-bottom: 0;
|
|
99
|
+
padding: @modal-inner-padding;
|
|
69
100
|
}
|
|
70
101
|
|
|
71
102
|
// Footer (for actions)
|
|
72
103
|
.modal-footer {
|
|
73
|
-
padding:
|
|
74
|
-
margin-bottom: 0;
|
|
104
|
+
padding: @modal-inner-padding;
|
|
75
105
|
text-align: right; // right align buttons
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
.border-radius(0 0 6px 6px);
|
|
79
|
-
.box-shadow(inset 0 1px 0 @white);
|
|
80
|
-
.clearfix(); // clear it in case folks use .pull-* classes on buttons
|
|
106
|
+
border-top: 1px solid @modal-footer-border-color;
|
|
107
|
+
&:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons
|
|
81
108
|
|
|
82
109
|
// Properly space out buttons
|
|
83
110
|
.btn + .btn {
|
|
@@ -93,3 +120,31 @@
|
|
|
93
120
|
margin-left: 0;
|
|
94
121
|
}
|
|
95
122
|
}
|
|
123
|
+
|
|
124
|
+
// Measure scrollbar width for padding body during modal show/hide
|
|
125
|
+
.modal-scrollbar-measure {
|
|
126
|
+
position: absolute;
|
|
127
|
+
top: -9999px;
|
|
128
|
+
width: 50px;
|
|
129
|
+
height: 50px;
|
|
130
|
+
overflow: scroll;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Scale up the modal
|
|
134
|
+
@media (min-width: @screen-sm-min) {
|
|
135
|
+
// Automatically set modal's width for larger viewports
|
|
136
|
+
.modal-dialog {
|
|
137
|
+
width: @modal-md;
|
|
138
|
+
margin: 30px auto;
|
|
139
|
+
}
|
|
140
|
+
.modal-content {
|
|
141
|
+
.box-shadow(0 5px 15px rgba(0,0,0,.5));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Modal sizes
|
|
145
|
+
.modal-sm { width: @modal-sm; }
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
@media (min-width: @screen-md-min) {
|
|
149
|
+
.modal-lg { width: @modal-lg; }
|
|
150
|
+
}
|
|
@@ -1,497 +1,655 @@
|
|
|
1
1
|
//
|
|
2
|
-
// Navbars
|
|
2
|
+
// Navbars
|
|
3
3
|
// --------------------------------------------------
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
//
|
|
7
|
-
//
|
|
6
|
+
// Wrapper and base class
|
|
7
|
+
//
|
|
8
|
+
// Provide a static navbar from which we expand to create full-width, fixed, and
|
|
9
|
+
// other navbar variations.
|
|
8
10
|
|
|
9
|
-
// Base class and wrapper
|
|
10
11
|
.navbar {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
*position: relative;
|
|
16
|
-
*z-index: 2;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Inner for background effects
|
|
20
|
-
// Gradient is applied to its own element because overflow visible is not honored by IE when filter is present
|
|
21
|
-
.navbar-inner {
|
|
22
|
-
min-height: @navbarHeight;
|
|
23
|
-
padding-left: 20px;
|
|
24
|
-
padding-right: 20px;
|
|
25
|
-
#gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground);
|
|
26
|
-
border: 1px solid @navbarBorder;
|
|
27
|
-
.border-radius(@baseBorderRadius);
|
|
28
|
-
.box-shadow(0 1px 4px rgba(0,0,0,.065));
|
|
12
|
+
position: relative;
|
|
13
|
+
min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
|
|
14
|
+
margin-bottom: @navbar-margin-bottom;
|
|
15
|
+
border: 1px solid transparent;
|
|
29
16
|
|
|
30
17
|
// Prevent floats from breaking the navbar
|
|
31
|
-
.clearfix
|
|
32
|
-
}
|
|
18
|
+
&:extend(.clearfix all);
|
|
33
19
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
width: auto;
|
|
20
|
+
@media (min-width: @grid-float-breakpoint) {
|
|
21
|
+
border-radius: @navbar-border-radius;
|
|
22
|
+
}
|
|
38
23
|
}
|
|
39
24
|
|
|
40
|
-
// Override the default collapsed state
|
|
41
|
-
.nav-collapse.collapse {
|
|
42
|
-
height: auto;
|
|
43
|
-
overflow: visible;
|
|
44
|
-
}
|
|
45
25
|
|
|
26
|
+
// Navbar heading
|
|
27
|
+
//
|
|
28
|
+
// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy
|
|
29
|
+
// styling of responsive aspects.
|
|
46
30
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
// Vertically center the text given @navbarHeight
|
|
53
|
-
padding: ((@navbarHeight - @baseLineHeight) / 2) 20px ((@navbarHeight - @baseLineHeight) / 2);
|
|
54
|
-
margin-left: -20px; // negative indent to left-align the text down the page
|
|
55
|
-
font-size: 20px;
|
|
56
|
-
font-weight: 200;
|
|
57
|
-
color: @navbarBrandColor;
|
|
58
|
-
text-shadow: 0 1px 0 @navbarBackgroundHighlight;
|
|
59
|
-
&:hover,
|
|
60
|
-
&:focus {
|
|
61
|
-
text-decoration: none;
|
|
31
|
+
.navbar-header {
|
|
32
|
+
&:extend(.clearfix all);
|
|
33
|
+
|
|
34
|
+
@media (min-width: @grid-float-breakpoint) {
|
|
35
|
+
float: left;
|
|
62
36
|
}
|
|
63
37
|
}
|
|
64
38
|
|
|
65
|
-
// Plain text in topbar
|
|
66
|
-
// -------------------------
|
|
67
|
-
.navbar-text {
|
|
68
|
-
margin-bottom: 0;
|
|
69
|
-
line-height: @navbarHeight;
|
|
70
|
-
color: @navbarText;
|
|
71
|
-
}
|
|
72
39
|
|
|
73
|
-
//
|
|
74
|
-
//
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
40
|
+
// Navbar collapse (body)
|
|
41
|
+
//
|
|
42
|
+
// Group your navbar content into this for easy collapsing and expanding across
|
|
43
|
+
// various device sizes. By default, this content is collapsed when <768px, but
|
|
44
|
+
// will expand past that for a horizontal display.
|
|
45
|
+
//
|
|
46
|
+
// To start (on mobile devices) the navbar links, forms, and buttons are stacked
|
|
47
|
+
// vertically and include a `max-height` to overflow in case you have too much
|
|
48
|
+
// content for the user's viewport.
|
|
49
|
+
|
|
50
|
+
.navbar-collapse {
|
|
51
|
+
overflow-x: visible;
|
|
52
|
+
padding-right: @navbar-padding-horizontal;
|
|
53
|
+
padding-left: @navbar-padding-horizontal;
|
|
54
|
+
border-top: 1px solid transparent;
|
|
55
|
+
box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
|
|
56
|
+
&:extend(.clearfix all);
|
|
57
|
+
-webkit-overflow-scrolling: touch;
|
|
58
|
+
|
|
59
|
+
&.in {
|
|
60
|
+
overflow-y: auto;
|
|
80
61
|
}
|
|
81
|
-
}
|
|
82
62
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
margin: 0 9px;
|
|
88
|
-
border-left: 1px solid @navbarBackground;
|
|
89
|
-
border-right: 1px solid @navbarBackgroundHighlight;
|
|
90
|
-
}
|
|
63
|
+
@media (min-width: @grid-float-breakpoint) {
|
|
64
|
+
width: auto;
|
|
65
|
+
border-top: 0;
|
|
66
|
+
box-shadow: none;
|
|
91
67
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
.navbar .btn-group .btn,
|
|
99
|
-
.navbar .input-prepend .btn,
|
|
100
|
-
.navbar .input-append .btn,
|
|
101
|
-
.navbar .input-prepend .btn-group,
|
|
102
|
-
.navbar .input-append .btn-group {
|
|
103
|
-
margin-top: 0; // then undo the margin here so we don't accidentally double it
|
|
104
|
-
}
|
|
68
|
+
&.collapse {
|
|
69
|
+
display: block !important;
|
|
70
|
+
height: auto !important;
|
|
71
|
+
padding-bottom: 0; // Override default setting
|
|
72
|
+
overflow: visible !important;
|
|
73
|
+
}
|
|
105
74
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
.navbar-form {
|
|
109
|
-
margin-bottom: 0; // remove default bottom margin
|
|
110
|
-
.clearfix();
|
|
111
|
-
input,
|
|
112
|
-
select,
|
|
113
|
-
.radio,
|
|
114
|
-
.checkbox {
|
|
115
|
-
.navbarVerticalAlign(30px); // Vertically center in navbar
|
|
116
|
-
}
|
|
117
|
-
input,
|
|
118
|
-
select,
|
|
119
|
-
.btn {
|
|
120
|
-
display: inline-block;
|
|
121
|
-
margin-bottom: 0;
|
|
122
|
-
}
|
|
123
|
-
input[type="image"],
|
|
124
|
-
input[type="checkbox"],
|
|
125
|
-
input[type="radio"] {
|
|
126
|
-
margin-top: 3px;
|
|
127
|
-
}
|
|
128
|
-
.input-append,
|
|
129
|
-
.input-prepend {
|
|
130
|
-
margin-top: 5px;
|
|
131
|
-
white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left
|
|
132
|
-
input {
|
|
133
|
-
margin-top: 0; // remove the margin on top since it's on the parent
|
|
75
|
+
&.in {
|
|
76
|
+
overflow-y: visible;
|
|
134
77
|
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
78
|
|
|
138
|
-
//
|
|
139
|
-
//
|
|
140
|
-
.navbar-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
margin-bottom: 0;
|
|
147
|
-
padding: 4px 14px;
|
|
148
|
-
#font > .sans-serif(13px, normal, 1);
|
|
149
|
-
.border-radius(15px); // redeclare because of specificity of the type attribute
|
|
79
|
+
// Undo the collapse side padding for navbars with containers to ensure
|
|
80
|
+
// alignment of right-aligned contents.
|
|
81
|
+
.navbar-fixed-top &,
|
|
82
|
+
.navbar-static-top &,
|
|
83
|
+
.navbar-fixed-bottom & {
|
|
84
|
+
padding-left: 0;
|
|
85
|
+
padding-right: 0;
|
|
86
|
+
}
|
|
150
87
|
}
|
|
151
88
|
}
|
|
152
89
|
|
|
90
|
+
.navbar-fixed-top,
|
|
91
|
+
.navbar-fixed-bottom {
|
|
92
|
+
.navbar-collapse {
|
|
93
|
+
max-height: @navbar-collapse-max-height;
|
|
153
94
|
|
|
95
|
+
@media (max-device-width: @screen-xs-min) and (orientation: landscape) {
|
|
96
|
+
max-height: 200px;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
154
100
|
|
|
155
|
-
// Static navbar
|
|
156
|
-
// -------------------------
|
|
157
101
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
102
|
+
// Both navbar header and collapse
|
|
103
|
+
//
|
|
104
|
+
// When a container is present, change the behavior of the header and collapse.
|
|
105
|
+
|
|
106
|
+
.container,
|
|
107
|
+
.container-fluid {
|
|
108
|
+
> .navbar-header,
|
|
109
|
+
> .navbar-collapse {
|
|
110
|
+
margin-right: -@navbar-padding-horizontal;
|
|
111
|
+
margin-left: -@navbar-padding-horizontal;
|
|
112
|
+
|
|
113
|
+
@media (min-width: @grid-float-breakpoint) {
|
|
114
|
+
margin-right: 0;
|
|
115
|
+
margin-left: 0;
|
|
116
|
+
}
|
|
163
117
|
}
|
|
164
118
|
}
|
|
165
119
|
|
|
166
120
|
|
|
121
|
+
//
|
|
122
|
+
// Navbar alignment options
|
|
123
|
+
//
|
|
124
|
+
// Display the navbar across the entirety of the page or fixed it to the top or
|
|
125
|
+
// bottom of the page.
|
|
167
126
|
|
|
168
|
-
//
|
|
169
|
-
|
|
127
|
+
// Static top (unfixed, but 100% wide) navbar
|
|
128
|
+
.navbar-static-top {
|
|
129
|
+
z-index: @zindex-navbar;
|
|
130
|
+
border-width: 0 0 1px;
|
|
131
|
+
|
|
132
|
+
@media (min-width: @grid-float-breakpoint) {
|
|
133
|
+
border-radius: 0;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
170
136
|
|
|
171
|
-
//
|
|
137
|
+
// Fix the top/bottom navbars when screen real estate supports it
|
|
172
138
|
.navbar-fixed-top,
|
|
173
139
|
.navbar-fixed-bottom {
|
|
174
140
|
position: fixed;
|
|
175
141
|
right: 0;
|
|
176
142
|
left: 0;
|
|
177
|
-
z-index: @
|
|
178
|
-
|
|
143
|
+
z-index: @zindex-navbar-fixed;
|
|
144
|
+
.translate3d(0, 0, 0);
|
|
145
|
+
|
|
146
|
+
// Undo the rounded corners
|
|
147
|
+
@media (min-width: @grid-float-breakpoint) {
|
|
148
|
+
border-radius: 0;
|
|
149
|
+
}
|
|
179
150
|
}
|
|
180
|
-
.navbar-fixed-top
|
|
181
|
-
|
|
151
|
+
.navbar-fixed-top {
|
|
152
|
+
top: 0;
|
|
182
153
|
border-width: 0 0 1px;
|
|
183
154
|
}
|
|
184
|
-
.navbar-fixed-bottom
|
|
155
|
+
.navbar-fixed-bottom {
|
|
156
|
+
bottom: 0;
|
|
157
|
+
margin-bottom: 0; // override .navbar defaults
|
|
185
158
|
border-width: 1px 0 0;
|
|
186
159
|
}
|
|
187
|
-
.navbar-fixed-top .navbar-inner,
|
|
188
|
-
.navbar-fixed-bottom .navbar-inner {
|
|
189
|
-
padding-left: 0;
|
|
190
|
-
padding-right: 0;
|
|
191
|
-
.border-radius(0);
|
|
192
|
-
}
|
|
193
160
|
|
|
194
|
-
// Reset container width
|
|
195
|
-
// Required here as we reset the width earlier on and the grid mixins don't override early enough
|
|
196
|
-
.navbar-static-top .container,
|
|
197
|
-
.navbar-fixed-top .container,
|
|
198
|
-
.navbar-fixed-bottom .container {
|
|
199
|
-
#grid > .core > .span(@gridColumns);
|
|
200
|
-
}
|
|
201
161
|
|
|
202
|
-
//
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
162
|
+
// Brand/project name
|
|
163
|
+
|
|
164
|
+
.navbar-brand {
|
|
165
|
+
float: left;
|
|
166
|
+
padding: @navbar-padding-vertical @navbar-padding-horizontal;
|
|
167
|
+
font-size: @font-size-large;
|
|
168
|
+
line-height: @line-height-computed;
|
|
169
|
+
height: @navbar-height;
|
|
170
|
+
|
|
171
|
+
&:hover,
|
|
172
|
+
&:focus {
|
|
173
|
+
text-decoration: none;
|
|
210
174
|
}
|
|
211
|
-
}
|
|
212
175
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
bottom: 0;
|
|
216
|
-
.navbar-inner {
|
|
217
|
-
.box-shadow(~"0 -1px 10px rgba(0,0,0,.1)");
|
|
176
|
+
> img {
|
|
177
|
+
display: block;
|
|
218
178
|
}
|
|
219
|
-
}
|
|
220
179
|
|
|
180
|
+
@media (min-width: @grid-float-breakpoint) {
|
|
181
|
+
.navbar > .container &,
|
|
182
|
+
.navbar > .container-fluid & {
|
|
183
|
+
margin-left: -@navbar-padding-horizontal;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
221
187
|
|
|
222
188
|
|
|
223
|
-
//
|
|
224
|
-
//
|
|
189
|
+
// Navbar toggle
|
|
190
|
+
//
|
|
191
|
+
// Custom button for toggling the `.navbar-collapse`, powered by the collapse
|
|
192
|
+
// JavaScript plugin.
|
|
225
193
|
|
|
226
|
-
.navbar
|
|
194
|
+
.navbar-toggle {
|
|
227
195
|
position: relative;
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
196
|
+
float: right;
|
|
197
|
+
margin-right: @navbar-padding-horizontal;
|
|
198
|
+
padding: 9px 10px;
|
|
199
|
+
.navbar-vertical-align(34px);
|
|
200
|
+
background-color: transparent;
|
|
201
|
+
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
|
|
202
|
+
border: 1px solid transparent;
|
|
203
|
+
border-radius: @border-radius-base;
|
|
204
|
+
|
|
205
|
+
// We remove the `outline` here, but later compensate by attaching `:hover`
|
|
206
|
+
// styles to `:focus`.
|
|
207
|
+
&:focus {
|
|
208
|
+
outline: 0;
|
|
209
|
+
}
|
|
240
210
|
|
|
241
|
-
//
|
|
242
|
-
.
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
margin-top: 8px;
|
|
252
|
-
}
|
|
211
|
+
// Bars
|
|
212
|
+
.icon-bar {
|
|
213
|
+
display: block;
|
|
214
|
+
width: 22px;
|
|
215
|
+
height: 2px;
|
|
216
|
+
border-radius: 1px;
|
|
217
|
+
}
|
|
218
|
+
.icon-bar + .icon-bar {
|
|
219
|
+
margin-top: 4px;
|
|
220
|
+
}
|
|
253
221
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover/:focus from .active
|
|
258
|
-
color: @navbarLinkColorHover;
|
|
259
|
-
text-decoration: none;
|
|
222
|
+
@media (min-width: @grid-float-breakpoint) {
|
|
223
|
+
display: none;
|
|
224
|
+
}
|
|
260
225
|
}
|
|
261
226
|
|
|
262
|
-
// Active nav items
|
|
263
|
-
.navbar .nav > .active > a,
|
|
264
|
-
.navbar .nav > .active > a:hover,
|
|
265
|
-
.navbar .nav > .active > a:focus {
|
|
266
|
-
color: @navbarLinkColorActive;
|
|
267
|
-
text-decoration: none;
|
|
268
|
-
background-color: @navbarLinkBackgroundActive;
|
|
269
|
-
.box-shadow(inset 0 3px 8px rgba(0,0,0,.125));
|
|
270
|
-
}
|
|
271
227
|
|
|
272
|
-
// Navbar
|
|
273
|
-
//
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
margin
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
228
|
+
// Navbar nav links
|
|
229
|
+
//
|
|
230
|
+
// Builds on top of the `.nav` components with its own modifier class to make
|
|
231
|
+
// the nav the full height of the horizontal nav (above 768px).
|
|
232
|
+
|
|
233
|
+
.navbar-nav {
|
|
234
|
+
margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;
|
|
235
|
+
|
|
236
|
+
> li > a {
|
|
237
|
+
padding-top: 10px;
|
|
238
|
+
padding-bottom: 10px;
|
|
239
|
+
line-height: @line-height-computed;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
@media (max-width: @grid-float-breakpoint-max) {
|
|
243
|
+
// Dropdowns get custom display when collapsed
|
|
244
|
+
.open .dropdown-menu {
|
|
245
|
+
position: static;
|
|
246
|
+
float: none;
|
|
247
|
+
width: auto;
|
|
248
|
+
margin-top: 0;
|
|
249
|
+
background-color: transparent;
|
|
250
|
+
border: 0;
|
|
251
|
+
box-shadow: none;
|
|
252
|
+
> li > a,
|
|
253
|
+
.dropdown-header {
|
|
254
|
+
padding: 5px 15px 5px 25px;
|
|
255
|
+
}
|
|
256
|
+
> li > a {
|
|
257
|
+
line-height: @line-height-computed;
|
|
258
|
+
&:hover,
|
|
259
|
+
&:focus {
|
|
260
|
+
background-image: none;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// Uncollapse the nav
|
|
267
|
+
@media (min-width: @grid-float-breakpoint) {
|
|
268
|
+
float: left;
|
|
269
|
+
margin: 0;
|
|
270
|
+
|
|
271
|
+
> li {
|
|
272
|
+
float: left;
|
|
273
|
+
> a {
|
|
274
|
+
padding-top: @navbar-padding-vertical;
|
|
275
|
+
padding-bottom: @navbar-padding-vertical;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
293
279
|
}
|
|
294
280
|
|
|
295
281
|
|
|
282
|
+
// Navbar form
|
|
283
|
+
//
|
|
284
|
+
// Extension of the `.form-inline` with some extra flavor for optimum display in
|
|
285
|
+
// our navbars.
|
|
286
|
+
|
|
287
|
+
.navbar-form {
|
|
288
|
+
margin-left: -@navbar-padding-horizontal;
|
|
289
|
+
margin-right: -@navbar-padding-horizontal;
|
|
290
|
+
padding: 10px @navbar-padding-horizontal;
|
|
291
|
+
border-top: 1px solid transparent;
|
|
292
|
+
border-bottom: 1px solid transparent;
|
|
293
|
+
@shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
|
|
294
|
+
.box-shadow(@shadow);
|
|
295
|
+
|
|
296
|
+
// Mixin behavior for optimum display
|
|
297
|
+
.form-inline();
|
|
298
|
+
|
|
299
|
+
.form-group {
|
|
300
|
+
@media (max-width: @grid-float-breakpoint-max) {
|
|
301
|
+
margin-bottom: 5px;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// Vertically center in expanded, horizontal navbar
|
|
306
|
+
.navbar-vertical-align(@input-height-base);
|
|
307
|
+
|
|
308
|
+
// Undo 100% width for pull classes
|
|
309
|
+
@media (min-width: @grid-float-breakpoint) {
|
|
310
|
+
width: auto;
|
|
311
|
+
border: 0;
|
|
312
|
+
margin-left: 0;
|
|
313
|
+
margin-right: 0;
|
|
314
|
+
padding-top: 0;
|
|
315
|
+
padding-bottom: 0;
|
|
316
|
+
.box-shadow(none);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
296
320
|
|
|
297
321
|
// Dropdown menus
|
|
298
|
-
// --------------
|
|
299
322
|
|
|
300
323
|
// Menu position and menu carets
|
|
301
|
-
.navbar
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
display: inline-block;
|
|
305
|
-
border-left: 7px solid transparent;
|
|
306
|
-
border-right: 7px solid transparent;
|
|
307
|
-
border-bottom: 7px solid #ccc;
|
|
308
|
-
border-bottom-color: @dropdownBorder;
|
|
309
|
-
position: absolute;
|
|
310
|
-
top: -7px;
|
|
311
|
-
left: 9px;
|
|
312
|
-
}
|
|
313
|
-
&:after {
|
|
314
|
-
content: '';
|
|
315
|
-
display: inline-block;
|
|
316
|
-
border-left: 6px solid transparent;
|
|
317
|
-
border-right: 6px solid transparent;
|
|
318
|
-
border-bottom: 6px solid @dropdownBackground;
|
|
319
|
-
position: absolute;
|
|
320
|
-
top: -6px;
|
|
321
|
-
left: 10px;
|
|
322
|
-
}
|
|
324
|
+
.navbar-nav > li > .dropdown-menu {
|
|
325
|
+
margin-top: 0;
|
|
326
|
+
.border-top-radius(0);
|
|
323
327
|
}
|
|
324
328
|
// Menu position and menu caret support for dropups via extra dropup class
|
|
325
|
-
.navbar-fixed-bottom .nav > li > .dropdown-menu {
|
|
326
|
-
|
|
327
|
-
border-top: 7px solid #ccc;
|
|
328
|
-
border-top-color: @dropdownBorder;
|
|
329
|
-
border-bottom: 0;
|
|
330
|
-
bottom: -7px;
|
|
331
|
-
top: auto;
|
|
332
|
-
}
|
|
333
|
-
&:after {
|
|
334
|
-
border-top: 6px solid @dropdownBackground;
|
|
335
|
-
border-bottom: 0;
|
|
336
|
-
bottom: -6px;
|
|
337
|
-
top: auto;
|
|
338
|
-
}
|
|
329
|
+
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
|
|
330
|
+
.border-bottom-radius(0);
|
|
339
331
|
}
|
|
340
332
|
|
|
341
|
-
// Caret should match text color on hover/focus
|
|
342
|
-
.navbar .nav li.dropdown > a:hover .caret,
|
|
343
|
-
.navbar .nav li.dropdown > a:focus .caret {
|
|
344
|
-
border-top-color: @navbarLinkColorHover;
|
|
345
|
-
border-bottom-color: @navbarLinkColorHover;
|
|
346
|
-
}
|
|
347
333
|
|
|
348
|
-
//
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
334
|
+
// Buttons in navbars
|
|
335
|
+
//
|
|
336
|
+
// Vertically center a button within a navbar (when *not* in a form).
|
|
337
|
+
|
|
338
|
+
.navbar-btn {
|
|
339
|
+
.navbar-vertical-align(@input-height-base);
|
|
340
|
+
|
|
341
|
+
&.btn-sm {
|
|
342
|
+
.navbar-vertical-align(@input-height-small);
|
|
343
|
+
}
|
|
344
|
+
&.btn-xs {
|
|
345
|
+
.navbar-vertical-align(22);
|
|
346
|
+
}
|
|
354
347
|
}
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
// Text in navbars
|
|
351
|
+
//
|
|
352
|
+
// Add a class to make any element properly align itself vertically within the navbars.
|
|
353
|
+
|
|
354
|
+
.navbar-text {
|
|
355
|
+
.navbar-vertical-align(@line-height-computed);
|
|
356
|
+
|
|
357
|
+
@media (min-width: @grid-float-breakpoint) {
|
|
358
|
+
float: left;
|
|
359
|
+
margin-left: @navbar-padding-horizontal;
|
|
360
|
+
margin-right: @navbar-padding-horizontal;
|
|
361
|
+
}
|
|
358
362
|
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
// Component alignment
|
|
366
|
+
//
|
|
367
|
+
// Repurpose the pull utilities as their own navbar utilities to avoid specificity
|
|
368
|
+
// issues with parents and chaining. Only do this when the navbar is uncollapsed
|
|
369
|
+
// though so that navbar contents properly stack and align in mobile.
|
|
370
|
+
//
|
|
371
|
+
// Declared after the navbar components to ensure more specificity on the margins.
|
|
372
|
+
|
|
373
|
+
@media (min-width: @grid-float-breakpoint) {
|
|
374
|
+
.navbar-left { .pull-left(); }
|
|
375
|
+
.navbar-right {
|
|
376
|
+
.pull-right();
|
|
377
|
+
margin-right: -@navbar-padding-horizontal;
|
|
378
|
+
|
|
379
|
+
~ .navbar-right {
|
|
380
|
+
margin-right: 0;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
364
383
|
}
|
|
365
384
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
385
|
+
|
|
386
|
+
// Alternate navbars
|
|
387
|
+
// --------------------------------------------------
|
|
388
|
+
|
|
389
|
+
// Default navbar
|
|
390
|
+
.navbar-default {
|
|
391
|
+
background-color: @navbar-default-bg;
|
|
392
|
+
border-color: @navbar-default-border;
|
|
393
|
+
|
|
394
|
+
.navbar-brand {
|
|
395
|
+
color: @navbar-default-brand-color;
|
|
396
|
+
&:hover,
|
|
397
|
+
&:focus {
|
|
398
|
+
color: @navbar-default-brand-hover-color;
|
|
399
|
+
background-color: @navbar-default-brand-hover-bg;
|
|
400
|
+
}
|
|
374
401
|
}
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
402
|
+
|
|
403
|
+
.navbar-text {
|
|
404
|
+
color: @navbar-default-color;
|
|
378
405
|
}
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
406
|
+
|
|
407
|
+
.navbar-nav {
|
|
408
|
+
> li > a {
|
|
409
|
+
color: @navbar-default-link-color;
|
|
410
|
+
|
|
411
|
+
&:hover,
|
|
412
|
+
&:focus {
|
|
413
|
+
color: @navbar-default-link-hover-color;
|
|
414
|
+
background-color: @navbar-default-link-hover-bg;
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
> .active > a {
|
|
418
|
+
&,
|
|
419
|
+
&:hover,
|
|
420
|
+
&:focus {
|
|
421
|
+
color: @navbar-default-link-active-color;
|
|
422
|
+
background-color: @navbar-default-link-active-bg;
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
> .disabled > a {
|
|
426
|
+
&,
|
|
427
|
+
&:hover,
|
|
428
|
+
&:focus {
|
|
429
|
+
color: @navbar-default-link-disabled-color;
|
|
430
|
+
background-color: @navbar-default-link-disabled-bg;
|
|
431
|
+
}
|
|
432
|
+
}
|
|
385
433
|
}
|
|
386
|
-
}
|
|
387
434
|
|
|
435
|
+
.navbar-toggle {
|
|
436
|
+
border-color: @navbar-default-toggle-border-color;
|
|
437
|
+
&:hover,
|
|
438
|
+
&:focus {
|
|
439
|
+
background-color: @navbar-default-toggle-hover-bg;
|
|
440
|
+
}
|
|
441
|
+
.icon-bar {
|
|
442
|
+
background-color: @navbar-default-toggle-icon-bar-bg;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
388
445
|
|
|
389
|
-
|
|
390
|
-
|
|
446
|
+
.navbar-collapse,
|
|
447
|
+
.navbar-form {
|
|
448
|
+
border-color: @navbar-default-border;
|
|
449
|
+
}
|
|
391
450
|
|
|
392
|
-
|
|
451
|
+
// Dropdown menu items
|
|
452
|
+
.navbar-nav {
|
|
453
|
+
// Remove background color from open dropdown
|
|
454
|
+
> .open > a {
|
|
455
|
+
&,
|
|
456
|
+
&:hover,
|
|
457
|
+
&:focus {
|
|
458
|
+
background-color: @navbar-default-link-active-bg;
|
|
459
|
+
color: @navbar-default-link-active-color;
|
|
460
|
+
}
|
|
461
|
+
}
|
|
393
462
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
463
|
+
@media (max-width: @grid-float-breakpoint-max) {
|
|
464
|
+
// Dropdowns get custom display when collapsed
|
|
465
|
+
.open .dropdown-menu {
|
|
466
|
+
> li > a {
|
|
467
|
+
color: @navbar-default-link-color;
|
|
468
|
+
&:hover,
|
|
469
|
+
&:focus {
|
|
470
|
+
color: @navbar-default-link-hover-color;
|
|
471
|
+
background-color: @navbar-default-link-hover-bg;
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
> .active > a {
|
|
475
|
+
&,
|
|
476
|
+
&:hover,
|
|
477
|
+
&:focus {
|
|
478
|
+
color: @navbar-default-link-active-color;
|
|
479
|
+
background-color: @navbar-default-link-active-bg;
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
> .disabled > a {
|
|
483
|
+
&,
|
|
484
|
+
&:hover,
|
|
485
|
+
&:focus {
|
|
486
|
+
color: @navbar-default-link-disabled-color;
|
|
487
|
+
background-color: @navbar-default-link-disabled-bg;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
}
|
|
397
492
|
}
|
|
398
493
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
494
|
+
|
|
495
|
+
// Links in navbars
|
|
496
|
+
//
|
|
497
|
+
// Add a class to ensure links outside the navbar nav are colored correctly.
|
|
498
|
+
|
|
499
|
+
.navbar-link {
|
|
500
|
+
color: @navbar-default-link-color;
|
|
501
|
+
&:hover {
|
|
502
|
+
color: @navbar-default-link-hover-color;
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
.btn-link {
|
|
507
|
+
color: @navbar-default-link-color;
|
|
403
508
|
&:hover,
|
|
404
509
|
&:focus {
|
|
405
|
-
color: @
|
|
510
|
+
color: @navbar-default-link-hover-color;
|
|
511
|
+
}
|
|
512
|
+
&[disabled],
|
|
513
|
+
fieldset[disabled] & {
|
|
514
|
+
&:hover,
|
|
515
|
+
&:focus {
|
|
516
|
+
color: @navbar-default-link-disabled-color;
|
|
517
|
+
}
|
|
406
518
|
}
|
|
407
519
|
}
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
// Inverse navbar
|
|
408
523
|
|
|
409
|
-
|
|
410
|
-
|
|
524
|
+
.navbar-inverse {
|
|
525
|
+
background-color: @navbar-inverse-bg;
|
|
526
|
+
border-color: @navbar-inverse-border;
|
|
527
|
+
|
|
528
|
+
.navbar-brand {
|
|
529
|
+
color: @navbar-inverse-brand-color;
|
|
530
|
+
&:hover,
|
|
531
|
+
&:focus {
|
|
532
|
+
color: @navbar-inverse-brand-hover-color;
|
|
533
|
+
background-color: @navbar-inverse-brand-hover-bg;
|
|
534
|
+
}
|
|
411
535
|
}
|
|
412
536
|
|
|
413
537
|
.navbar-text {
|
|
414
|
-
color: @
|
|
538
|
+
color: @navbar-inverse-color;
|
|
415
539
|
}
|
|
416
540
|
|
|
417
|
-
.nav
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
color: @navbarInverseLinkColorHover;
|
|
421
|
-
}
|
|
541
|
+
.navbar-nav {
|
|
542
|
+
> li > a {
|
|
543
|
+
color: @navbar-inverse-link-color;
|
|
422
544
|
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
545
|
+
&:hover,
|
|
546
|
+
&:focus {
|
|
547
|
+
color: @navbar-inverse-link-hover-color;
|
|
548
|
+
background-color: @navbar-inverse-link-hover-bg;
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
> .active > a {
|
|
552
|
+
&,
|
|
553
|
+
&:hover,
|
|
554
|
+
&:focus {
|
|
555
|
+
color: @navbar-inverse-link-active-color;
|
|
556
|
+
background-color: @navbar-inverse-link-active-bg;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
> .disabled > a {
|
|
560
|
+
&,
|
|
561
|
+
&:hover,
|
|
562
|
+
&:focus {
|
|
563
|
+
color: @navbar-inverse-link-disabled-color;
|
|
564
|
+
background-color: @navbar-inverse-link-disabled-bg;
|
|
565
|
+
}
|
|
566
|
+
}
|
|
428
567
|
}
|
|
429
568
|
|
|
430
|
-
//
|
|
431
|
-
.navbar-
|
|
432
|
-
color: @
|
|
569
|
+
// Darken the responsive nav toggle
|
|
570
|
+
.navbar-toggle {
|
|
571
|
+
border-color: @navbar-inverse-toggle-border-color;
|
|
433
572
|
&:hover,
|
|
434
573
|
&:focus {
|
|
435
|
-
color: @
|
|
574
|
+
background-color: @navbar-inverse-toggle-hover-bg;
|
|
575
|
+
}
|
|
576
|
+
.icon-bar {
|
|
577
|
+
background-color: @navbar-inverse-toggle-icon-bar-bg;
|
|
436
578
|
}
|
|
437
579
|
}
|
|
438
580
|
|
|
439
|
-
|
|
440
|
-
.
|
|
441
|
-
border-
|
|
442
|
-
border-right-color: @navbarInverseBackgroundHighlight;
|
|
581
|
+
.navbar-collapse,
|
|
582
|
+
.navbar-form {
|
|
583
|
+
border-color: darken(@navbar-inverse-bg, 7%);
|
|
443
584
|
}
|
|
444
585
|
|
|
445
586
|
// Dropdowns
|
|
446
|
-
.nav
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
587
|
+
.navbar-nav {
|
|
588
|
+
> .open > a {
|
|
589
|
+
&,
|
|
590
|
+
&:hover,
|
|
591
|
+
&:focus {
|
|
592
|
+
background-color: @navbar-inverse-link-active-bg;
|
|
593
|
+
color: @navbar-inverse-link-active-color;
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
@media (max-width: @grid-float-breakpoint-max) {
|
|
598
|
+
// Dropdowns get custom display
|
|
599
|
+
.open .dropdown-menu {
|
|
600
|
+
> .dropdown-header {
|
|
601
|
+
border-color: @navbar-inverse-border;
|
|
602
|
+
}
|
|
603
|
+
.divider {
|
|
604
|
+
background-color: @navbar-inverse-border;
|
|
605
|
+
}
|
|
606
|
+
> li > a {
|
|
607
|
+
color: @navbar-inverse-link-color;
|
|
608
|
+
&:hover,
|
|
609
|
+
&:focus {
|
|
610
|
+
color: @navbar-inverse-link-hover-color;
|
|
611
|
+
background-color: @navbar-inverse-link-hover-bg;
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
> .active > a {
|
|
615
|
+
&,
|
|
616
|
+
&:hover,
|
|
617
|
+
&:focus {
|
|
618
|
+
color: @navbar-inverse-link-active-color;
|
|
619
|
+
background-color: @navbar-inverse-link-active-bg;
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
> .disabled > a {
|
|
623
|
+
&,
|
|
624
|
+
&:hover,
|
|
625
|
+
&:focus {
|
|
626
|
+
color: @navbar-inverse-link-disabled-color;
|
|
627
|
+
background-color: @navbar-inverse-link-disabled-bg;
|
|
628
|
+
}
|
|
629
|
+
}
|
|
488
630
|
}
|
|
489
631
|
}
|
|
490
632
|
}
|
|
491
633
|
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
634
|
+
.navbar-link {
|
|
635
|
+
color: @navbar-inverse-link-color;
|
|
636
|
+
&:hover {
|
|
637
|
+
color: @navbar-inverse-link-hover-color;
|
|
638
|
+
}
|
|
495
639
|
}
|
|
496
640
|
|
|
641
|
+
.btn-link {
|
|
642
|
+
color: @navbar-inverse-link-color;
|
|
643
|
+
&:hover,
|
|
644
|
+
&:focus {
|
|
645
|
+
color: @navbar-inverse-link-hover-color;
|
|
646
|
+
}
|
|
647
|
+
&[disabled],
|
|
648
|
+
fieldset[disabled] & {
|
|
649
|
+
&:hover,
|
|
650
|
+
&:focus {
|
|
651
|
+
color: @navbar-inverse-link-disabled-color;
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
}
|
|
497
655
|
}
|