iqvoc 4.8.0 → 4.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/app/assets/fonts/FiraMono-Regular.eot +0 -0
  4. data/app/assets/fonts/FiraMono-Regular.ttf +0 -0
  5. data/app/assets/fonts/FiraMono-Regular.woff +0 -0
  6. data/app/assets/fonts/FiraSans-Bold.eot +0 -0
  7. data/app/assets/fonts/FiraSans-Bold.ttf +0 -0
  8. data/app/assets/fonts/FiraSans-Bold.woff +0 -0
  9. data/app/assets/fonts/FiraSans-BoldItalic.eot +0 -0
  10. data/app/assets/fonts/FiraSans-BoldItalic.ttf +0 -0
  11. data/app/assets/fonts/FiraSans-BoldItalic.woff +0 -0
  12. data/app/assets/javascripts/framework.js +3 -2
  13. data/app/assets/javascripts/iqvoc/autocomplete.js +42 -0
  14. data/app/assets/javascripts/iqvoc/concept_mapper.js +4 -3
  15. data/app/assets/javascripts/iqvoc/entityselect.js.erb +19 -30
  16. data/app/assets/javascripts/iqvoc/federated_concept_mapper.js +14 -26
  17. data/app/assets/javascripts/iqvoc/iqvoc.js +15 -4
  18. data/app/assets/javascripts/iqvoc/manifest.js +1 -1
  19. data/app/assets/stylesheets/_framework.scss +2 -4
  20. data/app/assets/stylesheets/iqvoc/_manifest.scss +2 -2
  21. data/app/assets/stylesheets/iqvoc/components/_datepicker.scss +7 -0
  22. data/app/assets/stylesheets/iqvoc/components/typeahead.scss +56 -0
  23. data/app/assets/stylesheets/iqvoc/hacks/_hacks.scss +4 -0
  24. data/app/assets/stylesheets/iqvoc/settings/_bootstrap-variables.scss +8 -8
  25. data/app/assets/stylesheets/iqvoc/settings/_bootstrap.scss +5 -0
  26. data/app/assets/stylesheets/iqvoc/settings/_fonts.scss +25 -64
  27. data/app/views/pages/components.html.erb +44 -0
  28. data/lib/iqvoc/version.rb +1 -1
  29. data/vendor/assets/javascripts/pickadate/picker.date.js +1322 -0
  30. data/vendor/assets/javascripts/pickadate/picker.js +1061 -0
  31. data/vendor/assets/javascripts/typeahead.jquery.js +1184 -0
  32. data/vendor/assets/stylesheets/pickadate/classic.date.scss +278 -0
  33. data/vendor/assets/stylesheets/pickadate/classic.scss +109 -0
  34. metadata +19 -23
  35. data/app/assets/stylesheets/iqvoc/hacks/_jquery-ui_extensions.scss +0 -14
  36. data/vendor/assets/javascripts/jquery-ui.datepicker-de.js +0 -22
  37. data/vendor/assets/javascripts/jquery-ui.js +0 -4676
  38. data/vendor/assets/stylesheets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  39. data/vendor/assets/stylesheets/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  40. data/vendor/assets/stylesheets/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  41. data/vendor/assets/stylesheets/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  42. data/vendor/assets/stylesheets/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  43. data/vendor/assets/stylesheets/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  44. data/vendor/assets/stylesheets/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  45. data/vendor/assets/stylesheets/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  46. data/vendor/assets/stylesheets/images/ui-icons_217bc0_256x240.png +0 -0
  47. data/vendor/assets/stylesheets/images/ui-icons_2e83ff_256x240.png +0 -0
  48. data/vendor/assets/stylesheets/images/ui-icons_469bdd_256x240.png +0 -0
  49. data/vendor/assets/stylesheets/images/ui-icons_6da8d5_256x240.png +0 -0
  50. data/vendor/assets/stylesheets/images/ui-icons_cd0a0a_256x240.png +0 -0
  51. data/vendor/assets/stylesheets/images/ui-icons_d8e7f3_256x240.png +0 -0
  52. data/vendor/assets/stylesheets/images/ui-icons_f9bd01_256x240.png +0 -0
  53. data/vendor/assets/stylesheets/jquery-ui.scss +0 -709
  54. data/vendor/assets/stylesheets/jquery-ui.structure.scss +0 -317
  55. data/vendor/assets/stylesheets/jquery-ui.theme.scss +0 -410
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9b8de83acfbd976ee0ca242e30bc93722a47f887
4
- data.tar.gz: 243e34d21b8f03ed7e6860cda58e1a7fb976b9f4
3
+ metadata.gz: 038475af916c1873dc4eaa7f8ee52ee3d78cec08
4
+ data.tar.gz: 3005a742d1462b5a9491db6c4e10d3db96ca73e8
5
5
  SHA512:
6
- metadata.gz: 1fc14d620e132f68f6dd955150aedb3fcca9017c0492508352c2fe93bacaf7b59fccfc04715e8f435a62d287990256bfbd6e506de5554ecbc02a4c99c894fc0f
7
- data.tar.gz: 7ffbeaf92fa1f46f1a7fa391fd6a585d19bde9fbbad09ebbc5d543b206d09d1437af9f3eb9c9e7a7aae81d31726deb02389ee7c7cc4e47b728baee0ba17c7fd3
6
+ metadata.gz: bbf91a5ef677366b2e2ce7aa6cbe44971344f825877ec4ed9f11d088b8645a9e4b7ee2191916312e10813855d5e77ba55767dbf1ccf34a1bdf8627f8360a0ba5
7
+ data.tar.gz: b0e8bff4c19e677ba5a41a8fe223b214d36b0331e4b8600c9f6ad2c79fd2b7966b15aea2c32203e9a2a19118ab575f35b815a084b792a9adab38f6920209a278
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## [4.8.1]
2
+
3
+ * Changed: New, responsive datepicker
4
+ * Fixed: Several UI glitches
5
+
1
6
  ## [4.8.0]
2
7
 
3
8
  * Added: Rails 4.2
Binary file
Binary file
Binary file
@@ -1,8 +1,9 @@
1
1
  //= require jquery-1.7.1
2
2
  //= require rails
3
- //= require jquery-ui
4
- //= require jquery-ui.datepicker-de
3
+ //= require pickadate/picker
4
+ //= require pickadate/picker.date
5
5
  //= require tree.jquery.js
6
+ //= require typeahead.jquery.js
6
7
  //= require URI.js
7
8
  //= require storage
8
9
  //= require bootstrap/collapse
