material_design_lite-sass 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1526d803fc2195a1e95ceca0960641716ee1aad5
4
- data.tar.gz: fd7a77fe0d962aeebc396708bfd4e443f6014ad5
3
+ metadata.gz: 4cbccd8bb0315b89d19cda7f3ae15954acbc09b3
4
+ data.tar.gz: f520969a2be4971d18ad2149a253131733f0f4b3
5
5
  SHA512:
6
- metadata.gz: 5d4e2350472aeaced9398f37ae36d8e02c559bbda70d6cf8541e2d678d7bc88e7e8f4464698e8d9baeb2827dca21bf40f472b6b6366a64d69a1723af771a979a
7
- data.tar.gz: 53a152686b37cdfcca1391dc18571be75d12076135d24ca7cee6709793eef650b22614547ed67736657c6d5767511940ccf2fe8b8d9b89a950d3a36a578e68dc
6
+ metadata.gz: bde90ce203444754ace504ba94a6e916b88fc0afbe5d9317c63a7099cb675037b6b370d1b016650077e8e5b5a03902a14926c919905d7e547baabd8ce98f1576
7
+ data.tar.gz: 7bc2f86ce72d2eb95cc9e476737a9c8968abae6962834761f68716c351312125ea03750ad1384b78decd18845634172d0a4a81ef19d5b4ee0efde3ecbad627f1
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 1.1.2 (2016-03-05)
2
+
3
+ - Update assets to match upstream version
4
+
5
+ Library version:
6
+
7
+ - Material Design Lite v1.1.2
8
+ - Material Icons v2.2.0
9
+
1
10
  ## 1.1.1 (2016-02-03)
2
11
 
3
12
  - Update assets to match upstream version
@@ -1,5 +1,5 @@
1
1
  module MaterialDesignLite
2
2
  module Sass
3
- VERSION = '1.1.1'
3
+ VERSION = '1.1.2'
4
4
  end
5
5
  end
