material_components_web-sass 0.13.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 261d26eba36148fea3965c02cd305641b85c7a8a
4
- data.tar.gz: 3984d239e92679e1e9b11bcfaaa280d161a9883b
3
+ metadata.gz: b1daea497bd625cab7b641434a859c3be28f5ce7
4
+ data.tar.gz: aa27ecd454151dedf4e97d2df104d40638014595
5
5
  SHA512:
6
- metadata.gz: d779bf5c8680e6912e9d09563d3d146f80372fc267abecd09baa64488a4c24b4038a8090f92d8b66711c231a3cc84f4b1f7d66b4aed8c3c58c375700ad6314e2
7
- data.tar.gz: 3e7469ec8def52058f7ef823d27ef12eb722dbcfa9c37f939ff22316b898a0f46d3e91b947a0fbaef13f0f14bffe6bfdff1471a0e3bffc0aeb25aeaf47d26a87
6
+ metadata.gz: 0a346f825565670e31f88db46060886530576ef406bc39b8adaf929a6f6795c14d26e028b783c714fb1bf6bd03534c118eae423325679ca3621cd6a28fbe07de
7
+ data.tar.gz: c2911d50346078e7b2e926ea2342c537a1221fff5fcf1179d0e55170ef1a3bdb71ff4df37cf3a10596fcd39b68e97ac7d1ed07f10c6114795f1024470f3564b4
@@ -1,3 +1,12 @@
1
+ ## 0.14.0 (2017-06-28)
2
+
3
+ - Update assets to match upstream version
4
+
5
+ Library version:
6
+
7
+ - Material Components for the web v0.14.0
8
+ - Material Icons v3.0.0
9
+
1
10
  ## 0.13.0 (2017-06-15)
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.13.0'.freeze
3
+ VERSION = '0.14.0'.freeze
4
4
  end
5
5
  end
@@ -78,7 +78,7 @@ return /******/ (function(modules) { // webpackBootstrap
78
78
  /******/ __webpack_require__.p = "/assets/";
79
79
  /******/
80
80
  /******/ // Load entry module and return exports
81
- /******/ return __webpack_require__(__webpack_require__.s = 29);
81
+ /******/ return __webpack_require__(__webpack_require__.s = 30);
82
82
  /******/ })
83
83
  /************************************************************************/
84
84
  /******/ ([
@@ -221,9 +221,10 @@ var MDCFoundation = function () {
221
221
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
222
222
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRipple", function() { return MDCRipple; });
223
223
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
224
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(57);
225
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(8);
224
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(59);
225
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(9);
226
226
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRippleFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
227
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_2__util__; });
227
228
  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; }; }();
228
229
 
229
230
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -254,6 +255,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
254
255
 
255
256
 
256
257
 
258
+
257
259
  var MDCRipple = function (_MDCComponent) {
258
260
  _inherits(MDCRipple, _MDCComponent);
259
261
 
@@ -273,6 +275,11 @@ var MDCRipple = function (_MDCComponent) {
273
275
  value: function deactivate() {
274
276
  this.foundation_.deactivate();
275
277
  }
278
+ }, {
279
+ key: 'layout',
280
+ value: function layout() {
281
+ this.foundation_.layout();
282
+ }
276
283
  }, {
277
284
  key: 'getDefaultFoundation',
278
285
  value: function getDefaultFoundation() {
@@ -315,11 +322,11 @@ var MDCRipple = function (_MDCComponent) {
315
322
  }, {
316
323
  key: 'createAdapter',
317
324
  value: function createAdapter(instance) {
318
- var MATCHES = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["a" /* getMatchesProperty */])(HTMLElement.prototype);
325
+ var MATCHES = __WEBPACK_IMPORTED_MODULE_2__util__["getMatchesProperty"](HTMLElement.prototype);
319
326
 
320
327
  return {
321
328
  browserSupportsCssVars: function browserSupportsCssVars() {
322
- return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["b" /* supportsCssVariables */])(window);
329
+ return __WEBPACK_IMPORTED_MODULE_2__util__["supportsCssVariables"](window);
323
330
  },
324
331
  isUnbounded: function isUnbounded() {
325
332
  return instance.unbounded;
@@ -337,10 +344,10 @@ var MDCRipple = function (_MDCComponent) {
337
344
  return instance.root_.classList.remove(className);
338
345
  },
339
346
  registerInteractionHandler: function registerInteractionHandler(evtType, handler) {
340
- return instance.root_.addEventListener(evtType, handler, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["c" /* applyPassive */])());
347
+ return instance.root_.addEventListener(evtType, handler, __WEBPACK_IMPORTED_MODULE_2__util__["applyPassive"]());
341
348
  },
342
349
  deregisterInteractionHandler: function deregisterInteractionHandler(evtType, handler) {
343
- return instance.root_.removeEventListener(evtType, handler, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["c" /* applyPassive */])());
350
+ return instance.root_.removeEventListener(evtType, handler, __WEBPACK_IMPORTED_MODULE_2__util__["applyPassive"]());
344
351
  },
345
352
  registerResizeHandler: function registerResizeHandler(handler) {
346
353
  return window.addEventListener('resize', handler);
@@ -572,7 +579,7 @@ var MDCComponent = function () {
572
579
 
573
580
  _classCallCheck(this, MDCComponent);
574
581
 
575
- /** @private {!Element} */
582
+ /** @protected {!Element} */
576
583
  this.root_ = root;
577
584
 
578
585
  for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
@@ -654,7 +661,7 @@ var MDCComponent = function () {
654
661
  * with the given data.
655
662
  * @param {string} evtType
656
663
  * @param {!Object} evtData
657
- * @param {boolean} shouldBubble
664
+ * @param {boolean=} shouldBubble
658
665
  */
659
666
 
660
667
  }, {
@@ -687,9 +694,9 @@ var MDCComponent = function () {
687
694
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
688
695
 
689
696
  "use strict";
690
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(38);
697
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(39);
691
698
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__constants__["a"]; });
692
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(39);
699
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(40);
693
700
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
694
701
  /**
695
702
  * Copyright 2016 Google Inc. All Rights Reserved.
@@ -716,9 +723,11 @@ var MDCComponent = function () {
716
723
 
717
724
  "use strict";
718
725
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
719
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__simple__ = __webpack_require__(53);
720
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenu", function() { return __WEBPACK_IMPORTED_MODULE_0__simple__["a"]; });
721
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenuFoundation", function() { return __WEBPACK_IMPORTED_MODULE_0__simple__["b"]; });
726
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(8);
727
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__simple__ = __webpack_require__(55);
728
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenu", function() { return __WEBPACK_IMPORTED_MODULE_1__simple__["a"]; });
729
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenuFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__simple__["b"]; });
730
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_0__util__; });
722
731
  /**
723
732
  * Copyright 2016 Google Inc. All Rights Reserved.
724
733
  *
@@ -737,6 +746,8 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
737
746
 
738
747
 
739
748
 
749
+
750
+
740
751
  /***/ }),
741
752
  /* 7 */
742
753
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -861,10 +872,10 @@ function restoreElementTabState(el) {
861
872
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
862
873
 
863
874
  "use strict";
864
- /* harmony export (immutable) */ __webpack_exports__["b"] = supportsCssVariables;
865
- /* harmony export (immutable) */ __webpack_exports__["c"] = applyPassive;
866
- /* harmony export (immutable) */ __webpack_exports__["a"] = getMatchesProperty;
867
- /* harmony export (immutable) */ __webpack_exports__["d"] = getNormalizedEventCoords;
875
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
876
+ /* harmony export (immutable) */ __webpack_exports__["getTransformPropertyName"] = getTransformPropertyName;
877
+ /* harmony export (immutable) */ __webpack_exports__["clamp"] = clamp;
878
+ /* harmony export (immutable) */ __webpack_exports__["bezierProgress"] = bezierProgress;
868
879
  /**
869
880
  * Copyright 2016 Google Inc. All Rights Reserved.
870
881
  *
@@ -881,94 +892,15 @@ function restoreElementTabState(el) {
881
892
  * limitations under the License.
882
893
  */
883
894
 
884
- var supportsPassive_ = void 0;
885
-
886
- function supportsCssVariables(windowObj) {
887
- var supportsFunctionPresent = windowObj.CSS && typeof windowObj.CSS.supports === 'function';
888
- if (!supportsFunctionPresent) {
889
- return;
890
- }
891
-
892
- var explicitlySupportsCssVars = windowObj.CSS.supports('--css-vars', 'yes');
893
- // See: https://bugs.webkit.org/show_bug.cgi?id=154669
894
- // See: README section on Safari
895
- var weAreFeatureDetectingSafari10plus = windowObj.CSS.supports('(--css-vars: yes)') && windowObj.CSS.supports('color', '#00000000');
896
- return explicitlySupportsCssVars || weAreFeatureDetectingSafari10plus;
897
- }
898
-
899
- // Determine whether the current browser supports passive event listeners, and if so, use them.
900
- function applyPassive() {
901
- var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
902
- var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
903
-
904
- if (supportsPassive_ === undefined || forceRefresh) {
905
- var isSupported = false;
906
- try {
907
- globalObj.document.addEventListener('test', null, { get passive() {
908
- isSupported = true;
909
- } });
910
- } catch (e) {}
911
-
912
- supportsPassive_ = isSupported;
913
- }
914
-
915
- return supportsPassive_ ? { passive: true } : false;
916
- }
917
-
918
- function getMatchesProperty(HTMLElementPrototype) {
919
- return ['webkitMatchesSelector', 'msMatchesSelector', 'matches'].filter(function (p) {
920
- return p in HTMLElementPrototype;
921
- }).pop();
922
- }
923
-
924
- function getNormalizedEventCoords(ev, pageOffset, clientRect) {
925
- var x = pageOffset.x,
926
- y = pageOffset.y;
927
-
928
- var documentX = x + clientRect.left;
929
- var documentY = y + clientRect.top;
930
-
931
- var normalizedX = void 0;
932
- var normalizedY = void 0;
933
- // Determine touch point relative to the ripple container.
934
- if (ev.type === 'touchstart') {
935
- normalizedX = ev.changedTouches[0].pageX - documentX;
936
- normalizedY = ev.changedTouches[0].pageY - documentY;
937
- } else {
938
- normalizedX = ev.pageX - documentX;
939
- normalizedY = ev.pageY - documentY;
940
- }
941
-
942
- return { x: normalizedX, y: normalizedY };
943
- }
944
-
945
- /***/ }),
946
- /* 9 */
947
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
895
+ /** @type {string|undefined} */
896
+ var storedTransformPropertyName_ = void 0;
948
897
 
949
- "use strict";
950
- /* harmony export (immutable) */ __webpack_exports__["a"] = getTransformPropertyName;
951
- /* harmony export (immutable) */ __webpack_exports__["b"] = clamp;
952
- /* harmony export (immutable) */ __webpack_exports__["c"] = bezierProgress;
953
898
  /**
954
- * Copyright 2016 Google Inc. All Rights Reserved.
955
- *
956
- * Licensed under the Apache License, Version 2.0 (the "License");
957
- * you may not use this file except in compliance with the License.
958
- * You may obtain a copy of the License at
959
- *
960
- * http://www.apache.org/licenses/LICENSE-2.0
961
- *
962
- * Unless required by applicable law or agreed to in writing, software
963
- * distributed under the License is distributed on an "AS IS" BASIS,
964
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
965
- * See the License for the specific language governing permissions and
966
- * limitations under the License.
899
+ * Returns the name of the correct transform property to use on the current browser.
900
+ * @param {!Window} globalObj
901
+ * @param {boolean=} forceRefresh
902
+ * @return {string}
967
903
  */
968
-
969
- var storedTransformPropertyName_ = void 0;
970
-
971
- // Returns the name of the correct transform property to use on the current browser.
972
904
  function getTransformPropertyName(globalObj) {
973
905
  var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
974
906
 
@@ -981,7 +913,13 @@ function getTransformPropertyName(globalObj) {
981
913
  return storedTransformPropertyName_;
982
914
  }
983
915
 
984
- // Clamps a value between the minimum and the maximum, returning the clamped value.
916
+ /**
917
+ * Clamps a value between the minimum and the maximum, returning the clamped value.
918
+ * @param {number} value
919
+ * @param {number} min
920
+ * @param {number} max
921
+ * @return {number}
922
+ */
985
923
  function clamp(value) {
986
924
  var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
987
925
  var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
@@ -989,22 +927,36 @@ function clamp(value) {
989
927
  return Math.min(max, Math.max(min, value));
990
928
  }
991
929
 
992
- // Returns the easing value to apply at time t, for a given cubic bezier curve.
993
- // Control points P0 and P3 are assumed to be (0,0) and (1,1), respectively.
994
- // Paramters are as follows:
995
- // - time: The current time in the animation, scaled between 0 and 1.
996
- // - x1: The x value of control point P1.
997
- // - y1: The y value of control point P1.
998
- // - x2: The x value of control point P2.
999
- // - y2: The y value of control point P2.
930
+ /**
931
+ * Returns the easing value to apply at time t, for a given cubic bezier curve.
932
+ * Control points P0 and P3 are assumed to be (0,0) and (1,1), respectively.
933
+ * Parameters are as follows:
934
+ * - time: The current time in the animation, scaled between 0 and 1.
935
+ * - x1: The x value of control point P1.
936
+ * - y1: The y value of control point P1.
937
+ * - x2: The x value of control point P2.
938
+ * - y2: The y value of control point P2.
939
+ * @param {number} time
940
+ * @param {number} x1
941
+ * @param {number} y1
942
+ * @param {number} x2
943
+ * @param {number} y2
944
+ * @return {number}
945
+ */
1000
946
  function bezierProgress(time, x1, y1, x2, y2) {
1001
947
  return getBezierCoordinate_(solvePositionFromXValue_(time, x1, x2), y1, y2);
1002
948
  }
1003
949
 
1004
- // Compute a single coordinate at a position point between 0 and 1.
1005
- // c1 and c2 are the matching coordinate on control points P1 and P2, respectively.
1006
- // Control points P0 and P3 are assumed to be (0,0) and (1,1), respectively.
1007
- // Adapted from https://github.com/google/closure-library/blob/master/closure/goog/math/bezier.js.
950
+ /**
951
+ * Compute a single coordinate at a position point between 0 and 1.
952
+ * c1 and c2 are the matching coordinate on control points P1 and P2, respectively.
953
+ * Control points P0 and P3 are assumed to be (0,0) and (1,1), respectively.
954
+ * Adapted from https://github.com/google/closure-library/blob/master/closure/goog/math/bezier.js.
955
+ * @param {number} t
956
+ * @param {number} c1
957
+ * @param {number} c2
958
+ * @return {number}
959
+ */
1008
960
  function getBezierCoordinate_(t, c1, c2) {
1009
961
  // Special case start and end.
1010
962
  if (t === 0 || t === 1) {
@@ -1024,8 +976,14 @@ function getBezierCoordinate_(t, c1, c2) {
1024
976
  return ic0 + t * (ic1 - ic0);
1025
977
  }
1026
978
 
1027
- // Project a point onto the Bezier curve, from a given X. Calculates the position t along the curve.
1028
- // Adapted from https://github.com/google/closure-library/blob/master/closure/goog/math/bezier.js.
979
+ /**
980
+ * Project a point onto the Bezier curve, from a given X. Calculates the position t along the curve.
981
+ * Adapted from https://github.com/google/closure-library/blob/master/closure/goog/math/bezier.js.
982
+ * @param {number} xVal
983
+ * @param {number} x1
984
+ * @param {number} x2
985
+ * @return {number}
986
+ */
1029
987
  function solvePositionFromXValue_(xVal, x1, x2) {
1030
988
  var EPSILON = 1e-6;
1031
989
  var MAX_ITERATIONS = 8;
@@ -1076,6 +1034,93 @@ function solvePositionFromXValue_(xVal, x1, x2) {
1076
1034
  return t;
1077
1035
  }
1078
1036
 
1037
+ /***/ }),
1038
+ /* 9 */
1039
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1040
+
1041
+ "use strict";
1042
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1043
+ /* harmony export (immutable) */ __webpack_exports__["supportsCssVariables"] = supportsCssVariables;
1044
+ /* harmony export (immutable) */ __webpack_exports__["applyPassive"] = applyPassive;
1045
+ /* harmony export (immutable) */ __webpack_exports__["getMatchesProperty"] = getMatchesProperty;
1046
+ /* harmony export (immutable) */ __webpack_exports__["getNormalizedEventCoords"] = getNormalizedEventCoords;
1047
+ /**
1048
+ * Copyright 2016 Google Inc. All Rights Reserved.
1049
+ *
1050
+ * Licensed under the Apache License, Version 2.0 (the "License");
1051
+ * you may not use this file except in compliance with the License.
1052
+ * You may obtain a copy of the License at
1053
+ *
1054
+ * http://www.apache.org/licenses/LICENSE-2.0
1055
+ *
1056
+ * Unless required by applicable law or agreed to in writing, software
1057
+ * distributed under the License is distributed on an "AS IS" BASIS,
1058
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1059
+ * See the License for the specific language governing permissions and
1060
+ * limitations under the License.
1061
+ */
1062
+
1063
+ var supportsPassive_ = void 0;
1064
+
1065
+ function supportsCssVariables(windowObj) {
1066
+ var supportsFunctionPresent = windowObj.CSS && typeof windowObj.CSS.supports === 'function';
1067
+ if (!supportsFunctionPresent) {
1068
+ return;
1069
+ }
1070
+
1071
+ var explicitlySupportsCssVars = windowObj.CSS.supports('--css-vars', 'yes');
1072
+ // See: https://bugs.webkit.org/show_bug.cgi?id=154669
1073
+ // See: README section on Safari
1074
+ var weAreFeatureDetectingSafari10plus = windowObj.CSS.supports('(--css-vars: yes)') && windowObj.CSS.supports('color', '#00000000');
1075
+ return explicitlySupportsCssVars || weAreFeatureDetectingSafari10plus;
1076
+ }
1077
+
1078
+ // Determine whether the current browser supports passive event listeners, and if so, use them.
1079
+ function applyPassive() {
1080
+ var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
1081
+ var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1082
+
1083
+ if (supportsPassive_ === undefined || forceRefresh) {
1084
+ var isSupported = false;
1085
+ try {
1086
+ globalObj.document.addEventListener('test', null, { get passive() {
1087
+ isSupported = true;
1088
+ } });
1089
+ } catch (e) {}
1090
+
1091
+ supportsPassive_ = isSupported;
1092
+ }
1093
+
1094
+ return supportsPassive_ ? { passive: true } : false;
1095
+ }
1096
+
1097
+ function getMatchesProperty(HTMLElementPrototype) {
1098
+ return ['webkitMatchesSelector', 'msMatchesSelector', 'matches'].filter(function (p) {
1099
+ return p in HTMLElementPrototype;
1100
+ }).pop();
1101
+ }
1102
+
1103
+ function getNormalizedEventCoords(ev, pageOffset, clientRect) {
1104
+ var x = pageOffset.x,
1105
+ y = pageOffset.y;
1106
+
1107
+ var documentX = x + clientRect.left;
1108
+ var documentY = y + clientRect.top;
1109
+
1110
+ var normalizedX = void 0;
1111
+ var normalizedY = void 0;
1112
+ // Determine touch point relative to the ripple container.
1113
+ if (ev.type === 'touchstart') {
1114
+ normalizedX = ev.changedTouches[0].pageX - documentX;
1115
+ normalizedY = ev.changedTouches[0].pageY - documentY;
1116
+ } else {
1117
+ normalizedX = ev.pageX - documentX;
1118
+ normalizedY = ev.pageY - documentY;
1119
+ }
1120
+
1121
+ return { x: normalizedX, y: normalizedY };
1122
+ }
1123
+
1079
1124
  /***/ }),
1080
1125
  /* 10 */
1081
1126
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -1133,7 +1178,7 @@ var numbers = {
1133
1178
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return MDCTabBar; });
1134
1179
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(4);
1135
1180
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tab__ = __webpack_require__(13);
1136
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(67);
1181
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(69);
1137
1182
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
1138
1183
  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; }; }();
1139
1184
 
@@ -1354,7 +1399,7 @@ var strings = {
1354
1399
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(4);
1355
1400
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(2);
1356
1401
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(12);
1357
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(68);
1402
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(70);
1358
1403
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_3__foundation__["a"]; });
1359
1404
  var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
1360
1405
 
@@ -1495,6 +1540,47 @@ var MDCTab = function (_MDCComponent) {
1495
1540
  /* 14 */
1496
1541
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1497
1542
 
1543
+ "use strict";
1544
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return strings; });
1545
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return cssClasses; });
1546
+ /**
1547
+ * Copyright 2016 Google Inc. All Rights Reserved.
1548
+ *
1549
+ * Licensed under the Apache License, Version 2.0 (the "License");
1550
+ * you may not use this file except in compliance with the License.
1551
+ * You may obtain a copy of the License at
1552
+ *
1553
+ * http://www.apache.org/licenses/LICENSE-2.0
1554
+ *
1555
+ * Unless required by applicable law or agreed to in writing, software
1556
+ * distributed under the License is distributed on an "AS IS" BASIS,
1557
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1558
+ * See the License for the specific language governing permissions and
1559
+ * limitations under the License.
1560
+ */
1561
+ var strings = {
1562
+ ARIA_HIDDEN: 'aria-hidden',
1563
+ ROLE: 'role',
1564
+ INPUT_SELECTOR: '.mdc-textfield__input',
1565
+ LABEL_SELECTOR: '.mdc-textfield__label'
1566
+ };
1567
+
1568
+ var cssClasses = {
1569
+ ROOT: 'mdc-textfield',
1570
+ UPGRADED: 'mdc-textfield--upgraded',
1571
+ DISABLED: 'mdc-textfield--disabled',
1572
+ FOCUSED: 'mdc-textfield--focused',
1573
+ INVALID: 'mdc-textfield--invalid',
1574
+ HELPTEXT_PERSISTENT: 'mdc-textfield-helptext--persistent',
1575
+ HELPTEXT_VALIDATION_MSG: 'mdc-textfield-helptext--validation-msg',
1576
+ LABEL_FLOAT_ABOVE: 'mdc-textfield__label--float-above',
1577
+ BOX: 'mdc-textfield--box'
1578
+ };
1579
+
1580
+ /***/ }),
1581
+ /* 15 */
1582
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1583
+
1498
1584
  "use strict";
1499
1585
  /* harmony export (immutable) */ __webpack_exports__["a"] = mdcAutoInit;
1500
1586
  /**
@@ -1573,7 +1659,7 @@ mdcAutoInit.deregisterAll = function () {
1573
1659
  };
1574
1660
 
1575
1661
  /***/ }),
1576
- /* 15 */
1662
+ /* 16 */
1577
1663
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1578
1664
 
1579
1665
  "use strict";
@@ -1581,9 +1667,9 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1581
1667
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCCheckbox", function() { return MDCCheckbox; });
1582
1668
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1583
1669
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(2);
1584
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_ripple_util__ = __webpack_require__(8);
1670
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_ripple_util__ = __webpack_require__(9);
1585
1671
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_animation__ = __webpack_require__(3);
1586
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__foundation__ = __webpack_require__(31);
1672
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__foundation__ = __webpack_require__(32);
1587
1673
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCCheckboxFoundation", function() { return __WEBPACK_IMPORTED_MODULE_4__foundation__["a"]; });
1588
1674
  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; };
1589
1675
 
@@ -1659,7 +1745,7 @@ var MDCCheckbox = function (_MDCComponent) {
1659
1745
  value: function initRipple_() {
1660
1746
  var _this2 = this;
1661
1747
 
1662
- var MATCHES = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__material_ripple_util__["a" /* getMatchesProperty */])(HTMLElement.prototype);
1748
+ var MATCHES = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__material_ripple_util__["getMatchesProperty"])(HTMLElement.prototype);
1663
1749
  var adapter = _extends(__WEBPACK_IMPORTED_MODULE_1__material_ripple__["MDCRipple"].createAdapter(this), {
1664
1750
  isUnbounded: function isUnbounded() {
1665
1751
  return true;
@@ -1776,7 +1862,7 @@ var MDCCheckbox = function (_MDCComponent) {
1776
1862
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1777
1863
 
1778
1864
  /***/ }),
1779
- /* 16 */
1865
+ /* 17 */
1780
1866
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1781
1867
 
1782
1868
  "use strict";
@@ -1784,8 +1870,8 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1784
1870
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCDialog", function() { return MDCDialog; });
1785
1871
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1786
1872
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(2);
1787
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(33);
1788
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(34);
1873
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(34);
1874
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(35);
1789
1875
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCDialogFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
1790
1876
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_3__util__; });
1791
1877
  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; }; }();
@@ -1949,16 +2035,16 @@ var MDCDialog = function (_MDCComponent) {
1949
2035
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1950
2036
 
1951
2037
  /***/ }),
1952
- /* 17 */
2038
+ /* 18 */
1953
2039
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1954
2040
 
1955
2041
  "use strict";
1956
2042
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1957
2043
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(7);
1958
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__temporary__ = __webpack_require__(42);
2044
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__temporary__ = __webpack_require__(43);
1959
2045
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTemporaryDrawer", function() { return __WEBPACK_IMPORTED_MODULE_1__temporary__["a"]; });
1960
2046
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTemporaryDrawerFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__temporary__["b"]; });
1961
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__persistent__ = __webpack_require__(37);
2047
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__persistent__ = __webpack_require__(38);
1962
2048
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCPersistentDrawer", function() { return __WEBPACK_IMPORTED_MODULE_2__persistent__["a"]; });
1963
2049
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCPersistentDrawerFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__persistent__["b"]; });
1964
2050
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_0__util__; });
@@ -1984,14 +2070,14 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1984
2070
 
1985
2071
 
1986
2072
  /***/ }),
1987
- /* 18 */
2073
+ /* 19 */
1988
2074
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1989
2075
 
1990
2076
  "use strict";
1991
2077
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1992
2078
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFormField", function() { return MDCFormField; });
1993
2079
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1994
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(44);
2080
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(45);
1995
2081
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFormFieldFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
1996
2082
  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; }; }();
1997
2083
 
@@ -2079,14 +2165,14 @@ var MDCFormField = function (_MDCComponent) {
2079
2165
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2080
2166
 
2081
2167
  /***/ }),
2082
- /* 19 */
2168
+ /* 20 */
2083
2169
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2084
2170
 
2085
2171
  "use strict";
2086
2172
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2087
2173
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCGridList", function() { return MDCGridList; });
2088
2174
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2089
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(46);
2175
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(47);
2090
2176
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCGridListFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
2091
2177
  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; }; }();
2092
2178
 
@@ -2164,7 +2250,7 @@ var MDCGridList = function (_MDCComponent) {
2164
2250
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2165
2251
 
2166
2252
  /***/ }),
2167
- /* 20 */
2253
+ /* 21 */
2168
2254
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2169
2255
 
2170
2256
  "use strict";
@@ -2172,7 +2258,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2172
2258
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCIconToggle", function() { return MDCIconToggle; });
2173
2259
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2174
2260
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(2);
2175
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(48);
2261
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(49);
2176
2262
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCIconToggleFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
2177
2263
  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; };
2178
2264
 
@@ -2354,14 +2440,14 @@ var MDCIconToggle = function (_MDCComponent) {
2354
2440
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2355
2441
 
2356
2442
  /***/ }),
2357
- /* 21 */
2443
+ /* 22 */
2358
2444
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2359
2445
 
2360
2446
  "use strict";
2361
2447
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2362
2448
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCLinearProgress", function() { return MDCLinearProgress; });
2363
2449
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2364
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(50);
2450
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(51);
2365
2451
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCLinearProgressFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
2366
2452
  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; }; }();
2367
2453
 
@@ -2468,7 +2554,7 @@ var MDCLinearProgress = function (_MDCComponent) {
2468
2554
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2469
2555
 
2470
2556
  /***/ }),
2471
- /* 22 */
2557
+ /* 23 */
2472
2558
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2473
2559
 
2474
2560
  "use strict";
@@ -2476,7 +2562,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2476
2562
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRadio", function() { return MDCRadio; });
2477
2563
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2478
2564
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(2);
2479
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(55);
2565
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(57);
2480
2566
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRadioFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
2481
2567
  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; };
2482
2568
 
@@ -2640,7 +2726,7 @@ var MDCRadio = function (_MDCComponent) {
2640
2726
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2641
2727
 
2642
2728
  /***/ }),
2643
- /* 23 */
2729
+ /* 24 */
2644
2730
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2645
2731
 
2646
2732
  "use strict";
@@ -2648,7 +2734,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2648
2734
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelect", function() { return MDCSelect; });
2649
2735
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2650
2736
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_menu__ = __webpack_require__(6);
2651
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(59);
2737
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(61);
2652
2738
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelectFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
2653
2739
  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; }; }();
2654
2740
 
@@ -2870,7 +2956,7 @@ var MDCSelect = function (_MDCComponent) {
2870
2956
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2871
2957
 
2872
2958
  /***/ }),
2873
- /* 24 */
2959
+ /* 25 */
2874
2960
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2875
2961
 
2876
2962
  "use strict";
@@ -2878,7 +2964,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2878
2964
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSlider", function() { return MDCSlider; });
2879
2965
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(4);
2880
2966
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(10);
2881
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(60);
2967
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(62);
2882
2968
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSliderFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
2883
2969
  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; }; }();
2884
2970
 
@@ -3074,14 +3160,14 @@ var MDCSlider = function (_MDCComponent) {
3074
3160
  }(__WEBPACK_IMPORTED_MODULE_0__material_base_component__["a" /* default */]);
3075
3161
 
3076
3162
  /***/ }),
3077
- /* 25 */
3163
+ /* 26 */
3078
3164
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3079
3165
 
3080
3166
  "use strict";
3081
3167
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3082
3168
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSnackbar", function() { return MDCSnackbar; });
3083
3169
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3084
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(62);
3170
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(64);
3085
3171
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_animation__ = __webpack_require__(3);
3086
3172
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSnackbarFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
3087
3173
  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; }; }();
@@ -3203,7 +3289,7 @@ var MDCSnackbar = function (_MDCComponent) {
3203
3289
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
3204
3290
 
3205
3291
  /***/ }),
3206
- /* 26 */
3292
+ /* 27 */
3207
3293
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3208
3294
 
3209
3295
  "use strict";
@@ -3214,7 +3300,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3214
3300
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tab_bar__ = __webpack_require__(11);
3215
3301
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabBarFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__tab_bar__["a"]; });
3216
3302
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabBar", function() { return __WEBPACK_IMPORTED_MODULE_1__tab_bar__["b"]; });
3217
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__tab_bar_scroller__ = __webpack_require__(65);
3303
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__tab_bar_scroller__ = __webpack_require__(67);
3218
3304
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabBarScrollerFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__tab_bar_scroller__["a"]; });
3219
3305
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabBarScroller", function() { return __WEBPACK_IMPORTED_MODULE_2__tab_bar_scroller__["b"]; });
3220
3306
  /**
@@ -3238,19 +3324,23 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3238
3324
 
3239
3325
 
3240
3326
  /***/ }),
3241
- /* 27 */
3327
+ /* 28 */
3242
3328
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3243
3329
 
3244
3330
  "use strict";
3245
3331
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3246
3332
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextfield", function() { return MDCTextfield; });
3247
3333
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3248
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(70);
3249
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextfieldFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
3334
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(2);
3335
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(14);
3336
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(71);
3337
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextfieldFoundation", function() { return __WEBPACK_IMPORTED_MODULE_3__foundation__["a"]; });
3250
3338
  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; };
3251
3339
 
3252
3340
  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; }; }();
3253
3341
 
3342
+ var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
3343
+
3254
3344
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3255
3345
 
3256
3346
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
@@ -3279,33 +3369,44 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
3279
3369
 
3280
3370
 
3281
3371
 
3372
+
3373
+
3282
3374
  var MDCTextfield = function (_MDCComponent) {
3283
3375
  _inherits(MDCTextfield, _MDCComponent);
3284
3376
 
3285
- _createClass(MDCTextfield, null, [{
3286
- key: 'attachTo',
3287
- value: function attachTo(root) {
3288
- return new MDCTextfield(root);
3289
- }
3290
- }]);
3291
-
3292
3377
  function MDCTextfield() {
3293
- var _ref;
3294
-
3295
3378
  _classCallCheck(this, MDCTextfield);
3296
3379
 
3297
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
3298
- args[_key] = arguments[_key];
3299
- }
3300
-
3301
- var _this = _possibleConstructorReturn(this, (_ref = MDCTextfield.__proto__ || Object.getPrototypeOf(MDCTextfield)).call.apply(_ref, [this].concat(args)));
3302
-
3303
- var input = _this.input_;
3304
- _this.helptextElement = input.hasAttribute('aria-controls') ? document.getElementById(input.getAttribute('aria-controls')) : null;
3305
- return _this;
3380
+ return _possibleConstructorReturn(this, (MDCTextfield.__proto__ || Object.getPrototypeOf(MDCTextfield)).apply(this, arguments));
3306
3381
  }
3307
3382
 
3308
3383
  _createClass(MDCTextfield, [{
3384
+ key: 'initialize',
3385
+ value: function initialize() {
3386
+ var rippleFactory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (el) {
3387
+ return new __WEBPACK_IMPORTED_MODULE_1__material_ripple__["MDCRipple"](el);
3388
+ };
3389
+
3390
+ this.input_ = this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_2__constants__["a" /* strings */].INPUT_SELECTOR);
3391
+ this.label_ = this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_2__constants__["a" /* strings */].LABEL_SELECTOR);
3392
+ this.helptextElement = null;
3393
+ this.ripple = null;
3394
+ if (this.input_.hasAttribute('aria-controls')) {
3395
+ this.helptextElement = document.getElementById(this.input_.getAttribute('aria-controls'));
3396
+ }
3397
+ if (this.root_.classList.contains(__WEBPACK_IMPORTED_MODULE_2__constants__["b" /* cssClasses */].BOX)) {
3398
+ this.ripple = rippleFactory(this.root_);
3399
+ };
3400
+ }
3401
+ }, {
3402
+ key: 'destroy',
3403
+ value: function destroy() {
3404
+ if (this.ripple) {
3405
+ this.ripple.destroy();
3406
+ }
3407
+ _get(MDCTextfield.prototype.__proto__ || Object.getPrototypeOf(MDCTextfield.prototype), 'destroy', this).call(this);
3408
+ }
3409
+ }, {
3309
3410
  key: 'initialSyncWithDom',
3310
3411
  value: function initialSyncWithDom() {
3311
3412
  this.disabled = this.input_.disabled;
@@ -3315,7 +3416,7 @@ var MDCTextfield = function (_MDCComponent) {
3315
3416
  value: function getDefaultFoundation() {
3316
3417
  var _this2 = this;
3317
3418
 
3318
- return new __WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */](_extends({
3419
+ return new __WEBPACK_IMPORTED_MODULE_3__foundation__["a" /* default */](_extends({
3319
3420
  addClass: function addClass(className) {
3320
3421
  return _this2.root_.classList.add(className);
3321
3422
  },
@@ -3413,15 +3514,10 @@ var MDCTextfield = function (_MDCComponent) {
3413
3514
  set: function set(disabled) {
3414
3515
  this.foundation_.setDisabled(disabled);
3415
3516
  }
3416
- }, {
3417
- key: 'input_',
3418
- get: function get() {
3419
- return this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.INPUT_SELECTOR);
3420
- }
3421
- }, {
3422
- key: 'label_',
3423
- get: function get() {
3424
- return this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.LABEL_SELECTOR);
3517
+ }], [{
3518
+ key: 'attachTo',
3519
+ value: function attachTo(root) {
3520
+ return new MDCTextfield(root);
3425
3521
  }
3426
3522
  }]);
3427
3523
 
@@ -3429,15 +3525,15 @@ var MDCTextfield = function (_MDCComponent) {
3429
3525
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
3430
3526
 
3431
3527
  /***/ }),
3432
- /* 28 */
3528
+ /* 29 */
3433
3529
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3434
3530
 
3435
3531
  "use strict";
3436
3532
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3437
3533
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCToolbar", function() { return MDCToolbar; });
3438
3534
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3439
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(72);
3440
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(73);
3535
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(73);
3536
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(74);
3441
3537
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCToolbarFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
3442
3538
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_2__util__; });
3443
3539
  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; }; }();
@@ -3569,29 +3665,29 @@ var MDCToolbar = function (_MDCComponent) {
3569
3665
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
3570
3666
 
3571
3667
  /***/ }),
3572
- /* 29 */
3668
+ /* 30 */
3573
3669
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3574
3670
 
3575
3671
  "use strict";
3576
3672
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3577
3673
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3578
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_checkbox__ = __webpack_require__(15);
3579
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_form_field__ = __webpack_require__(18);
3580
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_grid_list__ = __webpack_require__(19);
3581
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__material_icon_toggle__ = __webpack_require__(20);
3582
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__material_radio__ = __webpack_require__(22);
3674
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_checkbox__ = __webpack_require__(16);
3675
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_form_field__ = __webpack_require__(19);
3676
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_grid_list__ = __webpack_require__(20);
3677
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__material_icon_toggle__ = __webpack_require__(21);
3678
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__material_radio__ = __webpack_require__(23);
3583
3679
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__material_ripple__ = __webpack_require__(2);
3584
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__material_dialog__ = __webpack_require__(16);
3585
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__material_drawer__ = __webpack_require__(17);
3586
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__material_textfield__ = __webpack_require__(27);
3587
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__material_snackbar__ = __webpack_require__(25);
3588
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__material_linear_progress__ = __webpack_require__(21);
3680
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__material_dialog__ = __webpack_require__(17);
3681
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__material_drawer__ = __webpack_require__(18);
3682
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__material_textfield__ = __webpack_require__(28);
3683
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__material_snackbar__ = __webpack_require__(26);
3684
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__material_linear_progress__ = __webpack_require__(22);
3589
3685
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__material_menu__ = __webpack_require__(6);
3590
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__material_select__ = __webpack_require__(23);
3591
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__material_slider__ = __webpack_require__(24);
3592
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__material_tabs__ = __webpack_require__(26);
3593
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__material_toolbar__ = __webpack_require__(28);
3594
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__material_auto_init__ = __webpack_require__(14);
3686
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__material_select__ = __webpack_require__(24);
3687
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__material_slider__ = __webpack_require__(25);
3688
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__material_tabs__ = __webpack_require__(27);
3689
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__material_toolbar__ = __webpack_require__(29);
3690
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__material_auto_init__ = __webpack_require__(15);
3595
3691
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "base", function() { return __WEBPACK_IMPORTED_MODULE_0__material_base__; });
3596
3692
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "checkbox", function() { return __WEBPACK_IMPORTED_MODULE_1__material_checkbox__; });
3597
3693
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "dialog", function() { return __WEBPACK_IMPORTED_MODULE_7__material_dialog__; });
@@ -3668,7 +3764,7 @@ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('
3668
3764
 
3669
3765
 
3670
3766
  /***/ }),
3671
- /* 30 */
3767
+ /* 31 */
3672
3768
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3673
3769
 
3674
3770
  "use strict";
@@ -3720,12 +3816,12 @@ var numbers = {
3720
3816
  };
3721
3817
 
3722
3818
  /***/ }),
3723
- /* 31 */
3819
+ /* 32 */
3724
3820
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3725
3821
 
3726
3822
  "use strict";
3727
3823
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3728
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(30);
3824
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(31);
3729
3825
  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; };
3730
3826
 
3731
3827
  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; }; }();
@@ -4006,7 +4102,7 @@ function validDescriptor(inputPropDesc) {
4006
4102
  }
4007
4103
 
4008
4104
  /***/ }),
4009
- /* 32 */
4105
+ /* 33 */
4010
4106
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4011
4107
 
4012
4108
  "use strict";
@@ -4047,12 +4143,12 @@ var strings = {
4047
4143
  };
4048
4144
 
4049
4145
  /***/ }),
4050
- /* 33 */
4146
+ /* 34 */
4051
4147
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4052
4148
 
4053
4149
  "use strict";
4054
4150
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
4055
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(32);
4151
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(33);
4056
4152
  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; };
4057
4153
 
4058
4154
  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; }; }();
@@ -4255,13 +4351,13 @@ var MDCDialogFoundation = function (_MDCFoundation) {
4255
4351
  /* harmony default export */ __webpack_exports__["a"] = (MDCDialogFoundation);
4256
4352
 
4257
4353
  /***/ }),
4258
- /* 34 */
4354
+ /* 35 */
4259
4355
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4260
4356
 
4261
4357
  "use strict";
4262
4358
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
4263
4359
  /* harmony export (immutable) */ __webpack_exports__["createFocusTrapInstance"] = createFocusTrapInstance;
4264
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_focus_trap__ = __webpack_require__(74);
4360
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_focus_trap__ = __webpack_require__(75);
4265
4361
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_focus_trap___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_focus_trap__);
4266
4362
  /**
4267
4363
  * Copyright 2016 Google Inc. All Rights Reserved.
@@ -4291,7 +4387,7 @@ function createFocusTrapInstance(surfaceEl, acceptButtonEl) {
4291
4387
  }
4292
4388
 
4293
4389
  /***/ }),
4294
- /* 35 */
4390
+ /* 36 */
4295
4391
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4296
4392
 
4297
4393
  "use strict";
@@ -4330,12 +4426,12 @@ var strings = {
4330
4426
  };
4331
4427
 
4332
4428
  /***/ }),
4333
- /* 36 */
4429
+ /* 37 */
4334
4430
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4335
4431
 
4336
4432
  "use strict";
4337
4433
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__slidable__ = __webpack_require__(5);
4338
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(35);
4434
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(36);
4339
4435
  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; };
4340
4436
 
4341
4437
  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; }; }();
@@ -4408,13 +4504,13 @@ var MDCPersistentDrawerFoundation = function (_MDCSlidableDrawerFou) {
4408
4504
  /* harmony default export */ __webpack_exports__["a"] = (MDCPersistentDrawerFoundation);
4409
4505
 
4410
4506
  /***/ }),
4411
- /* 37 */
4507
+ /* 38 */
4412
4508
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4413
4509
 
4414
4510
  "use strict";
4415
4511
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCPersistentDrawer; });
4416
4512
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
4417
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(36);
4513
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(37);
4418
4514
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(7);
4419
4515
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
4420
4516
  /* unused harmony reexport util */
@@ -4566,7 +4662,7 @@ var MDCPersistentDrawer = function (_MDCComponent) {
4566
4662
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
4567
4663
 
4568
4664
  /***/ }),
4569
- /* 38 */
4665
+ /* 39 */
4570
4666
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4571
4667
 
4572
4668
  "use strict";
@@ -4590,7 +4686,7 @@ var MDCPersistentDrawer = function (_MDCComponent) {
4590
4686
  var FOCUSABLE_ELEMENTS = 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), ' + 'button:not([disabled]), iframe, object, embed, [tabindex], [contenteditable]';
4591
4687
 
4592
4688
  /***/ }),
4593
- /* 39 */
4689
+ /* 40 */
4594
4690
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4595
4691
 
4596
4692
  "use strict";
@@ -4901,7 +4997,7 @@ var MDCSlidableDrawerFoundation = function (_MDCFoundation) {
4901
4997
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCFoundation"]);
4902
4998
 
4903
4999
  /***/ }),
4904
- /* 40 */
5000
+ /* 41 */
4905
5001
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4906
5002
 
4907
5003
  "use strict";
@@ -4942,12 +5038,12 @@ var strings = {
4942
5038
  };
4943
5039
 
4944
5040
  /***/ }),
4945
- /* 41 */
5041
+ /* 42 */
4946
5042
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4947
5043
 
4948
5044
  "use strict";
4949
5045
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__slidable__ = __webpack_require__(5);
4950
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(40);
5046
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(41);
4951
5047
  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; };
4952
5048
 
4953
5049
  var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
@@ -5098,13 +5194,13 @@ var MDCTemporaryDrawerFoundation = function (_MDCSlidableDrawerFou) {
5098
5194
  /* harmony default export */ __webpack_exports__["a"] = (MDCTemporaryDrawerFoundation);
5099
5195
 
5100
5196
  /***/ }),
5101
- /* 42 */
5197
+ /* 43 */
5102
5198
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5103
5199
 
5104
5200
  "use strict";
5105
5201
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCTemporaryDrawer; });
5106
5202
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5107
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(41);
5203
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(42);
5108
5204
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(7);
5109
5205
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
5110
5206
  /* unused harmony reexport util */
@@ -5269,7 +5365,7 @@ var MDCTemporaryDrawer = function (_MDCComponent) {
5269
5365
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
5270
5366
 
5271
5367
  /***/ }),
5272
- /* 43 */
5368
+ /* 44 */
5273
5369
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5274
5370
 
5275
5371
  "use strict";
@@ -5300,12 +5396,12 @@ var strings = {
5300
5396
  };
5301
5397
 
5302
5398
  /***/ }),
5303
- /* 44 */
5399
+ /* 45 */
5304
5400
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5305
5401
 
5306
5402
  "use strict";
5307
5403
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5308
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(43);
5404
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(44);
5309
5405
  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; };
5310
5406
 
5311
5407
  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; }; }();
@@ -5399,7 +5495,7 @@ var MDCFormFieldFoundation = function (_MDCFoundation) {
5399
5495
  /* harmony default export */ __webpack_exports__["a"] = (MDCFormFieldFoundation);
5400
5496
 
5401
5497
  /***/ }),
5402
- /* 45 */
5498
+ /* 46 */
5403
5499
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5404
5500
 
5405
5501
  "use strict";
@@ -5425,12 +5521,12 @@ var strings = {
5425
5521
  };
5426
5522
 
5427
5523
  /***/ }),
5428
- /* 46 */
5524
+ /* 47 */
5429
5525
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5430
5526
 
5431
5527
  "use strict";
5432
5528
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5433
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(45);
5529
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(46);
5434
5530
  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; };
5435
5531
 
5436
5532
  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; }; }();
@@ -5546,7 +5642,7 @@ var MDCGridListFoundation = function (_MDCFoundation) {
5546
5642
  /* harmony default export */ __webpack_exports__["a"] = (MDCGridListFoundation);
5547
5643
 
5548
5644
  /***/ }),
5549
- /* 47 */
5645
+ /* 48 */
5550
5646
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5551
5647
 
5552
5648
  "use strict";
@@ -5582,12 +5678,12 @@ var strings = {
5582
5678
  };
5583
5679
 
5584
5680
  /***/ }),
5585
- /* 48 */
5681
+ /* 49 */
5586
5682
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5587
5683
 
5588
5684
  "use strict";
5589
5685
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5590
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(47);
5686
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(48);
5591
5687
  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; };
5592
5688
 
5593
5689
  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; }; }();
@@ -5815,7 +5911,7 @@ function isSpace(_ref3) {
5815
5911
  }
5816
5912
 
5817
5913
  /***/ }),
5818
- /* 49 */
5914
+ /* 50 */
5819
5915
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5820
5916
 
5821
5917
  "use strict";
@@ -5849,13 +5945,13 @@ var strings = {
5849
5945
  };
5850
5946
 
5851
5947
  /***/ }),
5852
- /* 50 */
5948
+ /* 51 */
5853
5949
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5854
5950
 
5855
5951
  "use strict";
5856
5952
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5857
5953
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_animation__ = __webpack_require__(3);
5858
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(49);
5954
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(50);
5859
5955
  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; };
5860
5956
 
5861
5957
  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; }; }();
