material_components_web-sass 0.7.0 → 0.8.0

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: 502052d54dff0690a594b05c4f1040a90ea239ff
4
- data.tar.gz: ae0edb7c6bc095701f004093c18eacf57d526fbd
3
+ metadata.gz: c3b476f32c246b494cef0f517373c09ac905319c
4
+ data.tar.gz: ead66d23500779885a624dec7ae65fd79db17a4d
5
5
  SHA512:
6
- metadata.gz: 1c445e3a721376c4cb3305a1ff6b4851e1e04a4f038cc22cfd9cab91083580f3368c45a11cef5d7cd3a270fc557e58820d004c4bc97f7afa920c8a1b9e4361fe
7
- data.tar.gz: 215b21fe42ba74c2fb3c283e8b16579f33ac98477a804366875c0f5a6585e7b5c90a7c9fb1beccc7ccbe7e64ff4232d938a481f48fac5da8e9d29f879e22cbe3
6
+ metadata.gz: b4ad1f27694cccbf9597fe831429830e5b72a7b627edd6714a0bee85de544ed852552275565522dd7d070e3d48c2bc779ef07498e6705c5d393bafbc76b3afd9
7
+ data.tar.gz: 988e2804e837a7a72edbabe02b84c39b63d320c2d43c4bcc7d81235049b87973585b8c541c155de4f7df79b3c0850ae946f819d4070770c7175cfc987fd97fd3
data/.travis.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.2.6
5
- - 2.3.3
6
- - 2.4.0
4
+ - 2.2.7
5
+ - 2.3.4
6
+ - 2.4.1
7
7
  before_install: gem install bundler
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.8.0 (2017-04-03)
2
+
3
+ - Update assets to match upstream version
4
+
5
+ Library version:
6
+
7
+ - Material Components for the web v0.8.0
8
+ - Material Icons v3.0.0
9
+
1
10
  ## 0.7.0 (2017-03-21)
2
11
 
3
12
  - Update assets to match upstream version
@@ -1,5 +1,5 @@
1
1
  module MaterialComponentsWeb
2
2
  module Sass
3
- VERSION = '0.7.0'.freeze
3
+ VERSION = '0.8.0'.freeze
4
4
  end
5
5
  end
@@ -89,7 +89,7 @@ return /******/ (function(modules) { // webpackBootstrap
89
89
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
90
90
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation__ = __webpack_require__(5);
91
91
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFoundation", function() { return __WEBPACK_IMPORTED_MODULE_0__foundation__["a"]; });
92
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component__ = __webpack_require__(18);
92
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component__ = __webpack_require__(19);
93
93
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCComponent", function() { return __WEBPACK_IMPORTED_MODULE_1__component__["a"]; });
94
94
  /**
95
95
  * Copyright 2016 Google Inc.
@@ -118,7 +118,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
118
118
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
119
119
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
120
120
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(38);
121
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(3);
121
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2);
122
122
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRippleFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
123
123
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRipple", function() { return MDCRipple; });
124
124
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -262,6 +262,97 @@ var MDCRipple = function (_MDCComponent) {
262
262
  /* 2 */
263
263
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
264
264
 
265
+ "use strict";
266
+ /* harmony export (immutable) */ __webpack_exports__["b"] = supportsCssVariables;
267
+ /* harmony export (immutable) */ __webpack_exports__["a"] = getMatchesProperty;
268
+ /* harmony export (immutable) */ __webpack_exports__["c"] = getNormalizedEventCoords;
269
+ /**
270
+ * Copyright 2016 Google Inc. All Rights Reserved.
271
+ *
272
+ * Licensed under the Apache License, Version 2.0 (the "License");
273
+ * you may not use this file except in compliance with the License.
274
+ * You may obtain a copy of the License at
275
+ *
276
+ * http://www.apache.org/licenses/LICENSE-2.0
277
+ *
278
+ * Unless required by applicable law or agreed to in writing, software
279
+ * distributed under the License is distributed on an "AS IS" BASIS,
280
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
281
+ * See the License for the specific language governing permissions and
282
+ * limitations under the License.
283
+ */
284
+
285
+ function supportsCssVariables(windowObj) {
286
+ var supportsFunctionPresent = windowObj.CSS && typeof windowObj.CSS.supports === 'function';
287
+ if (!supportsFunctionPresent) {
288
+ return;
289
+ }
290
+
291
+ var explicitlySupportsCssVars = windowObj.CSS.supports('--css-vars', 'yes');
292
+ // See: https://bugs.webkit.org/show_bug.cgi?id=154669
293
+ // See: README section on Safari
294
+ var weAreFeatureDetectingSafari10plus = windowObj.CSS.supports('(--css-vars: yes)') && windowObj.CSS.supports('color', '#00000000');
295
+ return explicitlySupportsCssVars || weAreFeatureDetectingSafari10plus;
296
+ }
297
+
298
+ function getMatchesProperty(HTMLElementPrototype) {
299
+ return ['webkitMatchesSelector', 'msMatchesSelector', 'matches'].filter(function (p) {
300
+ return p in HTMLElementPrototype;
301
+ }).pop();
302
+ }
303
+
304
+ function getNormalizedEventCoords(ev, pageOffset, clientRect) {
305
+ var x = pageOffset.x,
306
+ y = pageOffset.y;
307
+
308
+ var documentX = x + clientRect.left;
309
+ var documentY = y + clientRect.top;
310
+
311
+ var normalizedX = void 0;
312
+ var normalizedY = void 0;
313
+ // Determine touch point relative to the ripple container.
314
+ if (ev.type === 'touchstart') {
315
+ normalizedX = ev.changedTouches[0].pageX - documentX;
316
+ normalizedY = ev.changedTouches[0].pageY - documentY;
317
+ } else {
318
+ normalizedX = ev.pageX - documentX;
319
+ normalizedY = ev.pageY - documentY;
320
+ }
321
+
322
+ return { x: normalizedX, y: normalizedY };
323
+ }
324
+
325
+ /***/ }),
326
+ /* 3 */
327
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
328
+
329
+ "use strict";
330
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
331
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__simple__ = __webpack_require__(35);
332
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenu", function() { return __WEBPACK_IMPORTED_MODULE_0__simple__["a"]; });
333
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenuFoundation", function() { return __WEBPACK_IMPORTED_MODULE_0__simple__["b"]; });
334
+ /**
335
+ * Copyright 2016 Google Inc. All Rights Reserved.
336
+ *
337
+ * Licensed under the Apache License, Version 2.0 (the "License");
338
+ * you may not use this file except in compliance with the License.
339
+ * You may obtain a copy of the License at
340
+ *
341
+ * http://www.apache.org/licenses/LICENSE-2.0
342
+ *
343
+ * Unless required by applicable law or agreed to in writing, software
344
+ * distributed under the License is distributed on an "AS IS" BASIS,
345
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
346
+ * See the License for the specific language governing permissions and
347
+ * limitations under the License.
348
+ */
349
+
350
+
351
+
352
+ /***/ }),
353
+ /* 4 */
354
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
355
+
265
356
  "use strict";
266
357
  /* harmony export (immutable) */ __webpack_exports__["a"] = getCorrectEventName;
267
358
  /* unused harmony export getCorrectPropertyName */
@@ -386,113 +477,6 @@ function getCorrectPropertyName(windowObj, eventType) {
386
477
  return getAnimationName(windowObj, eventType);
387
478
  }
388
479
 
389
- /***/ }),
390
- /* 3 */
391
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
392
-
393
- "use strict";
394
- /* harmony export (immutable) */ __webpack_exports__["b"] = supportsCssVariables;
395
- /* harmony export (immutable) */ __webpack_exports__["a"] = getMatchesProperty;
396
- /* harmony export (immutable) */ __webpack_exports__["d"] = animateWithClass;
397
- /* harmony export (immutable) */ __webpack_exports__["c"] = getNormalizedEventCoords;
398
- /**
399
- * Copyright 2016 Google Inc. All Rights Reserved.
400
- *
401
- * Licensed under the Apache License, Version 2.0 (the "License");
402
- * you may not use this file except in compliance with the License.
403
- * You may obtain a copy of the License at
404
- *
405
- * http://www.apache.org/licenses/LICENSE-2.0
406
- *
407
- * Unless required by applicable law or agreed to in writing, software
408
- * distributed under the License is distributed on an "AS IS" BASIS,
409
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
410
- * See the License for the specific language governing permissions and
411
- * limitations under the License.
412
- */
413
-
414
- function supportsCssVariables(windowObj) {
415
- var supportsFunctionPresent = windowObj.CSS && typeof windowObj.CSS.supports === 'function';
416
- if (!supportsFunctionPresent) {
417
- return;
418
- }
419
-
420
- var explicitlySupportsCssVars = windowObj.CSS.supports('--css-vars', 'yes');
421
- // See: https://bugs.webkit.org/show_bug.cgi?id=154669
422
- // See: README section on Safari
423
- var weAreFeatureDetectingSafari10plus = windowObj.CSS.supports('(--css-vars: yes)') && windowObj.CSS.supports('color', '#00000000');
424
- return explicitlySupportsCssVars || weAreFeatureDetectingSafari10plus;
425
- }
426
-
427
- function getMatchesProperty(HTMLElementPrototype) {
428
- return ['webkitMatchesSelector', 'msMatchesSelector', 'matches'].filter(function (p) {
429
- return p in HTMLElementPrototype;
430
- }).pop();
431
- }
432
-
433
- function animateWithClass(rippleAdapter, cls, endEvent) {
434
- var cancelled = false;
435
- var cancel = function cancel() {
436
- if (cancelled) {
437
- return;
438
- }
439
- cancelled = true;
440
- rippleAdapter.removeClass(cls);
441
- rippleAdapter.deregisterInteractionHandler(endEvent, cancel);
442
- };
443
- rippleAdapter.registerInteractionHandler(endEvent, cancel);
444
- rippleAdapter.addClass(cls);
445
- return cancel;
446
- }
447
-
448
- function getNormalizedEventCoords(ev, pageOffset, clientRect) {
449
- var x = pageOffset.x,
450
- y = pageOffset.y;
451
-
452
- var documentX = x + clientRect.left;
453
- var documentY = y + clientRect.top;
454
-
455
- var normalizedX = void 0;
456
- var normalizedY = void 0;
457
- // Determine touch point relative to the ripple container.
458
- if (ev.type === 'touchend') {
459
- normalizedX = ev.changedTouches[0].pageX - documentX;
460
- normalizedY = ev.changedTouches[0].pageY - documentY;
461
- } else {
462
- normalizedX = ev.pageX - documentX;
463
- normalizedY = ev.pageY - documentY;
464
- }
465
-
466
- return { x: normalizedX, y: normalizedY };
467
- }
468
-
469
- /***/ }),
470
- /* 4 */
471
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
472
-
473
- "use strict";
474
- Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
475
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__simple__ = __webpack_require__(35);
476
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenu", function() { return __WEBPACK_IMPORTED_MODULE_0__simple__["a"]; });
477
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenuFoundation", function() { return __WEBPACK_IMPORTED_MODULE_0__simple__["b"]; });
478
- /**
479
- * Copyright 2016 Google Inc. All Rights Reserved.
480
- *
481
- * Licensed under the Apache License, Version 2.0 (the "License");
482
- * you may not use this file except in compliance with the License.
483
- * You may obtain a copy of the License at
484
- *
485
- * http://www.apache.org/licenses/LICENSE-2.0
486
- *
487
- * Unless required by applicable law or agreed to in writing, software
488
- * distributed under the License is distributed on an "AS IS" BASIS,
489
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
490
- * See the License for the specific language governing permissions and
491
- * limitations under the License.
492
- */
493
-
494
-
495
-
496
480
  /***/ }),
497
481
  /* 5 */
498
482
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -576,7 +560,126 @@ var MDCFoundation = function () {
576
560
  /* harmony default export */ __webpack_exports__["a"] = MDCFoundation;
577
561
 
578
562
  /***/ }),
579
- /* 6 */
563
+ /* 6 */
564
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
565
+
566
+ "use strict";
567
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
568
+ /* harmony export (immutable) */ __webpack_exports__["remapEvent"] = remapEvent;
569
+ /* harmony export (immutable) */ __webpack_exports__["getTransformPropertyName"] = getTransformPropertyName;
570
+ /* harmony export (immutable) */ __webpack_exports__["supportsCssCustomProperties"] = supportsCssCustomProperties;
571
+ /* harmony export (immutable) */ __webpack_exports__["applyPassive"] = applyPassive;
572
+ /* harmony export (immutable) */ __webpack_exports__["saveElementTabState"] = saveElementTabState;
573
+ /* harmony export (immutable) */ __webpack_exports__["restoreElementTabState"] = restoreElementTabState;
574
+ /**
575
+ * Copyright 2016 Google Inc. All Rights Reserved.
576
+ *
577
+ * Licensed under the Apache License, Version 2.0 (the "License");
578
+ * you may not use this file except in compliance with the License.
579
+ * You may obtain a copy of the License at
580
+ *
581
+ * http://www.apache.org/licenses/LICENSE-2.0
582
+ *
583
+ * Unless required by applicable law or agreed to in writing, software
584
+ * distributed under the License is distributed on an "AS IS" BASIS,
585
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
586
+ * See the License for the specific language governing permissions and
587
+ * limitations under the License.
588
+ */
589
+
590
+ var TAB_DATA = 'data-mdc-tabindex';
591
+ var TAB_DATA_HANDLED = 'data-mdc-tabindex-handled';
592
+
593
+ var storedTransformPropertyName_ = void 0;
594
+ var supportsPassive_ = void 0;
595
+
596
+ // Remap touch events to pointer events, if the browser doesn't support touch events.
597
+ function remapEvent(eventName) {
598
+ var globalObj = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
599
+
600
+ if (!('ontouchstart' in globalObj.document)) {
601
+ switch (eventName) {
602
+ case 'touchstart':
603
+ return 'pointerdown';
604
+ case 'touchmove':
605
+ return 'pointermove';
606
+ case 'touchend':
607
+ return 'pointerup';
608
+ default:
609
+ return eventName;
610
+ }
611
+ }
612
+
613
+ return eventName;
614
+ }
615
+
616
+ // Choose the correct transform property to use on the current browser.
617
+ function getTransformPropertyName() {
618
+ var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
619
+ var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
620
+
621
+ if (storedTransformPropertyName_ === undefined || forceRefresh) {
622
+ var el = globalObj.document.createElement('div');
623
+ var transformPropertyName = 'transform' in el.style ? 'transform' : '-webkit-transform';
624
+ storedTransformPropertyName_ = transformPropertyName;
625
+ }
626
+
627
+ return storedTransformPropertyName_;
628
+ }
629
+
630
+ // Determine whether the current browser supports CSS properties.
631
+ function supportsCssCustomProperties() {
632
+ var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
633
+
634
+ if ('CSS' in globalObj) {
635
+ return globalObj.CSS.supports('(--color: red)');
636
+ }
637
+ return false;
638
+ }
639
+
640
+ // Determine whether the current browser supports passive event listeners, and if so, use them.
641
+ function applyPassive() {
642
+ var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
643
+ var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
644
+
645
+ if (supportsPassive_ === undefined || forceRefresh) {
646
+ var isSupported = false;
647
+ try {
648
+ globalObj.document.addEventListener('test', null, { get passive() {
649
+ isSupported = true;
650
+ } });
651
+ } catch (e) {}
652
+
653
+ supportsPassive_ = isSupported;
654
+ }
655
+
656
+ return supportsPassive_ ? { passive: true } : false;
657
+ }
658
+
659
+ // Save the tab state for an element.
660
+ function saveElementTabState(el) {
661
+ if (el.hasAttribute('tabindex')) {
662
+ el.setAttribute(TAB_DATA, el.getAttribute('tabindex'));
663
+ }
664
+ el.setAttribute(TAB_DATA_HANDLED, true);
665
+ }
666
+
667
+ // Restore the tab state for an element, if it was saved.
668
+ function restoreElementTabState(el) {
669
+ // Only modify elements we've already handled, in case anything was dynamically added since we saved state.
670
+ if (el.hasAttribute(TAB_DATA_HANDLED)) {
671
+ if (el.hasAttribute(TAB_DATA)) {
672
+ el.setAttribute('tabindex', el.getAttribute(TAB_DATA));
673
+ el.removeAttribute(TAB_DATA);
674
+ } else {
675
+ el.removeAttribute('tabindex');
676
+ }
677
+ el.removeAttribute(TAB_DATA_HANDLED);
678
+ }
679
+ }
680
+
681
+ /***/ }),
682
+ /* 7 */
580
683
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
581
684
 
582
685
  "use strict";
@@ -710,7 +813,7 @@ function solvePositionFromXValue_(xVal, x1, x2) {
710
813
  }
711
814
 
712
815
  /***/ }),
713
- /* 7 */
816
+ /* 8 */
714
817
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
715
818
 
716
819
  "use strict";
@@ -791,16 +894,16 @@ mdcAutoInit.deregisterAll = function () {
791
894
  };
792
895
 
793
896
  /***/ }),
794
- /* 8 */
897
+ /* 9 */
795
898
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
796
899
 
797
900
  "use strict";
798
901
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
799
902
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
800
903
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(1);
801
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_ripple_util__ = __webpack_require__(3);
802
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_animation__ = __webpack_require__(2);
803
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__foundation__ = __webpack_require__(20);
904
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_ripple_util__ = __webpack_require__(2);
905
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_animation__ = __webpack_require__(4);
906
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__foundation__ = __webpack_require__(21);
804
907
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCCheckboxFoundation", function() { return __WEBPACK_IMPORTED_MODULE_4__foundation__["a"]; });
805
908
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCCheckbox", function() { return MDCCheckbox; });
806
909
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
@@ -986,15 +1089,15 @@ var MDCCheckbox = function (_MDCComponent) {
986
1089
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
987
1090
 
988
1091
  /***/ }),
989
- /* 9 */
1092
+ /* 10 */
990
1093
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
991
1094
 
992
1095
  "use strict";
993
1096
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
994
1097
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
995
1098
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(1);
996
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(22);
997
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(23);
1099
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(23);
1100
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(24);
998
1101
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCDialogFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
999
1102
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_3__util__; });
1000
1103
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCDialog", function() { return MDCDialog; });
@@ -1189,14 +1292,16 @@ var MDCDialog = function (_MDCComponent) {
1189
1292
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1190
1293
 
1191
1294
  /***/ }),
1192
- /* 10 */
1295
+ /* 11 */
1193
1296
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1194
1297
 
1195
1298
  "use strict";
1196
1299
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1197
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__temporary__ = __webpack_require__(26);
1198
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTemporaryDrawer", function() { return __WEBPACK_IMPORTED_MODULE_0__temporary__["a"]; });
1199
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTemporaryDrawerFoundation", function() { return __WEBPACK_IMPORTED_MODULE_0__temporary__["b"]; });
1300
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(6);
1301
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__temporary__ = __webpack_require__(27);
1302
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTemporaryDrawer", function() { return __WEBPACK_IMPORTED_MODULE_1__temporary__["a"]; });
1303
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTemporaryDrawerFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__temporary__["b"]; });
1304
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_0__util__; });
1200
1305
  /**
1201
1306
  * Copyright 2016 Google Inc. All Rights Reserved.
1202
1307
  *
@@ -1215,8 +1320,10 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1215
1320
 
1216
1321
 
1217
1322
 
1323
+
1324
+
1218
1325
  /***/ }),
1219
- /* 11 */
1326
+ /* 12 */
1220
1327
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1221
1328
 
1222
1329
  "use strict";
@@ -1311,7 +1418,7 @@ var MDCFormField = function (_MDCComponent) {
1311
1418
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1312
1419
 
1313
1420
  /***/ }),
1314
- /* 12 */
1421
+ /* 13 */
1315
1422
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1316
1423
 
1317
1424
  "use strict";
@@ -1393,7 +1500,7 @@ var MDCGridList = function (_MDCComponent) {
1393
1500
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1394
1501
 
1395
1502
  /***/ }),
1396
- /* 13 */
1503
+ /* 14 */
1397
1504
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1398
1505
 
1399
1506
  "use strict";
@@ -1583,7 +1690,7 @@ var MDCIconToggle = function (_MDCComponent) {
1583
1690
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1584
1691
 
1585
1692
  /***/ }),
1586
- /* 14 */
1693
+ /* 15 */
1587
1694
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1588
1695
 
1589
1696
  "use strict";
@@ -1747,13 +1854,13 @@ var MDCRadio = function (_MDCComponent) {
1747
1854
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1748
1855
 
1749
1856
  /***/ }),
1750
- /* 15 */
1857
+ /* 16 */
1751
1858
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1752
1859
 
1753
1860
  "use strict";
1754
1861
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1755
1862
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1756
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_menu__ = __webpack_require__(4);
1863
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_menu__ = __webpack_require__(3);
1757
1864
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(39);
1758
1865
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelectFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
1759
1866
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelect", function() { return MDCSelect; });
@@ -1977,14 +2084,14 @@ var MDCSelect = function (_MDCComponent) {
1977
2084
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1978
2085
 
1979
2086
  /***/ }),
1980
- /* 16 */
2087
+ /* 17 */
1981
2088
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1982
2089
 
1983
2090
  "use strict";
1984
2091
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1985
2092
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1986
2093
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(41);
1987
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_animation__ = __webpack_require__(2);
2094
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_animation__ = __webpack_require__(4);
1988
2095
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSnackbarFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
1989
2096
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSnackbar", function() { return MDCSnackbar; });
1990
2097
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -2098,7 +2205,7 @@ var MDCSnackbar = function (_MDCComponent) {
2098
2205
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2099
2206
 
2100
2207
  /***/ }),
2101
- /* 17 */
2208
+ /* 18 */
2102
2209
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2103
2210
 
2104
2211
  "use strict";
@@ -2292,7 +2399,7 @@ var MDCTextfield = function (_MDCComponent) {
2292
2399
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2293
2400
 
2294
2401
  /***/ }),
2295
- /* 18 */
2402
+ /* 19 */
2296
2403
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2297
2404
 
2298
2405
  "use strict";
@@ -2422,7 +2529,7 @@ var MDCComponent = function () {
2422
2529
  /* harmony default export */ __webpack_exports__["a"] = MDCComponent;
2423
2530
 
2424
2531
  /***/ }),
2425
- /* 19 */
2532
+ /* 20 */
2426
2533
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2427
2534
 
2428
2535
  "use strict";
@@ -2473,12 +2580,12 @@ var numbers = {
2473
2580
  };
2474
2581
 
2475
2582
  /***/ }),
2476
- /* 20 */
2583
+ /* 21 */
2477
2584
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2478
2585
 
2479
2586
  "use strict";
2480
2587
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2481
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(19);
2588
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(20);
2482
2589
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
2483
2590
 
2484
2591
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -2743,7 +2850,7 @@ function validDescriptor(inputPropDesc) {
2743
2850
  }
2744
2851
 
2745
2852
  /***/ }),
2746
- /* 21 */
2853
+ /* 22 */
2747
2854
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2748
2855
 
2749
2856
  "use strict";
@@ -2782,12 +2889,12 @@ var strings = {
2782
2889
  };
2783
2890
 
2784
2891
  /***/ }),
2785
- /* 22 */
2892
+ /* 23 */
2786
2893
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2787
2894
 
2788
2895
  "use strict";
2789
2896
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2790
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(21);
2897
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(22);
2791
2898
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
2792
2899
 
2793
2900
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -3036,7 +3143,7 @@ var MDCDialogFoundation = function (_MDCFoundation) {
3036
3143
  /* harmony default export */ __webpack_exports__["a"] = MDCDialogFoundation;
3037
3144
 
3038
3145
  /***/ }),
3039
- /* 23 */
3146
+ /* 24 */
3040
3147
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3041
3148
 
3042
3149
  "use strict";
@@ -3104,7 +3211,7 @@ function restoreElementTabState(el) {
3104
3211
  }
3105
3212
 
3106
3213
  /***/ }),
3107
- /* 24 */
3214
+ /* 25 */
3108
3215
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3109
3216
 
3110
3217
  "use strict";
@@ -3142,12 +3249,12 @@ var strings = {
3142
3249
  };
3143
3250
 
3144
3251
  /***/ }),
3145
- /* 25 */
3252
+ /* 26 */
3146
3253
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3147
3254
 
3148
3255
  "use strict";
3149
3256
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3150
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(24);
3257
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(25);
3151
3258
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
3152
3259
 
3153
3260
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -3470,13 +3577,13 @@ var MDCTemporaryDrawerFoundation = function (_MDCFoundation) {
3470
3577
  /* harmony default export */ __webpack_exports__["a"] = MDCTemporaryDrawerFoundation;
3471
3578
 
3472
3579
  /***/ }),
3473
- /* 26 */
3580
+ /* 27 */
3474
3581
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3475
3582
 
3476
3583
  "use strict";
3477
3584
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3478
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(25);
3479
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(27);
3585
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(26);
3586
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(6);
3480
3587
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
3481
3588
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCTemporaryDrawer; });
3482
3589
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -3542,16 +3649,16 @@ var MDCTemporaryDrawer = function (_MDCComponent) {
3542
3649
  return Boolean(_this2.drawer);
3543
3650
  },
3544
3651
  registerInteractionHandler: function registerInteractionHandler(evt, handler) {
3545
- return _this2.root_.addEventListener(__WEBPACK_IMPORTED_MODULE_2__util__["a" /* remapEvent */](evt), handler, __WEBPACK_IMPORTED_MODULE_2__util__["b" /* applyPassive */]());
3652
+ return _this2.root_.addEventListener(__WEBPACK_IMPORTED_MODULE_2__util__["remapEvent"](evt), handler, __WEBPACK_IMPORTED_MODULE_2__util__["applyPassive"]());
3546
3653
  },
3547
3654
  deregisterInteractionHandler: function deregisterInteractionHandler(evt, handler) {
3548
- return _this2.root_.removeEventListener(__WEBPACK_IMPORTED_MODULE_2__util__["a" /* remapEvent */](evt), handler, __WEBPACK_IMPORTED_MODULE_2__util__["b" /* applyPassive */]());
3655
+ return _this2.root_.removeEventListener(__WEBPACK_IMPORTED_MODULE_2__util__["remapEvent"](evt), handler, __WEBPACK_IMPORTED_MODULE_2__util__["applyPassive"]());
3549
3656
  },
3550
3657
  registerDrawerInteractionHandler: function registerDrawerInteractionHandler(evt, handler) {
3551
- return _this2.drawer.addEventListener(__WEBPACK_IMPORTED_MODULE_2__util__["a" /* remapEvent */](evt), handler);
3658
+ return _this2.drawer.addEventListener(__WEBPACK_IMPORTED_MODULE_2__util__["remapEvent"](evt), handler);
3552
3659
  },
3553
3660
  deregisterDrawerInteractionHandler: function deregisterDrawerInteractionHandler(evt, handler) {
3554
- return _this2.drawer.removeEventListener(__WEBPACK_IMPORTED_MODULE_2__util__["a" /* remapEvent */](evt), handler);
3661
+ return _this2.drawer.removeEventListener(__WEBPACK_IMPORTED_MODULE_2__util__["remapEvent"](evt), handler);
3555
3662
  },
3556
3663
  registerTransitionEndHandler: function registerTransitionEndHandler(handler) {
3557
3664
  return _this2.drawer.addEventListener('transitionend', handler);
@@ -3569,10 +3676,10 @@ var MDCTemporaryDrawer = function (_MDCComponent) {
3569
3676
  return _this2.drawer.offsetWidth;
3570
3677
  },
3571
3678
  setTranslateX: function setTranslateX(value) {
3572
- return _this2.drawer.style.setProperty(__WEBPACK_IMPORTED_MODULE_2__util__["c" /* getTransformPropertyName */](), value === null ? null : 'translateX(' + value + 'px)');
3679
+ return _this2.drawer.style.setProperty(__WEBPACK_IMPORTED_MODULE_2__util__["getTransformPropertyName"](), value === null ? null : 'translateX(' + value + 'px)');
3573
3680
  },
3574
3681
  updateCssVariable: function updateCssVariable(value) {
3575
- if (__WEBPACK_IMPORTED_MODULE_2__util__["d" /* supportsCssCustomProperties */]()) {
3682
+ if (__WEBPACK_IMPORTED_MODULE_2__util__["supportsCssCustomProperties"]()) {
3576
3683
  _this2.root_.style.setProperty(OPACITY_VAR_NAME, value);
3577
3684
  }
3578
3685
  },
@@ -3580,10 +3687,10 @@ var MDCTemporaryDrawer = function (_MDCComponent) {
3580
3687
  return _this2.drawer.querySelectorAll(FOCUSABLE_ELEMENTS);
3581
3688
  },
3582
3689
  saveElementTabState: function saveElementTabState(el) {
3583
- return __WEBPACK_IMPORTED_MODULE_2__util__["e" /* saveElementTabState */](el);
3690
+ return __WEBPACK_IMPORTED_MODULE_2__util__["saveElementTabState"](el);
3584
3691
  },
3585
3692
  restoreElementTabState: function restoreElementTabState(el) {
3586
- return __WEBPACK_IMPORTED_MODULE_2__util__["f" /* restoreElementTabState */](el);
3693
+ return __WEBPACK_IMPORTED_MODULE_2__util__["restoreElementTabState"](el);
3587
3694
  },
3588
3695
  makeElementUntabbable: function makeElementUntabbable(el) {
3589
3696
  return el.setAttribute('tabindex', -1);
@@ -3626,124 +3733,6 @@ var MDCTemporaryDrawer = function (_MDCComponent) {
3626
3733
  return MDCTemporaryDrawer;
3627
3734
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
3628
3735
 
3629
- /***/ }),
3630
- /* 27 */
3631
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
3632
-
3633
- "use strict";
3634
- /* harmony export (immutable) */ __webpack_exports__["a"] = remapEvent;
3635
- /* harmony export (immutable) */ __webpack_exports__["c"] = getTransformPropertyName;
3636
- /* harmony export (immutable) */ __webpack_exports__["d"] = supportsCssCustomProperties;
3637
- /* harmony export (immutable) */ __webpack_exports__["b"] = applyPassive;
3638
- /* harmony export (immutable) */ __webpack_exports__["e"] = saveElementTabState;
3639
- /* harmony export (immutable) */ __webpack_exports__["f"] = restoreElementTabState;
3640
- /**
3641
- * Copyright 2016 Google Inc. All Rights Reserved.
3642
- *
3643
- * Licensed under the Apache License, Version 2.0 (the "License");
3644
- * you may not use this file except in compliance with the License.
3645
- * You may obtain a copy of the License at
3646
- *
3647
- * http://www.apache.org/licenses/LICENSE-2.0
3648
- *
3649
- * Unless required by applicable law or agreed to in writing, software
3650
- * distributed under the License is distributed on an "AS IS" BASIS,
3651
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3652
- * See the License for the specific language governing permissions and
3653
- * limitations under the License.
3654
- */
3655
-
3656
- var TAB_DATA = 'data-mdc-tabindex';
3657
- var TAB_DATA_HANDLED = 'data-mdc-tabindex-handled';
3658
-
3659
- var storedTransformPropertyName_ = void 0;
3660
- var supportsPassive_ = void 0;
3661
-
3662
- // Remap touch events to pointer events, if the browser doesn't support touch events.
3663
- function remapEvent(eventName) {
3664
- var globalObj = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
3665
-
3666
- if (!('ontouchstart' in globalObj.document)) {
3667
- switch (eventName) {
3668
- case 'touchstart':
3669
- return 'pointerdown';
3670
- case 'touchmove':
3671
- return 'pointermove';
3672
- case 'touchend':
3673
- return 'pointerup';
3674
- default:
3675
- return eventName;
3676
- }
3677
- }
3678
-
3679
- return eventName;
3680
- }
3681
-
3682
- // Choose the correct transform property to use on the current browser.
3683
- function getTransformPropertyName() {
3684
- var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
3685
- var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
3686
-
3687
- if (storedTransformPropertyName_ === undefined || forceRefresh) {
3688
- var el = globalObj.document.createElement('div');
3689
- var transformPropertyName = 'transform' in el.style ? 'transform' : '-webkit-transform';
3690
- storedTransformPropertyName_ = transformPropertyName;
3691
- }
3692
-
3693
- return storedTransformPropertyName_;
3694
- }
3695
-
3696
- // Determine whether the current browser supports CSS properties.
3697
- function supportsCssCustomProperties() {
3698
- var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
3699
-
3700
- if ('CSS' in globalObj) {
3701
- return globalObj.CSS.supports('(--color: red)');
3702
- }
3703
- return false;
3704
- }
3705
-
3706
- // Determine whether the current browser supports passive event listeners, and if so, use them.
3707
- function applyPassive() {
3708
- var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
3709
- var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
3710
-
3711
- if (supportsPassive_ === undefined || forceRefresh) {
3712
- var isSupported = false;
3713
- try {
3714
- globalObj.document.addEventListener('test', null, { get passive() {
3715
- isSupported = true;
3716
- } });
3717
- } catch (e) {}
3718
-
3719
- supportsPassive_ = isSupported;
3720
- }
3721
-
3722
- return supportsPassive_ ? { passive: true } : false;
3723
- }
3724
-
3725
- // Save the tab state for an element.
3726
- function saveElementTabState(el) {
3727
- if (el.hasAttribute('tabindex')) {
3728
- el.setAttribute(TAB_DATA, el.getAttribute('tabindex'));
3729
- }
3730
- el.setAttribute(TAB_DATA_HANDLED, true);
3731
- }
3732
-
3733
- // Restore the tab state for an element, if it was saved.
3734
- function restoreElementTabState(el) {
3735
- // Only modify elements we've already handled, in case anything was dynamically added since we saved state.
3736
- if (el.hasAttribute(TAB_DATA_HANDLED)) {
3737
- if (el.hasAttribute(TAB_DATA)) {
3738
- el.setAttribute('tabindex', el.getAttribute(TAB_DATA));
3739
- el.removeAttribute(TAB_DATA);
3740
- } else {
3741
- el.removeAttribute('tabindex');
3742
- }
3743
- el.removeAttribute(TAB_DATA_HANDLED);
3744
- }
3745
- }
3746
-
3747
3736
  /***/ }),
3748
3737
  /* 28 */
3749
3738
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -4320,7 +4309,7 @@ var numbers = {
4320
4309
  "use strict";
4321
4310
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
4322
4311
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(33);
4323
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(6);
4312
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(7);
4324
4313
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
4325
4314
 
4326
4315
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -4862,7 +4851,7 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
4862
4851
  "use strict";
4863
4852
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
4864
4853
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(34);
4865
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(6);
4854
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(7);
4866
4855
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
4867
4856
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCSimpleMenu; });
4868
4857
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -5187,8 +5176,6 @@ var MDCRadioFoundation = function (_MDCFoundation) {
5187
5176
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5188
5177
 
5189
5178
  "use strict";
5190
- /* unused harmony export ROOT */
5191
- /* unused harmony export UPGRADED */
5192
5179
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cssClasses; });
5193
5180
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return strings; });
5194
5181
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return numbers; });
@@ -5208,45 +5195,33 @@ var MDCRadioFoundation = function (_MDCFoundation) {
5208
5195
  * limitations under the License.
5209
5196
  */
5210
5197
 
5211
- var ROOT = 'mdc-ripple';
5212
- var UPGRADED = ROOT + '-upgraded';
5213
-
5214
5198
  var cssClasses = {
5215
5199
  // Ripple is a special case where the "root" component is really a "mixin" of sorts,
5216
5200
  // given that it's an 'upgrade' to an existing component. That being said it is the root
5217
5201
  // CSS class that all other CSS classes derive from.
5218
- ROOT: UPGRADED,
5219
- UNBOUNDED: UPGRADED + '--unbounded',
5220
- BG_ACTIVE: UPGRADED + '--background-active',
5221
- BG_BOUNDED_ACTIVE_FILL: UPGRADED + '--background-bounded-active-fill',
5222
- FG_BOUNDED_ACTIVE_FILL: UPGRADED + '--foreground-bounded-active-fill',
5223
- FG_UNBOUNDED_ACTIVATION: UPGRADED + '--foreground-unbounded-activation',
5224
- FG_UNBOUNDED_DEACTIVATION: UPGRADED + '--foreground-unbounded-deactivation'
5202
+ ROOT: 'mdc-ripple-upgraded',
5203
+ UNBOUNDED: 'mdc-ripple-upgraded--unbounded',
5204
+ BG_FOCUSED: 'mdc-ripple-upgraded--background-focused',
5205
+ BG_ACTIVE_FILL: 'mdc-ripple-upgraded--background-active-fill',
5206
+ FG_ACTIVATION: 'mdc-ripple-upgraded--foreground-activation',
5207
+ FG_DEACTIVATION: 'mdc-ripple-upgraded--foreground-deactivation'
5225
5208
  };
5226
5209
 
5227
5210
  var strings = {
5228
- VAR_SURFACE_WIDTH: '--' + ROOT + '-surface-width',
5229
- VAR_SURFACE_HEIGHT: '--' + ROOT + '-surface-height',
5230
- VAR_FG_SIZE: '--' + ROOT + '-fg-size',
5231
- VAR_FG_UNBOUNDED_OPACITY_DURATION: '--' + ROOT + '-fg-unbounded-opacity-duration',
5232
- VAR_FG_UNBOUNDED_TRANSFORM_DURATION: '--' + ROOT + '-fg-unbounded-transform-duration',
5233
- VAR_LEFT: '--' + ROOT + '-left',
5234
- VAR_TOP: '--' + ROOT + '-top',
5235
- VAR_TRANSLATE_END: '--' + ROOT + '-translate-end',
5236
- VAR_FG_APPROX_XF: '--' + ROOT + '-fg-approx-xf',
5237
- VAR_FG_SCALE: '--' + ROOT + '-fg-scale',
5238
- VAR_FG_TRANSLATE_START: '--' + ROOT + '-fg-translate-start',
5239
- VAR_FG_TRANSLATE_END: '--' + ROOT + '-fg-translate-end'
5211
+ VAR_SURFACE_WIDTH: '--mdc-ripple-surface-width',
5212
+ VAR_SURFACE_HEIGHT: '--mdc-ripple-surface-height',
5213
+ VAR_FG_SIZE: '--mdc-ripple-fg-size',
5214
+ VAR_LEFT: '--mdc-ripple-left',
5215
+ VAR_TOP: '--mdc-ripple-top',
5216
+ VAR_FG_SCALE: '--mdc-ripple-fg-scale',
5217
+ VAR_FG_TRANSLATE_START: '--mdc-ripple-fg-translate-start',
5218
+ VAR_FG_TRANSLATE_END: '--mdc-ripple-fg-translate-end'
5240
5219
  };
5241
5220
 
5242
5221
  var numbers = {
5243
- FG_TRANSFORM_DELAY_MS: 80,
5244
- OPACITY_DURATION_DIVISOR: 3,
5245
- ACTIVE_OPACITY_DURATION_MS: 110,
5246
- MIN_OPACITY_DURATION_MS: 200,
5247
- UNBOUNDED_TRANSFORM_DURATION_MS: 200,
5248
5222
  PADDING: 10,
5249
- INITIAL_ORIGIN_SCALE: 0.6
5223
+ INITIAL_ORIGIN_SCALE: 0.6,
5224
+ DEACTIVATION_TIMEOUT_MS: 300
5250
5225
  };
5251
5226
 
5252
5227
  /***/ }),
@@ -5255,9 +5230,8 @@ var numbers = {
5255
5230
 
5256
5231
  "use strict";
5257
5232
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5258
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_animation__ = __webpack_require__(2);
5259
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(37);
5260
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(3);
5233
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(37);
5234
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2);
5261
5235
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
5262
5236
 
5263
5237
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -5289,7 +5263,6 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
5289
5263
 
5290
5264
 
5291
5265
 
5292
-
5293
5266
  var DEACTIVATION_ACTIVATION_PAIRS = {
5294
5267
  mouseup: 'mousedown',
5295
5268
  pointerup: 'pointerdown',
@@ -5315,17 +5288,17 @@ var MDCRippleFoundation = function (_MDCFoundation) {
5315
5288
  }], [{
5316
5289
  key: 'cssClasses',
5317
5290
  get: function get() {
5318
- return __WEBPACK_IMPORTED_MODULE_2__constants__["a" /* cssClasses */];
5291
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */];
5319
5292
  }
5320
5293
  }, {
5321
5294
  key: 'strings',
5322
5295
  get: function get() {
5323
- return __WEBPACK_IMPORTED_MODULE_2__constants__["b" /* strings */];
5296
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */];
5324
5297
  }
5325
5298
  }, {
5326
5299
  key: 'numbers',
5327
5300
  get: function get() {
5328
- return __WEBPACK_IMPORTED_MODULE_2__constants__["c" /* numbers */];
5301
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["c" /* numbers */];
5329
5302
  }
5330
5303
  }, {
5331
5304
  key: 'defaultAdapter',
@@ -5368,27 +5341,29 @@ var MDCRippleFoundation = function (_MDCFoundation) {
5368
5341
  },
5369
5342
  focus: function focus() {
5370
5343
  return requestAnimationFrame(function () {
5371
- return _this.adapter_.addClass(MDCRippleFoundation.cssClasses.BG_ACTIVE);
5344
+ return _this.adapter_.addClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);
5372
5345
  });
5373
5346
  },
5374
5347
  blur: function blur() {
5375
5348
  return requestAnimationFrame(function () {
5376
- return _this.adapter_.removeClass(MDCRippleFoundation.cssClasses.BG_ACTIVE);
5349
+ return _this.adapter_.removeClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);
5377
5350
  });
5378
5351
  }
5379
5352
  };
5380
- _this.unboundedOpacityFadeTimer_ = 0;
5381
5353
  _this.resizeHandler_ = function () {
5382
5354
  return _this.layout();
5383
5355
  };
5384
- _this.cancelBgBounded_ = function () {};
5385
- _this.cancelFgBounded_ = function () {};
5386
- _this.cancelFgUnbounded_ = function () {};
5387
5356
  _this.unboundedCoords_ = {
5388
5357
  left: 0,
5389
5358
  top: 0
5390
5359
  };
5391
5360
  _this.fgScale_ = 0;
5361
+ _this.activationTimer_ = 0;
5362
+ _this.activationAnimationHasEnded_ = false;
5363
+ _this.activationTimerCallback_ = function () {
5364
+ _this.activationAnimationHasEnded_ = true;
5365
+ _this.runDeactivationUXLogicIfReady_();
5366
+ };
5392
5367
  return _this;
5393
5368
  }
5394
5369
 
@@ -5397,10 +5372,12 @@ var MDCRippleFoundation = function (_MDCFoundation) {
5397
5372
  value: function defaultActivationState_() {
5398
5373
  return {
5399
5374
  isActivated: false,
5375
+ hasDeactivationUXRun: false,
5400
5376
  wasActivatedByPointer: false,
5401
5377
  wasElementMadeActive: false,
5402
5378
  activationStartTime: 0,
5403
- activationEvent: null
5379
+ activationEvent: null,
5380
+ isProgrammatic: false
5404
5381
  };
5405
5382
  }
5406
5383
  }, {
@@ -5452,8 +5429,8 @@ var MDCRippleFoundation = function (_MDCFoundation) {
5452
5429
  activationState.isProgrammatic = e === null;
5453
5430
  activationState.activationEvent = e;
5454
5431
  activationState.wasActivatedByPointer = activationState.isProgrammatic ? false : e.type === 'mousedown' || e.type === 'touchstart' || e.type === 'pointerdown';
5455
-
5456
5432
  activationState.activationStartTime = Date.now();
5433
+
5457
5434
  requestAnimationFrame(function () {
5458
5435
  // This needs to be wrapped in an rAF call b/c web browsers
5459
5436
  // report active states inconsistently when they're called within
@@ -5479,36 +5456,99 @@ var MDCRippleFoundation = function (_MDCFoundation) {
5479
5456
  value: function animateActivation_() {
5480
5457
  var _this5 = this;
5481
5458
 
5482
- var _MDCRippleFoundation$2 = MDCRippleFoundation.cssClasses,
5483
- BG_ACTIVE = _MDCRippleFoundation$2.BG_ACTIVE,
5484
- BG_BOUNDED_ACTIVE_FILL = _MDCRippleFoundation$2.BG_BOUNDED_ACTIVE_FILL,
5485
- FG_UNBOUNDED_DEACTIVATION = _MDCRippleFoundation$2.FG_UNBOUNDED_DEACTIVATION,
5486
- FG_BOUNDED_ACTIVE_FILL = _MDCRippleFoundation$2.FG_BOUNDED_ACTIVE_FILL;
5459
+ var _MDCRippleFoundation$2 = MDCRippleFoundation.strings,
5460
+ VAR_FG_TRANSLATE_START = _MDCRippleFoundation$2.VAR_FG_TRANSLATE_START,
5461
+ VAR_FG_TRANSLATE_END = _MDCRippleFoundation$2.VAR_FG_TRANSLATE_END;
5462
+ var _MDCRippleFoundation$3 = MDCRippleFoundation.cssClasses,
5463
+ BG_ACTIVE_FILL = _MDCRippleFoundation$3.BG_ACTIVE_FILL,
5464
+ FG_DEACTIVATION = _MDCRippleFoundation$3.FG_DEACTIVATION,
5465
+ FG_ACTIVATION = _MDCRippleFoundation$3.FG_ACTIVATION;
5466
+ var DEACTIVATION_TIMEOUT_MS = MDCRippleFoundation.numbers.DEACTIVATION_TIMEOUT_MS;
5487
5467
 
5488
- // If ripple is currently deactivating, cancel those animations.
5489
5468
 
5490
- [BG_BOUNDED_ACTIVE_FILL, FG_UNBOUNDED_DEACTIVATION, FG_BOUNDED_ACTIVE_FILL].forEach(function (c) {
5491
- return _this5.adapter_.removeClass(c);
5492
- });
5493
- this.cancelBgBounded_();
5494
- this.cancelFgBounded_();
5495
- this.cancelFgUnbounded_();
5496
- if (this.unboundedOpacityFadeTimer_) {
5497
- clearTimeout(this.unboundedOpacityFadeTimer_);
5498
- this.unboundedOpacityFadeTimer_ = 0;
5469
+ var translateStart = '';
5470
+ var translateEnd = '';
5471
+
5472
+ if (!this.adapter_.isUnbounded()) {
5473
+ var _getFgTranslationCoor = this.getFgTranslationCoordinates_(),
5474
+ startPoint = _getFgTranslationCoor.startPoint,
5475
+ endPoint = _getFgTranslationCoor.endPoint;
5476
+
5477
+ translateStart = startPoint.x + 'px, ' + startPoint.y + 'px';
5478
+ translateEnd = endPoint.x + 'px, ' + endPoint.y + 'px';
5499
5479
  }
5500
5480
 
5501
- this.adapter_.addClass(BG_ACTIVE);
5502
- if (this.adapter_.isUnbounded()) {
5503
- this.animateUnboundedActivation_();
5481
+ this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_START, translateStart);
5482
+ this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_END, translateEnd);
5483
+ // Cancel any ongoing activation/deactivation animations
5484
+ clearTimeout(this.activationTimer_);
5485
+ this.rmBoundedActivationClasses_();
5486
+ this.adapter_.removeClass(FG_DEACTIVATION);
5487
+
5488
+ // Force layout in order to re-trigger the animation.
5489
+ this.adapter_.computeBoundingRect();
5490
+ this.adapter_.addClass(BG_ACTIVE_FILL);
5491
+ this.adapter_.addClass(FG_ACTIVATION);
5492
+ this.activationTimer_ = setTimeout(function () {
5493
+ return _this5.activationTimerCallback_();
5494
+ }, DEACTIVATION_TIMEOUT_MS);
5495
+ }
5496
+ }, {
5497
+ key: 'getFgTranslationCoordinates_',
5498
+ value: function getFgTranslationCoordinates_() {
5499
+ var activationState = this.activationState_;
5500
+ var activationEvent = activationState.activationEvent,
5501
+ wasActivatedByPointer = activationState.wasActivatedByPointer;
5502
+
5503
+
5504
+ var startPoint = void 0;
5505
+ if (wasActivatedByPointer) {
5506
+ startPoint = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["c" /* getNormalizedEventCoords */])(activationEvent, this.adapter_.getWindowPageOffset(), this.adapter_.computeBoundingRect());
5507
+ } else {
5508
+ startPoint = {
5509
+ x: this.frame_.width / 2,
5510
+ y: this.frame_.height / 2
5511
+ };
5512
+ }
5513
+ // Center the element around the start point.
5514
+ startPoint = {
5515
+ x: startPoint.x - this.initialSize_ / 2,
5516
+ y: startPoint.y - this.initialSize_ / 2
5517
+ };
5518
+
5519
+ var endPoint = {
5520
+ x: this.frame_.width / 2 - this.initialSize_ / 2,
5521
+ y: this.frame_.height / 2 - this.initialSize_ / 2
5522
+ };
5523
+
5524
+ return { startPoint: startPoint, endPoint: endPoint };
5525
+ }
5526
+ }, {
5527
+ key: 'runDeactivationUXLogicIfReady_',
5528
+ value: function runDeactivationUXLogicIfReady_() {
5529
+ var FG_DEACTIVATION = MDCRippleFoundation.cssClasses.FG_DEACTIVATION;
5530
+ var _activationState_ = this.activationState_,
5531
+ hasDeactivationUXRun = _activationState_.hasDeactivationUXRun,
5532
+ isActivated = _activationState_.isActivated;
5533
+
5534
+ var activationHasEnded = hasDeactivationUXRun || !isActivated;
5535
+ if (activationHasEnded && this.activationAnimationHasEnded_) {
5536
+ this.rmBoundedActivationClasses_();
5537
+ // Note that we don't need to remove this here since it's removed on re-activation.
5538
+ this.adapter_.addClass(FG_DEACTIVATION);
5504
5539
  }
5505
5540
  }
5506
5541
  }, {
5507
- key: 'animateUnboundedActivation_',
5508
- value: function animateUnboundedActivation_() {
5509
- var FG_UNBOUNDED_ACTIVATION = MDCRippleFoundation.cssClasses.FG_UNBOUNDED_ACTIVATION;
5542
+ key: 'rmBoundedActivationClasses_',
5543
+ value: function rmBoundedActivationClasses_() {
5544
+ var _MDCRippleFoundation$4 = MDCRippleFoundation.cssClasses,
5545
+ BG_ACTIVE_FILL = _MDCRippleFoundation$4.BG_ACTIVE_FILL,
5546
+ FG_ACTIVATION = _MDCRippleFoundation$4.FG_ACTIVATION;
5510
5547
 
5511
- this.adapter_.addClass(FG_UNBOUNDED_ACTIVATION);
5548
+ this.adapter_.removeClass(BG_ACTIVE_FILL);
5549
+ this.adapter_.removeClass(FG_ACTIVATION);
5550
+ this.activationAnimationHasEnded_ = false;
5551
+ this.adapter_.computeBoundingRect();
5512
5552
  }
5513
5553
  }, {
5514
5554
  key: 'deactivate_',
@@ -5523,12 +5563,14 @@ var MDCRippleFoundation = function (_MDCFoundation) {
5523
5563
  }
5524
5564
  // Programmatic deactivation.
5525
5565
  if (activationState.isProgrammatic) {
5566
+ var evtObject = null;
5526
5567
  requestAnimationFrame(function () {
5527
- return _this6.animateDeactivation_(null, _extends({}, activationState));
5568
+ return _this6.animateDeactivation_(evtObject, _extends({}, activationState));
5528
5569
  });
5529
5570
  this.activationState_ = this.defaultActivationState_();
5530
5571
  return;
5531
5572
  }
5573
+
5532
5574
  var actualActivationType = DEACTIVATION_ACTIVATION_PAIRS[e.type];
5533
5575
  var expectedActivationType = activationState.activationEvent.type;
5534
5576
  // NOTE: Pointer events are tricky - https://patrickhlauke.github.io/touch/tests/results/
@@ -5542,14 +5584,16 @@ var MDCRippleFoundation = function (_MDCFoundation) {
5542
5584
  }
5543
5585
 
5544
5586
  var state = _extends({}, activationState);
5545
- if (needsDeactivationUX) {
5546
- requestAnimationFrame(function () {
5547
- return _this6.animateDeactivation_(e, state);
5548
- });
5549
- }
5550
- if (needsActualDeactivation) {
5551
- this.activationState_ = this.defaultActivationState_();
5552
- }
5587
+ requestAnimationFrame(function () {
5588
+ if (needsDeactivationUX) {
5589
+ _this6.activationState_.hasDeactivationUXRun = true;
5590
+ _this6.animateDeactivation_(e, state);
5591
+ }
5592
+
5593
+ if (needsActualDeactivation) {
5594
+ _this6.activationState_ = _this6.defaultActivationState_();
5595
+ }
5596
+ });
5553
5597
  }
5554
5598
  }, {
5555
5599
  key: 'deactivate',
@@ -5560,135 +5604,43 @@ var MDCRippleFoundation = function (_MDCFoundation) {
5560
5604
  key: 'animateDeactivation_',
5561
5605
  value: function animateDeactivation_(e, _ref) {
5562
5606
  var wasActivatedByPointer = _ref.wasActivatedByPointer,
5563
- wasElementMadeActive = _ref.wasElementMadeActive,
5564
- activationStartTime = _ref.activationStartTime,
5565
- isProgrammatic = _ref.isProgrammatic;
5566
- var BG_ACTIVE = MDCRippleFoundation.cssClasses.BG_ACTIVE;
5607
+ wasElementMadeActive = _ref.wasElementMadeActive;
5608
+ var BG_FOCUSED = MDCRippleFoundation.cssClasses.BG_FOCUSED;
5567
5609
 
5568
5610
  if (wasActivatedByPointer || wasElementMadeActive) {
5569
- this.adapter_.removeClass(BG_ACTIVE);
5570
- var isPointerEvent = isProgrammatic ? false : e.type === 'touchend' || e.type === 'pointerup' || e.type === 'mouseup';
5571
- if (this.adapter_.isUnbounded()) {
5572
- this.animateUnboundedDeactivation_(this.getUnboundedDeactivationInfo_(activationStartTime));
5573
- } else {
5574
- this.animateBoundedDeactivation_(e, isPointerEvent);
5575
- }
5576
- }
5577
- }
5578
- }, {
5579
- key: 'animateUnboundedDeactivation_',
5580
- value: function animateUnboundedDeactivation_(_ref2) {
5581
- var _this7 = this;
5582
-
5583
- var opacityDuration = _ref2.opacityDuration,
5584
- transformDuration = _ref2.transformDuration,
5585
- approxCurScale = _ref2.approxCurScale;
5586
- var _MDCRippleFoundation$3 = MDCRippleFoundation.cssClasses,
5587
- FG_UNBOUNDED_ACTIVATION = _MDCRippleFoundation$3.FG_UNBOUNDED_ACTIVATION,
5588
- FG_UNBOUNDED_DEACTIVATION = _MDCRippleFoundation$3.FG_UNBOUNDED_DEACTIVATION;
5589
- var _MDCRippleFoundation$4 = MDCRippleFoundation.strings,
5590
- VAR_FG_UNBOUNDED_OPACITY_DURATION = _MDCRippleFoundation$4.VAR_FG_UNBOUNDED_OPACITY_DURATION,
5591
- VAR_FG_UNBOUNDED_TRANSFORM_DURATION = _MDCRippleFoundation$4.VAR_FG_UNBOUNDED_TRANSFORM_DURATION,
5592
- VAR_FG_APPROX_XF = _MDCRippleFoundation$4.VAR_FG_APPROX_XF;
5593
-
5594
-
5595
- this.adapter_.updateCssVariable(VAR_FG_APPROX_XF, 'scale(' + approxCurScale + ')');
5596
- this.adapter_.updateCssVariable(VAR_FG_UNBOUNDED_OPACITY_DURATION, opacityDuration + 'ms');
5597
- this.adapter_.updateCssVariable(VAR_FG_UNBOUNDED_TRANSFORM_DURATION, transformDuration + 'ms');
5598
- this.adapter_.addClass(FG_UNBOUNDED_DEACTIVATION);
5599
- this.adapter_.removeClass(FG_UNBOUNDED_ACTIVATION);
5600
- // We use setTimeout here since we know how long the fade will take.
5601
- this.unboundedOpacityFadeTimer_ = setTimeout(function () {
5602
- _this7.adapter_.removeClass(FG_UNBOUNDED_DEACTIVATION);
5603
- }, opacityDuration);
5604
- }
5605
- }, {
5606
- key: 'getUnboundedDeactivationInfo_',
5607
- value: function getUnboundedDeactivationInfo_(activationStartTime) {
5608
- var msElapsed = Date.now() - activationStartTime;
5609
- var _MDCRippleFoundation$5 = MDCRippleFoundation.numbers,
5610
- FG_TRANSFORM_DELAY_MS = _MDCRippleFoundation$5.FG_TRANSFORM_DELAY_MS,
5611
- OPACITY_DURATION_DIVISOR = _MDCRippleFoundation$5.OPACITY_DURATION_DIVISOR,
5612
- ACTIVE_OPACITY_DURATION_MS = _MDCRippleFoundation$5.ACTIVE_OPACITY_DURATION_MS,
5613
- UNBOUNDED_TRANSFORM_DURATION_MS = _MDCRippleFoundation$5.UNBOUNDED_TRANSFORM_DURATION_MS,
5614
- MIN_OPACITY_DURATION_MS = _MDCRippleFoundation$5.MIN_OPACITY_DURATION_MS;
5615
-
5616
-
5617
- var approxCurScale = 0;
5618
- if (msElapsed > FG_TRANSFORM_DELAY_MS) {
5619
- var percentComplete = Math.min((msElapsed - FG_TRANSFORM_DELAY_MS) / this.xfDuration_, 1);
5620
- approxCurScale = percentComplete * this.fgScale_;
5611
+ // Remove class left over by element being focused
5612
+ this.adapter_.removeClass(BG_FOCUSED);
5613
+ this.runDeactivationUXLogicIfReady_();
5621
5614
  }
5622
-
5623
- var transformDuration = UNBOUNDED_TRANSFORM_DURATION_MS;
5624
- var approxOpacity = Math.min(msElapsed / ACTIVE_OPACITY_DURATION_MS, 1);
5625
- var opacityDuration = Math.max(MIN_OPACITY_DURATION_MS, 1000 * approxOpacity / OPACITY_DURATION_DIVISOR);
5626
-
5627
- return { transformDuration: transformDuration, opacityDuration: opacityDuration, approxCurScale: approxCurScale };
5628
- }
5629
- }, {
5630
- key: 'animateBoundedDeactivation_',
5631
- value: function animateBoundedDeactivation_(e, isPointerEvent) {
5632
- var startPoint = void 0;
5633
- if (isPointerEvent) {
5634
- startPoint = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* getNormalizedEventCoords */])(e, this.adapter_.getWindowPageOffset(), this.adapter_.computeBoundingRect());
5635
- } else {
5636
- startPoint = {
5637
- x: this.frame_.width / 2,
5638
- y: this.frame_.height / 2
5639
- };
5640
- }
5641
-
5642
- startPoint = {
5643
- x: startPoint.x - this.initialSize_ / 2,
5644
- y: startPoint.y - this.initialSize_ / 2
5645
- };
5646
-
5647
- var endPoint = {
5648
- x: this.frame_.width / 2 - this.initialSize_ / 2,
5649
- y: this.frame_.height / 2 - this.initialSize_ / 2
5650
- };
5651
-
5652
- var _MDCRippleFoundation$6 = MDCRippleFoundation.strings,
5653
- VAR_FG_TRANSLATE_START = _MDCRippleFoundation$6.VAR_FG_TRANSLATE_START,
5654
- VAR_FG_TRANSLATE_END = _MDCRippleFoundation$6.VAR_FG_TRANSLATE_END;
5655
- var _MDCRippleFoundation$7 = MDCRippleFoundation.cssClasses,
5656
- BG_BOUNDED_ACTIVE_FILL = _MDCRippleFoundation$7.BG_BOUNDED_ACTIVE_FILL,
5657
- FG_BOUNDED_ACTIVE_FILL = _MDCRippleFoundation$7.FG_BOUNDED_ACTIVE_FILL;
5658
-
5659
- this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_START, startPoint.x + 'px, ' + startPoint.y + 'px');
5660
- this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_END, endPoint.x + 'px, ' + endPoint.y + 'px');
5661
- this.cancelBgBounded_ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["d" /* animateWithClass */])(this.adapter_, BG_BOUNDED_ACTIVE_FILL, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__material_animation__["a" /* getCorrectEventName */])(window, 'transitionend'));
5662
- this.cancelFgBounded_ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["d" /* animateWithClass */])(this.adapter_, FG_BOUNDED_ACTIVE_FILL, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__material_animation__["a" /* getCorrectEventName */])(window, 'animationend'));
5663
5615
  }
5664
5616
  }, {
5665
5617
  key: 'destroy',
5666
5618
  value: function destroy() {
5667
- var _this8 = this;
5619
+ var _this7 = this;
5668
5620
 
5669
5621
  if (!this.isSupported_) {
5670
5622
  return;
5671
5623
  }
5672
5624
  this.removeEventListeners_();
5673
5625
 
5674
- var _MDCRippleFoundation$8 = MDCRippleFoundation.cssClasses,
5675
- ROOT = _MDCRippleFoundation$8.ROOT,
5676
- UNBOUNDED = _MDCRippleFoundation$8.UNBOUNDED;
5626
+ var _MDCRippleFoundation$5 = MDCRippleFoundation.cssClasses,
5627
+ ROOT = _MDCRippleFoundation$5.ROOT,
5628
+ UNBOUNDED = _MDCRippleFoundation$5.UNBOUNDED;
5677
5629
 
5678
5630
  requestAnimationFrame(function () {
5679
- _this8.adapter_.removeClass(ROOT);
5680
- _this8.adapter_.removeClass(UNBOUNDED);
5681
- _this8.removeCssVars_();
5631
+ _this7.adapter_.removeClass(ROOT);
5632
+ _this7.adapter_.removeClass(UNBOUNDED);
5633
+ _this7.removeCssVars_();
5682
5634
  });
5683
5635
  }
5684
5636
  }, {
5685
5637
  key: 'removeEventListeners_',
5686
5638
  value: function removeEventListeners_() {
5687
- var _this9 = this;
5639
+ var _this8 = this;
5688
5640
 
5689
5641
  this.listenerInfos_.forEach(function (info) {
5690
5642
  Object.keys(info).forEach(function (k) {
5691
- _this9.adapter_.deregisterInteractionHandler(info[k], _this9.listeners_[k]);
5643
+ _this8.adapter_.deregisterInteractionHandler(info[k], _this8.listeners_[k]);
5692
5644
  });
5693
5645
  });
5694
5646
  this.adapter_.deregisterResizeHandler(this.resizeHandler_);
@@ -5696,27 +5648,27 @@ var MDCRippleFoundation = function (_MDCFoundation) {
5696
5648
  }, {
5697
5649
  key: 'removeCssVars_',
5698
5650
  value: function removeCssVars_() {
5699
- var _this10 = this;
5651
+ var _this9 = this;
5700
5652
 
5701
5653
  var strings = MDCRippleFoundation.strings;
5702
5654
 
5703
5655
  Object.keys(strings).forEach(function (k) {
5704
5656
  if (k.indexOf('VAR_') === 0) {
5705
- _this10.adapter_.updateCssVariable(strings[k], null);
5657
+ _this9.adapter_.updateCssVariable(strings[k], null);
5706
5658
  }
5707
5659
  });
5708
5660
  }
5709
5661
  }, {
5710
5662
  key: 'layout',
5711
5663
  value: function layout() {
5712
- var _this11 = this;
5664
+ var _this10 = this;
5713
5665
 
5714
5666
  if (this.layoutFrame_) {
5715
5667
  cancelAnimationFrame(this.layoutFrame_);
5716
5668
  }
5717
5669
  this.layoutFrame_ = requestAnimationFrame(function () {
5718
- _this11.layoutInternal_();
5719
- _this11.layoutFrame_ = 0;
5670
+ _this10.layoutInternal_();
5671
+ _this10.layoutFrame_ = 0;
5720
5672
  });
5721
5673
  }
5722
5674
  }, {
@@ -5739,20 +5691,18 @@ var MDCRippleFoundation = function (_MDCFoundation) {
5739
5691
  }, {
5740
5692
  key: 'updateLayoutCssVars_',
5741
5693
  value: function updateLayoutCssVars_() {
5742
- var _MDCRippleFoundation$9 = MDCRippleFoundation.strings,
5743
- VAR_SURFACE_WIDTH = _MDCRippleFoundation$9.VAR_SURFACE_WIDTH,
5744
- VAR_SURFACE_HEIGHT = _MDCRippleFoundation$9.VAR_SURFACE_HEIGHT,
5745
- VAR_FG_SIZE = _MDCRippleFoundation$9.VAR_FG_SIZE,
5746
- VAR_FG_UNBOUNDED_TRANSFORM_DURATION = _MDCRippleFoundation$9.VAR_FG_UNBOUNDED_TRANSFORM_DURATION,
5747
- VAR_LEFT = _MDCRippleFoundation$9.VAR_LEFT,
5748
- VAR_TOP = _MDCRippleFoundation$9.VAR_TOP,
5749
- VAR_FG_SCALE = _MDCRippleFoundation$9.VAR_FG_SCALE;
5694
+ var _MDCRippleFoundation$6 = MDCRippleFoundation.strings,
5695
+ VAR_SURFACE_WIDTH = _MDCRippleFoundation$6.VAR_SURFACE_WIDTH,
5696
+ VAR_SURFACE_HEIGHT = _MDCRippleFoundation$6.VAR_SURFACE_HEIGHT,
5697
+ VAR_FG_SIZE = _MDCRippleFoundation$6.VAR_FG_SIZE,
5698
+ VAR_LEFT = _MDCRippleFoundation$6.VAR_LEFT,
5699
+ VAR_TOP = _MDCRippleFoundation$6.VAR_TOP,
5700
+ VAR_FG_SCALE = _MDCRippleFoundation$6.VAR_FG_SCALE;
5750
5701
 
5751
5702
 
5752
5703
  this.adapter_.updateCssVariable(VAR_SURFACE_WIDTH, this.frame_.width + 'px');
5753
5704
  this.adapter_.updateCssVariable(VAR_SURFACE_HEIGHT, this.frame_.height + 'px');
5754
5705
  this.adapter_.updateCssVariable(VAR_FG_SIZE, this.initialSize_ + 'px');
5755
- this.adapter_.updateCssVariable(VAR_FG_UNBOUNDED_TRANSFORM_DURATION, this.xfDuration_ + 'ms');
5756
5706
  this.adapter_.updateCssVariable(VAR_FG_SCALE, this.fgScale_);
5757
5707
 
5758
5708
  if (this.adapter_.isUnbounded()) {
@@ -6624,19 +6574,19 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
6624
6574
  "use strict";
6625
6575
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
6626
6576
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6627
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_checkbox__ = __webpack_require__(8);
6628
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_form_field__ = __webpack_require__(11);
6629
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_grid_list__ = __webpack_require__(12);
6630
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__material_icon_toggle__ = __webpack_require__(13);
6631
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__material_radio__ = __webpack_require__(14);
6577
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_checkbox__ = __webpack_require__(9);
6578
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_form_field__ = __webpack_require__(12);
6579
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_grid_list__ = __webpack_require__(13);
6580
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__material_icon_toggle__ = __webpack_require__(14);
6581
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__material_radio__ = __webpack_require__(15);
6632
6582
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__material_ripple__ = __webpack_require__(1);
6633
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__material_dialog__ = __webpack_require__(9);
6634
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__material_drawer__ = __webpack_require__(10);
6635
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__material_textfield__ = __webpack_require__(17);
6636
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__material_snackbar__ = __webpack_require__(16);
6637
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__material_menu__ = __webpack_require__(4);
6638
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__material_select__ = __webpack_require__(15);
6639
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__material_auto_init__ = __webpack_require__(7);
6583
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__material_dialog__ = __webpack_require__(10);
6584
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__material_drawer__ = __webpack_require__(11);
6585
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__material_textfield__ = __webpack_require__(18);
6586
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__material_snackbar__ = __webpack_require__(17);
6587
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__material_menu__ = __webpack_require__(3);
6588
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__material_select__ = __webpack_require__(16);
6589
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__material_auto_init__ = __webpack_require__(8);
6640
6590
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "base", function() { return __WEBPACK_IMPORTED_MODULE_0__material_base__; });
6641
6591
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "checkbox", function() { return __WEBPACK_IMPORTED_MODULE_1__material_checkbox__; });
6642
6592
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "formField", function() { return __WEBPACK_IMPORTED_MODULE_2__material_form_field__; });