@@ -345,17 +345,19 @@ componentHandler = (function() {
345
345
  * @param {?componentHandler.Component} component
346
346
  */
347
347
  function deconstructComponentInternal(component) {
348
- var componentIndex = createdComponents_.indexOf(component);
349
- createdComponents_.splice(componentIndex, 1);
348
+ if (component) {
349
+ var componentIndex = createdComponents_.indexOf(component);
350
+ createdComponents_.splice(componentIndex, 1);
350
351
 
351
- var upgrades = component.element_.getAttribute('data-upgraded').split(',');
352
- var componentPlace = upgrades.indexOf(component[componentConfigProperty_].classAsString);
353
- upgrades.splice(componentPlace, 1);
354
- component.element_.setAttribute('data-upgraded', upgrades.join(','));
352
+ var upgrades = component.element_.getAttribute('data-upgraded').split(',');
353
+ var componentPlace = upgrades.indexOf(component[componentConfigProperty_].classAsString);
354
+ upgrades.splice(componentPlace, 1);
355
+ component.element_.setAttribute('data-upgraded', upgrades.join(','));
355
356
 
356
- var ev = document.createEvent('Events');
357
- ev.initEvent('mdl-componentdowngraded', true, true);
358
- component.element_.dispatchEvent(ev);
357
+ var ev = document.createEvent('Events');
358
+ ev.initEvent('mdl-componentdowngraded', true, true);
359
+ component.element_.dispatchEvent(ev);
360
+ }
359
361
  }
360
362
 
361
363
  /**
@@ -2774,7 +2776,8 @@ MaterialTextfield.prototype.CssClasses_ = {
2774
2776
  IS_FOCUSED: 'is-focused',
2775
2777
  IS_DISABLED: 'is-disabled',
2776
2778
  IS_INVALID: 'is-invalid',
2777
- IS_UPGRADED: 'is-upgraded'
2779
+ IS_UPGRADED: 'is-upgraded',
2780
+ HAS_PLACEHOLDER: 'has-placeholder'
2778
2781
  };
2779
2782
  /**
2780
2783
  * Handle input being entered.
@@ -2928,6 +2931,9 @@ MaterialTextfield.prototype.init = function () {
2928
2931
  this.maxRows = this.Constant_.NO_MAX_ROWS;
2929
2932
  }
2930
2933
  }
2934
+ if (this.input_.hasAttribute('placeholder')) {
2935
+ this.element_.classList.add(this.CssClasses_.HAS_PLACEHOLDER);
2936
+ }
2931
2937
  this.boundUpdateClassesHandler = this.updateClasses_.bind(this);
2932
2938
  this.boundFocusHandler = this.onFocus_.bind(this);
2933
2939
  this.boundBlurHandler = this.onBlur_.bind(this);
@@ -3133,6 +3139,7 @@ window['MaterialLayout'] = MaterialLayout;
3133
3139
  MaterialLayout.prototype.Constant_ = {
3134
3140
  MAX_WIDTH: '(max-width: 1024px)',
3135
3141
  TAB_SCROLL_PIXELS: 100,
3142
+ RESIZE_TIMEOUT: 100,
3136
3143
  MENU_ICON: '',
3137
3144
  CHEVRON_LEFT: 'chevron_left',
3138
3145
  CHEVRON_RIGHT: 'chevron_right'
@@ -3235,7 +3242,8 @@ MaterialLayout.prototype.contentScrollHandler_ = function () {
3235
3242
  * @private
3236
3243
  */
3237
3244
  MaterialLayout.prototype.keyboardEventHandler_ = function (evt) {
3238
- if (evt.keyCode === this.Keycodes_.ESCAPE) {
3245
+ // Only react when the drawer is open.
3246
+ if (evt.keyCode === this.Keycodes_.ESCAPE && this.drawer_.classList.contains(this.CssClasses_.IS_DRAWER_OPEN)) {
3239
3247
  this.toggleDrawer();
3240
3248
  }
3241
3249
  };
@@ -3339,9 +3347,13 @@ MaterialLayout.prototype.init = function () {
3339
3347
  if (this.element_) {
3340
3348
  var container = document.createElement('div');
3341
3349
  container.classList.add(this.CssClasses_.CONTAINER);
3350
+ var focusedElement = this.element_.querySelector(':focus');
3342
3351
  this.element_.parentElement.insertBefore(container, this.element_);
3343
3352
  this.element_.parentElement.removeChild(this.element_);
3344
3353
  container.appendChild(this.element_);
3354
+ if (focusedElement) {
3355
+ focusedElement.focus();
3356
+ }
3345
3357
  var directChildren = this.element_.childNodes;
3346
3358
  var numChildren = directChildren.length;
3347
3359
  for (var c = 0; c < numChildren; c++) {
@@ -3476,8 +3488,9 @@ MaterialLayout.prototype.init = function () {
3476
3488
  tabContainer.appendChild(leftButton);
3477
3489
  tabContainer.appendChild(this.tabBar_);
3478
3490
  tabContainer.appendChild(rightButton);
3479
- // Add and remove buttons depending on scroll position.
3480
- var tabScrollHandler = function () {
3491
+ // Add and remove tab buttons depending on scroll position and total
3492
+ // window size.
3493
+ var tabUpdateHandler = function () {
3481
3494
  if (this.tabBar_.scrollLeft > 0) {
3482
3495
  leftButton.classList.add(this.CssClasses_.IS_ACTIVE);
3483
3496
  } else {
@@ -3489,8 +3502,20 @@ MaterialLayout.prototype.init = function () {
3489
3502
  rightButton.classList.remove(this.CssClasses_.IS_ACTIVE);
3490
3503
  }
3491
3504
  }.bind(this);
3492
- this.tabBar_.addEventListener('scroll', tabScrollHandler);
3493
- tabScrollHandler();
3505
+ this.tabBar_.addEventListener('scroll', tabUpdateHandler);
3506
+ tabUpdateHandler();
3507
+ // Update tabs when the window resizes.
3508
+ var windowResizeHandler = function () {
3509
+ // Use timeouts to make sure it doesn't happen too often.
3510
+ if (this.resizeTimeoutId_) {
3511
+ clearTimeout(this.resizeTimeoutId_);
3512
+ }
3513
+ this.resizeTimeoutId_ = setTimeout(function () {
3514
+ tabUpdateHandler();
3515
+ this.resizeTimeoutId_ = null;
3516
+ }.bind(this), this.Constant_.RESIZE_TIMEOUT);
3517
+ }.bind(this);
3518
+ window.addEventListener('resize', windowResizeHandler);
3494
3519
  if (this.tabBar_.classList.contains(this.CssClasses_.JS_RIPPLE_EFFECT)) {
3495
3520
  this.tabBar_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS);
3496
3521
  }
@@ -43,6 +43,7 @@
43
43
  MaterialLayout.prototype.Constant_ = {
44
44
  MAX_WIDTH: '(max-width: 1024px)',
45
45
  TAB_SCROLL_PIXELS: 100,
46
+ RESIZE_TIMEOUT: 100,
46
47
 
47
48
  MENU_ICON: '&#xE5D2;',
48
49
  CHEVRON_LEFT: 'chevron_left',
@@ -165,7 +166,9 @@
165
166
  * @private
166
167
  */
167
168
  MaterialLayout.prototype.keyboardEventHandler_ = function(evt) {
168
- if (evt.keyCode === this.Keycodes_.ESCAPE) {
169
+ // Only react when the drawer is open.
170
+ if (evt.keyCode === this.Keycodes_.ESCAPE &&
171
+ this.drawer_.classList.contains(this.CssClasses_.IS_DRAWER_OPEN)) {
169
172
  this.toggleDrawer();
170
173
  }
171
174
  };
@@ -280,10 +283,17 @@
280
283
  if (this.element_) {
281
284
  var container = document.createElement('div');
282
285
  container.classList.add(this.CssClasses_.CONTAINER);
286
+
287
+ var focusedElement = this.element_.querySelector(':focus');
288
+
283
289
  this.element_.parentElement.insertBefore(container, this.element_);
284
290
  this.element_.parentElement.removeChild(this.element_);
285
291
  container.appendChild(this.element_);
286
292
 
293
+ if (focusedElement) {
294
+ focusedElement.focus();
295
+ }
296
+
287
297
  var directChildren = this.element_.childNodes;
288
298
  var numChildren = directChildren.length;
289
299
  for (var c = 0; c < numChildren; c++) {
@@ -453,8 +463,9 @@
453
463
  tabContainer.appendChild(this.tabBar_);
454
464
  tabContainer.appendChild(rightButton);
455
465
 
456
- // Add and remove buttons depending on scroll position.
457
- var tabScrollHandler = function() {
466
+ // Add and remove tab buttons depending on scroll position and total
467
+ // window size.
468
+ var tabUpdateHandler = function() {
458
469
  if (this.tabBar_.scrollLeft > 0) {
459
470
  leftButton.classList.add(this.CssClasses_.IS_ACTIVE);
460
471
  } else {
@@ -469,8 +480,22 @@
469
480
  }
470
481
  }.bind(this);
471
482
 
472
- this.tabBar_.addEventListener('scroll', tabScrollHandler);
473
- tabScrollHandler();
483
+ this.tabBar_.addEventListener('scroll', tabUpdateHandler);
484
+ tabUpdateHandler();
485
+
486
+ // Update tabs when the window resizes.
487
+ var windowResizeHandler = function() {
488
+ // Use timeouts to make sure it doesn't happen too often.
489
+ if (this.resizeTimeoutId_) {
490
+ clearTimeout(this.resizeTimeoutId_);
491
+ }
492
+ this.resizeTimeoutId_ = setTimeout(function() {
493
+ tabUpdateHandler();
494
+ this.resizeTimeoutId_ = null;
495
+ }.bind(this), /** @type {number} */ (this.Constant_.RESIZE_TIMEOUT));
496
+ }.bind(this);
497
+
498
+ window.addEventListener('resize', windowResizeHandler);
474
499
 
475
500
  if (this.tabBar_.classList.contains(this.CssClasses_.JS_RIPPLE_EFFECT)) {
476
501
  this.tabBar_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS);
@@ -342,17 +342,19 @@ componentHandler = (function() {
342
342
  * @param {?componentHandler.Component} component
343
343
  */
344
344
  function deconstructComponentInternal(component) {
345
- var componentIndex = createdComponents_.indexOf(component);
346
- createdComponents_.splice(componentIndex, 1);
345
+ if (component) {
346
+ var componentIndex = createdComponents_.indexOf(component);
347
+ createdComponents_.splice(componentIndex, 1);
347
348
 
348
- var upgrades = component.element_.getAttribute('data-upgraded').split(',');
349
- var componentPlace = upgrades.indexOf(component[componentConfigProperty_].classAsString);
350
- upgrades.splice(componentPlace, 1);
351
- component.element_.setAttribute('data-upgraded', upgrades.join(','));
349
+ var upgrades = component.element_.getAttribute('data-upgraded').split(',');
350
+ var componentPlace = upgrades.indexOf(component[componentConfigProperty_].classAsString);
351
+ upgrades.splice(componentPlace, 1);
352
+ component.element_.setAttribute('data-upgraded', upgrades.join(','));
352
353
 
353
- var ev = document.createEvent('Events');
354
- ev.initEvent('mdl-componentdowngraded', true, true);
355
- component.element_.dispatchEvent(ev);
354
+ var ev = document.createEvent('Events');
355
+ ev.initEvent('mdl-componentdowngraded', true, true);
356
+ component.element_.dispatchEvent(ev);
357
+ }
356
358
  }
357
359
 
358
360
  /**
@@ -60,7 +60,8 @@
60
60
  IS_FOCUSED: 'is-focused',
61
61
  IS_DISABLED: 'is-disabled',
62
62
  IS_INVALID: 'is-invalid',
63
- IS_UPGRADED: 'is-upgraded'
63
+ IS_UPGRADED: 'is-upgraded',
64
+ HAS_PLACEHOLDER: 'has-placeholder'
64
65
  };
65
66
 
66
67
  /**
@@ -238,6 +239,10 @@
238
239
  }
239
240
  }
240
241
 
242
+ if (this.input_.hasAttribute('placeholder')) {
243
+ this.element_.classList.add(this.CssClasses_.HAS_PLACEHOLDER);
244
+ }
245
+
241
246
  this.boundUpdateClassesHandler = this.updateClasses_.bind(this);
242
247
  this.boundFocusHandler = this.onFocus_.bind(this);
243
248
  this.boundBlurHandler = this.onBlur_.bind(this);
@@ -88,19 +88,24 @@
88
88
  padding-bottom: 8px;
89
89
  box-sizing: border-box;
90
90
 
91
- .mdl-data-table__header--sorted-ascending, .mdl-data-table__header--sorted-descending {
91
+ &.mdl-data-table__header--sorted-ascending,
92
+ &.mdl-data-table__header--sorted-descending {
92
93
  color: $data-table-header-sorted-color;
93
94
  &:before {
94
- font-size: $data-table-header-sort-icon-size;
95
95
  @include typo-icon;
96
+ font-size: $data-table-header-sort-icon-size;
97
+ content: "\e5d8";
98
+ margin-right: 5px;
99
+ vertical-align: sub;
100
+ }
101
+ &:hover {
102
+ cursor: pointer;
103
+ &:before {
104
+ color: $data-table-header-sorted-icon-hover-color;
105
+ }
96
106
  }
97
107
  }
98
-
99
- .mdl-data-table__header--sorted-ascending:before {
100
- content: "\e5d8";
101
- }
102
-
103
- .mdl-data-table__header--sorted-descending:before {
108
+ &.mdl-data-table__header--sorted-descending:before {
104
109
  content: "\e5db";
105
110
  }
106
111
  }
@@ -21,14 +21,15 @@
21
21
  position: fixed;
22
22
  bottom: 0;
23
23
  left: 50%;
24
- margin-right: -50%;
25
24
  cursor: default;
26
25
  background-color: $snackbar-background-color;
27
- z-index: 10000;
26
+ z-index: 3;
27
+ display: block;
28
28
  display: flex;
29
+ justify-content: space-between;
29
30
  font-family: $preferred_font;
30
31
  will-change: transform;
31
- transform: translate(0, 80px);
32
+ transform: translate(-50%, 80px);
32
33
  transition: transform 0.25s $animation-curve-fast-out-linear-in;
33
34
  pointer-events: none;
34
35
  @media(max-width: $snackbar-tablet-breakpoint - 1) {
@@ -43,23 +44,25 @@
43
44
  border-radius: 2px;
44
45
  }
45
46
  &--active {
46
- transform: translate(0, 0);
47
+ transform: translate(-50%, 0);
47
48
  pointer-events: auto;
48
49
  transition: transform 0.25s $animation-curve-linear-out-slow-in;
49
50
  }
50
51
 
51
52
  &__text {
52
- padding: 14px 24px;
53
+ padding: 14px 12px 14px 24px;
53
54
  vertical-align: middle;
54
55
  color: white;
56
+ float: left;
55
57
  }
56
58
 
57
59
  &__action {
58
60
  background: transparent;
59
61
  border: none;
60
62
  color: $snackbar-action-color;
63
+ float: right;
61
64
  text-transform: uppercase;
62
- padding: 14px 24px;
65
+ padding: 14px 24px 14px 12px;
63
66
  @include typo-button();
64
67
  overflow: hidden;
65
68
  outline: none;
@@ -68,7 +71,7 @@
68
71
  cursor: pointer;
69
72
  text-decoration: none;
70
73
  text-align: center;
71
- vertical-align: middle;
74
+ align-self: center;
72
75
 
73
76
  &::-moz-focus-inner {
74
77
  border: 0;
@@ -113,7 +113,8 @@
113
113
  white-space: nowrap;
114
114
  text-align: left;
115
115
 
116
- .mdl-textfield.is-dirty & {
116
+ .mdl-textfield.is-dirty &,
117
+ .mdl-textfield.has-placeholder & {
117
118
  visibility: hidden;
118
119
  }
119
120
 
@@ -122,13 +123,18 @@
122
123
  @include material-animation-default();
123
124
  }
124
125
 
126
+ .mdl-textfield--floating-label.has-placeholder & {
127
+ transition: none;
128
+ }
129
+
125
130
  fieldset[disabled] .mdl-textfield &,
126
131
  .mdl-textfield.is-disabled.is-disabled & {
127
132
  color: $input-text-disabled-text-color;
128
133
  }
129
134
 
130
135
  .mdl-textfield--floating-label.is-focused &,
131
- .mdl-textfield--floating-label.is-dirty & {
136
+ .mdl-textfield--floating-label.is-dirty &,
137
+ .mdl-textfield--floating-label.has-placeholder & {
132
138
  color: $input-text-highlight-color;
133
139
  font-size : $input-text-floating-label-fontsize;
134
140
  top: $input-text-vertical-spacing - ($input-text-floating-label-fontsize + $input-text-padding);
@@ -136,7 +142,8 @@
136
142
  }
137
143
 
138
144
  .mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder &,
139
- .mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder &{
145
+ .mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder &,
146
+ .mdl-textfield--floating-label.has-placeholder .mdl-textfield__expandable-holder & {
140
147
  top: -($input-text-floating-label-fontsize + $input-text-padding);
141
148
  }
142
149
 
@@ -548,6 +548,7 @@ $data-table-header-sort-icon-size: 16px !default;
548
548
 
549
549
  $data-table-header-color: rgba(#000, 0.54) !default;
550
550
  $data-table-header-sorted-color: rgba(#000, 0.87) !default;
551
+ $data-table-header-sorted-icon-hover-color: rgba(#000, 0.26) !default;
551
552
  $data-table-divider-color: rgba(#000, 0.12) !default;
552
553
 
553
554
  $data-table-hover-color: #eeeeee !default;
@@ -222,12 +222,10 @@ textarea {
222
222
  *,
223
223
  *:before,
224
224
  *:after,
225
- *:first-letter,
226
- *:first-line {
225
+ *:first-letter {
227
226
  background: transparent !important;
228
227
  color: #000 !important; /* Black prints faster: http://www.sanbeiji.com/archives/953 */
229
228
  box-shadow: none !important;
230
- text-shadow: none !important;
231
229
  }
232
230
 
233
231
  a,
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.1
4
+ version: 1.1.2
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-02-03 00:00:00.000000000 Z
11
+ date: 2016-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass