kibana-sinatra 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (239) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +29 -0
  6. data/Rakefile +1 -0
  7. data/kibana-sinatra.gemspec +24 -0
  8. data/lib/kibana/assets/app/app.js +140 -0
  9. data/lib/kibana/assets/app/components/extend-jquery.js +46 -0
  10. data/lib/kibana/assets/app/components/kbn.js +332 -0
  11. data/lib/kibana/assets/app/components/require.config.js +90 -0
  12. data/lib/kibana/assets/app/components/settings.js +27 -0
  13. data/lib/kibana/assets/app/components/underscore.extended.js +32 -0
  14. data/lib/kibana/assets/app/controllers/all.js +5 -0
  15. data/lib/kibana/assets/app/controllers/dash.js +91 -0
  16. data/lib/kibana/assets/app/controllers/dashLoader.js +123 -0
  17. data/lib/kibana/assets/app/controllers/row.js +76 -0
  18. data/lib/kibana/assets/app/dashboards/blank.json +42 -0
  19. data/lib/kibana/assets/app/dashboards/default.json +89 -0
  20. data/lib/kibana/assets/app/dashboards/guided.json +274 -0
  21. data/lib/kibana/assets/app/dashboards/logstash.js +181 -0
  22. data/lib/kibana/assets/app/dashboards/logstash.json +222 -0
  23. data/lib/kibana/assets/app/dashboards/noted.json +202 -0
  24. data/lib/kibana/assets/app/directives/addPanel.js +30 -0
  25. data/lib/kibana/assets/app/directives/all.js +10 -0
  26. data/lib/kibana/assets/app/directives/arrayJoin.js +34 -0
  27. data/lib/kibana/assets/app/directives/confirmClick.js +26 -0
  28. data/lib/kibana/assets/app/directives/dashUpload.js +37 -0
  29. data/lib/kibana/assets/app/directives/kibanaPanel.js +103 -0
  30. data/lib/kibana/assets/app/directives/ngBlur.js +20 -0
  31. data/lib/kibana/assets/app/directives/ngModelOnBlur.js +25 -0
  32. data/lib/kibana/assets/app/directives/tip.js +20 -0
  33. data/lib/kibana/assets/app/filters/all.js +110 -0
  34. data/lib/kibana/assets/app/panels/bettermap/editor.html +17 -0
  35. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/layers-2x.png +0 -0
  36. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/layers.png +0 -0
  37. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/marker-icon-2x.png +0 -0
  38. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/marker-icon.png +0 -0
  39. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/marker-shadow.png +0 -0
  40. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet-src.js +8724 -0
  41. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet.css +463 -0
  42. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet.ie.css +51 -0
  43. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet.js +8 -0
  44. data/lib/kibana/assets/app/panels/bettermap/leaflet/plugins.css +75 -0
  45. data/lib/kibana/assets/app/panels/bettermap/leaflet/plugins.js +16 -0
  46. data/lib/kibana/assets/app/panels/bettermap/module.css +4 -0
  47. data/lib/kibana/assets/app/panels/bettermap/module.html +6 -0
  48. data/lib/kibana/assets/app/panels/bettermap/module.js +232 -0
  49. data/lib/kibana/assets/app/panels/column/editor.html +36 -0
  50. data/lib/kibana/assets/app/panels/column/module.html +16 -0
  51. data/lib/kibana/assets/app/panels/column/module.js +105 -0
  52. data/lib/kibana/assets/app/panels/column/panelgeneral.html +11 -0
  53. data/lib/kibana/assets/app/panels/dashcontrol/editor.html +44 -0
  54. data/lib/kibana/assets/app/panels/dashcontrol/load.html +40 -0
  55. data/lib/kibana/assets/app/panels/dashcontrol/module.html +6 -0
  56. data/lib/kibana/assets/app/panels/dashcontrol/module.js +198 -0
  57. data/lib/kibana/assets/app/panels/dashcontrol/save.html +30 -0
  58. data/lib/kibana/assets/app/panels/dashcontrol/share.html +11 -0
  59. data/lib/kibana/assets/app/panels/derivequeries/editor.html +23 -0
  60. data/lib/kibana/assets/app/panels/derivequeries/module.html +33 -0
  61. data/lib/kibana/assets/app/panels/derivequeries/module.js +160 -0
  62. data/lib/kibana/assets/app/panels/fields/editor.html +10 -0
  63. data/lib/kibana/assets/app/panels/fields/micropanel.html +25 -0
  64. data/lib/kibana/assets/app/panels/fields/module.html +3 -0
  65. data/lib/kibana/assets/app/panels/fields/module.js +37 -0
  66. data/lib/kibana/assets/app/panels/filtering/editor.html +7 -0
  67. data/lib/kibana/assets/app/panels/filtering/meta.html +15 -0
  68. data/lib/kibana/assets/app/panels/filtering/module.html +78 -0
  69. data/lib/kibana/assets/app/panels/filtering/module.js +66 -0
  70. data/lib/kibana/assets/app/panels/histogram/editor.html +74 -0
  71. data/lib/kibana/assets/app/panels/histogram/interval.js +57 -0
  72. data/lib/kibana/assets/app/panels/histogram/module.html +91 -0
  73. data/lib/kibana/assets/app/panels/histogram/module.js +511 -0
  74. data/lib/kibana/assets/app/panels/histogram/timeSeries.js +179 -0
  75. data/lib/kibana/assets/app/panels/hits/editor.html +29 -0
  76. data/lib/kibana/assets/app/panels/hits/module.html +44 -0
  77. data/lib/kibana/assets/app/panels/hits/module.js +270 -0
  78. data/lib/kibana/assets/app/panels/map/editor.html +15 -0
  79. data/lib/kibana/assets/app/panels/map/lib/jquery.jvectormap.min.js +8 -0
  80. data/lib/kibana/assets/app/panels/map/lib/map.europe.js +1 -0
  81. data/lib/kibana/assets/app/panels/map/lib/map.usa.js +1 -0
  82. data/lib/kibana/assets/app/panels/map/lib/map.world.js +1 -0
  83. data/lib/kibana/assets/app/panels/map/module.html +63 -0
  84. data/lib/kibana/assets/app/panels/map/module.js +185 -0
  85. data/lib/kibana/assets/app/panels/pie/editor.html +49 -0
  86. data/lib/kibana/assets/app/panels/pie/module.html +12 -0
  87. data/lib/kibana/assets/app/panels/pie/module.js +297 -0
  88. data/lib/kibana/assets/app/panels/query/editor.html +7 -0
  89. data/lib/kibana/assets/app/panels/query/meta.html +21 -0
  90. data/lib/kibana/assets/app/panels/query/module.html +25 -0
  91. data/lib/kibana/assets/app/panels/query/module.js +69 -0
  92. data/lib/kibana/assets/app/panels/query/query.css +39 -0
  93. data/lib/kibana/assets/app/panels/table/editor.html +48 -0
  94. data/lib/kibana/assets/app/panels/table/micropanel.html +44 -0
  95. data/lib/kibana/assets/app/panels/table/module.html +104 -0
  96. data/lib/kibana/assets/app/panels/table/module.js +389 -0
  97. data/lib/kibana/assets/app/panels/table/pagination.html +27 -0
  98. data/lib/kibana/assets/app/panels/terms/editor.html +51 -0
  99. data/lib/kibana/assets/app/panels/terms/module.html +55 -0
  100. data/lib/kibana/assets/app/panels/terms/module.js +307 -0
  101. data/lib/kibana/assets/app/panels/text/editor.html +16 -0
  102. data/lib/kibana/assets/app/panels/text/lib/showdown.js +1454 -0
  103. data/lib/kibana/assets/app/panels/text/module.html +10 -0
  104. data/lib/kibana/assets/app/panels/text/module.js +85 -0
  105. data/lib/kibana/assets/app/panels/timepicker/editor.html +34 -0
  106. data/lib/kibana/assets/app/panels/timepicker/module.html +73 -0
  107. data/lib/kibana/assets/app/panels/timepicker/module.js +268 -0
  108. data/lib/kibana/assets/app/panels/timepicker/refreshctrl.html +5 -0
  109. data/lib/kibana/assets/app/panels/trends/editor.html +20 -0
  110. data/lib/kibana/assets/app/panels/trends/module.html +11 -0
  111. data/lib/kibana/assets/app/panels/trends/module.js +232 -0
  112. data/lib/kibana/assets/app/partials/dashLoader.html +78 -0
  113. data/lib/kibana/assets/app/partials/dashLoaderShare.html +11 -0
  114. data/lib/kibana/assets/app/partials/dashboard.html +77 -0
  115. data/lib/kibana/assets/app/partials/dasheditor.html +151 -0
  116. data/lib/kibana/assets/app/partials/inspector.html +15 -0
  117. data/lib/kibana/assets/app/partials/load.html +4 -0
  118. data/lib/kibana/assets/app/partials/modal.html +12 -0
  119. data/lib/kibana/assets/app/partials/paneladd.html +6 -0
  120. data/lib/kibana/assets/app/partials/paneleditor.html +23 -0
  121. data/lib/kibana/assets/app/partials/panelgeneral.html +22 -0
  122. data/lib/kibana/assets/app/partials/querySelect.html +24 -0
  123. data/lib/kibana/assets/app/partials/roweditor.html +65 -0
  124. data/lib/kibana/assets/app/services/alertSrv.js +49 -0
  125. data/lib/kibana/assets/app/services/all.js +11 -0
  126. data/lib/kibana/assets/app/services/dashboard.js +417 -0
  127. data/lib/kibana/assets/app/services/fields.js +96 -0
  128. data/lib/kibana/assets/app/services/filterSrv.js +200 -0
  129. data/lib/kibana/assets/app/services/kbnIndex.js +101 -0
  130. data/lib/kibana/assets/app/services/panelMove.js +83 -0
  131. data/lib/kibana/assets/app/services/querySrv.js +147 -0
  132. data/lib/kibana/assets/app/services/timer.js +34 -0
  133. data/lib/kibana/assets/css/animate.min.css +3270 -0
  134. data/lib/kibana/assets/css/bootstrap-responsive.min.css +9 -0
  135. data/lib/kibana/assets/css/bootstrap.dark.min.css +9 -0
  136. data/lib/kibana/assets/css/bootstrap.light.min.css +9 -0
  137. data/lib/kibana/assets/css/font-awesome.min.css +403 -0
  138. data/lib/kibana/assets/css/main.css +193 -0
  139. data/lib/kibana/assets/css/normalize.min.css +1 -0
  140. data/lib/kibana/assets/css/timepicker.css +423 -0
  141. data/lib/kibana/assets/font/FontAwesome.otf +0 -0
  142. data/lib/kibana/assets/font/fontawesome-webfont.eot +0 -0
  143. data/lib/kibana/assets/font/fontawesome-webfont.svg +399 -0
  144. data/lib/kibana/assets/font/fontawesome-webfont.ttf +0 -0
  145. data/lib/kibana/assets/font/fontawesome-webfont.woff +0 -0
  146. data/lib/kibana/assets/img/glyphicons-halflings-white.png +0 -0
  147. data/lib/kibana/assets/img/glyphicons-halflings.png +0 -0
  148. data/lib/kibana/assets/img/kibana.png +0 -0
  149. data/lib/kibana/assets/img/load.gif +0 -0
  150. data/lib/kibana/assets/img/load_big.gif +0 -0
  151. data/lib/kibana/assets/index.html +49 -0
  152. data/lib/kibana/assets/vendor/angular/angular-dragdrop.js +304 -0
  153. data/lib/kibana/assets/vendor/angular/angular-sanitize.js +556 -0
  154. data/lib/kibana/assets/vendor/angular/angular-strap.js +875 -0
  155. data/lib/kibana/assets/vendor/angular/angular.js +15158 -0
  156. data/lib/kibana/assets/vendor/angular/datepicker.js +1046 -0
  157. data/lib/kibana/assets/vendor/angular/timepicker.js +888 -0
  158. data/lib/kibana/assets/vendor/bootstrap/bootstrap.js +2280 -0
  159. data/lib/kibana/assets/vendor/bootstrap/less/accordion.less +34 -0
  160. data/lib/kibana/assets/vendor/bootstrap/less/alerts.less +79 -0
  161. data/lib/kibana/assets/vendor/bootstrap/less/bootstrap.dark.less +4 -0
  162. data/lib/kibana/assets/vendor/bootstrap/less/bootstrap.less +63 -0
  163. data/lib/kibana/assets/vendor/bootstrap/less/bootstrap.light.less +4 -0
  164. data/lib/kibana/assets/vendor/bootstrap/less/bootswatch.dark.less +554 -0
  165. data/lib/kibana/assets/vendor/bootstrap/less/bootswatch.light.less +9 -0
  166. data/lib/kibana/assets/vendor/bootstrap/less/breadcrumbs.less +24 -0
  167. data/lib/kibana/assets/vendor/bootstrap/less/button-groups.less +229 -0
  168. data/lib/kibana/assets/vendor/bootstrap/less/buttons.less +228 -0
  169. data/lib/kibana/assets/vendor/bootstrap/less/carousel.less +158 -0
  170. data/lib/kibana/assets/vendor/bootstrap/less/close.less +32 -0
  171. data/lib/kibana/assets/vendor/bootstrap/less/code.less +61 -0
  172. data/lib/kibana/assets/vendor/bootstrap/less/component-animations.less +22 -0
  173. data/lib/kibana/assets/vendor/bootstrap/less/dropdowns.less +248 -0
  174. data/lib/kibana/assets/vendor/bootstrap/less/forms.less +690 -0
  175. data/lib/kibana/assets/vendor/bootstrap/less/grid.less +21 -0
  176. data/lib/kibana/assets/vendor/bootstrap/less/hero-unit.less +25 -0
  177. data/lib/kibana/assets/vendor/bootstrap/less/labels-badges.less +84 -0
  178. data/lib/kibana/assets/vendor/bootstrap/less/layouts.less +16 -0
  179. data/lib/kibana/assets/vendor/bootstrap/less/media.less +55 -0
  180. data/lib/kibana/assets/vendor/bootstrap/less/mixins.less +702 -0
  181. data/lib/kibana/assets/vendor/bootstrap/less/modals.less +95 -0
  182. data/lib/kibana/assets/vendor/bootstrap/less/navbar.less +497 -0
  183. data/lib/kibana/assets/vendor/bootstrap/less/navs.less +409 -0
  184. data/lib/kibana/assets/vendor/bootstrap/less/overrides.less +237 -0
  185. data/lib/kibana/assets/vendor/bootstrap/less/pager.less +43 -0
  186. data/lib/kibana/assets/vendor/bootstrap/less/pagination.less +123 -0
  187. data/lib/kibana/assets/vendor/bootstrap/less/popovers.less +133 -0
  188. data/lib/kibana/assets/vendor/bootstrap/less/progress-bars.less +122 -0
  189. data/lib/kibana/assets/vendor/bootstrap/less/reset.less +216 -0
  190. data/lib/kibana/assets/vendor/bootstrap/less/responsive-1200px-min.less +28 -0
  191. data/lib/kibana/assets/vendor/bootstrap/less/responsive-767px-max.less +193 -0
  192. data/lib/kibana/assets/vendor/bootstrap/less/responsive-768px-979px.less +19 -0
  193. data/lib/kibana/assets/vendor/bootstrap/less/responsive-navbar.less +189 -0
  194. data/lib/kibana/assets/vendor/bootstrap/less/responsive-utilities.less +59 -0
  195. data/lib/kibana/assets/vendor/bootstrap/less/responsive.less +48 -0
  196. data/lib/kibana/assets/vendor/bootstrap/less/scaffolding.less +53 -0
  197. data/lib/kibana/assets/vendor/bootstrap/less/sprites.less +197 -0
  198. data/lib/kibana/assets/vendor/bootstrap/less/tables.less +244 -0
  199. data/lib/kibana/assets/vendor/bootstrap/less/tests/buttons.html +139 -0
  200. data/lib/kibana/assets/vendor/bootstrap/less/tests/css-tests.css +150 -0
  201. data/lib/kibana/assets/vendor/bootstrap/less/tests/css-tests.html +1399 -0
  202. data/lib/kibana/assets/vendor/bootstrap/less/tests/forms-responsive.html +71 -0
  203. data/lib/kibana/assets/vendor/bootstrap/less/tests/forms.html +179 -0
  204. data/lib/kibana/assets/vendor/bootstrap/less/tests/navbar-fixed-top.html +104 -0
  205. data/lib/kibana/assets/vendor/bootstrap/less/tests/navbar-static-top.html +107 -0
  206. data/lib/kibana/assets/vendor/bootstrap/less/tests/navbar.html +107 -0
  207. data/lib/kibana/assets/vendor/bootstrap/less/thumbnails.less +53 -0
  208. data/lib/kibana/assets/vendor/bootstrap/less/tooltip.less +70 -0
  209. data/lib/kibana/assets/vendor/bootstrap/less/type.less +247 -0
  210. data/lib/kibana/assets/vendor/bootstrap/less/utilities.less +30 -0
  211. data/lib/kibana/assets/vendor/bootstrap/less/variables.dark.less +304 -0
  212. data/lib/kibana/assets/vendor/bootstrap/less/variables.less +301 -0
  213. data/lib/kibana/assets/vendor/bootstrap/less/variables.light.less +301 -0
  214. data/lib/kibana/assets/vendor/bootstrap/less/wells.less +29 -0
  215. data/lib/kibana/assets/vendor/elasticjs/elastic-angular-client.js +81 -0
  216. data/lib/kibana/assets/vendor/elasticjs/elastic.js +19993 -0
  217. data/lib/kibana/assets/vendor/filesaver.js +216 -0
  218. data/lib/kibana/assets/vendor/jquery/jquery-1.8.0.js +2 -0
  219. data/lib/kibana/assets/vendor/jquery/jquery-ui-1.10.3.js +5253 -0
  220. data/lib/kibana/assets/vendor/jquery/jquery.flot.js +3060 -0
  221. data/lib/kibana/assets/vendor/jquery/jquery.flot.pie.js +817 -0
  222. data/lib/kibana/assets/vendor/jquery/jquery.flot.selection.js +360 -0
  223. data/lib/kibana/assets/vendor/jquery/jquery.flot.stack.js +188 -0
  224. data/lib/kibana/assets/vendor/jquery/jquery.flot.stackpercent.js +126 -0
  225. data/lib/kibana/assets/vendor/jquery/jquery.flot.time.js +431 -0
  226. data/lib/kibana/assets/vendor/modernizr-2.6.1.js +4 -0
  227. data/lib/kibana/assets/vendor/moment.js +1662 -0
  228. data/lib/kibana/assets/vendor/require/css-build.js +78 -0
  229. data/lib/kibana/assets/vendor/require/css.js +23 -0
  230. data/lib/kibana/assets/vendor/require/require.js +2024 -0
  231. data/lib/kibana/assets/vendor/require/text.js +386 -0
  232. data/lib/kibana/assets/vendor/require/tmpl.js +17 -0
  233. data/lib/kibana/assets/vendor/timezone.js +993 -0
  234. data/lib/kibana/assets/vendor/underscore.js +1246 -0
  235. data/lib/kibana/sinatra.rb +3 -0
  236. data/lib/kibana/sinatra/version.rb +5 -0
  237. data/lib/kibana/sinatra/web.rb +28 -0
  238. data/lib/kibana/views/config.erb +54 -0
  239. metadata +325 -0