@@ -5990,10 +6086,274 @@ var MDCLinearProgressFoundation = function (_MDCFoundation) {
5990
6086
  return MDCLinearProgressFoundation;
5991
6087
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCFoundation"]);
5992
6088
 
5993
- /* harmony default export */ __webpack_exports__["a"] = (MDCLinearProgressFoundation);
6089
+ /* harmony default export */ __webpack_exports__["a"] = (MDCLinearProgressFoundation);
6090
+
6091
+ /***/ }),
6092
+ /* 52 */
6093
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6094
+
6095
+ "use strict";
6096
+ 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; }; }();
6097
+
6098
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6099
+
6100
+ /**
6101
+ * Copyright 2016 Google Inc. All Rights Reserved.
6102
+ *
6103
+ * Licensed under the Apache License, Version 2.0 (the "License");
6104
+ * you may not use this file except in compliance with the License.
6105
+ * You may obtain a copy of the License at
6106
+ *
6107
+ * http://www.apache.org/licenses/LICENSE-2.0
6108
+ *
6109
+ * Unless required by applicable law or agreed to in writing, software
6110
+ * distributed under the License is distributed on an "AS IS" BASIS,
6111
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6112
+ * See the License for the specific language governing permissions and
6113
+ * limitations under the License.
6114
+ */
6115
+
6116
+ /* eslint no-unused-vars: [2, {"args": "none"}] */
6117
+
6118
+ /**
6119
+ * Adapter for MDC Simple Menu. Provides an interface for managing
6120
+ * - classes
6121
+ * - dom
6122
+ * - focus
6123
+ * - position
6124
+ * - dimensions
6125
+ * - event handlers
6126
+ *
6127
+ * Additionally, provides type information for the adapter to the Closure
6128
+ * compiler.
6129
+ *
6130
+ * Implement this adapter for your framework of choice to delegate updates to
6131
+ * the component in your framework of choice. See architecture documentation
6132
+ * for more details.
6133
+ * https://github.com/material-components/material-components-web/blob/master/docs/architecture.md
6134
+ *
6135
+ * @record
6136
+ */
6137
+ var MDCSimpleMenuAdapter = function () {
6138
+ function MDCSimpleMenuAdapter() {
6139
+ _classCallCheck(this, MDCSimpleMenuAdapter);
6140
+ }
6141
+
6142
+ _createClass(MDCSimpleMenuAdapter, [{
6143
+ key: "addClass",
6144
+
6145
+ /** @param {string} className */
6146
+ value: function addClass(className) {}
6147
+
6148
+ /** @param {string} className */
6149
+
6150
+ }, {
6151
+ key: "removeClass",
6152
+ value: function removeClass(className) {}
6153
+
6154
+ /**
6155
+ * @param {string} className
6156
+ * @return {boolean}
6157
+ */
6158
+
6159
+ }, {
6160
+ key: "hasClass",
6161
+ value: function hasClass(className) {}
6162
+
6163
+ /** @return {boolean} */
6164
+
6165
+ }, {
6166
+ key: "hasNecessaryDom",
6167
+ value: function hasNecessaryDom() {}
6168
+
6169
+ /**
6170
+ * @param {EventTarget} target
6171
+ * @param {string} attributeName
6172
+ * @return {string}
6173
+ */
6174
+
6175
+ }, {
6176
+ key: "getAttributeForEventTarget",
6177
+ value: function getAttributeForEventTarget(target, attributeName) {}
6178
+
6179
+ /** @return {{ width: number, height: number }} */
6180
+
6181
+ }, {
6182
+ key: "getInnerDimensions",
6183
+ value: function getInnerDimensions() {}
6184
+
6185
+ /** @return {boolean} */
6186
+
6187
+ }, {
6188
+ key: "hasAnchor",
6189
+ value: function hasAnchor() {}
6190
+
6191
+ /** @return {{width: number, height: number, top: number, right: number, bottom: number, left: number}} */
6192
+
6193
+ }, {
6194
+ key: "getAnchorDimensions",
6195
+ value: function getAnchorDimensions() {}
6196
+
6197
+ /** @return {{ width: number, height: number }} */
6198
+
6199
+ }, {
6200
+ key: "getWindowDimensions",
6201
+ value: function getWindowDimensions() {}
6202
+
6203
+ /**
6204
+ * @param {number} x
6205
+ * @param {number} y
6206
+ */
6207
+
6208
+ }, {
6209
+ key: "setScale",
6210
+ value: function setScale(x, y) {}
6211
+
6212
+ /**
6213
+ * @param {number} x
6214
+ * @param {number} y
6215
+ */
6216
+
6217
+ }, {
6218
+ key: "setInnerScale",
6219
+ value: function setInnerScale(x, y) {}
6220
+
6221
+ /** @return {number} */
6222
+
6223
+ }, {
6224
+ key: "getNumberOfItems",
6225
+ value: function getNumberOfItems() {}
6226
+
6227
+ /**
6228
+ * @param {string} type
6229
+ * @param {function(!Event)} handler
6230
+ */
6231
+
6232
+ }, {
6233
+ key: "registerInteractionHandler",
6234
+ value: function registerInteractionHandler(type, handler) {}
6235
+
6236
+ /**
6237
+ * @param {string} type
6238
+ * @param {function(!Event)} handler
6239
+ */
6240
+
6241
+ }, {
6242
+ key: "deregisterInteractionHandler",
6243
+ value: function deregisterInteractionHandler(type, handler) {}
6244
+
6245
+ /** @param {function(!Event)} handler */
6246
+
6247
+ }, {
6248
+ key: "registerBodyClickHandler",
6249
+ value: function registerBodyClickHandler(handler) {}
6250
+
6251
+ /** @param {function(!Event)} handler */
6252
+
6253
+ }, {
6254
+ key: "deregisterBodyClickHandler",
6255
+ value: function deregisterBodyClickHandler(handler) {}
6256
+
6257
+ /**
6258
+ * @param {number} index
6259
+ * @return {{top: number, height: number}}
6260
+ */
6261
+
6262
+ }, {
6263
+ key: "getYParamsForItemAtIndex",
6264
+ value: function getYParamsForItemAtIndex(index) {}
6265
+
6266
+ /**
6267
+ * @param {number} index
6268
+ * @param {string|null} value
6269
+ */
6270
+
6271
+ }, {
6272
+ key: "setTransitionDelayForItemAtIndex",
6273
+ value: function setTransitionDelayForItemAtIndex(index, value) {}
6274
+
6275
+ /**
6276
+ * @param {EventTarget} target
6277
+ * @return {number}
6278
+ */
6279
+
6280
+ }, {
6281
+ key: "getIndexForEventTarget",
6282
+ value: function getIndexForEventTarget(target) {}
6283
+
6284
+ /** @param {{index: number}} evtData */
6285
+
6286
+ }, {
6287
+ key: "notifySelected",
6288
+ value: function notifySelected(evtData) {}
6289
+ }, {
6290
+ key: "notifyCancel",
6291
+ value: function notifyCancel() {}
6292
+ }, {
6293
+ key: "saveFocus",
6294
+ value: function saveFocus() {}
6295
+ }, {
6296
+ key: "restoreFocus",
6297
+ value: function restoreFocus() {}
6298
+
6299
+ /** @return {boolean} */
6300
+
6301
+ }, {
6302
+ key: "isFocused",
6303
+ value: function isFocused() {}
6304
+ }, {
6305
+ key: "focus",
6306
+ value: function focus() {}
6307
+
6308
+ /** @return {number} */
6309
+
6310
+ }, {
6311
+ key: "getFocusedItemIndex",
6312
+ value: function getFocusedItemIndex() /* number */{}
6313
+
6314
+ /** @param {number} index */
6315
+
6316
+ }, {
6317
+ key: "focusItemAtIndex",
6318
+ value: function focusItemAtIndex(index) {}
6319
+
6320
+ /** @return {boolean} */
6321
+
6322
+ }, {
6323
+ key: "isRtl",
6324
+ value: function isRtl() {}
6325
+
6326
+ /** @param {string} origin */
6327
+
6328
+ }, {
6329
+ key: "setTransformOrigin",
6330
+ value: function setTransformOrigin(origin) {}
6331
+
6332
+ /** @param {{
6333
+ * top: (string|undefined),
6334
+ * right: (string|undefined),
6335
+ * bottom: (string|undefined),
6336
+ * left: (string|undefined)
6337
+ * }} position */
6338
+
6339
+ }, {
6340
+ key: "setPosition",
6341
+ value: function setPosition(position) {}
6342
+
6343
+ /** @return {number} */
6344
+
6345
+ }, {
6346
+ key: "getAccurateTime",
6347
+ value: function getAccurateTime() {}
6348
+ }]);
6349
+
6350
+ return MDCSimpleMenuAdapter;
6351
+ }();
6352
+
6353
+ /* unused harmony default export */ var _unused_webpack_default_export = (MDCSimpleMenuAdapter);
5994
6354
 
5995
6355
  /***/ }),
5996
- /* 51 */
6356
+ /* 53 */
5997
6357
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5998
6358
 
5999
6359
  "use strict";
@@ -6015,6 +6375,8 @@ var MDCLinearProgressFoundation = function (_MDCFoundation) {
6015
6375
  * See the License for the specific language governing permissions and
6016
6376
  * limitations under the License.
6017
6377
  */
6378
+
6379
+ /** @enum {string} */
6018
6380
  var cssClasses = {
6019
6381
  ROOT: 'mdc-simple-menu',
6020
6382
  OPEN: 'mdc-simple-menu--open',
@@ -6024,6 +6386,7 @@ var cssClasses = {
6024
6386
  BOTTOM_RIGHT: 'mdc-simple-menu--open-from-bottom-right'
6025
6387
  };
6026
6388
 
6389
+ /** @enum {string} */
6027
6390
  var strings = {
6028
6391
  ITEMS_SELECTOR: '.mdc-simple-menu__items',
6029
6392
  SELECTED_EVENT: 'MDCSimpleMenu:selected',
@@ -6031,6 +6394,7 @@ var strings = {
6031
6394
  ARIA_DISABLED_ATTR: 'aria-disabled'
6032
6395
  };
6033
6396
 
6397
+ /** @enum {number} */
6034
6398
  var numbers = {
6035
6399
  // Amount of time to wait before triggering a selected event on the menu. Note that this time
6036
6400
  // will most likely be bumped up once interactive lists are supported to allow for the ripple to
@@ -6050,13 +6414,14 @@ var numbers = {
6050
6414
  };
6051
6415
 
6052
6416
  /***/ }),
6053
- /* 52 */
6417
+ /* 54 */
6054
6418
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6055
6419
 
6056
6420
  "use strict";
6057
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6058
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(51);
6059
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(9);
6421
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
6422
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__adapter__ = __webpack_require__(52);
6423
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(53);
6424
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(8);
6060
6425
  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; };
6061
6426
 
6062
6427
  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; }; }();
@@ -6089,127 +6454,159 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
6089
6454
 
6090
6455
 
6091
6456
 
6457
+
6458
+ /**
6459
+ * @extends {MDCFoundation<!MDCSimpleMenuAdapter>}
6460
+ */
6461
+
6092
6462
  var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6093
6463
  _inherits(MDCSimpleMenuFoundation, _MDCFoundation);
6094
6464
 
6095
6465
  _createClass(MDCSimpleMenuFoundation, null, [{
6096
6466
  key: 'cssClasses',
6467
+
6468
+ /** @return enum{cssClasses} */
6097
6469
  get: function get() {
6098
- return __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */];
6470
+ return __WEBPACK_IMPORTED_MODULE_2__constants__["a" /* cssClasses */];
6099
6471
  }
6472
+
6473
+ /** @return enum{strings} */
6474
+
6100
6475
  }, {
6101
6476
  key: 'strings',
6102
6477
  get: function get() {
6103
- return __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */];
6478
+ return __WEBPACK_IMPORTED_MODULE_2__constants__["b" /* strings */];
6104
6479
  }
6480
+
6481
+ /** @return enum{numbers} */
6482
+
6105
6483
  }, {
6106
6484
  key: 'numbers',
6107
6485
  get: function get() {
6108
- return __WEBPACK_IMPORTED_MODULE_1__constants__["c" /* numbers */];
6486
+ return __WEBPACK_IMPORTED_MODULE_2__constants__["c" /* numbers */];
6109
6487
  }
6488
+
6489
+ /**
6490
+ * {@see MDCSimpleMenuAdapter} for typing information on parameters and return
6491
+ * types.
6492
+ * @return {!MDCSimpleMenuAdapter}
6493
+ */
6494
+
6110
6495
  }, {
6111
6496
  key: 'defaultAdapter',
6112
6497
  get: function get() {
6113
- return {
6114
- addClass: function addClass() /* className: string */{},
6115
- removeClass: function removeClass() /* className: string */{},
6116
- hasClass: function hasClass() /* className: string */{},
6117
- hasNecessaryDom: function hasNecessaryDom() {
6118
- return (/* boolean */false
6119
- );
6120
- },
6121
- getAttributeForEventTarget: function getAttributeForEventTarget() /* target: EventTarget, attributeName: string */{},
6122
- getInnerDimensions: function getInnerDimensions() {
6123
- return (/* { width: number, height: number } */{}
6124
- );
6125
- },
6126
- hasAnchor: function hasAnchor() {
6127
- return (/* boolean */false
6128
- );
6129
- },
6130
- getAnchorDimensions: function getAnchorDimensions() {
6131
- return (
6132
- /* { width: number, height: number, top: number, right: number, bottom: number, left: number } */{}
6133
- );
6134
- },
6135
- getWindowDimensions: function getWindowDimensions() {
6136
- return (/* { width: number, height: number } */{}
6137
- );
6138
- },
6139
- setScale: function setScale() /* x: number, y: number */{},
6140
- setInnerScale: function setInnerScale() /* x: number, y: number */{},
6141
- getNumberOfItems: function getNumberOfItems() {
6142
- return (/* number */0
6143
- );
6144
- },
6145
- registerInteractionHandler: function registerInteractionHandler() /* type: string, handler: EventListener */{},
6146
- deregisterInteractionHandler: function deregisterInteractionHandler() /* type: string, handler: EventListener */{},
6147
- registerBodyClickHandler: function registerBodyClickHandler() /* handler: EventListener */{},
6148
- deregisterBodyClickHandler: function deregisterBodyClickHandler() /* handler: EventListener */{},
6149
- getYParamsForItemAtIndex: function getYParamsForItemAtIndex() {
6150
- return (/* index: number */ /* {top: number, height: number} */{}
6151
- );
6152
- },
6153
- setTransitionDelayForItemAtIndex: function setTransitionDelayForItemAtIndex() /* index: number, value: string */{},
6154
- getIndexForEventTarget: function getIndexForEventTarget() {
6155
- return (/* target: EventTarget */ /* number */0
6156
- );
6157
- },
6158
- notifySelected: function notifySelected() /* evtData: {index: number} */{},
6159
- notifyCancel: function notifyCancel() {},
6160
- saveFocus: function saveFocus() {},
6161
- restoreFocus: function restoreFocus() {},
6162
- isFocused: function isFocused() {
6163
- return (/* boolean */false
6164
- );
6165
- },
6166
- focus: function focus() {},
6167
- getFocusedItemIndex: function getFocusedItemIndex() {
6168
- return (/* number */-1
6169
- );
6170
- },
6171
- focusItemAtIndex: function focusItemAtIndex() /* index: number */{},
6172
- isRtl: function isRtl() {
6173
- return (/* boolean */false
6174
- );
6175
- },
6176
- setTransformOrigin: function setTransformOrigin() /* origin: string */{},
6177
- setPosition: function setPosition() /* position: { top: string, right: string, bottom: string, left: string } */{},
6178
- getAccurateTime: function getAccurateTime() {
6179
- return (/* number */0
6180
- );
6498
+ return (/** @type {!MDCSimpleMenuAdapter} */{
6499
+ addClass: function addClass() {},
6500
+ removeClass: function removeClass() {},
6501
+ hasClass: function hasClass() {
6502
+ return false;
6503
+ },
6504
+ hasNecessaryDom: function hasNecessaryDom() {
6505
+ return false;
6506
+ },
6507
+ getAttributeForEventTarget: function getAttributeForEventTarget() {},
6508
+ getInnerDimensions: function getInnerDimensions() {
6509
+ return {};
6510
+ },
6511
+ hasAnchor: function hasAnchor() {
6512
+ return false;
6513
+ },
6514
+ getAnchorDimensions: function getAnchorDimensions() {
6515
+ return {};
6516
+ },
6517
+ getWindowDimensions: function getWindowDimensions() {
6518
+ return {};
6519
+ },
6520
+ setScale: function setScale() {},
6521
+ setInnerScale: function setInnerScale() {},
6522
+ getNumberOfItems: function getNumberOfItems() {
6523
+ return 0;
6524
+ },
6525
+ registerInteractionHandler: function registerInteractionHandler() {},
6526
+ deregisterInteractionHandler: function deregisterInteractionHandler() {},
6527
+ registerBodyClickHandler: function registerBodyClickHandler() {},
6528
+ deregisterBodyClickHandler: function deregisterBodyClickHandler() {},
6529
+ getYParamsForItemAtIndex: function getYParamsForItemAtIndex() {
6530
+ return {};
6531
+ },
6532
+ setTransitionDelayForItemAtIndex: function setTransitionDelayForItemAtIndex() {},
6533
+ getIndexForEventTarget: function getIndexForEventTarget() {
6534
+ return 0;
6535
+ },
6536
+ notifySelected: function notifySelected() {},
6537
+ notifyCancel: function notifyCancel() {},
6538
+ saveFocus: function saveFocus() {},
6539
+ restoreFocus: function restoreFocus() {},
6540
+ isFocused: function isFocused() {
6541
+ return false;
6542
+ },
6543
+ focus: function focus() {},
6544
+ getFocusedItemIndex: function getFocusedItemIndex() {
6545
+ return -1;
6546
+ },
6547
+ focusItemAtIndex: function focusItemAtIndex() {},
6548
+ isRtl: function isRtl() {
6549
+ return false;
6550
+ },
6551
+ setTransformOrigin: function setTransformOrigin() {},
6552
+ setPosition: function setPosition() {},
6553
+ getAccurateTime: function getAccurateTime() {
6554
+ return 0;
6555
+ }
6181
6556
  }
6182
- };
6557
+ );
6183
6558
  }
6559
+
6560
+ /** @param {!MDCSimpleMenuAdapter} adapter */
6561
+
6184
6562
  }]);
6185
6563
 
6186
6564
  function MDCSimpleMenuFoundation(adapter) {
6187
6565
  _classCallCheck(this, MDCSimpleMenuFoundation);
6188
6566
 
6567
+ /** @private {function(!Event)} */
6189
6568
  var _this = _possibleConstructorReturn(this, (MDCSimpleMenuFoundation.__proto__ || Object.getPrototypeOf(MDCSimpleMenuFoundation)).call(this, _extends(MDCSimpleMenuFoundation.defaultAdapter, adapter)));
6190
6569
 
6191
6570
  _this.clickHandler_ = function (evt) {
6192
6571
  return _this.handlePossibleSelected_(evt);
6193
6572
  };
6573
+ /** @private {function(!Event)} */
6194
6574
  _this.keydownHandler_ = function (evt) {
6195
6575
  return _this.handleKeyboardDown_(evt);
6196
6576
  };
6577
+ /** @private {function(!Event)} */
6197
6578
  _this.keyupHandler_ = function (evt) {
6198
6579
  return _this.handleKeyboardUp_(evt);
6199
6580
  };
6581
+ /** @private {function(!Event)} */
6200
6582
  _this.documentClickHandler_ = function (evt) {
6201
6583
  _this.adapter_.notifyCancel();
6202
6584
  _this.close(evt);
6203
6585
  };
6586
+ /** @private {boolean} */
6204
6587
  _this.isOpen_ = false;
6588
+ /** @private {number} */
6205
6589
  _this.startScaleX_ = 0;
6590
+ /** @private {number} */
6206
6591
  _this.startScaleY_ = 0;
6592
+ /** @private {number} */
6207
6593
  _this.targetScale_ = 1;
6594
+ /** @private {number} */
6208
6595
  _this.scaleX_ = 0;
6596
+ /** @private {number} */
6209
6597
  _this.scaleY_ = 0;
6598
+ /** @private {boolean} */
6210
6599
  _this.running_ = false;
6600
+ /** @private {number} */
6211
6601
  _this.selectedTriggerTimerId_ = 0;
6602
+ /** @private {number} */
6212
6603
  _this.animationRequestId_ = 0;
6604
+ /** @private {!{ width: number, height: number }} */
6605
+ _this.dimensions_;
6606
+ /** @private {number} */
6607
+ _this.startTime_;
6608
+ /** @private {number} */
6609
+ _this.itemHeight_;
6213
6610
  return _this;
6214
6611
  }
6215
6612
 
@@ -6249,7 +6646,10 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6249
6646
  this.adapter_.deregisterBodyClickHandler(this.documentClickHandler_);
6250
6647
  }
6251
6648
 
6252
- // Calculate transition delays for individual menu items, so that they fade in one at a time.
6649
+ /**
6650
+ * Calculates transition delays for individual menu items, so that they fade in one at a time.
6651
+ * @private
6652
+ */
6253
6653
 
6254
6654
  }, {
6255
6655
  key: 'applyTransitionDelays_',
@@ -6280,7 +6680,10 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6280
6680
  }
6281
6681
  }
6282
6682
 
6283
- // Remove transition delays from menu items.
6683
+ /**
6684
+ * Removes transition delays from menu items.
6685
+ * @private
6686
+ */
6284
6687
 
6285
6688
  }, {
6286
6689
  key: 'removeTransitionDelays_',
@@ -6291,7 +6694,10 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6291
6694
  }
6292
6695
  }
6293
6696
 
6294
- // Animate menu opening or closing.
6697
+ /**
6698
+ * Animates menu opening or closing.
6699
+ * @private
6700
+ */
6295
6701
 
6296
6702
  }, {
6297
6703
  key: 'animationLoop_',
@@ -6308,10 +6714,10 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6308
6714
  TRANSITION_SCALE_ADJUSTMENT_X = _MDCSimpleMenuFoundat3.TRANSITION_SCALE_ADJUSTMENT_X,
6309
6715
  TRANSITION_SCALE_ADJUSTMENT_Y = _MDCSimpleMenuFoundat3.TRANSITION_SCALE_ADJUSTMENT_Y;
6310
6716
 
6311
- var currentTime = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["b" /* clamp */])((time - this.startTime_) / TRANSITION_DURATION_MS);
6717
+ var currentTime = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["clamp"])((time - this.startTime_) / TRANSITION_DURATION_MS);
6312
6718
 
6313
6719
  // Animate X axis very slowly, so that only the Y axis animation is visible during fade-out.
6314
- var currentTimeX = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["b" /* clamp */])((currentTime - TRANSITION_SCALE_ADJUSTMENT_X) / (1 - TRANSITION_SCALE_ADJUSTMENT_X));
6720
+ var currentTimeX = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["clamp"])((currentTime - TRANSITION_SCALE_ADJUSTMENT_X) / (1 - TRANSITION_SCALE_ADJUSTMENT_X));
6315
6721
  // No time-shifting on the Y axis when closing.
6316
6722
  var currentTimeY = currentTime;
6317
6723
 
@@ -6322,14 +6728,14 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6322
6728
  startScaleY = Math.max(this.itemHeight_ / this.dimensions_.height, startScaleY);
6323
6729
  }
6324
6730
  // X axis moves faster, so time-shift forward.
6325
- currentTimeX = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["b" /* clamp */])(currentTime + TRANSITION_SCALE_ADJUSTMENT_X);
6731
+ currentTimeX = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["clamp"])(currentTime + TRANSITION_SCALE_ADJUSTMENT_X);
6326
6732
  // Y axis moves slower, so time-shift backwards and adjust speed by the difference.
6327
- currentTimeY = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["b" /* clamp */])((currentTime - TRANSITION_SCALE_ADJUSTMENT_Y) / (1 - TRANSITION_SCALE_ADJUSTMENT_Y));
6733
+ currentTimeY = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["clamp"])((currentTime - TRANSITION_SCALE_ADJUSTMENT_Y) / (1 - TRANSITION_SCALE_ADJUSTMENT_Y));
6328
6734
  }
6329
6735
 
6330
6736
  // Apply cubic bezier easing independently to each axis.
6331
- var easeX = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["c" /* bezierProgress */])(currentTimeX, TRANSITION_X1, TRANSITION_Y1, TRANSITION_X2, TRANSITION_Y2);
6332
- var easeY = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["c" /* bezierProgress */])(currentTimeY, TRANSITION_X1, TRANSITION_Y1, TRANSITION_X2, TRANSITION_Y2);
6737
+ var easeX = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["bezierProgress"])(currentTimeX, TRANSITION_X1, TRANSITION_Y1, TRANSITION_X2, TRANSITION_Y2);
6738
+ var easeY = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["bezierProgress"])(currentTimeY, TRANSITION_X1, TRANSITION_Y1, TRANSITION_X2, TRANSITION_Y2);
6333
6739
 
6334
6740
  // Calculate the scales to apply to the outer container and inner container.
6335
6741
  this.scaleX_ = this.startScaleX_ + (this.targetScale_ - this.startScaleX_) * easeX;
@@ -6353,7 +6759,10 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6353
6759
  }
6354
6760
  }
6355
6761
 
6356
- // Starts the open or close animation.
6762
+ /**
6763
+ * Starts the open or close animation.
6764
+ * @private
6765
+ */
6357
6766
 
6358
6767
  }, {
6359
6768
  key: 'animateMenu_',
@@ -6373,6 +6782,12 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6373
6782
  });
6374
6783
  }
6375
6784
  }
6785
+
6786
+ /**
6787
+ * @param {?number} focusIndex
6788
+ * @private
6789
+ */
6790
+
6376
6791
  }, {
6377
6792
  key: 'focusOnOpen_',
6378
6793
  value: function focusOnOpen_(focusIndex) {
@@ -6388,7 +6803,12 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6388
6803
  }
6389
6804
  }
6390
6805
 
6391
- // Handle keys that we want to repeat on hold (tab and arrows).
6806
+ /**
6807
+ * Handle keys that we want to repeat on hold (tab and arrows).
6808
+ * @param {!Event} evt
6809
+ * @return {boolean}
6810
+ * @private
6811
+ */
6392
6812
 
6393
6813
  }, {
6394
6814
  key: 'handleKeyboardDown_',
@@ -6444,7 +6864,12 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6444
6864
  return true;
6445
6865
  }
6446
6866
 
6447
- // Handle keys that we don't want to repeat on hold (Enter, Space, Escape).
6867
+ /**
6868
+ * Handle keys that we don't want to repeat on hold (Enter, Space, Escape).
6869
+ * @param {!Event} evt
6870
+ * @return {boolean}
6871
+ * @private
6872
+ */
6448
6873
 
6449
6874
  }, {
6450
6875
  key: 'handleKeyboardUp_',
@@ -6472,12 +6897,18 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6472
6897
 
6473
6898
  return true;
6474
6899
  }
6900
+
6901
+ /**
6902
+ * @param {!Event} evt
6903
+ * @private
6904
+ */
6905
+
6475
6906
  }, {
6476
6907
  key: 'handlePossibleSelected_',
6477
6908
  value: function handlePossibleSelected_(evt) {
6478
6909
  var _this4 = this;
6479
6910
 
6480
- if (this.adapter_.getAttributeForEventTarget(evt.target, __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */].ARIA_DISABLED_ATTR) === 'true') {
6911
+ if (this.adapter_.getAttributeForEventTarget(evt.target, __WEBPACK_IMPORTED_MODULE_2__constants__["b" /* strings */].ARIA_DISABLED_ATTR) === 'true') {
6481
6912
  return;
6482
6913
  }
6483
6914
  var targetIndex = this.adapter_.getIndexForEventTarget(evt.target);
@@ -6492,8 +6923,11 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6492
6923
  _this4.selectedTriggerTimerId_ = 0;
6493
6924
  _this4.close();
6494
6925
  _this4.adapter_.notifySelected({ index: targetIndex });
6495
- }, __WEBPACK_IMPORTED_MODULE_1__constants__["c" /* numbers */].SELECTED_TRIGGER_DELAY);
6926
+ }, __WEBPACK_IMPORTED_MODULE_2__constants__["c" /* numbers */].SELECTED_TRIGGER_DELAY);
6496
6927
  }
6928
+
6929
+ /** @private */
6930
+
6497
6931
  }, {
6498
6932
  key: 'autoPosition_',
6499
6933
  value: function autoPosition_() {
@@ -6541,7 +6975,10 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6541
6975
  this.adapter_.setPosition(position);
6542
6976
  }
6543
6977
 
6544
- // Open the menu.
6978
+ /**
6979
+ * Open the menu.
6980
+ * @param {{focusIndex: ?number}=} options
6981
+ */
6545
6982
 
6546
6983
  }, {
6547
6984
  key: 'open',
@@ -6566,7 +7003,10 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6566
7003
  this.isOpen_ = true;
6567
7004
  }
6568
7005
 
6569
- // Close the menu.
7006
+ /**
7007
+ * Closes the menu.
7008
+ * @param {Event=} evt
7009
+ */
6570
7010
 
6571
7011
  }, {
6572
7012
  key: 'close',
@@ -6575,7 +7015,7 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6575
7015
 
6576
7016
  var evt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
6577
7017
 
6578
- var targetIsDisabled = evt ? this.adapter_.getAttributeForEventTarget(evt.target, __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */].ARIA_DISABLED_ATTR) === 'true' : false;
7018
+ var targetIsDisabled = evt ? this.adapter_.getAttributeForEventTarget(evt.target, __WEBPACK_IMPORTED_MODULE_2__constants__["b" /* strings */].ARIA_DISABLED_ATTR) === 'true' : false;
6579
7019
 
6580
7020
  if (targetIsDisabled) {
6581
7021
  return;
@@ -6591,6 +7031,9 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6591
7031
  this.isOpen_ = false;
6592
7032
  this.adapter_.restoreFocus();
6593
7033
  }
7034
+
7035
+ /** @return {boolean} */
7036
+
6594
7037
  }, {
6595
7038
  key: 'isOpen',
6596
7039
  value: function isOpen() {
@@ -6599,19 +7042,19 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6599
7042
  }]);
6600
7043
 
6601
7044
  return MDCSimpleMenuFoundation;
6602
- }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCFoundation"]);
7045
+ }(__WEBPACK_IMPORTED_MODULE_0__material_base_foundation__["a" /* default */]);
6603
7046
 
6604
7047
  /* harmony default export */ __webpack_exports__["a"] = (MDCSimpleMenuFoundation);
6605
7048
 
6606
7049
  /***/ }),
6607
- /* 53 */
7050
+ /* 55 */
6608
7051
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6609
7052
 
6610
7053
  "use strict";
6611
7054
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCSimpleMenu; });
6612
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6613
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(52);
6614
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(9);
7055
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(4);
7056
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(54);
7057
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(8);
6615
7058
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
6616
7059
  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; }; }();
6617
7060
 
@@ -6643,21 +7086,44 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
6643
7086
 
6644
7087
 
6645
7088
 
7089
+ /**
7090
+ * @extends MDCComponent<!MDCSimpleMenuFoundation>
7091
+ */
6646
7092
  var MDCSimpleMenu = function (_MDCComponent) {
6647
7093
  _inherits(MDCSimpleMenu, _MDCComponent);
6648
7094
 
7095
+ /** @param {...?} args */
6649
7096
  function MDCSimpleMenu() {
7097
+ var _ref;
7098
+
6650
7099
  _classCallCheck(this, MDCSimpleMenu);
6651
7100
 
6652
- return _possibleConstructorReturn(this, (MDCSimpleMenu.__proto__ || Object.getPrototypeOf(MDCSimpleMenu)).apply(this, arguments));
7101
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
7102
+ args[_key] = arguments[_key];
7103
+ }
7104
+
7105
+ /** @private {!Element} */
7106
+ var _this = _possibleConstructorReturn(this, (_ref = MDCSimpleMenu.__proto__ || Object.getPrototypeOf(MDCSimpleMenu)).call.apply(_ref, [this].concat(args)));
7107
+
7108
+ _this.previousFocus_;
7109
+ return _this;
6653
7110
  }
6654
7111
 
7112
+ /**
7113
+ * @param {!Element} root
7114
+ * @return {!MDCSimpleMenu}
7115
+ */
7116
+
7117
+
6655
7118
  _createClass(MDCSimpleMenu, [{
6656
7119
  key: 'show',
7120
+
7121
+
7122
+ /** @param {{focusIndex: ?number}=} options */
6657
7123
  value: function show() {
6658
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
6659
- _ref$focusIndex = _ref.focusIndex,
6660
- focusIndex = _ref$focusIndex === undefined ? null : _ref$focusIndex;
7124
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
7125
+ _ref2$focusIndex = _ref2.focusIndex,
7126
+ focusIndex = _ref2$focusIndex === undefined ? null : _ref2$focusIndex;
6661
7127
 
6662
7128
  this.foundation_.open({ focusIndex: focusIndex });
6663
7129
  }
@@ -6667,10 +7133,16 @@ var MDCSimpleMenu = function (_MDCComponent) {
6667
7133
  this.foundation_.close();
6668
7134
  }
6669
7135
 
6670
- /* Return the item container element inside the component. */
7136
+ /**
7137
+ * Return the item container element inside the component.
7138
+ * @return {?Element}
7139
+ */
6671
7140
 
6672
7141
  }, {
6673
7142
  key: 'getDefaultFoundation',
7143
+
7144
+
7145
+ /** @return {!MDCSimpleMenuFoundation} */
6674
7146
  value: function getDefaultFoundation() {
6675
7147
  var _this2 = this;
6676
7148
 
@@ -6705,10 +7177,10 @@ var MDCSimpleMenu = function (_MDCComponent) {
6705
7177
  return { width: window.innerWidth, height: window.innerHeight };
6706
7178
  },
6707
7179
  setScale: function setScale(x, y) {
6708
- _this2.root_.style[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["a" /* getTransformPropertyName */])(window)] = 'scale(' + x + ', ' + y + ')';
7180
+ _this2.root_.style[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["getTransformPropertyName"])(window)] = 'scale(' + x + ', ' + y + ')';
6709
7181
  },
6710
7182
  setInnerScale: function setInnerScale(x, y) {
6711
- _this2.itemsContainer_.style[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["a" /* getTransformPropertyName */])(window)] = 'scale(' + x + ', ' + y + ')';
7183
+ _this2.itemsContainer_.style[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["getTransformPropertyName"])(window)] = 'scale(' + x + ', ' + y + ')';
6712
7184
  },
6713
7185
  getNumberOfItems: function getNumberOfItems() {
6714
7186
  return _this2.items.length;
@@ -6745,7 +7217,7 @@ var MDCSimpleMenu = function (_MDCComponent) {
6745
7217
  });
6746
7218
  },
6747
7219
  notifyCancel: function notifyCancel() {
6748
- return _this2.emit(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.CANCEL_EVENT);
7220
+ return _this2.emit(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.CANCEL_EVENT, {});
6749
7221
  },
6750
7222
  saveFocus: function saveFocus() {
6751
7223
  _this2.previousFocus_ = document.activeElement;
@@ -6771,7 +7243,7 @@ var MDCSimpleMenu = function (_MDCComponent) {
6771
7243
  return getComputedStyle(_this2.root_).getPropertyValue('direction') === 'rtl';
6772
7244
  },
6773
7245
  setTransformOrigin: function setTransformOrigin(origin) {
6774
- _this2.root_.style[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["a" /* getTransformPropertyName */])(window) + '-origin'] = origin;
7246
+ _this2.root_.style[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["getTransformPropertyName"])(window) + '-origin'] = origin;
6775
7247
  },
6776
7248
  setPosition: function setPosition(position) {
6777
7249
  _this2.root_.style.left = 'left' in position ? position.left : null;
@@ -6786,9 +7258,15 @@ var MDCSimpleMenu = function (_MDCComponent) {
6786
7258
  }
6787
7259
  }, {
6788
7260
  key: 'open',
7261
+
7262
+
7263
+ /** @return {boolean} */
6789
7264
  get: function get() {
6790
7265
  return this.foundation_.isOpen();
6791
- },
7266
+ }
7267
+
7268
+ /** @param {boolean} value */
7269
+ ,
6792
7270
  set: function set(value) {
6793
7271
  if (value) {
6794
7272
  this.foundation_.open();
@@ -6802,9 +7280,11 @@ var MDCSimpleMenu = function (_MDCComponent) {
6802
7280
  return this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.ITEMS_SELECTOR);
6803
7281
  }
6804
7282
 
6805
- /* Return the items within the menu. Note that this only contains the set of elements within
7283
+ /**
7284
+ * Return the items within the menu. Note that this only contains the set of elements within
6806
7285
  * the items container that are proper list items, and not supplemental / presentational DOM
6807
7286
  * elements.
7287
+ * @return {!Array<!Element>}
6808
7288
  */
6809
7289
 
6810
7290
  }, {
@@ -6822,10 +7302,10 @@ var MDCSimpleMenu = function (_MDCComponent) {
6822
7302
  }]);
6823
7303
 
6824
7304
  return MDCSimpleMenu;
6825
- }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
7305
+ }(__WEBPACK_IMPORTED_MODULE_0__material_base_component__["a" /* default */]);
6826
7306
 
6827
7307
  /***/ }),
6828
- /* 54 */
7308
+ /* 56 */
6829
7309
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6830
7310
 
6831
7311
  "use strict";
@@ -6856,12 +7336,12 @@ var cssClasses = {
6856
7336
  };
6857
7337
 
6858
7338
  /***/ }),
6859
- /* 55 */
7339
+ /* 57 */
6860
7340
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6861
7341
 
6862
7342
  "use strict";
6863
7343
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6864
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(54);
7344
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(56);
6865
7345
  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; }; }();
6866
7346
 
6867
7347
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -6971,7 +7451,7 @@ var MDCRadioFoundation = function (_MDCFoundation) {
6971
7451
  /* harmony default export */ __webpack_exports__["a"] = (MDCRadioFoundation);
6972
7452
 
6973
7453
  /***/ }),
6974
- /* 56 */
7454
+ /* 58 */
6975
7455
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6976
7456
 
6977
7457
  "use strict";
@@ -7020,17 +7500,18 @@ var strings = {
7020
7500
  var numbers = {
7021
7501
  PADDING: 10,
7022
7502
  INITIAL_ORIGIN_SCALE: 0.6,
7023
- DEACTIVATION_TIMEOUT_MS: 300
7503
+ DEACTIVATION_TIMEOUT_MS: 300,
7504
+ FG_DEACTIVATION_MS: 83
7024
7505
  };
7025
7506
 
7026
7507
  /***/ }),
7027
- /* 57 */
7508
+ /* 59 */
7028
7509
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7029
7510
 
7030
7511
  "use strict";
7031
7512
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
7032
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(56);
7033
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(8);
7513
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(58);
7514
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(9);
7034
7515
  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; };
7035
7516
 
7036
7517
  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; }; }();
@@ -7159,6 +7640,7 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7159
7640
  };
7160
7641
  _this.fgScale_ = 0;
7161
7642
  _this.activationTimer_ = 0;
7643
+ _this.fgDeactivationRemovalTimer_ = 0;
7162
7644
  _this.activationAnimationHasEnded_ = false;
7163
7645
  _this.activationTimerCallback_ = function () {
7164
7646
  _this.activationAnimationHasEnded_ = true;
@@ -7286,6 +7768,7 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7286
7768
  this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_END, translateEnd);
7287
7769
  // Cancel any ongoing activation/deactivation animations
7288
7770
  clearTimeout(this.activationTimer_);
7771
+ clearTimeout(this.fgDeactivationRemovalTimer_);
7289
7772
  this.rmBoundedActivationClasses_();
7290
7773
  this.adapter_.removeClass(FG_DEACTIVATION);
7291
7774
 
@@ -7307,7 +7790,7 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7307
7790
 
7308
7791
  var startPoint = void 0;
7309
7792
  if (wasActivatedByPointer) {
7310
- startPoint = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["d" /* getNormalizedEventCoords */])(activationEvent, this.adapter_.getWindowPageOffset(), this.adapter_.computeBoundingRect());
7793
+ startPoint = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["getNormalizedEventCoords"])(activationEvent, this.adapter_.getWindowPageOffset(), this.adapter_.computeBoundingRect());
7311
7794
  } else {
7312
7795
  startPoint = {
7313
7796
  x: this.frame_.width / 2,
@@ -7330,6 +7813,8 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7330
7813
  }, {
7331
7814
  key: 'runDeactivationUXLogicIfReady_',
7332
7815
  value: function runDeactivationUXLogicIfReady_() {
7816
+ var _this6 = this;
7817
+
7333
7818
  var FG_DEACTIVATION = MDCRippleFoundation.cssClasses.FG_DEACTIVATION;
7334
7819
  var _activationState_ = this.activationState_,
7335
7820
  hasDeactivationUXRun = _activationState_.hasDeactivationUXRun,
@@ -7338,8 +7823,10 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7338
7823
  var activationHasEnded = hasDeactivationUXRun || !isActivated;
7339
7824
  if (activationHasEnded && this.activationAnimationHasEnded_) {
7340
7825
  this.rmBoundedActivationClasses_();
7341
- // Note that we don't need to remove this here since it's removed on re-activation.
7342
7826
  this.adapter_.addClass(FG_DEACTIVATION);
7827
+ this.fgDeactivationRemovalTimer_ = setTimeout(function () {
7828
+ _this6.adapter_.removeClass(FG_DEACTIVATION);
7829
+ }, __WEBPACK_IMPORTED_MODULE_1__constants__["c" /* numbers */].FG_DEACTIVATION_MS);
7343
7830
  }
7344
7831
  }
7345
7832
  }, {
@@ -7357,7 +7844,7 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7357
7844
  }, {
7358
7845
  key: 'deactivate_',
7359
7846
  value: function deactivate_(e) {
7360
- var _this6 = this;
7847
+ var _this7 = this;
7361
7848
 
7362
7849
  var activationState = this.activationState_;
7363
7850
  // This can happen in scenarios such as when you have a keyup event that blurs the element.
@@ -7369,7 +7856,7 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7369
7856
  if (activationState.isProgrammatic) {
7370
7857
  var evtObject = null;
7371
7858
  requestAnimationFrame(function () {
7372
- return _this6.animateDeactivation_(evtObject, _extends({}, activationState));
7859
+ return _this7.animateDeactivation_(evtObject, _extends({}, activationState));
7373
7860
  });
7374
7861
  this.activationState_ = this.defaultActivationState_();
7375
7862
  return;
@@ -7390,12 +7877,12 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7390
7877
  var state = _extends({}, activationState);
7391
7878
  requestAnimationFrame(function () {
7392
7879
  if (needsDeactivationUX) {
7393
- _this6.activationState_.hasDeactivationUXRun = true;
7394
- _this6.animateDeactivation_(e, state);
7880
+ _this7.activationState_.hasDeactivationUXRun = true;
7881
+ _this7.animateDeactivation_(e, state);
7395
7882
  }
7396
7883
 
7397
7884
  if (needsActualDeactivation) {
7398
- _this6.activationState_ = _this6.defaultActivationState_();
7885
+ _this7.activationState_ = _this7.defaultActivationState_();
7399
7886
  }
7400
7887
  });
7401
7888
  }
@@ -7420,7 +7907,7 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7420
7907
  }, {
7421
7908
  key: 'destroy',
7422
7909
  value: function destroy() {
7423
- var _this7 = this;
7910
+ var _this8 = this;
7424
7911
 
7425
7912
  if (!this.isSupported_) {
7426
7913
  return;
@@ -7432,19 +7919,19 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7432
7919
  UNBOUNDED = _MDCRippleFoundation$5.UNBOUNDED;
7433
7920
 
7434
7921
  requestAnimationFrame(function () {
7435
- _this7.adapter_.removeClass(ROOT);
7436
- _this7.adapter_.removeClass(UNBOUNDED);
7437
- _this7.removeCssVars_();
7922
+ _this8.adapter_.removeClass(ROOT);
7923
+ _this8.adapter_.removeClass(UNBOUNDED);
7924
+ _this8.removeCssVars_();
7438
7925
  });
7439
7926
  }
7440
7927
  }, {
7441
7928
  key: 'removeEventListeners_',
7442
7929
  value: function removeEventListeners_() {
7443
- var _this8 = this;
7930
+ var _this9 = this;
7444
7931
 
7445
7932
  this.listenerInfos_.forEach(function (info) {
7446
7933
  Object.keys(info).forEach(function (k) {
7447
- _this8.adapter_.deregisterInteractionHandler(info[k], _this8.listeners_[k]);
7934
+ _this9.adapter_.deregisterInteractionHandler(info[k], _this9.listeners_[k]);
7448
7935
  });
7449
7936
  });
7450
7937
  this.adapter_.deregisterResizeHandler(this.resizeHandler_);
@@ -7452,27 +7939,27 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7452
7939
  }, {
7453
7940
  key: 'removeCssVars_',
7454
7941
  value: function removeCssVars_() {
7455
- var _this9 = this;
7942
+ var _this10 = this;
7456
7943
 
7457
7944
  var strings = MDCRippleFoundation.strings;
7458
7945
 
7459
7946
  Object.keys(strings).forEach(function (k) {
7460
7947
  if (k.indexOf('VAR_') === 0) {
7461
- _this9.adapter_.updateCssVariable(strings[k], null);
7948
+ _this10.adapter_.updateCssVariable(strings[k], null);
7462
7949
  }
7463
7950
  });
7464
7951
  }
7465
7952
  }, {
7466
7953
  key: 'layout',
7467
7954
  value: function layout() {
7468
- var _this10 = this;
7955
+ var _this11 = this;
7469
7956
 
7470
7957
  if (this.layoutFrame_) {
7471
7958
  cancelAnimationFrame(this.layoutFrame_);
7472
7959
  }
7473
7960
  this.layoutFrame_ = requestAnimationFrame(function () {
7474
- _this10.layoutInternal_();
7475
- _this10.layoutFrame_ = 0;
7961
+ _this11.layoutInternal_();
7962
+ _this11.layoutFrame_ = 0;
7476
7963
  });
7477
7964
  }
7478
7965
  }, {
@@ -7527,7 +8014,7 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7527
8014
  /* harmony default export */ __webpack_exports__["a"] = (MDCRippleFoundation);
7528
8015
 
7529
8016
  /***/ }),
7530
- /* 58 */
8017
+ /* 60 */
7531
8018
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7532
8019
 
7533
8020
  "use strict";
@@ -7559,12 +8046,12 @@ var strings = {
7559
8046
  };
7560
8047
 
7561
8048
  /***/ }),
7562
- /* 59 */
8049
+ /* 61 */
7563
8050
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7564
8051
 
7565
8052
  "use strict";
7566
8053
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
7567
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(58);
8054
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(60);
7568
8055
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_menu__ = __webpack_require__(6);
7569
8056
  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; };
7570
8057
 
@@ -7904,7 +8391,7 @@ var MDCSelectFoundation = function (_MDCFoundation) {
7904
8391
  /* harmony default export */ __webpack_exports__["a"] = (MDCSelectFoundation);
7905
8392
 
7906
8393
  /***/ }),
7907
- /* 60 */
8394
+ /* 62 */
7908
8395
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7909
8396
 
7910
8397
  "use strict";
@@ -8436,7 +8923,7 @@ var MDCSliderFoundation = function (_MDCFoundation) {
8436
8923
  /* harmony default export */ __webpack_exports__["a"] = (MDCSliderFoundation);
8437
8924
 
8438
8925
  /***/ }),
8439
- /* 61 */
8926
+ /* 63 */
8440
8927
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8441
8928
 
8442
8929
  "use strict";
@@ -8479,12 +8966,12 @@ var numbers = {
8479
8966
  };
8480
8967
 
8481
8968
  /***/ }),
8482
- /* 62 */
8969
+ /* 64 */
8483
8970
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8484
8971
 
8485
8972
  "use strict";
8486
8973
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
8487
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(61);
8974
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(63);
8488
8975
  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; };
8489
8976
 
8490
8977
  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; }; }();
@@ -8705,7 +9192,7 @@ var MDCSnackbarFoundation = function (_MDCFoundation) {
8705
9192
  /* harmony default export */ __webpack_exports__["a"] = (MDCSnackbarFoundation);
8706
9193
 
8707
9194
  /***/ }),
8708
- /* 63 */
9195
+ /* 65 */
8709
9196
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8710
9197
 
8711
9198
  "use strict";
@@ -8743,12 +9230,12 @@ var strings = {
8743
9230
  };
8744
9231
 
8745
9232
  /***/ }),
8746
- /* 64 */
9233
+ /* 66 */
8747
9234
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8748
9235
 
8749
9236
  "use strict";
8750
9237
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
8751
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(63);
9238
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(65);
8752
9239
  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; };
8753
9240
 
8754
9241
  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; }; }();
@@ -9096,7 +9583,7 @@ var MDCTabBarScrollerFoundation = function (_MDCFoundation) {
9096
9583
  /* harmony default export */ __webpack_exports__["a"] = (MDCTabBarScrollerFoundation);
9097
9584
 
9098
9585
  /***/ }),
9099
- /* 65 */
9586
+ /* 67 */
9100
9587
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9101
9588
 
9102
9589
  "use strict";
@@ -9104,7 +9591,7 @@ var MDCTabBarScrollerFoundation = function (_MDCFoundation) {
9104
9591
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_animation__ = __webpack_require__(3);
9105
9592
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_base_component__ = __webpack_require__(4);
9106
9593
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__tab_bar__ = __webpack_require__(11);
9107
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(64);
9594
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(66);
9108
9595
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_3__foundation__["a"]; });
9109
9596
  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; }; }();
9110
9597
 
@@ -9267,7 +9754,7 @@ var MDCTabBarScroller = function (_MDCComponent) {
9267
9754
  }(__WEBPACK_IMPORTED_MODULE_1__material_base_component__["a" /* default */]);
9268
9755
 
9269
9756
  /***/ }),
9270
- /* 66 */
9757
+ /* 68 */
9271
9758
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9272
9759
 
9273
9760
  "use strict";
@@ -9300,13 +9787,13 @@ var strings = {
9300
9787
  };
9301
9788
 
9302
9789
  /***/ }),
9303
- /* 67 */
9790
+ /* 69 */
9304
9791
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9305
9792
 
9306
9793
  "use strict";
9307
9794
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
9308
9795
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_animation__ = __webpack_require__(3);
9309
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(66);
9796
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(68);
9310
9797
  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; };
9311
9798
 
9312
9799
  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; }; }();
@@ -9546,7 +10033,7 @@ var MDCTabBarFoundation = function (_MDCFoundation) {
9546
10033
  /* harmony default export */ __webpack_exports__["a"] = (MDCTabBarFoundation);
9547
10034
 
9548
10035
  /***/ }),
9549
- /* 68 */
10036
+ /* 70 */
9550
10037
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9551
10038
 
9552
10039
  "use strict";
@@ -9703,52 +10190,12 @@ var MDCTabFoundation = function (_MDCFoundation) {
9703
10190
  /* harmony default export */ __webpack_exports__["a"] = (MDCTabFoundation);
9704
10191
 
9705
10192
  /***/ }),
9706
- /* 69 */
9707
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
9708
-
9709
- "use strict";
9710
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return strings; });
9711
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cssClasses; });
9712
- /**
9713
- * Copyright 2016 Google Inc. All Rights Reserved.
9714
- *
9715
- * Licensed under the Apache License, Version 2.0 (the "License");
9716
- * you may not use this file except in compliance with the License.
9717
- * You may obtain a copy of the License at
9718
- *
9719
- * http://www.apache.org/licenses/LICENSE-2.0
9720
- *
9721
- * Unless required by applicable law or agreed to in writing, software
9722
- * distributed under the License is distributed on an "AS IS" BASIS,
9723
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9724
- * See the License for the specific language governing permissions and
9725
- * limitations under the License.
9726
- */
9727
- var strings = {
9728
- ARIA_HIDDEN: 'aria-hidden',
9729
- ROLE: 'role',
9730
- INPUT_SELECTOR: '.mdc-textfield__input',
9731
- LABEL_SELECTOR: '.mdc-textfield__label'
9732
- };
9733
-
9734
- var cssClasses = {
9735
- ROOT: 'mdc-textfield',
9736
- UPGRADED: 'mdc-textfield--upgraded',
9737
- DISABLED: 'mdc-textfield--disabled',
9738
- FOCUSED: 'mdc-textfield--focused',
9739
- INVALID: 'mdc-textfield--invalid',
9740
- HELPTEXT_PERSISTENT: 'mdc-textfield-helptext--persistent',
9741
- HELPTEXT_VALIDATION_MSG: 'mdc-textfield-helptext--validation-msg',
9742
- LABEL_FLOAT_ABOVE: 'mdc-textfield__label--float-above'
9743
- };
9744
-
9745
- /***/ }),
9746
- /* 70 */
10193
+ /* 71 */
9747
10194
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9748
10195
 
9749
10196
  "use strict";
9750
10197
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
9751
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(69);
10198
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(14);
9752
10199
  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; };
9753
10200
 
9754
10201
  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; }; }();
@@ -9784,12 +10231,12 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
9784
10231
  _createClass(MDCTextfieldFoundation, null, [{
9785
10232
  key: 'cssClasses',
9786
10233
  get: function get() {
9787
- return __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */];
10234
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* cssClasses */];
9788
10235
  }
9789
10236
  }, {
9790
10237
  key: 'strings',
9791
10238
  get: function get() {
9792
- return __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */];
10239
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* strings */];
9793
10240
  }
9794
10241
  }, {
9795
10242
  key: 'defaultAdapter',
@@ -9990,7 +10437,7 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
9990
10437
  /* harmony default export */ __webpack_exports__["a"] = (MDCTextfieldFoundation);
9991
10438
 
9992
10439
  /***/ }),
9993
- /* 71 */
10440
+ /* 72 */
9994
10441
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9995
10442
 
9996
10443
  "use strict";
@@ -10038,12 +10485,12 @@ var numbers = {
10038
10485
  };
10039
10486
 
10040
10487
  /***/ }),
10041
- /* 72 */
10488
+ /* 73 */
10042
10489
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10043
10490
 
10044
10491
  "use strict";
10045
10492
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
10046
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(71);
10493
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(72);
10047
10494
  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; };
10048
10495
 
10049
10496
  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; }; }();
@@ -10327,7 +10774,7 @@ var MDCToolbarFoundation = function (_MDCFoundation) {
10327
10774
  /* harmony default export */ __webpack_exports__["a"] = (MDCToolbarFoundation);
10328
10775
 
10329
10776
  /***/ }),
10330
- /* 73 */
10777
+ /* 74 */
10331
10778
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10332
10779
 
10333
10780
  "use strict";
@@ -10371,10 +10818,10 @@ function applyPassive() {
10371
10818
  }
10372
10819
 
10373
10820
  /***/ }),
10374
- /* 74 */
10821
+ /* 75 */
10375
10822
  /***/ (function(module, exports, __webpack_require__) {
10376
10823
 
10377
- var tabbable = __webpack_require__(75);
10824
+ var tabbable = __webpack_require__(76);
10378
10825
 
10379
10826
  var listeningFocusTrap = null;
10380
10827
 
@@ -10612,7 +11059,7 @@ module.exports = focusTrap;
10612
11059
 
10613
11060
 
10614
11061
  /***/ }),
10615
- /* 75 */
11062
+ /* 76 */
10616
11063
  /***/ (function(module, exports) {
10617
11064
 
10618
11065
  module.exports = function(el) {
@@ -10637,7 +11084,7 @@ module.exports = function(el) {
10637
11084
  var candidate, candidateIndex;
10638
11085
  for (var i = 0, l = candidates.length; i < l; i++) {
10639
11086
  candidate = candidates[i];
10640
- candidateIndex = candidate.tabIndex;
11087
+ candidateIndex = parseInt(candidate.getAttribute('tabindex'), 10) || candidate.tabIndex;
10641
11088
 
10642
11089
  if (
10643
11090
  candidateIndex < 0