material_design_lite-sass 1.1.3 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a425971e9db70d19938707aa33ba82829a009473
4
- data.tar.gz: 0f48e424e3ed7d927c2d345041861b94865688e1
3
+ metadata.gz: 4a431f98fd7d327611f0872e9893edf70b41a731
4
+ data.tar.gz: 8e3e45abfa4ecd7b4528bad6947beb1a9a5009ac
5
5
  SHA512:
6
- metadata.gz: 9c4d31dbfdae2ab0d059ca5e10b949e404e8a98cd603c86758c12108d85d65c418b09487407e52045486146f573096930201ba570d1e26f3467b5ca26d785f38
7
- data.tar.gz: 497acf8388dcd1c2db060b14628539afe5246be2e9b1904b5810a3630dff55d08d5f6a13643bf7df47866e7a30272ca56b65c221cbb516a988541aa4a8f0b70b
6
+ metadata.gz: 99e5d18da249526ea9adc30baecd76262014efeabf50072829d0cf338270c22257b7c67593392eb38b22197ec12823668ee8c45475f2defcd499cea1492898e7
7
+ data.tar.gz: 457eb462c1bf3cd2b3fde235269e9f8a8782f6c18e81f31742dffa429f5e89075a7811729388b86e89f705459967a2e20081c9ffb3be899a52f159d2d218a09b
@@ -2,9 +2,9 @@ language: ruby
2
2
 
3
3
  rvm:
4
4
  - 2.0.0
5
- - 2.1.8
6
- - 2.2.4
7
- - 2.3.0
5
+ - 2.1.9
6
+ - 2.2.5
7
+ - 2.3.1
8
8
 
9
9
  before_install: gem install bundler
10
10
 
@@ -1,3 +1,12 @@
1
+ ## 1.2.0 (2016-08-12)
2
+
3
+ - Update assets to match upstream version
4
+
5
+ Library version:
6
+
7
+ - Material Design Lite v1.2.0
8
+ - Material Icons v2.2.2
9
+
1
10
  ## 1.1.3 (2016-03-18)
2
11
 
3
12
  - Update assets to match upstream version
data/README.md CHANGED
@@ -38,6 +38,28 @@ Open `app/assets/javascripts/application.js` file and add this line:
38
38
  ```
39
39
  Restart Rails web server if it was running and now your Rails application is powered by Sass version of Material Design Lite.
40
40
 
41
+ #### Turbolinks
42
+
43
+ Material Design Lite doesn't support turbolinks by default. You have to either disable turbolinks or add this JavaScript code to your project:
44
+
45
+ For turbolinks v2:
46
+
47
+ ```javascript
48
+ document.addEventListener('page:change', function() {
49
+ componentHandler.upgradeDom();
50
+ });
51
+ ```
52
+
53
+ For turbolinks v5:
54
+
55
+ ```javascript
56
+ document.addEventListener('turbolinks:load', function() {
57
+ componentHandler.upgradeDom();
58
+ });
59
+ ```
60
+
61
+ Put this code, for instance, in `app/assets/javascripts/application.js` file or in `app/views/layouts/application.html.erb` file after closing `</body>` tag.
62
+
41
63
  ## Usage
42
64
 
43
65
  By default, using `@import 'material';` and `//= require material`, all of Material Design Lite components are imported. You can also import components individually.
@@ -89,6 +111,7 @@ Individual Sass components can be included like this:
89
111
  @import "material/button";
90
112
  @import "material/card";
91
113
  @import "material/checkbox";
114
+ @import "material/chip";
92
115
  @import "material/data-table";
93
116
  @import "material/dialog";
94
117
  @import "material/mega_footer";
@@ -1,5 +1,5 @@
1
1
  module MaterialDesignLite
2
2
  module Sass
3
- VERSION = '1.1.3'
3
+ VERSION = '1.2.0'
4
4
  end
5
5
  end
@@ -232,8 +232,8 @@ componentHandler = (function() {
232
232
 
233
233
  var ev;
234
234
  if ('CustomEvent' in window && typeof window.CustomEvent === 'function') {
235
- ev = new Event('mdl-componentupgraded', {
236
- 'bubbles': true, 'cancelable': false
235
+ ev = new CustomEvent('mdl-componentupgraded', {
236
+ bubbles: true, cancelable: false
237
237
  });
238
238
  } else {
239
239
  ev = document.createEvent('Events');
@@ -251,10 +251,10 @@ componentHandler = (function() {
251
251
  */
252
252
  function upgradeElementsInternal(elements) {
253
253
  if (!Array.isArray(elements)) {
254
- if (typeof elements.item === 'function') {
255
- elements = Array.prototype.slice.call(/** @type {Array} */ (elements));
256
- } else {
254
+ if (elements instanceof Element) {
257
255
  elements = [elements];
256
+ } else {
257
+ elements = Array.prototype.slice.call(elements);
258
258
  }
259
259
  }
260
260
  for (var i = 0, n = elements.length, element; i < n; i++) {
@@ -363,13 +363,14 @@ componentHandler = (function() {
363
363
 
364
364
  var ev;
365
365
  if ('CustomEvent' in window && typeof window.CustomEvent === 'function') {
366
- ev = new Event('mdl-componentdowngraded', {
367
- 'bubbles': true, 'cancelable': false
366
+ ev = new CustomEvent('mdl-componentdowngraded', {
367
+ bubbles: true, cancelable: false
368
368
  });
369
369
  } else {
370
370
  ev = document.createEvent('Events');
371
371
  ev.initEvent('mdl-componentdowngraded', true, true);
372
372
  }
373
+ component.element_.dispatchEvent(ev);
373
374
  }
374
375
  }
375
376
 
@@ -1793,7 +1794,7 @@ MaterialRadio.prototype['enable'] = MaterialRadio.prototype.enable;
1793
1794
  */
1794
1795
  MaterialRadio.prototype.check = function () {
1795
1796
  this.btnElement_.checked = true;
1796
- this.updateClasses_();
1797
+ this.onChange_(null);
1797
1798
  };
1798
1799
  MaterialRadio.prototype['check'] = MaterialRadio.prototype.check;
1799
1800
  /**
@@ -1803,7 +1804,7 @@ MaterialRadio.prototype['check'] = MaterialRadio.prototype.check;
1803
1804
  */
1804
1805
  MaterialRadio.prototype.uncheck = function () {
1805
1806
  this.btnElement_.checked = false;
1806
- this.updateClasses_();
1807
+ this.onChange_(null);
1807
1808
  };
1808
1809
  MaterialRadio.prototype['uncheck'] = MaterialRadio.prototype.uncheck;
1809
1810
  /**
@@ -3049,16 +3050,16 @@ MaterialTooltip.prototype.handleMouseEnter_ = function (event) {
3049
3050
  if (this.element_.classList.contains(this.CssClasses_.LEFT) || this.element_.classList.contains(this.CssClasses_.RIGHT)) {
3050
3051
  left = props.width / 2;
3051
3052
  if (top + marginTop < 0) {
3052
- this.element_.style.top = 0;
3053
- this.element_.style.marginTop = 0;
3053
+ this.element_.style.top = '0';
3054
+ this.element_.style.marginTop = '0';
3054
3055
  } else {
3055
3056
  this.element_.style.top = top + 'px';
3056
3057
  this.element_.style.marginTop = marginTop + 'px';
3057
3058
  }
3058
3059
  } else {
3059
3060
  if (left + marginLeft < 0) {
3060
- this.element_.style.left = 0;
3061
- this.element_.style.marginLeft = 0;
3061
+ this.element_.style.left = '0';
3062
+ this.element_.style.marginLeft = '0';
3062
3063
  } else {
3063
3064
  this.element_.style.left = left + 'px';
3064
3065
  this.element_.style.marginLeft = marginLeft + 'px';
@@ -3076,11 +3077,11 @@ MaterialTooltip.prototype.handleMouseEnter_ = function (event) {
3076
3077
  this.element_.classList.add(this.CssClasses_.IS_ACTIVE);
3077
3078
  };
3078
3079
  /**
3079
- * Handle mouseleave for tooltip.
3080
+ * Hide tooltip on mouseleave or scroll
3080
3081
  *
3081
3082
  * @private
3082
3083
  */
3083
- MaterialTooltip.prototype.handleMouseLeave_ = function () {
3084
+ MaterialTooltip.prototype.hideTooltip_ = function () {
3084
3085
  this.element_.classList.remove(this.CssClasses_.IS_ACTIVE);
3085
3086
  };
3086
3087
  /**
@@ -3088,7 +3089,7 @@ MaterialTooltip.prototype.handleMouseLeave_ = function () {
3088
3089
  */
3089
3090
  MaterialTooltip.prototype.init = function () {
3090
3091
  if (this.element_) {
3091
- var forElId = this.element_.getAttribute('for');
3092
+ var forElId = this.element_.getAttribute('for') || this.element_.getAttribute('data-mdl-for');
3092
3093
  if (forElId) {
3093
3094
  this.forElement_ = document.getElementById(forElId);
3094
3095
  }
@@ -3098,11 +3099,12 @@ MaterialTooltip.prototype.init = function () {
3098
3099
  this.forElement_.setAttribute('tabindex', '0');
3099
3100
  }
3100
3101
  this.boundMouseEnterHandler = this.handleMouseEnter_.bind(this);
3101
- this.boundMouseLeaveHandler = this.handleMouseLeave_.bind(this);
3102
+ this.boundMouseLeaveAndScrollHandler = this.hideTooltip_.bind(this);
3102
3103
  this.forElement_.addEventListener('mouseenter', this.boundMouseEnterHandler, false);
3103
3104
  this.forElement_.addEventListener('touchend', this.boundMouseEnterHandler, false);
3104
- this.forElement_.addEventListener('mouseleave', this.boundMouseLeaveHandler, false);
3105
- window.addEventListener('touchstart', this.boundMouseLeaveHandler);
3105
+ this.forElement_.addEventListener('mouseleave', this.boundMouseLeaveAndScrollHandler, false);
3106
+ window.addEventListener('scroll', this.boundMouseLeaveAndScrollHandler, true);
3107
+ window.addEventListener('touchstart', this.boundMouseLeaveAndScrollHandler);
3106
3108
  }
3107
3109
  }
3108
3110
  };
@@ -557,7 +557,6 @@
557
557
  });
558
558
 
559
559
  tab.show = selectTab;
560
-
561
560
  }
562
561
  window['MaterialLayoutTab'] = MaterialLayoutTab;
563
562
 
@@ -229,8 +229,8 @@ componentHandler = (function() {
229
229
 
230
230
  var ev;
231
231
  if ('CustomEvent' in window && typeof window.CustomEvent === 'function') {
232
- ev = new Event('mdl-componentupgraded', {
233
- 'bubbles': true, 'cancelable': false
232
+ ev = new CustomEvent('mdl-componentupgraded', {
233
+ bubbles: true, cancelable: false
234
234
  });
235
235
  } else {
236
236
  ev = document.createEvent('Events');
@@ -248,10 +248,10 @@ componentHandler = (function() {
248
248
  */
249
249
  function upgradeElementsInternal(elements) {
250
250
  if (!Array.isArray(elements)) {
251
- if (typeof elements.item === 'function') {
252
- elements = Array.prototype.slice.call(/** @type {Array} */ (elements));
253
- } else {
251
+ if (elements instanceof Element) {
254
252
  elements = [elements];
253
+ } else {
254
+ elements = Array.prototype.slice.call(elements);
255
255
  }
256
256
  }
257
257
  for (var i = 0, n = elements.length, element; i < n; i++) {
@@ -360,13 +360,14 @@ componentHandler = (function() {
360
360
 
361
361
  var ev;
362
362
  if ('CustomEvent' in window && typeof window.CustomEvent === 'function') {
363
- ev = new Event('mdl-componentdowngraded', {
364
- 'bubbles': true, 'cancelable': false
363
+ ev = new CustomEvent('mdl-componentdowngraded', {
364
+ bubbles: true, cancelable: false
365
365
  });
366
366
  } else {
367
367
  ev = document.createEvent('Events');
368
368
  ev.initEvent('mdl-componentdowngraded', true, true);
369
369
  }
370
+ component.element_.dispatchEvent(ev);
370
371
  }
371
372
  }
372
373
 
@@ -202,7 +202,7 @@
202
202
  */
203
203
  MaterialRadio.prototype.check = function() {
204
204
  this.btnElement_.checked = true;
205
- this.updateClasses_();
205
+ this.onChange_(null);
206
206
  };
207
207
  MaterialRadio.prototype['check'] = MaterialRadio.prototype.check;
208
208
 
@@ -213,7 +213,7 @@
213
213
  */
214
214
  MaterialRadio.prototype.uncheck = function() {
215
215
  this.btnElement_.checked = false;
216
- this.updateClasses_();
216
+ this.onChange_(null);
217
217
  };
218
218
  MaterialRadio.prototype['uncheck'] = MaterialRadio.prototype.uncheck;
219
219
 
@@ -76,16 +76,16 @@
76
76
  if (this.element_.classList.contains(this.CssClasses_.LEFT) || this.element_.classList.contains(this.CssClasses_.RIGHT)) {
77
77
  left = (props.width / 2);
78
78
  if (top + marginTop < 0) {
79
- this.element_.style.top = 0;
80
- this.element_.style.marginTop = 0;
79
+ this.element_.style.top = '0';
80
+ this.element_.style.marginTop = '0';
81
81
  } else {
82
82
  this.element_.style.top = top + 'px';
83
83
  this.element_.style.marginTop = marginTop + 'px';
84
84
  }
85
85
  } else {
86
86
  if (left + marginLeft < 0) {
87
- this.element_.style.left = 0;
88
- this.element_.style.marginLeft = 0;
87
+ this.element_.style.left = '0';
88
+ this.element_.style.marginLeft = '0';
89
89
  } else {
90
90
  this.element_.style.left = left + 'px';
91
91
  this.element_.style.marginLeft = marginLeft + 'px';
@@ -106,11 +106,11 @@
106
106
  };
107
107
 
108
108
  /**
109
- * Handle mouseleave for tooltip.
109
+ * Hide tooltip on mouseleave or scroll
110
110
  *
111
111
  * @private
112
112
  */
113
- MaterialTooltip.prototype.handleMouseLeave_ = function() {
113
+ MaterialTooltip.prototype.hideTooltip_ = function() {
114
114
  this.element_.classList.remove(this.CssClasses_.IS_ACTIVE);
115
115
  };
116
116
 
@@ -120,7 +120,8 @@
120
120
  MaterialTooltip.prototype.init = function() {
121
121
 
122
122
  if (this.element_) {
123
- var forElId = this.element_.getAttribute('for');
123
+ var forElId = this.element_.getAttribute('for') ||
124
+ this.element_.getAttribute('data-mdl-for');
124
125
 
125
126
  if (forElId) {
126
127
  this.forElement_ = document.getElementById(forElId);
@@ -133,11 +134,12 @@
133
134
  }
134
135
 
135
136
  this.boundMouseEnterHandler = this.handleMouseEnter_.bind(this);
136
- this.boundMouseLeaveHandler = this.handleMouseLeave_.bind(this);
137
+ this.boundMouseLeaveAndScrollHandler = this.hideTooltip_.bind(this);
137
138
  this.forElement_.addEventListener('mouseenter', this.boundMouseEnterHandler, false);
138
139
  this.forElement_.addEventListener('touchend', this.boundMouseEnterHandler, false);
139
- this.forElement_.addEventListener('mouseleave', this.boundMouseLeaveHandler, false);
140
- window.addEventListener('touchstart', this.boundMouseLeaveHandler);
140
+ this.forElement_.addEventListener('mouseleave', this.boundMouseLeaveAndScrollHandler, false);
141
+ window.addEventListener('scroll', this.boundMouseLeaveAndScrollHandler, true);
142
+ window.addEventListener('touchstart', this.boundMouseLeaveAndScrollHandler);
141
143
  }
142
144
  }
143
145
  };
@@ -32,6 +32,7 @@
32
32
  @import "material/button";
33
33
  @import "material/card";
34
34
  @import "material/checkbox";
35
+ @import "material/chip";
35
36
  @import "material/data-table";
36
37
  @import "material/dialog";
37
38
  @import "material/mega_footer";
@@ -52,4 +53,4 @@
52
53
  @import "material/shadow";
53
54
  @import "material/grid";
54
55
  @import "material/material-icons";
55
- @import "material/roboto"
56
+ @import "material/roboto";
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Copyright 2015 Google Inc. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ @import "variables";
18
+ @import "mixins";
19
+
20
+ .mdl-chip {
21
+ height: $chip-height;
22
+ font-family: $preferred_font;
23
+ line-height: $chip-height;
24
+ padding: 0 12px;
25
+ border: 0;
26
+ border-radius: $chip-height / 2;
27
+ background-color: $chip-bg-color;
28
+ display: inline-block;
29
+ color: $text-color-primary;
30
+ margin: 2px 0;
31
+ font-size: 0;
32
+ white-space: nowrap;
33
+
34
+ &__text {
35
+ font-size: $chip-font-size;
36
+ vertical-align: middle;
37
+ display: inline-block;
38
+ }
39
+
40
+ &__action {
41
+ height: 24px;
42
+ width: 24px;
43
+ background: transparent;
44
+ opacity: 0.54;
45
+ display: inline-block;
46
+ cursor: pointer;
47
+ text-align: center;
48
+ vertical-align: middle;
49
+ padding: 0;
50
+ margin: 0 0 0 4px;
51
+ font-size: $chip-font-size;
52
+ text-decoration: none;
53
+ color: $text-color-primary;
54
+ border: none;
55
+ outline: none;
56
+ overflow: hidden;
57
+ }
58
+
59
+ &__contact {
60
+ height: $chip-height;
61
+ width: $chip-height;
62
+ border-radius: $chip-height / 2;
63
+ display: inline-block;
64
+ vertical-align: middle;
65
+ margin-right: 8px;
66
+ overflow: hidden;
67
+ text-align: center;
68
+ font-size: 18px;
69
+ line-height: 32px;
70
+ }
71
+
72
+ &:focus {
73
+ outline: 0;
74
+ @include shadow-2dp();
75
+ }
76
+
77
+ &:active {
78
+ background-color: $chip-bg-active-color;
79
+ }
80
+
81
+ &--deletable {
82
+ padding-right: 4px;
83
+ }
84
+
85
+ &--contact {
86
+ padding-left: 0;
87
+ }
88
+ }
@@ -189,7 +189,7 @@
189
189
  text-align: center;
190
190
  cursor: pointer;
191
191
  font-size: 26px;
192
- line-height: $layout-drawer-button-desktop-size + 2;
192
+ line-height: $layout-mobile-header-height;
193
193
  font-family: Helvetica, Arial, sans-serif;
194
194
  margin: 10px 12px;
195
195
  top: 0;
@@ -214,18 +214,14 @@
214
214
  }
215
215
 
216
216
  @media screen and (min-width: $layout-screen-size-threshold + 1px) {
217
- .mdl-layout--fixed-drawer > & {
218
- display: none;
219
- }
217
+ line-height: $layout-header-desktop-row-height;
220
218
 
221
- .mdl-layout--no-desktop-drawer-button & {
219
+ .mdl-layout--no-desktop-drawer-button &,
220
+ .mdl-layout--fixed-drawer > &,
221
+ .mdl-layout--no-drawer-button & {
222
222
  display: none;
223
223
  }
224
224
  }
225
-
226
- .mdl-layout--no-drawer-button & {
227
- display: none;
228
- }
229
225
  }
230
226
 
231
227
  .mdl-layout__header {
@@ -563,7 +559,6 @@
563
559
  }
564
560
 
565
561
  @media screen and (max-width: $layout-screen-size-threshold) {
566
- display: none;
567
562
  width: $layout-header-mobile-baseline - $layout-tab-mobile-padding;
568
563
  }
569
564
 
@@ -16,8 +16,6 @@
16
16
  font-style: normal;
17
17
  font-size: 24px; /* Preferred icon size */
18
18
  display: inline-block;
19
- width: 1em;
20
- height: 1em;
21
19
  line-height: 1;
22
20
  text-transform: none;
23
21
  letter-spacing: normal;
@@ -50,6 +50,11 @@
50
50
  min-width: $input-text-button-size;
51
51
  width: auto;
52
52
  min-height: $input-text-button-size;
53
+
54
+ // Align icon button
55
+ .mdl-button--icon {
56
+ top: $input-text-expandable-icon-top;
57
+ }
53
58
  }
54
59
 
55
60
  // Styling for the input element.
@@ -19,7 +19,6 @@
19
19
  .mdl-tooltip {
20
20
  transform: scale(0);
21
21
  transform-origin: top center;
22
- will-change: transform;
23
22
  z-index: 999;
24
23
  background: $tooltip-background-color;
25
24
  border-radius: 2px;
@@ -42,6 +42,8 @@
42
42
  * -----Data table
43
43
  * -----Dialog
44
44
  * -----Snackbar
45
+ * -----Tooltip
46
+ * -----Chip
45
47
  *
46
48
  * Even though all variables have the `!default` directive, most of them
47
49
  * should not be changed as they are dependent one another. This can cause
@@ -189,8 +191,8 @@ $layout-drawer-bg-color: unquote("rgb(#{$palette-grey-50})") !default;
189
191
  $layout-drawer-border-color: unquote("rgb(#{$palette-grey-300})") !default;
190
192
  $layout-text-color: unquote("rgb(#{$palette-grey-800})") !default;
191
193
  $layout-drawer-navigation-color: #757575 !default;
192
- $layout-drawer-navigation-link-active-background: unquote("rgb(#{$color-light-contrast})") !default;
193
- $layout-drawer-navigation-link-active-color: unquote("rgb(#{$palette-grey-300})") !default;
194
+ $layout-drawer-navigation-link-active-background: unquote("rgb(#{$palette-grey-300})") !default;
195
+ $layout-drawer-navigation-link-active-color: unquote("rgb(#{$color-light-contrast})") !default;
194
196
 
195
197
  // Header
196
198
  $layout-header-bg-color: unquote("rgb(#{$color-primary})") !default;
@@ -582,3 +584,9 @@ $snackbar-action-color: unquote("rgb(#{$color-accent})") !default;
582
584
  /* TOOLTIP */
583
585
  $tooltip-font-size: 10px !default;
584
586
  $tooltip-font-size-large: 14px !default;
587
+
588
+ /* CHIP */
589
+ $chip-bg-color: rgb(222, 222, 222) !default;
590
+ $chip-bg-active-color: rgb(214, 214, 214) !default;
591
+ $chip-height: 32px !default;
592
+ $chip-font-size: 13px !default;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: material_design_lite-sass
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitriy Tarasov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-17 00:00:00.000000000 Z
11
+ date: 2016-08-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass
@@ -137,6 +137,7 @@ files:
137
137
  - vendor/assets/stylesheets/material/_button.scss
138
138
  - vendor/assets/stylesheets/material/_card.scss
139
139
  - vendor/assets/stylesheets/material/_checkbox.scss
140
+ - vendor/assets/stylesheets/material/_chip.scss
140
141
  - vendor/assets/stylesheets/material/_color-definitions.scss
141
142
  - vendor/assets/stylesheets/material/_data-table.scss
142
143
  - vendor/assets/stylesheets/material/_dialog.scss
@@ -188,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
189
  version: '0'
189
190
  requirements: []
190
191
  rubyforge_project:
191
- rubygems_version: 2.4.8
192
+ rubygems_version: 2.5.1
192
193
  signing_key:
193
194
  specification_version: 4
194
195
  summary: Google's Material Design Lite with Material Icons and Roboto for Sass powered