@@ -0,0 +1,42 @@
1
+ IQVOC.autocomplete = (function($) {
2
+
3
+ // `field` is the input field to be augmented
4
+ // `source` is a function expected to calculate the results - it is invoked with
5
+ // the respective query string and a callback and expected to invoke that
6
+ // callback with an array of `{ value, label }` objects
7
+ // `options` is an object with optional members `displayKey`, `noResultsMsg` and
8
+ // `onSelect`
9
+ // TODO: built-in support for loading indicator?
10
+ function augment(field, source, options) {
11
+ field = field.jquery ? field : $(field);
12
+
13
+ options = options || {};
14
+ options.noResultsMsg = options.noResultsMsg || "no results";
15
+ options.displayKey = options.displayKey || "value";
16
+
17
+ field.typeahead({
18
+ minLength: 3,
19
+ highlight: true
20
+ }, {
21
+ source: source,
22
+ displayKey: options.displayKey,
23
+ templates: {
24
+ empty: function() {
25
+ var el = $("<p />").text(options.noResultsMsg);
26
+ return $("<div />").append(el).html();
27
+ },
28
+ suggestion: function(item) {
29
+ var el = $("<p />").text(item.label);
30
+ return $("<div />").append(el).html();
31
+ }
32
+ }
33
+ }).bind("typeahead:selected", function(ev, selected, name) {
34
+ if(options.onSelect) {
35
+ options.onSelect.call(this, ev, selected); // TODO: document
36
+ }
37
+ });
38
+ }
39
+
40
+ return augment;
41
+
42
+ }(jQuery));
@@ -23,11 +23,11 @@ function ConceptMapper(selector) {
23
23
  this.container = $("<div />").addClass("concept-mapper control-group");
24
24
 
25
25
  this.bootstrapInputGroup = $('<div class="input-group" />');
26
- this.indicatorWrapper = $('<span class="input-group-addon" />');
26
+ this.indicator = $('<span class="indicator input-group-addon" />');
27
27
 
28
28
  this.input = this.bootstrapInputGroup
29
29
  .append($("<input />").attr("type", "text").addClass("form-control"))
30
- .append(this.indicatorWrapper)
30
+ .append(this.indicator)
31
31
  .prependTo(this.container);
32
32
 
33
33
  $("<button />").addClass("btn btn-default fa fa-plus").
@@ -47,7 +47,8 @@ ConceptMapper.prototype.onConfirm = function(ev) {
47
47
  var textArea = document.getElementsByName(textAreaName)[0];
48
48
  textArea = $(textArea);
49
49
 
50
- var newURI = this.input.find('input').val();
50
+ // FIXME: last input the correct one
51
+ var newURI = $(this.input.find('input')[1]).val();
51
52
  var newValue = $.trim(textArea.val() + this.delimiter + newURI);
52
53
 
53
54
  textArea.val(newValue);
@@ -18,34 +18,16 @@ var EntitySelector = function(node) {
18
18
  this.entities = this.getSelection();
19
19
  this.uriTemplate = this.el.data("entity-uri");
20
20
 
21
- var self = this;
22
- var noResultsMsg = this.el.data("no-results-msg");
23
-
24
21
  var selection = this.el.data("entities") || [];
22
+ var self = this;
25
23
  selection = $.map(selection, function(entity, i) {
26
24
  return self.createEntity(entity);
27
25
  });
28
26
  selection = $('<ul class="entity_list" />').append(selection);
29
27
 
30
- this.input = $('<input type="text" class="form-control" />').autocomplete({
31
- minLength: 3,
32
- source: $.proxy(this, "onInput"), // XXX: discards original `this` context
33
- search: function(ev, ui) { self.indicator.addClass("active"); },
34
- focus: function(ev, ui) { return false; },
35
- select: this.onSelect,
36
- response: function(ev, ui) {
37
- if(!ui.content.length && noResultsMsg) {
38
- ui.content.push({ label: noResultsMsg, value: "" });
39
- }
40
- }
41
- }).on("keydown", function(ev) {
42
- if(ev.which === 13) { // Enter; prevent form submission
43
- ev.preventDefault();
44
- }
45
- });
46
-
28
+ var input = $('<input type="text" class="form-control" />');
47
29
  this.inputGroup = $('<div class="input-group" />').
48
- append(this.input, this.indicator);
30
+ append(input, this.indicator);
49
31
  this.container.append(this.inputGroup, selection).
50
32
  insertAfter(node).prepend(node);
51
33
 
@@ -56,6 +38,12 @@ var EntitySelector = function(node) {
56
38
  prependTo(this.inputGroup);
57
39
  }
58
40
 
41
+ IQVOC.autocomplete(input, $.proxy(this, "onInput"), {
42
+ noResultsMsg: this.el.data("no-results-msg"),
43
+ onSelect: this.onSelect,
44
+ displayKey: "label"
45
+ });
46
+
59
47
  if(this.singular && this.entities.length) {
60
48
  this.inputGroup.hide();
61
49
  }
@@ -79,27 +67,28 @@ EntitySelector.sourceSelectors = {
79
67
  }
80
68
  };
81
69
  $.extend(EntitySelector.prototype, {
82
- onInput: function(req, callback) {
83
- var self = this;
70
+ onInput: function(query, callback) {
71
+ this.indicator.addClass("active");
84
72
 
73
+ var self = this;
85
74
  var responder = function(data, status, xhr) { // TODO: rename, move elsewhere
86
75
  data = self.processResponse(data);
87
- self.input.autocomplete("option", "autoFocus", data.length === 1);
88
76
  callback(data);
89
77
  self.indicator.removeClass("active");
90
78
  };
91
79
 
92
80
  var sourceSelector = this.el.data("source-selector") || "default";
93
81
  EntitySelector.sourceSelectors[sourceSelector].call(this, function(uri) { // XXX: direct `EntitySelector` reference limits subclassing
94
- $.getJSON(uri, { query: req.term }, responder); // TODO: error handling
82
+ $.getJSON(uri, { query: query }, responder); // TODO: error handling
95
83
  });
96
84
  },
97
- onSelect: function(ev, ui) {
98
- var el = $(this).val(""),
99
- widget = el.closest(".entity_select").data("widget");
100
- if(widget.add(ui.item.value)) {
85
+ onSelect: function(ev, item) {
86
+ var el = $(this).val("")
87
+ var widget = el.closest(".entity_select").data("widget");
88
+
89
+ if(widget.add(item.value)) {
101
90
  var entity = widget.
102
- createEntity({ id: ui.item.value, name: ui.item.label });
91
+ createEntity({ id: item.value, name: item.label });
103
92
  var list = widget.container.find("ul").append(entity);
104
93
  // force redraw to work around Safari rendering bug -- FIXME: crude and uninformed
105
94
  list.css("overflow", "auto");
@@ -11,11 +11,6 @@ var baseClass = IQVOC.ConceptMapper;
11
11
  function FederatedConceptMapper(selector) {
12
12
  baseClass.apply(this, arguments);
13
13
 
14
- this.noResultsMsg = {
15
- label: this.root.data("no-results-msg"),
16
- value: ''
17
- };
18
-
19
14
  var sources = this.root.data("datasets");
20
15
  if(!sources) { // fall back to non-federated base class only
21
16
  return;
@@ -28,37 +23,27 @@ function FederatedConceptMapper(selector) {
28
23
  this.source = $("<select />").addClass("form-control").append(sources).
29
24
  insertBefore(this.input);
30
25
 
31
- this.indicator = $("<i />").addClass("fa fa-refresh fa-spin").
32
- css("visibility", "hidden"); // TODO: use `.indicator[.active]` instead; cf. EntitySelector
33
- this.indicatorWrapper.append(this.indicator);
26
+ this.indicator.append('<i class="fa fa-refresh fa-spin" />');
34
27
 
35
28
  var self = this;
36
- this.input.find('input').autocomplete({ // TODO: extract autocomplete extension into subclass
37
- source: $.proxy(this, "onChange"),
38
- search: function(ev, ui) {
39
- if(self.source.val() === "_custom") {
40
- return false;
41
- } else {
42
- self.indicator.css("visibility", "visible");
43
- }
44
- },
45
- response: function(ev, ui) {
46
- if (!ui.content.length) {
47
- ui.content.push(self.noResultsMsg);
48
- }
49
- self.indicator.css("visibility", "hidden");
50
- },
51
- minLength: 2
29
+ var input = this.input.find("input")
30
+
31
+ IQVOC.autocomplete(input, $.proxy(this, "onChange"), {
32
+ noResultsMsg: this.root.data("no-results-msg"),
52
33
  });
34
+
53
35
  }
54
36
  FederatedConceptMapper.prototype = new baseClass();
55
- FederatedConceptMapper.prototype.onChange = function(req, callback) {
37
+ FederatedConceptMapper.prototype.onChange = function(query, callback) {
56
38
  var self = this;
39
+
40
+ self.indicator.addClass("active");
41
+
57
42
  $.ajax({
58
43
  type: "GET",
59
44
  url: this.root.data("remote-proxy-url"),
60
45
  data: {
61
- prefix: encodeURIComponent(req.term), // FIXME: (double-)encoding should not be necessary
46
+ prefix: encodeURIComponent(query), // FIXME: (double-)encoding should not be necessary
62
47
  dataset: this.source.find("option:selected").text(),
63
48
  layout: 0
64
49
  },
@@ -67,6 +52,9 @@ FederatedConceptMapper.prototype.onChange = function(req, callback) {
67
52
  var args = Array.prototype.slice.apply(arguments);
68
53
  args.push(callback);
69
54
  return self.onResults.apply(self, args);
55
+ },
56
+ complete: function() {
57
+ self.indicator.removeClass("active");
70
58
  }
71
59
  });
72
60
  };
@@ -67,8 +67,6 @@ return {
67
67
  jQuery(document).ready(function($) {
68
68
  "use strict";
69
69
 
70
- IQVOC.quicksearch(".quicksearch");
71
-
72
70
  var locale = document.documentElement.getAttribute("lang");
73
71
 
74
72
  // language selection
@@ -150,8 +148,21 @@ jQuery(document).ready(function($) {
150
148
  });
151
149
 
152
150
  // Datepicker
153
- $.datepicker.setDefaults($.datepicker.regional[locale]);
154
- $("input.datepicker").datepicker({ dateFormat: "yy-mm-dd" });
151
+ if (locale === "de") {
152
+ $.extend( $.fn.pickadate.defaults, {
153
+ monthsFull: [ 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember' ],
154
+ monthsShort: [ 'Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez' ],
155
+ weekdaysFull: [ 'Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag' ],
156
+ weekdaysShort: [ 'So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ],
157
+ today: 'Heute',
158
+ clear: 'Löschen',
159
+ firstDay: 1
160
+ });
161
+ }
162
+ $("input.datepicker").pickadate({
163
+ editable: true,
164
+ format: 'yyyy-mm-dd'
165
+ });
155
166
 
156
167
  // Dashboard table row highlighting and click handling
157
168
  $("tr.highlightable")
@@ -1,5 +1,4 @@
1
1
  //= require iqvoc/iqvoc
2
- //= require iqvoc/quicksearch
3
2
  //= require iqvoc/onebox
4
3
  //= require iqvoc/langselect
5
4
  //= require iqvoc/entityselect
@@ -9,3 +8,4 @@
9
8
  //= require iqvoc/concept_mapping_manager
10
9
  //= require iqvoc/label_resolver
11
10
  //= require iqvoc/treeview
11
+ //= require iqvoc/autocomplete
@@ -3,8 +3,6 @@
3
3
  @import 'bootstrap-sprockets';
4
4
  @import 'bootstrap';
5
5
 
6
- @import 'jquery-ui';
7
- @import 'jquery-ui.structure';
8
- @import 'jquery-ui.theme';
9
-
10
6
  @import 'font-awesome';
7
+ @import 'pickadate/classic';
8
+ @import 'pickadate/classic.date';
@@ -4,8 +4,6 @@
4
4
  @import 'iqvoc/settings/variables';
5
5
  @import 'iqvoc/settings/bootstrap';
6
6
 
7
- @import 'iqvoc/hacks/jquery-ui_extensions';
8
-
9
7
  @import 'iqvoc/components/treeview';
10
8
  @import 'iqvoc/components/components';
11
9
  @import 'iqvoc/components/panels';
@@ -15,5 +13,7 @@
15
13
  @import 'iqvoc/components/entity_select';
16
14
  @import 'iqvoc/components/modals';
17
15
  @import 'iqvoc/components/label-list';
16
+ @import 'iqvoc/components/typeahead';
17
+ @import 'iqvoc/components/datepicker';
18
18
 
19
19
  @import 'iqvoc/hacks/hacks';
@@ -0,0 +1,7 @@
1
+ .picker--opened .picker__holder {
2
+ @include flat-box-shadow();
3
+ }
4
+
5
+ .picker__holder {
6
+ border-radius: 0;
7
+ }
@@ -0,0 +1,56 @@
1
+ .twitter-typeahead { width:100%; }
2
+
3
+ .twitter-typeahead .tt-query,
4
+ .twitter-typeahead .tt-hint {
5
+ margin-bottom: 0;
6
+ }
7
+
8
+ .tt-dropdown-menu {
9
+ min-width: 160px;
10
+ margin-top: 2px;
11
+ padding: 5px 0;
12
+ background-color: #fff;
13
+ border: 1px solid #ccc;
14
+ border: 1px solid rgba(0,0,0,.2);
15
+ *border-right-width: 2px;
16
+ *border-bottom-width: 2px;
17
+ -webkit-border-radius: 6px;
18
+ -moz-border-radius: 6px;
19
+ border-radius: 6px;
20
+ -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
21
+ -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
22
+ box-shadow: 0 5px 10px rgba(0,0,0,.2);
23
+ -webkit-background-clip: padding-box;
24
+ -moz-background-clip: padding;
25
+ background-clip: padding-box;
26
+ width:100%;
27
+ }
28
+
29
+ .tt-dropdown-menu > div > p {
30
+ padding: 3px 20px;
31
+ margin: 0;
32
+ }
33
+
34
+ .tt-suggestion {
35
+ display: block;
36
+ padding: 3px 20px;
37
+ }
38
+
39
+ .tt-suggestion p { margin: 0; }
40
+
41
+ .tt-cursor {
42
+ color: #fff;
43
+ background-color: #0081c2;
44
+ background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
45
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
46
+ background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
47
+ background-image: -o-linear-gradient(top, #0088cc, #0077b3);
48
+ background-image: linear-gradient(to bottom, #0088cc, #0077b3);
49
+ background-repeat: repeat-x;
50
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0)
51
+ }
52
+
53
+ .tt-cursor a { color: #fff; }
54
+
55
+ .input-group span.twitter-typeahead { display: block !important; }
56
+ .input-group span.twitter-typeahead .tt-dropdown-menu { top: 32px !important; }
@@ -6,3 +6,7 @@ fieldset > div:first-of-type, ol:first-of-type, p {
6
6
  -webkit-margin-top-collapse: separate;
7
7
  margin-top: 27px;
8
8
  }
9
+
10
+ .fa {
11
+ font-family: FontAwesome;
12
+ }
@@ -49,10 +49,10 @@
49
49
  //
50
50
  //## Font, line-height, and color for body text, headings, and more.
51
51
 
52
- $font-family-sans-serif: 'Fira Sans', Helvetica, Arial, sans-serif;
52
+ $font-family-sans-serif: 'Fira Sans Regular', Helvetica, Arial, sans-serif;
53
53
  // $font-family-serif: Georgia, "Times New Roman", Times, serif
54
54
  //** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
55
- // $font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace
55
+ $font-family-monospace: 'Fira Mono Regular', Menlo, Monaco, Consolas, 'Courier New', monospace;
56
56
  // $font-family-base: $font-family-sans-serif
57
57
 
58
58
  // $font-size-base: 14px
@@ -270,12 +270,12 @@ $headings-font-family: 'Fira Sans ExtraLight', Helvetica, Arial, sans-serif;
270
270
  //
271
271
  // Note: These variables are not generated into the Customizer.
272
272
 
273
- // $zindex-navbar: 1000
274
- // $zindex-dropdown: 1000
275
- // $zindex-popover: 1060
276
- // $zindex-tooltip: 1070
277
- // $zindex-navbar-fixed: 1030
278
- // $zindex-modal: 1040
273
+ $zindex-navbar: 10000;
274
+ $zindex-dropdown: 10000;
275
+ $zindex-popover: 10600;
276
+ $zindex-tooltip: 10700;
277
+ $zindex-navbar-fixed: 10300;
278
+ $zindex-modal: 10400;
279
279
 
280
280
 
281
281
  //== Media queries breakpoints
@@ -62,3 +62,8 @@ form#search {
62
62
  @include flat-box-shadow();
63
63
  border-radius: 0;
64
64
  }
65
+
66
+ label, th {
67
+ font-family: 'Fira Sans Bold';
68
+ font-weight: 700;
69
+ }
@@ -1,118 +1,79 @@
1
- @font-face{
1
+ @font-face {
2
2
  font-family: 'Fira Sans Light SC';
3
3
  src: font-url('FiraSans-Light-SC.eot');
4
- src: local('Fira Sans Light SC'),
5
- font-url('FiraSans-Light-SC.eot') format('embedded-opentype'),
4
+ src: font-url('FiraSans-Light-SC.eot') format('embedded-opentype'),
6
5
  font-url('FiraSans-Light-SC.woff2') format('woff2'),
7
6
  font-url('FiraSans-Light-SC.woff') format('woff'),
8
7
  font-url('FiraSans-Light-SC.ttf') format('truetype');
9
8
  font-style: normal;
10
9
  }
11
10
 
12
- @font-face{
13
- font-family: 'Fira Sans Light';
14
- src: font-url('FiraSans-Light.eot');
15
- src: local('Fira Sans Light'),
16
- font-url('FiraSans-Light.eot') format('embedded-opentype'),
17
- font-url('FiraSans-Light.woff') format('woff'),
18
- font-url('FiraSans-Light.ttf') format('truetype');
19
- font-weight: 300;
20
- font-style: normal;
21
- }
22
-
23
- @font-face{
11
+ @font-face {
24
12
  font-family: 'Fira Sans ExtraLight';
25
13
  src: font-url('FiraSans-ExtraLight.eot');
26
- src: local('Fira Sans ExtraLight'),
27
- font-url('FiraSans-ExtraLight.eot') format('embedded-opentype'),
14
+ src: font-url('FiraSans-ExtraLight.eot') format('embedded-opentype'),
28
15
  font-url('FiraSans-ExtraLight.woff') format('woff'),
29
16
  font-url('FiraSans-ExtraLight.ttf') format('truetype');
30
17
  font-style: normal;
31
18
  }
32
19
 
33
- @font-face{
20
+ @font-face {
34
21
  font-family: 'Fira Sans Regular';
35
22
  src: font-url('FiraSans-Regular.eot');
36
- src: local('Fira Sans Regular'),
37
- font-url('FiraSans-Regular.eot') format('embedded-opentype'),
23
+ src: font-url('FiraSans-Regular.eot') format('embedded-opentype'),
38
24
  font-url('FiraSans-Regular.woff') format('woff'),
39
25
  font-url('FiraSans-Regular.ttf') format('truetype');
40
26
  font-weight: 400;
41
27
  font-style: normal;
42
28
  }
43
29
 
44
- @font-face{
45
- font-family: 'Fira Sans Book';
46
- src: font-url('FiraSans-Book.eot');
47
- src: local('Fira Sans Regular'),
48
- font-url('FiraSans-Book.eot') format('embedded-opentype'),
49
- font-url('FiraSans-Book.woff') format('woff'),
50
- font-url('FiraSans-Book.ttf') format('truetype');
51
- font-style: normal;
52
- }
53
-
54
- @font-face{
30
+ @font-face {
55
31
  font-family: 'Fira Sans Regular Italic';
56
32
  src: font-url('FiraSans-Italic.eot');
57
- src: local('Fira Sans Regular Italic'),
58
- font-url('FiraSans-Italic.eot') format('embedded-opentype'),
33
+ src: font-url('FiraSans-Italic.eot') format('embedded-opentype'),
59
34
  font-url('FiraSans-Italic.woff') format('woff'),
60
35
  font-url('FiraSans-Italic.ttf') format('truetype');
61
36
  font-weight: 400;
62
37
  font-style: italic;
63
38
  }
64
39
 
65
- @font-face{
66
- font-family: 'Fira Sans Medium';
67
- src: font-url('FiraSans-Medium.eot');
68
- src: local('Fira Sans Medium'),
69
- font-url('FiraSans-Medium.eot') format('embedded-opentype'),
70
- font-url('FiraSans-Medium.woff') format('woff'),
71
- font-url('FiraSans-Medium.ttf') format('truetype');
72
- font-weight: 500;
73
- font-style: normal;
74
- }
75
-
76
- @font-face{
77
- font-family: 'Fira Sans Medium Italic';
78
- src: font-url('FiraSans-MediumItalic.eot');
79
- src: local('Fira Sans Medium Italic'),
80
- font-url('FiraSans-MediumItalic.eot') format('embedded-opentype'),
81
- font-url('FiraSans-MediumItalic.woff') format('woff'),
82
- font-url('FiraSans-MediumItalic.ttf') format('truetype');
83
- font-weight: 500;
84
- font-style: italic;
85
- }
86
-
87
- @font-face{
40
+ @font-face {
88
41
  font-family: 'Fira Sans Bold';
89
42
  src: font-url('FiraSans-Bold.eot');
90
- src: local('Fira Sans Bold'),
91
- font-url('FiraSans-Bold.eot') format('embedded-opentype'),
43
+ src: font-url('FiraSans-Bold.eot') format('embedded-opentype'),
92
44
  font-url('FiraSans-Bold.woff') format('woff'),
93
45
  font-url('FiraSans-Bold.ttf') format('truetype');
94
46
  font-weight: 700;
95
47
  font-style: normal;
96
48
  }
97
49
 
98
- @font-face{
50
+ @font-face {
99
51
  font-family: 'Fira Sans Bold Italic';
100
52
  src: font-url('FiraSans-BoldItalic.eot');
101
- src: local('Fira Sans Bold Italic'),
102
- font-url('FiraSans-BoldItalic.eot') format('embedded-opentype'),
53
+ src: font-url('FiraSans-BoldItalic.eot') format('embedded-opentype'),
103
54
  font-url('FiraSans-BoldItalic.woff') format('woff'),
104
55
  font-url('FiraSans-BoldItalic.ttf') format('truetype');
105
56
  font-weight: 700;
106
57
  font-style: italic;
107
58
  }
108
59
 
109
- @font-face{
60
+ @font-face {
110
61
  font-family: 'Fira Mono Regular';
111
62
  src: font-url('FiraMono-Regular.eot');
112
- src: local('Fira Mono'),
113
- font-url('FiraMono-Regular.eot') format('embedded-opentype'),
63
+ src: font-url('FiraMono-Regular.eot') format('embedded-opentype'),
114
64
  font-url('FiraMono-Regular.woff') format('woff'),
115
65
  font-url('FiraMono-Regular.ttf') format('truetype');
116
66
  font-weight: 400;
117
67
  font-style: normal;
118
68
  }
69
+
70
+ /* @font-face {
71
+ font-family: 'Fira Sans Light';
72
+ src: font-url('FiraSans-Light.eot');
73
+ src: local('Fira Sans Light'),
74
+ font-url('FiraSans-Light.eot') format('embedded-opentype'),
75
+ font-url('FiraSans-Light.woff') format('woff'),
76
+ font-url('FiraSans-Light.ttf') format('truetype');
77
+ font-weight: 300;
78
+ font-style: normal;
79
+ } */