@@ -0,0 +1,95 @@
1
+ //
2
+ // Modals
3
+ // --------------------------------------------------
4
+
5
+ // Background
6
+ .modal-backdrop {
7
+ position: fixed;
8
+ top: 0;
9
+ right: 0;
10
+ bottom: 0;
11
+ left: 0;
12
+ z-index: @zindexModalBackdrop;
13
+ background-color: @black;
14
+ // Fade for backdrop
15
+ &.fade { opacity: 0; }
16
+ }
17
+
18
+ .modal-backdrop,
19
+ .modal-backdrop.fade.in {
20
+ .opacity(80);
21
+ }
22
+
23
+ // Base modal
24
+ .modal {
25
+ position: fixed;
26
+ top: 10%;
27
+ left: 50%;
28
+ z-index: @zindexModal;
29
+ width: 560px;
30
+ margin-left: -280px;
31
+ background-color: @white;
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);
38
+ // Remove focus outline from opened modal
39
+ outline: none;
40
+
41
+ &.fade {
42
+ .transition(e('opacity .3s linear, top .3s ease-out'));
43
+ top: -25%;
44
+ }
45
+ &.fade.in { top: 10%; }
46
+ }
47
+ .modal-header {
48
+ padding: 9px 15px;
49
+ border-bottom: 1px solid #eee;
50
+ // Close icon
51
+ .close { margin-top: 2px; }
52
+ // Heading
53
+ h3 {
54
+ margin: 0;
55
+ line-height: 30px;
56
+ }
57
+ }
58
+
59
+ // Body (where all modal content resides)
60
+ .modal-body {
61
+ position: relative;
62
+ overflow-y: auto;
63
+ max-height: 400px;
64
+ padding: 15px;
65
+ }
66
+ // Remove bottom margin if need be
67
+ .modal-form {
68
+ margin-bottom: 0;
69
+ }
70
+
71
+ // Footer (for actions)
72
+ .modal-footer {
73
+ padding: 14px 15px 15px;
74
+ margin-bottom: 0;
75
+ text-align: right; // right align buttons
76
+ background-color: #f5f5f5;
77
+ border-top: 1px solid #ddd;
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
81
+
82
+ // Properly space out buttons
83
+ .btn + .btn {
84
+ margin-left: 5px;
85
+ margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
86
+ }
87
+ // but override that for button groups
88
+ .btn-group .btn + .btn {
89
+ margin-left: -1px;
90
+ }
91
+ // and override it for block buttons as well
92
+ .btn-block + .btn-block {
93
+ margin-left: 0;
94
+ }
95
+ }
@@ -0,0 +1,497 @@
1
+ //
2
+ // Navbars (Redux)
3
+ // --------------------------------------------------
4
+
5
+
6
+ // COMMON STYLES
7
+ // -------------
8
+
9
+ // Base class and wrapper
10
+ .navbar {
11
+ overflow: visible;
12
+ margin-bottom: @baseLineHeight;
13
+
14
+ // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar
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));
29
+
30
+ // Prevent floats from breaking the navbar
31
+ .clearfix();
32
+ }
33
+
34
+ // Set width to auto for default container
35
+ // We then reset it for fixed navbars in the #gridSystem mixin
36
+ .navbar .container {
37
+ width: auto;
38
+ }
39
+
40
+ // Override the default collapsed state
41
+ .nav-collapse.collapse {
42
+ height: auto;
43
+ overflow: visible;
44
+ }
45
+
46
+
47
+ // Brand: website or project name
48
+ // -------------------------
49
+ .navbar .brand {
50
+ float: left;
51
+ display: block;
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;
62
+ }
63
+ }
64
+
65
+ // Plain text in topbar
66
+ // -------------------------
67
+ .navbar-text {
68
+ margin-bottom: 0;
69
+ line-height: @navbarHeight;
70
+ color: @navbarText;
71
+ }
72
+
73
+ // Janky solution for now to account for links outside the .nav
74
+ // -------------------------
75
+ .navbar-link {
76
+ color: @navbarLinkColor;
77
+ &:hover,
78
+ &:focus {
79
+ color: @navbarLinkColorHover;
80
+ }
81
+ }
82
+
83
+ // Dividers in navbar
84
+ // -------------------------
85
+ .navbar .divider-vertical {
86
+ height: @navbarHeight;
87
+ margin: 0 9px;
88
+ border-left: 1px solid @navbarBackground;
89
+ border-right: 1px solid @navbarBackgroundHighlight;
90
+ }
91
+
92
+ // Buttons in navbar
93
+ // -------------------------
94
+ .navbar .btn,
95
+ .navbar .btn-group {
96
+ .navbarVerticalAlign(30px); // Vertically center in navbar
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
+ }
105
+
106
+ // Navbar forms
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
134
+ }
135
+ }
136
+ }
137
+
138
+ // Navbar search
139
+ // -------------------------
140
+ .navbar-search {
141
+ position: relative;
142
+ float: left;
143
+ .navbarVerticalAlign(30px); // Vertically center in navbar
144
+ margin-bottom: 0;
145
+ .search-query {
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
150
+ }
151
+ }
152
+
153
+
154
+
155
+ // Static navbar
156
+ // -------------------------
157
+
158
+ .navbar-static-top {
159
+ position: static;
160
+ margin-bottom: 0; // remove 18px margin for default navbar
161
+ .navbar-inner {
162
+ .border-radius(0);
163
+ }
164
+ }
165
+
166
+
167
+
168
+ // Fixed navbar
169
+ // -------------------------
170
+
171
+ // Shared (top/bottom) styles
172
+ .navbar-fixed-top,
173
+ .navbar-fixed-bottom {
174
+ position: fixed;
175
+ right: 0;
176
+ left: 0;
177
+ z-index: @zindexFixedNavbar;
178
+ margin-bottom: 0; // remove 18px margin for default navbar
179
+ }
180
+ .navbar-fixed-top .navbar-inner,
181
+ .navbar-static-top .navbar-inner {
182
+ border-width: 0 0 1px;
183
+ }
184
+ .navbar-fixed-bottom .navbar-inner {
185
+ border-width: 1px 0 0;
186
+ }
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
+
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
+
202
+ // Fixed to top
203
+ .navbar-fixed-top {
204
+ top: 0;
205
+ }
206
+ .navbar-fixed-top,
207
+ .navbar-static-top {
208
+ .navbar-inner {
209
+ .box-shadow(~"0 1px 10px rgba(0,0,0,.1)");
210
+ }
211
+ }
212
+
213
+ // Fixed to bottom
214
+ .navbar-fixed-bottom {
215
+ bottom: 0;
216
+ .navbar-inner {
217
+ .box-shadow(~"0 -1px 10px rgba(0,0,0,.1)");
218
+ }
219
+ }
220
+
221
+
222
+
223
+ // NAVIGATION
224
+ // ----------
225
+
226
+ .navbar .nav {
227
+ position: relative;
228
+ left: 0;
229
+ display: block;
230
+ float: left;
231
+ margin: 0 10px 0 0;
232
+ }
233
+ .navbar .nav.pull-right {
234
+ float: right; // redeclare due to specificity
235
+ margin-right: 0; // remove margin on float right nav
236
+ }
237
+ .navbar .nav > li {
238
+ float: left;
239
+ }
240
+
241
+ // Links
242
+ .navbar .nav > li > a {
243
+ float: none;
244
+ // Vertically center the text given @navbarHeight
245
+ padding: ((@navbarHeight - @baseLineHeight) / 2) 15px ((@navbarHeight - @baseLineHeight) / 2);
246
+ color: @navbarLinkColor;
247
+ text-decoration: none;
248
+ text-shadow: 0 1px 0 @navbarBackgroundHighlight;
249
+ }
250
+ .navbar .nav .dropdown-toggle .caret {
251
+ margin-top: 8px;
252
+ }
253
+
254
+ // Hover/focus
255
+ .navbar .nav > li > a:focus,
256
+ .navbar .nav > li > a:hover {
257
+ background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover/:focus from .active
258
+ color: @navbarLinkColorHover;
259
+ text-decoration: none;
260
+ }
261
+
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
+
272
+ // Navbar button for toggling navbar items in responsive layouts
273
+ // These definitions need to come after '.navbar .btn'
274
+ .navbar .btn-navbar {
275
+ display: none;
276
+ float: right;
277
+ padding: 7px 10px;
278
+ margin-left: 5px;
279
+ margin-right: 5px;
280
+ .buttonBackground(darken(@navbarBackgroundHighlight, 5%), darken(@navbarBackground, 5%));
281
+ .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)");
282
+ }
283
+ .navbar .btn-navbar .icon-bar {
284
+ display: block;
285
+ width: 18px;
286
+ height: 2px;
287
+ background-color: #f5f5f5;
288
+ .border-radius(1px);
289
+ .box-shadow(0 1px 0 rgba(0,0,0,.25));
290
+ }
291
+ .btn-navbar .icon-bar + .icon-bar {
292
+ margin-top: 3px;
293
+ }
294
+
295
+
296
+
297
+ // Dropdown menus
298
+ // --------------
299
+
300
+ // Menu position and menu carets
301
+ .navbar .nav > li > .dropdown-menu {
302
+ &:before {
303
+ content: '';
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
+ }
323
+ }
324
+ // Menu position and menu caret support for dropups via extra dropup class
325
+ .navbar-fixed-bottom .nav > li > .dropdown-menu {
326
+ &:before {
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
+ }
339
+ }
340
+
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
+
348
+ // Remove background color from open dropdown
349
+ .navbar .nav li.dropdown.open > .dropdown-toggle,
350
+ .navbar .nav li.dropdown.active > .dropdown-toggle,
351
+ .navbar .nav li.dropdown.open.active > .dropdown-toggle {
352
+ background-color: @navbarLinkBackgroundActive;
353
+ color: @navbarLinkColorActive;
354
+ }
355
+ .navbar .nav li.dropdown > .dropdown-toggle .caret {
356
+ border-top-color: @navbarLinkColor;
357
+ border-bottom-color: @navbarLinkColor;
358
+ }
359
+ .navbar .nav li.dropdown.open > .dropdown-toggle .caret,
360
+ .navbar .nav li.dropdown.active > .dropdown-toggle .caret,
361
+ .navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
362
+ border-top-color: @navbarLinkColorActive;
363
+ border-bottom-color: @navbarLinkColorActive;
364
+ }
365
+
366
+ // Right aligned menus need alt position
367
+ .navbar .pull-right > li > .dropdown-menu,
368
+ .navbar .nav > li > .dropdown-menu.pull-right {
369
+ left: auto;
370
+ right: 0;
371
+ &:before {
372
+ left: auto;
373
+ right: 12px;
374
+ }
375
+ &:after {
376
+ left: auto;
377
+ right: 13px;
378
+ }
379
+ .dropdown-menu {
380
+ left: auto;
381
+ right: 100%;
382
+ margin-left: 0;
383
+ margin-right: -1px;
384
+ .border-radius(6px 0 6px 6px);
385
+ }
386
+ }
387
+
388
+
389
+ // Inverted navbar
390
+ // -------------------------
391
+
392
+ .navbar-inverse {
393
+
394
+ .navbar-inner {
395
+ #gradient > .vertical(@navbarInverseBackgroundHighlight, @navbarInverseBackground);
396
+ border-color: @navbarInverseBorder;
397
+ }
398
+
399
+ .brand,
400
+ .nav > li > a {
401
+ color: @navbarInverseLinkColor;
402
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
403
+ &:hover,
404
+ &:focus {
405
+ color: @navbarInverseLinkColorHover;
406
+ }
407
+ }
408
+
409
+ .brand {
410
+ color: @navbarInverseBrandColor;
411
+ }
412
+
413
+ .navbar-text {
414
+ color: @navbarInverseText;
415
+ }
416
+
417
+ .nav > li > a:focus,
418
+ .nav > li > a:hover {
419
+ background-color: @navbarInverseLinkBackgroundHover;
420
+ color: @navbarInverseLinkColorHover;
421
+ }
422
+
423
+ .nav .active > a,
424
+ .nav .active > a:hover,
425
+ .nav .active > a:focus {
426
+ color: @navbarInverseLinkColorActive;
427
+ background-color: @navbarInverseLinkBackgroundActive;
428
+ }
429
+
430
+ // Inline text links
431
+ .navbar-link {
432
+ color: @navbarInverseLinkColor;
433
+ &:hover,
434
+ &:focus {
435
+ color: @navbarInverseLinkColorHover;
436
+ }
437
+ }
438
+
439
+ // Dividers in navbar
440
+ .divider-vertical {
441
+ border-left-color: @navbarInverseBackground;
442
+ border-right-color: @navbarInverseBackgroundHighlight;
443
+ }
444
+
445
+ // Dropdowns
446
+ .nav li.dropdown.open > .dropdown-toggle,
447
+ .nav li.dropdown.active > .dropdown-toggle,
448
+ .nav li.dropdown.open.active > .dropdown-toggle {
449
+ background-color: @navbarInverseLinkBackgroundActive;
450
+ color: @navbarInverseLinkColorActive;
451
+ }
452
+ .nav li.dropdown > a:hover .caret,
453
+ .nav li.dropdown > a:focus .caret {
454
+ border-top-color: @navbarInverseLinkColorActive;
455
+ border-bottom-color: @navbarInverseLinkColorActive;
456
+ }
457
+ .nav li.dropdown > .dropdown-toggle .caret {
458
+ border-top-color: @navbarInverseLinkColor;
459
+ border-bottom-color: @navbarInverseLinkColor;
460
+ }
461
+ .nav li.dropdown.open > .dropdown-toggle .caret,
462
+ .nav li.dropdown.active > .dropdown-toggle .caret,
463
+ .nav li.dropdown.open.active > .dropdown-toggle .caret {
464
+ border-top-color: @navbarInverseLinkColorActive;
465
+ border-bottom-color: @navbarInverseLinkColorActive;
466
+ }
467
+
468
+ // Navbar search
469
+ .navbar-search {
470
+ .search-query {
471
+ color: @white;
472
+ background-color: @navbarInverseSearchBackground;
473
+ border-color: @navbarInverseSearchBorder;
474
+ .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)");
475
+ .transition(none);
476
+ .placeholder(@navbarInverseSearchPlaceholderColor);
477
+
478
+ // Focus states (we use .focused since IE7-8 and down doesn't support :focus)
479
+ &:focus,
480
+ &.focused {
481
+ padding: 5px 15px;
482
+ color: @grayDark;
483
+ text-shadow: 0 1px 0 @white;
484
+ background-color: @navbarInverseSearchBackgroundFocus;
485
+ border: 0;
486
+ .box-shadow(0 0 3px rgba(0,0,0,.15));
487
+ outline: 0;
488
+ }
489
+ }
490
+ }
491
+
492
+ // Navbar collapse button
493
+ .btn-navbar {
494
+ .buttonBackground(darken(@navbarInverseBackgroundHighlight, 5%), darken(@navbarInverseBackground, 5%));
495
+ }
496
+
497
+ }