flammarion 0.0.9 → 0.0.10

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.
data/lib/flammarion.rb CHANGED
@@ -24,6 +24,13 @@ module Flammarion
24
24
  attr_reader :chrome
25
25
  attr_accessor :callbacks, :sockets, :on_disconnect, :on_connect, :actions
26
26
  include Writeable
27
+
28
+ # Creates a new Engraving (i.e., a new display window)
29
+ # @option options [Proc] :on_connect Called when the display window is
30
+ # connected (i.e., displayed)
31
+ # @option options [Proc] :on_disconnect Called when the display windows is
32
+ # disconnected (i.e., closed)
33
+ # @option
27
34
  def initialize(options = {})
28
35
  @chrome = OpenStruct.new
29
36
  @sockets = []
@@ -31,7 +38,6 @@ module Flammarion
31
38
  @front_end = self
32
39
  @pane_name = "default"
33
40
  @on_connect = options[:on_connect]
34
- @ignore_old = options.fetch(:ignore_old, false)
35
41
  @on_disconnect = options[:on_disconnect]
36
42
  @exit_on_disconnect = options.fetch(:exit_on_disconnect, false)
37
43
 
@@ -1,3 +1,3 @@
1
1
  module Flammarion
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
@@ -293,14 +293,26 @@ module Flammarion
293
293
  return Pane.new(@front_end, name)
294
294
  end
295
295
 
296
- def status(str, position = :right)
297
- @front_end.send_json({action:'status', text: str, position:position})
296
+ # Displays a message to the bottom status bar.
297
+ # @param str [String] The message to display
298
+ # @overload status(str, position)
299
+ # @param position [Symbol] Where to put it. May be +:left+ or +:right+
300
+ # @overload status(str, options = {})
301
+ # @option options [Symbol] :position Where to put it. May be +:left+ or +:right+
302
+ # @escape_options
303
+ def status(str, options = {})
304
+ options = {position: options} if options.is_a? Symbol
305
+ @front_end.send_json({action:'status', text: str}.merge(options))
298
306
  end
299
307
 
300
308
  def table(rows, options = {})
301
309
  send_json({action:'table', rows: rows}.merge(options))
302
310
  end
303
311
 
312
+ # Prompts the user for a sting. Blocks until a string has been entered.
313
+ # @param prompt [String] A prompt to tell the user what to input.
314
+ # @param options (See #input)
315
+ # @return [String] The text that the user has entered.
304
316
  def gets(prompt = "", options = {})
305
317
  str = nil
306
318
  input(prompt, {once:true, focus:true}.merge(options)) {|msg| str = msg["text"]}
@@ -155,7 +155,9 @@ void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?voi
155
155
  text = ansi_up.escape_for_html(text);
156
156
  }
157
157
  if (options.colorize) {
158
- text = ansi_up.ansi_to_html(text);
158
+ text = ansi_up.ansi_to_html(text, {
159
+ use_classes: true
160
+ });
159
161
  }
160
162
  if (options.escape_icons) {
161
163
  text = text.replace(/:[\w-]+:/g, function(match) {
@@ -289,10 +291,19 @@ void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?voi
289
291
  return this.__parent.add(newblock, target, data);
290
292
  },
291
293
  button: function(data) {
292
- var class_name, element, target;
294
+ var class_name, element, left_icon, right_icon, target;
293
295
  target = this.__parent.check_target(data);
294
296
  class_name = data.inline ? 'inline-button' : 'full-button';
295
- element = $("<a href='#' class='" + class_name + "'>" + (this.__parent.escape(data.label, data)) + "</a>");
297
+ left_icon = "";
298
+ data.right_icon || (data.right_icon = data.icon);
299
+ if (data.left_icon) {
300
+ left_icon = "<i class='fa fa-" + data.left_icon + " label-icon-left'></i>";
301
+ }
302
+ right_icon = "";
303
+ if (data.right_icon) {
304
+ right_icon = "<i class='fa fa-" + data.right_icon + " label-icon-right'></i>";
305
+ }
306
+ element = $("<a href='#' class='" + class_name + "'>" + left_icon + (this.__parent.escape(data.label, data)) + right_icon + "</a>");
296
307
  element.click((function(_this) {
297
308
  return function() {
298
309
  return _this.__parent.send({
@@ -6776,7 +6776,9 @@ if (typeof module !== 'undefined') {
6776
6776
  text = ansi_up.escape_for_html(text);
6777
6777
  }
6778
6778
  if (options.colorize) {
6779
- text = ansi_up.ansi_to_html(text);
6779
+ text = ansi_up.ansi_to_html(text, {
6780
+ use_classes: true
6781
+ });
6780
6782
  }
6781
6783
  if (options.escape_icons) {
6782
6784
  text = text.replace(/:[\w-]+:/g, function(match) {
@@ -6910,10 +6912,19 @@ if (typeof module !== 'undefined') {
6910
6912
  return this.__parent.add(newblock, target, data);
6911
6913
  },
6912
6914
  button: function(data) {
6913
- var class_name, element, target;
6915
+ var class_name, element, left_icon, right_icon, target;
6914
6916
  target = this.__parent.check_target(data);
6915
6917
  class_name = data.inline ? 'inline-button' : 'full-button';
6916
- element = $("<a href='#' class='" + class_name + "'>" + (this.__parent.escape(data.label, data)) + "</a>");
6918
+ left_icon = "";
6919
+ data.right_icon || (data.right_icon = data.icon);
6920
+ if (data.left_icon) {
6921
+ left_icon = "<i class='fa fa-" + data.left_icon + " label-icon-left'></i>";
6922
+ }
6923
+ right_icon = "";
6924
+ if (data.right_icon) {
6925
+ right_icon = "<i class='fa fa-" + data.right_icon + " label-icon-right'></i>";
6926
+ }
6927
+ element = $("<a href='#' class='" + class_name + "'>" + left_icon + (this.__parent.escape(data.label, data)) + right_icon + "</a>");
6917
6928
  element.click((function(_this) {
6918
6929
  return function() {
6919
6930
  return _this.__parent.send({
@@ -155,7 +155,9 @@ void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?voi
155
155
  text = ansi_up.escape_for_html(text);
156
156
  }
157
157
  if (options.colorize) {
158
- text = ansi_up.ansi_to_html(text);
158
+ text = ansi_up.ansi_to_html(text, {
159
+ use_classes: true
160
+ });
159
161
  }
160
162
  if (options.escape_icons) {
161
163
  text = text.replace(/:[\w-]+:/g, function(match) {
@@ -155,7 +155,9 @@ void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?voi
155
155
  text = ansi_up.escape_for_html(text);
156
156
  }
157
157
  if (options.colorize) {
158
- text = ansi_up.ansi_to_html(text);
158
+ text = ansi_up.ansi_to_html(text, {
159
+ use_classes: true
160
+ });
159
161
  }
160
162
  if (options.escape_icons) {
161
163
  text = text.replace(/:[\w-]+:/g, function(match) {
@@ -183,8 +183,104 @@ Railscasts-like style (c) Visoft, Inc. (Damien White)
183
183
  .xml .hljs-cdata {
184
184
  opacity: 0.7;
185
185
  }
186
+ .ansi-black-fg {
187
+ color: #292929;
188
+ }
189
+ .ansi-black-bg {
190
+ background-color: #292929;
191
+ }
192
+ .ansi-red-fg {
193
+ color: #b00;
194
+ }
195
+ .ansi-red-bg {
196
+ background-color: #b00;
197
+ }
198
+ .ansi-green-fg {
199
+ color: #0b0;
200
+ }
201
+ .ansi-green-bg {
202
+ background-color: #0b0;
203
+ }
204
+ .ansi-yellow-fg {
205
+ color: #bb0;
206
+ }
207
+ .ansi-yellow-bg {
208
+ background-color: #bb0;
209
+ }
210
+ .ansi-blue-fg {
211
+ color: #234bc6;
212
+ }
213
+ .ansi-blue-bg {
214
+ background-color: #234bc6;
215
+ }
216
+ .ansi-magenta-fg {
217
+ color: #b0b;
218
+ }
219
+ .ansi-magenta-bg {
220
+ background-color: #b0b;
221
+ }
222
+ .ansi-cyan-fg {
223
+ color: #0bb;
224
+ }
225
+ .ansi-cyan-bg {
226
+ background-color: #0bb;
227
+ }
228
+ .ansi-white-fg {
229
+ color: #fff;
230
+ }
231
+ .ansi-white-bg {
232
+ background-color: #fff;
233
+ }
234
+ .ansi-bright-black-fg {
235
+ color: #555;
236
+ }
237
+ .ansi-bright-black-bg {
238
+ background-color: #555;
239
+ }
240
+ .ansi-bright-red-fg {
241
+ color: #f55;
242
+ }
243
+ .ansi-bright-red-bg {
244
+ background-color: #f55;
245
+ }
246
+ .ansi-bright-green-fg {
247
+ color: #0f0;
248
+ }
249
+ .ansi-bright-green-bg {
250
+ background-color: #0f0;
251
+ }
252
+ .ansi-bright-yellow-fg {
253
+ color: #ff5;
254
+ }
255
+ .ansi-bright-yellow-bg {
256
+ background-color: #ff5;
257
+ }
258
+ .ansi-bright-blue-fg {
259
+ color: #55f;
260
+ }
261
+ .ansi-bright-blue-bg {
262
+ background-color: #55f;
263
+ }
264
+ .ansi-bright-magenta-fg {
265
+ color: #f5f;
266
+ }
267
+ .ansi-bright-magenta-bg {
268
+ background-color: #f5f;
269
+ }
270
+ .ansi-bright-cyan-fg {
271
+ color: #5ff;
272
+ }
273
+ .ansi-bright-cyan-bg {
274
+ background-color: #5ff;
275
+ }
276
+ .ansi-bright-white-fg {
277
+ color: #fff;
278
+ }
279
+ .ansi-bright-white-bg {
280
+ background-color: #fff;
281
+ }
186
282
  .full-button {
187
- background-color: #120018;
283
+ background-color: #383e40;
188
284
  color: #eee;
189
285
  font-family: Monospace;
190
286
  border: 1px solid #a7a7a7;
@@ -194,17 +290,45 @@ Railscasts-like style (c) Visoft, Inc. (Damien White)
194
290
  text-align: center;
195
291
  margin-top: 0.5em;
196
292
  margin-bottom: 0.5em;
197
- user-select: none;
293
+ -webkit-touch-callout: none;
198
294
  -webkit-user-select: none;
295
+ -khtml-user-select: none;
296
+ -moz-user-select: none;
297
+ -ms-user-select: none;
298
+ user-select: none;
299
+ background-color: #4a5255;
300
+ background-image: -webkit-linear-gradient(top, #4a5255 40%, #32383a 100%);
301
+ background-image: -moz-linear-gradient(top, #4a5255 40%, #32383a 100%);
302
+ background-image: -ms-linear-gradient(top, #4a5255 40%, #32383a 100%);
303
+ background-image: -o-linear-gradient(top, #4a5255 40%, #32383a 100%);
304
+ background-image: linear-gradient(top, #4a5255 40%, #32383a 100%);
199
305
  }
200
306
  .full-button:hover {
201
- background-color: #360049;
307
+ background-color: #4a5255;
308
+ background-color: #5a6468;
309
+ background-image: -webkit-linear-gradient(top, #5a6468 40%, #434a4d 100%);
310
+ background-image: -moz-linear-gradient(top, #5a6468 40%, #434a4d 100%);
311
+ background-image: -ms-linear-gradient(top, #5a6468 40%, #434a4d 100%);
312
+ background-image: -o-linear-gradient(top, #5a6468 40%, #434a4d 100%);
313
+ background-image: linear-gradient(top, #5a6468 40%, #434a4d 100%);
202
314
  }
203
315
  .full-button:active {
204
- background-color: #5b0079;
316
+ background-color: #5c666a;
317
+ background-color: #434a4d;
318
+ background-image: -webkit-linear-gradient(top, #434a4d 40%, #5a6468 100%);
319
+ background-image: -moz-linear-gradient(top, #434a4d 40%, #5a6468 100%);
320
+ background-image: -ms-linear-gradient(top, #434a4d 40%, #5a6468 100%);
321
+ background-image: -o-linear-gradient(top, #434a4d 40%, #5a6468 100%);
322
+ background-image: linear-gradient(top, #434a4d 40%, #5a6468 100%);
323
+ }
324
+ .full-button > .label-icon-left {
325
+ float: left;
326
+ }
327
+ .full-button > .label-icon-right {
328
+ float: right;
205
329
  }
206
330
  .inline-text-input {
207
- background-color: #120018;
331
+ background-color: #383e40;
208
332
  color: #eee;
209
333
  font-family: Monospace;
210
334
  border: 1px solid #a7a7a7;
@@ -214,17 +338,28 @@ Railscasts-like style (c) Visoft, Inc. (Damien White)
214
338
  text-align: center;
215
339
  margin-top: 0.5em;
216
340
  margin-bottom: 0.5em;
217
- user-select: none;
341
+ -webkit-touch-callout: none;
218
342
  -webkit-user-select: none;
343
+ -khtml-user-select: none;
344
+ -moz-user-select: none;
345
+ -ms-user-select: none;
346
+ user-select: none;
219
347
  text-align: left;
220
348
  box-sizing: border-box;
221
349
  width: 100%;
350
+ box-shadow: inset 0px 0px 2px 2px #2d3233;
222
351
  }
223
352
  .inline-text-input:hover {
224
- background-color: #360049;
353
+ background-color: #4a5255;
225
354
  }
226
355
  .inline-text-input:active {
227
- background-color: #5b0079;
356
+ background-color: #5c666a;
357
+ }
358
+ .inline-text-input > .label-icon-left {
359
+ float: left;
360
+ }
361
+ .inline-text-input > .label-icon-right {
362
+ float: right;
228
363
  }
229
364
  .inline-text-input.unclicked {
230
365
  color: #777;
@@ -241,6 +376,11 @@ input:focus::-webkit-input-placeholder {
241
376
  .inline-checkbox {
242
377
  padding: 0.2em;
243
378
  -webkit-user-select: none;
379
+ -webkit-touch-callout: none;
380
+ -webkit-user-select: none;
381
+ -khtml-user-select: none;
382
+ -moz-user-select: none;
383
+ -ms-user-select: none;
244
384
  user-select: none;
245
385
  }
246
386
  .inline-checkbox > span {
@@ -259,10 +399,10 @@ input:focus::-webkit-input-placeholder {
259
399
  margin-right: 0.5em;
260
400
  }
261
401
  .inline-checkbox.checked:before {
262
- background-color: #a400da;
402
+ background-color: #828e92;
263
403
  }
264
404
  .inline-checkbox:hover {
265
- background-color: #360049;
405
+ background-color: #4a5255;
266
406
  }
267
407
  #toolbar {
268
408
  background-color: #000;
@@ -315,7 +455,7 @@ input:focus::-webkit-input-placeholder {
315
455
  height: 50%;
316
456
  }
317
457
  .inline-button {
318
- background-color: #120018;
458
+ background-color: #383e40;
319
459
  color: #eee;
320
460
  font-family: Monospace;
321
461
  border: 1px solid #a7a7a7;
@@ -325,18 +465,28 @@ input:focus::-webkit-input-placeholder {
325
465
  text-align: center;
326
466
  margin-top: 0.5em;
327
467
  margin-bottom: 0.5em;
328
- user-select: none;
468
+ -webkit-touch-callout: none;
329
469
  -webkit-user-select: none;
470
+ -khtml-user-select: none;
471
+ -moz-user-select: none;
472
+ -ms-user-select: none;
473
+ user-select: none;
330
474
  display: inline;
331
475
  }
332
476
  .inline-button:hover {
333
- background-color: #360049;
477
+ background-color: #4a5255;
334
478
  }
335
479
  .inline-button:active {
336
- background-color: #5b0079;
480
+ background-color: #5c666a;
481
+ }
482
+ .inline-button > .label-icon-left {
483
+ float: left;
484
+ }
485
+ .inline-button > .label-icon-right {
486
+ float: right;
337
487
  }
338
488
  .floating-button {
339
- background-color: #120018;
489
+ background-color: #383e40;
340
490
  color: #eee;
341
491
  font-family: Monospace;
342
492
  border: 1px solid #a7a7a7;
@@ -346,17 +496,27 @@ input:focus::-webkit-input-placeholder {
346
496
  text-align: center;
347
497
  margin-top: 0.5em;
348
498
  margin-bottom: 0.5em;
349
- user-select: none;
499
+ -webkit-touch-callout: none;
350
500
  -webkit-user-select: none;
501
+ -khtml-user-select: none;
502
+ -moz-user-select: none;
503
+ -ms-user-select: none;
504
+ user-select: none;
351
505
  float: left;
352
506
  margin: 0;
353
507
  padding: 0.2em;
354
508
  }
355
509
  .floating-button:hover {
356
- background-color: #360049;
510
+ background-color: #4a5255;
357
511
  }
358
512
  .floating-button:active {
359
- background-color: #5b0079;
513
+ background-color: #5c666a;
514
+ }
515
+ .floating-button > .label-icon-left {
516
+ float: left;
517
+ }
518
+ .floating-button > .label-icon-right {
519
+ float: right;
360
520
  }
361
521
  .floating-button:active {
362
522
  margin-top: 0.1em;
@@ -369,7 +529,7 @@ input:focus::-webkit-input-placeholder {
369
529
  width: 70%;
370
530
  height: 70%;
371
531
  padding: 1em;
372
- background-color: #0e0013;
532
+ background-color: #2d3233;
373
533
  border: 1px solid #a7a7a7;
374
534
  -webkit-touch-callout: none;
375
535
  -webkit-user-select: none;
@@ -2487,7 +2647,7 @@ input:focus::-webkit-input-placeholder {
2487
2647
  @font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.5.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}
2488
2648
 
2489
2649
  body {
2490
- background-color: #120018;
2650
+ background-color: #383e40;
2491
2651
  color: #eee;
2492
2652
  padding: 0px;
2493
2653
  margin: 0px;
@@ -2507,10 +2667,10 @@ a {
2507
2667
  }
2508
2668
  p a {
2509
2669
  text-decoration: underline;
2510
- color: #92779b;
2670
+ color: #9ca0a1;
2511
2671
  }
2512
2672
  p a:hover {
2513
- color: #a477b3;
2673
+ color: #a5aaac;
2514
2674
  }
2515
2675
  .hidden {
2516
2676
  display: none;
@@ -2560,7 +2720,7 @@ p a:hover {
2560
2720
  border: 1px solid #012;
2561
2721
  }
2562
2722
  .hljs {
2563
- background-color: #120018;
2723
+ background-color: #383e40;
2564
2724
  }
2565
2725
  /* required styles */
2566
2726
 
@@ -3056,10 +3216,17 @@ p a:hover {
3056
3216
  height: 1.5em;
3057
3217
  }
3058
3218
  ::-webkit-scrollbar-thumb {
3059
- background: #81638a;
3219
+ background: #919393;
3220
+ background-color: #b2b3b3;
3221
+ background-image: -webkit-linear-gradient(left, #b2b3b3 40%, #828585 50%);
3222
+ background-image: -moz-linear-gradient(left, #b2b3b3 40%, #828585 50%);
3223
+ background-image: -ms-linear-gradient(left, #b2b3b3 40%, #828585 50%);
3224
+ background-image: -o-linear-gradient(left, #b2b3b3 40%, #828585 50%);
3225
+ background-image: linear-gradient(left, #b2b3b3 40%, #828585 50%);
3060
3226
  }
3061
3227
  ::-webkit-scrollbar-track {
3062
- background: #433049;
3228
+ background: #626464;
3229
+ box-shadow: inset 0px 0px 1px 1px #32383a;
3063
3230
  }
3064
3231
  #status {
3065
3232
  background-color: #000;
@@ -3075,6 +3242,12 @@ p a:hover {
3075
3242
  -moz-user-select: none;
3076
3243
  -ms-user-select: none;
3077
3244
  user-select: none;
3245
+ background-color: #1a1a1a;
3246
+ background-image: -webkit-linear-gradient(top, #1a1a1a 10%, #000 100%);
3247
+ background-image: -moz-linear-gradient(top, #1a1a1a 10%, #000 100%);
3248
+ background-image: -ms-linear-gradient(top, #1a1a1a 10%, #000 100%);
3249
+ background-image: -o-linear-gradient(top, #1a1a1a 10%, #000 100%);
3250
+ background-image: linear-gradient(top, #1a1a1a 10%, #000 100%);
3078
3251
  }
3079
3252
  #status:before {
3080
3253
  color: #781111;
@@ -3089,13 +3262,14 @@ p a:hover {
3089
3262
  float: right;
3090
3263
  width: 33%;
3091
3264
  cursor: pointer;
3265
+ text-align: right;
3092
3266
  }
3093
3267
  #status > .center {
3094
3268
  display: none;
3095
3269
  }
3096
3270
  .connected #status:before {
3097
3271
  color: #378137;
3098
- content: "Attached";
3272
+ content: "";
3099
3273
  margin-right: 2em;
3100
3274
  float: left;
3101
3275
  }
@@ -3108,17 +3282,17 @@ td {
3108
3282
  box-sizing: padding-box;
3109
3283
  }
3110
3284
  td.hover {
3111
- background: #240030;
3285
+ background: #41484a;
3112
3286
  }
3113
3287
  tr {
3114
3288
  padding: 0;
3115
3289
  }
3116
3290
  tr:hover {
3117
- background: #240030;
3291
+ background: #41484a;
3118
3292
  }
3119
3293
  tr:hover td.hover {
3120
3294
  outline: 1px solid #333;
3121
- background: #120018;
3295
+ background: #383e40;
3122
3296
  }
3123
3297
 
3124
3298
 
@@ -0,0 +1,96 @@
1
+ .ansi-black-fg {
2
+ color: #292929;
3
+ }
4
+ .ansi-black-bg {
5
+ background-color: #292929;
6
+ }
7
+ .ansi-red-fg {
8
+ color: #b00;
9
+ }
10
+ .ansi-red-bg {
11
+ background-color: #b00;
12
+ }
13
+ .ansi-green-fg {
14
+ color: #0b0;
15
+ }
16
+ .ansi-green-bg {
17
+ background-color: #0b0;
18
+ }
19
+ .ansi-yellow-fg {
20
+ color: #bb0;
21
+ }
22
+ .ansi-yellow-bg {
23
+ background-color: #bb0;
24
+ }
25
+ .ansi-blue-fg {
26
+ color: #234bc6;
27
+ }
28
+ .ansi-blue-bg {
29
+ background-color: #234bc6;
30
+ }
31
+ .ansi-magenta-fg {
32
+ color: #b0b;
33
+ }
34
+ .ansi-magenta-bg {
35
+ background-color: #b0b;
36
+ }
37
+ .ansi-cyan-fg {
38
+ color: #0bb;
39
+ }
40
+ .ansi-cyan-bg {
41
+ background-color: #0bb;
42
+ }
43
+ .ansi-white-fg {
44
+ color: #fff;
45
+ }
46
+ .ansi-white-bg {
47
+ background-color: #fff;
48
+ }
49
+ .ansi-bright-black-fg {
50
+ color: #555;
51
+ }
52
+ .ansi-bright-black-bg {
53
+ background-color: #555;
54
+ }
55
+ .ansi-bright-red-fg {
56
+ color: #f55;
57
+ }
58
+ .ansi-bright-red-bg {
59
+ background-color: #f55;
60
+ }
61
+ .ansi-bright-green-fg {
62
+ color: #0f0;
63
+ }
64
+ .ansi-bright-green-bg {
65
+ background-color: #0f0;
66
+ }
67
+ .ansi-bright-yellow-fg {
68
+ color: #ff5;
69
+ }
70
+ .ansi-bright-yellow-bg {
71
+ background-color: #ff5;
72
+ }
73
+ .ansi-bright-blue-fg {
74
+ color: #55f;
75
+ }
76
+ .ansi-bright-blue-bg {
77
+ background-color: #55f;
78
+ }
79
+ .ansi-bright-magenta-fg {
80
+ color: #f5f;
81
+ }
82
+ .ansi-bright-magenta-bg {
83
+ background-color: #f5f;
84
+ }
85
+ .ansi-bright-cyan-fg {
86
+ color: #5ff;
87
+ }
88
+ .ansi-bright-cyan-bg {
89
+ background-color: #5ff;
90
+ }
91
+ .ansi-bright-white-fg {
92
+ color: #fff;
93
+ }
94
+ .ansi-bright-white-bg {
95
+ background-color: #fff;
96
+ }
@@ -1,5 +1,5 @@
1
1
  .full-button {
2
- background-color: #120018;
2
+ background-color: #383e40;
3
3
  color: #eee;
4
4
  font-family: Monospace;
5
5
  border: 1px solid #a7a7a7;
@@ -9,17 +9,45 @@
9
9
  text-align: center;
10
10
  margin-top: 0.5em;
11
11
  margin-bottom: 0.5em;
12
- user-select: none;
12
+ -webkit-touch-callout: none;
13
13
  -webkit-user-select: none;
14
+ -khtml-user-select: none;
15
+ -moz-user-select: none;
16
+ -ms-user-select: none;
17
+ user-select: none;
18
+ background-color: #4a5255;
19
+ background-image: -webkit-linear-gradient(top, #4a5255 40%, #32383a 100%);
20
+ background-image: -moz-linear-gradient(top, #4a5255 40%, #32383a 100%);
21
+ background-image: -ms-linear-gradient(top, #4a5255 40%, #32383a 100%);
22
+ background-image: -o-linear-gradient(top, #4a5255 40%, #32383a 100%);
23
+ background-image: linear-gradient(top, #4a5255 40%, #32383a 100%);
14
24
  }
15
25
  .full-button:hover {
16
- background-color: #360049;
26
+ background-color: #4a5255;
27
+ background-color: #5a6468;
28
+ background-image: -webkit-linear-gradient(top, #5a6468 40%, #434a4d 100%);
29
+ background-image: -moz-linear-gradient(top, #5a6468 40%, #434a4d 100%);
30
+ background-image: -ms-linear-gradient(top, #5a6468 40%, #434a4d 100%);
31
+ background-image: -o-linear-gradient(top, #5a6468 40%, #434a4d 100%);
32
+ background-image: linear-gradient(top, #5a6468 40%, #434a4d 100%);
17
33
  }
18
34
  .full-button:active {
19
- background-color: #5b0079;
35
+ background-color: #5c666a;
36
+ background-color: #434a4d;
37
+ background-image: -webkit-linear-gradient(top, #434a4d 40%, #5a6468 100%);
38
+ background-image: -moz-linear-gradient(top, #434a4d 40%, #5a6468 100%);
39
+ background-image: -ms-linear-gradient(top, #434a4d 40%, #5a6468 100%);
40
+ background-image: -o-linear-gradient(top, #434a4d 40%, #5a6468 100%);
41
+ background-image: linear-gradient(top, #434a4d 40%, #5a6468 100%);
42
+ }
43
+ .full-button > .label-icon-left {
44
+ float: left;
45
+ }
46
+ .full-button > .label-icon-right {
47
+ float: right;
20
48
  }
21
49
  .inline-text-input {
22
- background-color: #120018;
50
+ background-color: #383e40;
23
51
  color: #eee;
24
52
  font-family: Monospace;
25
53
  border: 1px solid #a7a7a7;
@@ -29,17 +57,28 @@
29
57
  text-align: center;
30
58
  margin-top: 0.5em;
31
59
  margin-bottom: 0.5em;
32
- user-select: none;
60
+ -webkit-touch-callout: none;
33
61
  -webkit-user-select: none;
62
+ -khtml-user-select: none;
63
+ -moz-user-select: none;
64
+ -ms-user-select: none;
65
+ user-select: none;
34
66
  text-align: left;
35
67
  box-sizing: border-box;
36
68
  width: 100%;
69
+ box-shadow: inset 0px 0px 2px 2px #2d3233;
37
70
  }
38
71
  .inline-text-input:hover {
39
- background-color: #360049;
72
+ background-color: #4a5255;
40
73
  }
41
74
  .inline-text-input:active {
42
- background-color: #5b0079;
75
+ background-color: #5c666a;
76
+ }
77
+ .inline-text-input > .label-icon-left {
78
+ float: left;
79
+ }
80
+ .inline-text-input > .label-icon-right {
81
+ float: right;
43
82
  }
44
83
  .inline-text-input.unclicked {
45
84
  color: #777;
@@ -56,6 +95,11 @@ input:focus::-webkit-input-placeholder {
56
95
  .inline-checkbox {
57
96
  padding: 0.2em;
58
97
  -webkit-user-select: none;
98
+ -webkit-touch-callout: none;
99
+ -webkit-user-select: none;
100
+ -khtml-user-select: none;
101
+ -moz-user-select: none;
102
+ -ms-user-select: none;
59
103
  user-select: none;
60
104
  }
61
105
  .inline-checkbox > span {
@@ -74,10 +118,10 @@ input:focus::-webkit-input-placeholder {
74
118
  margin-right: 0.5em;
75
119
  }
76
120
  .inline-checkbox.checked:before {
77
- background-color: #a400da;
121
+ background-color: #828e92;
78
122
  }
79
123
  .inline-checkbox:hover {
80
- background-color: #360049;
124
+ background-color: #4a5255;
81
125
  }
82
126
  #toolbar {
83
127
  background-color: #000;
@@ -130,7 +174,7 @@ input:focus::-webkit-input-placeholder {
130
174
  height: 50%;
131
175
  }
132
176
  .inline-button {
133
- background-color: #120018;
177
+ background-color: #383e40;
134
178
  color: #eee;
135
179
  font-family: Monospace;
136
180
  border: 1px solid #a7a7a7;
@@ -140,18 +184,28 @@ input:focus::-webkit-input-placeholder {
140
184
  text-align: center;
141
185
  margin-top: 0.5em;
142
186
  margin-bottom: 0.5em;
143
- user-select: none;
187
+ -webkit-touch-callout: none;
144
188
  -webkit-user-select: none;
189
+ -khtml-user-select: none;
190
+ -moz-user-select: none;
191
+ -ms-user-select: none;
192
+ user-select: none;
145
193
  display: inline;
146
194
  }
147
195
  .inline-button:hover {
148
- background-color: #360049;
196
+ background-color: #4a5255;
149
197
  }
150
198
  .inline-button:active {
151
- background-color: #5b0079;
199
+ background-color: #5c666a;
200
+ }
201
+ .inline-button > .label-icon-left {
202
+ float: left;
203
+ }
204
+ .inline-button > .label-icon-right {
205
+ float: right;
152
206
  }
153
207
  .floating-button {
154
- background-color: #120018;
208
+ background-color: #383e40;
155
209
  color: #eee;
156
210
  font-family: Monospace;
157
211
  border: 1px solid #a7a7a7;
@@ -161,17 +215,27 @@ input:focus::-webkit-input-placeholder {
161
215
  text-align: center;
162
216
  margin-top: 0.5em;
163
217
  margin-bottom: 0.5em;
164
- user-select: none;
218
+ -webkit-touch-callout: none;
165
219
  -webkit-user-select: none;
220
+ -khtml-user-select: none;
221
+ -moz-user-select: none;
222
+ -ms-user-select: none;
223
+ user-select: none;
166
224
  float: left;
167
225
  margin: 0;
168
226
  padding: 0.2em;
169
227
  }
170
228
  .floating-button:hover {
171
- background-color: #360049;
229
+ background-color: #4a5255;
172
230
  }
173
231
  .floating-button:active {
174
- background-color: #5b0079;
232
+ background-color: #5c666a;
233
+ }
234
+ .floating-button > .label-icon-left {
235
+ float: left;
236
+ }
237
+ .floating-button > .label-icon-right {
238
+ float: right;
175
239
  }
176
240
  .floating-button:active {
177
241
  margin-top: 0.1em;
@@ -5,7 +5,7 @@
5
5
  width: 70%;
6
6
  height: 70%;
7
7
  padding: 1em;
8
- background-color: #0e0013;
8
+ background-color: #2d3233;
9
9
  border: 1px solid #a7a7a7;
10
10
  -webkit-touch-callout: none;
11
11
  -webkit-user-select: none;
@@ -1,6 +1,6 @@
1
1
  @charset "utf-8";
2
2
  body {
3
- background-color: #120018;
3
+ background-color: #383e40;
4
4
  color: #eee;
5
5
  padding: 0px;
6
6
  margin: 0px;
@@ -20,10 +20,10 @@ a {
20
20
  }
21
21
  p a {
22
22
  text-decoration: underline;
23
- color: #92779b;
23
+ color: #9ca0a1;
24
24
  }
25
25
  p a:hover {
26
- color: #a477b3;
26
+ color: #a5aaac;
27
27
  }
28
28
  .hidden {
29
29
  display: none;
@@ -73,5 +73,5 @@ p a:hover {
73
73
  border: 1px solid #012;
74
74
  }
75
75
  .hljs {
76
- background-color: #120018;
76
+ background-color: #383e40;
77
77
  }
@@ -7,8 +7,15 @@
7
7
  height: 1.5em;
8
8
  }
9
9
  ::-webkit-scrollbar-thumb {
10
- background: #81638a;
10
+ background: #919393;
11
+ background-color: #b2b3b3;
12
+ background-image: -webkit-linear-gradient(left, #b2b3b3 40%, #828585 50%);
13
+ background-image: -moz-linear-gradient(left, #b2b3b3 40%, #828585 50%);
14
+ background-image: -ms-linear-gradient(left, #b2b3b3 40%, #828585 50%);
15
+ background-image: -o-linear-gradient(left, #b2b3b3 40%, #828585 50%);
16
+ background-image: linear-gradient(left, #b2b3b3 40%, #828585 50%);
11
17
  }
12
18
  ::-webkit-scrollbar-track {
13
- background: #433049;
19
+ background: #626464;
20
+ box-shadow: inset 0px 0px 1px 1px #32383a;
14
21
  }
@@ -12,6 +12,12 @@
12
12
  -moz-user-select: none;
13
13
  -ms-user-select: none;
14
14
  user-select: none;
15
+ background-color: #1a1a1a;
16
+ background-image: -webkit-linear-gradient(top, #1a1a1a 10%, #000 100%);
17
+ background-image: -moz-linear-gradient(top, #1a1a1a 10%, #000 100%);
18
+ background-image: -ms-linear-gradient(top, #1a1a1a 10%, #000 100%);
19
+ background-image: -o-linear-gradient(top, #1a1a1a 10%, #000 100%);
20
+ background-image: linear-gradient(top, #1a1a1a 10%, #000 100%);
15
21
  }
16
22
  #status:before {
17
23
  color: #781111;
@@ -26,13 +32,14 @@
26
32
  float: right;
27
33
  width: 33%;
28
34
  cursor: pointer;
35
+ text-align: right;
29
36
  }
30
37
  #status > .center {
31
38
  display: none;
32
39
  }
33
40
  .connected #status:before {
34
41
  color: #378137;
35
- content: "Attached";
42
+ content: "";
36
43
  margin-right: 2em;
37
44
  float: left;
38
45
  }
@@ -7,15 +7,15 @@ td {
7
7
  box-sizing: padding-box;
8
8
  }
9
9
  td.hover {
10
- background: #240030;
10
+ background: #41484a;
11
11
  }
12
12
  tr {
13
13
  padding: 0;
14
14
  }
15
15
  tr:hover {
16
- background: #240030;
16
+ background: #41484a;
17
17
  }
18
18
  tr:hover td.hover {
19
19
  outline: 1px solid #333;
20
- background: #120018;
20
+ background: #383e40;
21
21
  }
@@ -82,7 +82,13 @@ $.extend WSClient.prototype.actions,
82
82
  button: (data) ->
83
83
  target = @__parent.check_target(data)
84
84
  class_name = if data.inline then 'inline-button' else 'full-button'
85
- element = $("<a href='#' class='#{class_name}'>#{@__parent.escape(data.label, data)}</a>")
85
+ left_icon = ""
86
+ data.right_icon ||= data.icon
87
+ left_icon = "<i class='fa fa-#{data.left_icon} label-icon-left'></i>" if data.left_icon
88
+ right_icon = ""
89
+ right_icon = "<i class='fa fa-#{data.right_icon} label-icon-right'></i>" if data.right_icon
90
+
91
+ element = $("<a href='#' class='#{class_name}'>#{left_icon}#{@__parent.escape(data.label, data)}#{right_icon}</a>")
86
92
  element.click =>
87
93
  @__parent.send({
88
94
  id:data.id
@@ -66,7 +66,7 @@ class WSClient
66
66
  return text if options.raw
67
67
  text = "#{text}"
68
68
  text = ansi_up.escape_for_html(text) if options.escape_html
69
- text = ansi_up.ansi_to_html(text) if options.colorize
69
+ text = ansi_up.ansi_to_html(text, {use_classes:true}) if options.colorize
70
70
  text = text.replace(/:[\w-]+:/g, (match) ->
71
71
  "<i class='fa fa-#{match[1..-2]}'></i>") if options.escape_icons
72
72
  return text
@@ -0,0 +1,38 @@
1
+ set-ansi(val)
2
+ &-fg
3
+ color val
4
+ &-bg
5
+ background-color val
6
+
7
+ .ansi-black
8
+ set-ansi(rgb(41, 41, 41))
9
+ .ansi-red
10
+ set-ansi(rgb(187, 0, 0))
11
+ .ansi-green
12
+ set-ansi(rgb(0, 187, 0))
13
+ .ansi-yellow
14
+ set-ansi(rgb(187, 187, 0))
15
+ .ansi-blue
16
+ set-ansi(rgb(35, 75, 198))
17
+ .ansi-magenta
18
+ set-ansi(rgb(187, 0, 187))
19
+ .ansi-cyan
20
+ set-ansi(rgb(0, 187, 187))
21
+ .ansi-white
22
+ set-ansi(rgb(255,255,255))
23
+ .ansi-bright-black
24
+ set-ansi(rgb(85, 85, 85))
25
+ .ansi-bright-red
26
+ set-ansi(rgb(255, 85, 85))
27
+ .ansi-bright-green
28
+ set-ansi(rgb(0, 255, 0))
29
+ .ansi-bright-yellow
30
+ set-ansi(rgb(255, 255, 85))
31
+ .ansi-bright-blue
32
+ set-ansi(rgb(85, 85, 255))
33
+ .ansi-bright-magenta
34
+ set-ansi(rgb(255, 85, 255))
35
+ .ansi-bright-cyan
36
+ set-ansi(rgb(85, 255, 255))
37
+ .ansi-bright-white
38
+ set-ansi(rgb(255, 255, 255))
@@ -1,6 +1,7 @@
1
1
  @import 'colors.styl'
2
+ @import 'mixins.styl'
2
3
 
3
- buttony()
4
+ buttony(raised = false)
4
5
  background-color lighten($bg-color, 0%)
5
6
  color darken($fg-color, 0%)
6
7
  font-family Monospace
@@ -12,21 +13,33 @@ buttony()
12
13
  margin-top 0.5em
13
14
  margin-bottom 0.5em
14
15
  user-select none
15
- -webkit-user-select none
16
+ if raised and $enable-gradients
17
+ background-linear-gradient top, lighten($bg-color, 10%), 40%, darken($bg-color, 10%), 100%
16
18
 
17
19
  &:hover
18
20
  background-color $highlight
21
+ if raised and $enable-gradients
22
+ background-linear-gradient top, lighten($highlight, 10%), 40%, darken($highlight, 10%), 100%
19
23
  &:active
20
24
  background-color $active-highlight
25
+ if raised and $enable-gradients
26
+ background-linear-gradient top, darken($highlight, 10%), 40%, lighten($highlight, 10%), 100%
27
+
28
+ & > .label-icon-left
29
+ float left
30
+ & > .label-icon-right
31
+ float right
21
32
 
22
33
  .full-button
23
- buttony()
34
+ buttony(true)
24
35
 
25
36
  .inline-text-input
26
37
  buttony()
27
38
  text-align left
28
39
  box-sizing border-box
29
40
  width 100%
41
+ if $enable-gradients
42
+ box-shadow inset 0px 0px 2px 2px darken($bg-color, 20%)
30
43
  &.unclicked
31
44
  color darken($fg-color, 50%)
32
45
  textarea&
@@ -4,13 +4,19 @@ activate(color, ammount)
4
4
  else
5
5
  darken(color, ammount)
6
6
 
7
- $bg-color = #120018
7
+ // $bg-color = #120018
8
+ $bg-color = #383e40
8
9
 
9
10
  if dark($bg-color)
10
11
  $fg-color = #eee
11
12
  else
12
13
  $fg-color = #333
13
14
 
15
+ if dark($bg-color)
16
+ $status-bg-color = #000
17
+ else
18
+ $status-bg-color = #aaa
19
+
14
20
  $highlight = activate($bg-color, 10%)
15
21
  $active-highlight = activate($bg-color, 20%)
16
22
  $normal-border = 1px solid darken($fg-color, 30%)
@@ -18,3 +24,5 @@ $scrollbar-track-color = desaturate($active-highlight, 80%)
18
24
  $scrollbar-thumb-color = desaturate(activate($scrollbar-track-color, 30%), 20%)
19
25
  $fg-highlight = mix($fg-color, $highlight, 50%)
20
26
  $fg-active-highlight = mix($fg-color, $active-highlight, 50%)
27
+
28
+ $enable-gradients = true
@@ -5,3 +5,11 @@ user-select(n)
5
5
  -moz-user-select: n
6
6
  -ms-user-select: n
7
7
  user-select: n
8
+
9
+ background-linear-gradient(startPoint, startColor, startInterval, endColor, endInterval)
10
+ background-color startColor
11
+ background-image -webkit-linear-gradient(startPoint, startColor startInterval, endColor endInterval)
12
+ background-image -moz-linear-gradient(startPoint, startColor startInterval, endColor endInterval)
13
+ background-image -ms-linear-gradient(startPoint, startColor startInterval, endColor endInterval)
14
+ background-image -o-linear-gradient(startPoint, startColor startInterval, endColor endInterval)
15
+ background-image linear-gradient(startPoint, startColor startInterval, endColor endInterval)
@@ -1,4 +1,5 @@
1
1
  @import 'colors.styl'
2
+ @import 'mixins.styl'
2
3
 
3
4
  ::-webkit-scrollbar {
4
5
  width: 0.666em;
@@ -10,9 +11,12 @@
10
11
  height: 1.5em;
11
12
  }
12
13
 
13
- ::-webkit-scrollbar-thumb {
14
+ ::-webkit-scrollbar-thumb
14
15
  background $scrollbar-thumb-color
15
- }
16
+ if $enable-gradients
17
+ background-linear-gradient left, lighten($scrollbar-thumb-color, 30%), 40%, darken($scrollbar-thumb-color, 10%), 50%
16
18
 
17
19
  ::-webkit-scrollbar-track
18
20
  background $scrollbar-track-color
21
+ if $enable-gradients
22
+ box-shadow inset 0px 0px 1px 1px darken($bg-color, 10%)
@@ -2,7 +2,7 @@
2
2
  @import 'mixins.styl'
3
3
 
4
4
  #status
5
- background-color #000
5
+ background-color $status-bg-color
6
6
  margin 0px
7
7
  padding 5px
8
8
  padding-bottom 10px
@@ -10,6 +10,8 @@
10
10
  height 2%
11
11
  overflow none
12
12
  user-select none
13
+ if $enable-gradients
14
+ background-linear-gradient top, lighten($status-bg-color, 10%), 10%, darken($status-bg-color, 10%), 100%
13
15
  &:before
14
16
  color #781111
15
17
  content "Detached"
@@ -21,6 +23,7 @@
21
23
  float right
22
24
  width 33%
23
25
  cursor pointer
26
+ text-align right
24
27
  & > .center
25
28
  // Not working right now
26
29
  display none
@@ -28,6 +31,6 @@
28
31
  .connected &
29
32
  &:before
30
33
  color #378137
31
- content "Attached"
34
+ content ""
32
35
  margin-right 2em
33
36
  float left
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flammarion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -170,6 +170,7 @@ files:
170
170
  - lib/html/source/stylesheets/leaflet.css
171
171
  - lib/html/source/stylesheets/buttons.styl
172
172
  - lib/html/source/stylesheets/all.css
173
+ - lib/html/source/stylesheets/ansi_colors.styl
173
174
  - lib/html/source/stylesheets/dialog.styl
174
175
  - lib/html/source/stylesheets/frontend.styl
175
176
  - lib/html/source/stylesheets/railscasts.css
@@ -223,6 +224,7 @@ files:
223
224
  - lib/html/build/stylesheets/buttons.css
224
225
  - lib/html/build/stylesheets/railscasts.css
225
226
  - lib/html/build/stylesheets/status.css
227
+ - lib/html/build/stylesheets/ansi_colors.css
226
228
  - lib/html/build/stylesheets/font-awesome/HELP-US-OUT.txt
227
229
  - lib/html/build/stylesheets/font-awesome/css/font-awesome.min.css
228
230
  - lib/html/build/stylesheets/font-awesome/css/font-awesome.css